JP6742554B1 - 情報処理装置およびそれを備えた電子機器 - Google Patents

情報処理装置およびそれを備えた電子機器 Download PDF

Info

Publication number
JP6742554B1
JP6742554B1 JP2020509541A JP2020509541A JP6742554B1 JP 6742554 B1 JP6742554 B1 JP 6742554B1 JP 2020509541 A JP2020509541 A JP 2020509541A JP 2020509541 A JP2020509541 A JP 2020509541A JP 6742554 B1 JP6742554 B1 JP 6742554B1
Authority
JP
Japan
Prior art keywords
layer
signal
amplitude
fourier transform
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020509541A
Other languages
English (en)
Other versions
JPWO2021049005A1 (ja
Inventor
佑介 山梶
佑介 山梶
邦彦 福島
邦彦 福島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6742554B1 publication Critical patent/JP6742554B1/ja
Publication of JPWO2021049005A1 publication Critical patent/JPWO2021049005A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/42Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
    • G06V10/431Frequency domain transformation; Autocorrelation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/778Active pattern-learning, e.g. online learning of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Medical Informatics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Social Psychology (AREA)
  • Psychiatry (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Image Analysis (AREA)

Abstract

ニューラルネットワークを用いて信号処理する情報処理装置(100)は、入力信号(20)をフーリエ変換し、第1振幅信号(21r)と第1位相信号(21θ)とを出力するフーリエ変換層(12)と、訓練によって値を更新する第1重み行列(W1)を第1振幅信号(21r)にかけて第2振幅信号(22r)を出力する振幅結合層(13A)と、訓練によって値を更新する第2重み行列(W2)を第1位相信号(21θ)にかけて第2位相信号(22θ)を出力する位相結合層(13B)と、空間周波数領域の複素活性化関数fを用いて、第2振幅信号(22r)および第2位相信号(22θ)の内、少なくとも第2振幅信号(22r)を更新する複素活性化層(14)と、更新後の信号を組み合わせて逆フーリエ変換する逆フーリエ変換層(15)とを備える。

Description

本願は、情報処理装置およびそれを備えた電子機器に関するものである。
画像認識などに用いられるニューラルネットワークは、画像を深層学習によって学習させ、画像内の特徴量を抽出する。近年、畳み込み演算を用いて高い認識性能が得られるCNN(畳み込みニューラルネットワーク)が注目されている。このCNNは、誤差逆伝搬法によって学習する重み関数を入力画像に対して畳み込み、誤差逆伝搬法によって重み関数の更新を行い、入力画像と出力結果との関連付けを行う。この際、入力画像を高次元空間における点の集合として表現し、重み付け関数を平滑化した行列を用いて、前記入力画像を摂動させ、その摂動させた入力画像に対して離散フーリエ変換または、離散コサイン変換を行い、サブ空間に投影すると共に、上記変換を行った画像を逆変換して、摂動後の画像を取得する方法が知られている(例えば特許文献1)。
特開2017−49996号公報
上記のような畳み込み演算を用いるニューラルネットワーク、即ちCNNでは、畳み込み層を多層構造にすることで認識精度の向上が図れる。しかしながら、畳み込み層において計算すべき行列の演算回数は、例えば2048画素×2048画素の画像のように大きな画像に対しては、おおよそ画像の総画素数に比例して大きくなるため、計算量が膨大になる。このため、必要計算コストが高く、情報処理装置の簡略化は困難であった。
また、従来のCNNにおける各層の演算は、脳の構造を数学モデルに落とし込んで模倣したものであるが、物理的な意味の把握が困難であった。このため、CNN全体の演算結果のみに基づいて、構築したCNN全体を評価する事は可能であるが、各演算における入力信号と出力信号に基づいて、各演算の物理的な機能を解析できずCNNの詳細解析ができないと言う問題点があった。
本願は、上記のような課題を解決するための技術を開示するものであり、ニューラルネットワークにおける計算量を削減して低コストで簡略な装置構成にて、ニューラルネットワークによる高い認識精度を得ると共に、ニューラルネットワークの詳細解析が可能な情報処理装置を提供することを目的とする。
さらに、この情報処理装置を用いた学習および推論に基づいて高速高精度な制御動作を行う電子機器を提供する事を目的とする。
本願に開示される情報処理装置は、入力信号をニューラルネットワークで処理するもので、前記入力信号をフーリエ変換し、第1振幅信号と第1位相信号とを出力するフーリエ変換層と、訓練によって行列内の値を更新する第1重み行列を前記第1振幅信号にかけて第2振幅信号を出力する振幅結合層と、訓練によって行列内の値を更新する第2重み行列を前記第1位相信号にかけて第2位相信号を出力する位相結合層と、空間周波数領域の活性化関数である複素活性化関数fを用いて、前記第2振幅信号および前記第2位相信号の内、少なくとも前記第2振幅信号を、前記第2位相信号を構成する行列内の値に基づいて更新する複素活性化層と、前記複素活性化層で更新された前記第2振幅信号と前記第2位相信号とを組み合わせて逆フーリエ変換する逆フーリエ変換層と、を備えるものである。
また、本願に開示される情報処理装置は、入力信号をニューラルネットワークで処理するもので、前記入力信号をフーリエ変換し、第1振幅信号と第1位相信号とを出力するフーリエ変換層と、訓練によって行列内の値を更新する第1重み行列を前記第1振幅信号にかけて第2振幅信号を出力する振幅結合層と、訓練によって行列内の値を更新する第2重み行列を前記第1位相信号にかけて第2位相信号を出力する位相結合層と、空間周波数領域の活性化関数である複素活性化関数fを用いて、前記第2振幅信号および前記第2位相信号の内、少なくとも前記第2振幅信号である対象信号に対して、N、MをそれぞれN≧2、M≧1である整数とし、前記対象信号を構成する行列の軸方向成分である周波数成分が1/N、かつ各要素が1/Mである微小行列を生成して前記行列に加算することにより前記対象信号を更新する複素活性化層と、前記複素活性化層で更新された前記第2振幅信号と前記第2位相信号とを組み合わせて逆フーリエ変換する逆フーリエ変換層と、を備えるものである。
本願に開示される電子機器は、上記情報処理装置を用いて制御動作を行うものである。
本願に開示される情報処理装置によれば、ニューラルネットワークにおける計算量が削減でき、低コストで簡略な装置構成にて、ニューラルネットワークによる高い認識精度が得られると共に、ニューラルネットワークの詳細解析が可能になる。
また、本願に開示される電子機器によれば、高速高精度な制御動作が可能になる。
実施の形態1によるハードウェアの構成例を示す図である。 第1比較例としてのCNNの構成例を示す図である。 実施の形態1によるニューラルネットワークの構成例を示す図である。 図3の部分詳細図である。 実施の形態1によるフーリエ変換における入力画像の処理を説明する図である。 実施の形態1による複素活性化関数fを用いて振幅値を更新する動作を説明する図である。 実施の形態1による複素活性化関数fの例を説明する図である。 実施の形態1による複素活性化関数fの別例を説明する図である。 実施の形態1による複素活性化関数fの別例を説明する図である。 実施の形態1による複素活性化関数fの別例を説明する図である。 実施の形態1の別例によるニューラルネットワークの構成例を示す図である。 実施の形態1によるニューラルネットワークの精度を示す図である。 実施の形態1によるニューラルネットワークの高速化効果を説明する図である。 実施の形態3による複素活性化関数fを用いた動作を説明する図である。 実施の形態5によるニューラルネットワークの部分構成例を示す図である。 実施の形態6によるニューラルネットワークの部分構成例を示す図である。 実施の形態7によるニューラルネットワークの部分構成例を示す図である。 実施の形態8によるニューラルネットワークの部分構成例を示す図である。 実施の形態9によるニューラルネットワークの構成例を示す図である。 実施の形態10によるニューラルネットワークの構成例を示す図である。 実施の形態11による空気調和機の構成例を示す図である。 実施の形態11の別例による電子機器の構成例を示す図である。
実施の形態1.
<ハードウェアの構成例>
図1は、本願の実施の形態1によるニューラルネットワーク(以下、NNと称す)として機能する情報処理装置としてのハードウェア100の全体構成を示す図である。
ハードウェア100は、スタンドアロンのコンピュータであっても良いし、クラウド等を利用したサーバクライアン卜システムのサーバ、またはクライアン卜であっても良い。さらにハードウェア100は、スマートフォンまたはマイコンであっても良い。また工場内などを想定した場合には、エッジコンピューティングと呼ばれる工場内で閉じたネットワーク内での計算機環境であっても良い。
図1に示すように、ハードウェア100は、CPU(Central Processing Unit)30を内蔵しており、CPU30にはバス配線34を介して、入出力インタフェース35が接続されている。CPU30は入出力インタフェース35を介して、NNを用いるユーザによって、入力部37が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)31に格納されているプログラムを実行する。あるいは、CPU30は、ハードディスク(HDD)33、あるいはSSD(Solid State Drive、図示せず)に格納されたプログラムを、RAM(Random Access Memory)32にロードして、必要に応じて読み書きして実行する。これにより、CPU30は各種の処理を行い、ハードウェア100を所定の機能を有する装置として機能させる。
CPU30は、各種処理の結果を、必要に応じて入出力インタフェース35を介して、出力部36である出力デバイスから出力、あるいは通信部38である通信デバイスから送信、さらにはハードディスク33に記録させる。また、CPU30は、各種情報を、必要に応じて入出力インタフェース35を介して通信部38から受信し、ハードディスク33から呼び出して用いる。
入力部37は、キーボード、マウス、マイクあるいはカメラ等で構成される。また、出力部36は、LCD(Liquid Crystal Display)あるいはスピーカ等で構成される。また、CPU30が実行するプログラムは、ハードウェア100に内蔵されている記録媒体としてのハードディスク33またはROM31に予め記録しておくことができる。あるいは、プログラムは、ドライブ39を介して接続されるリムーバブル記録媒体40に格納(記録)しておくことができる。
このようなリムーバブル記録媒体40は、いわゆるパッケージソフトウェアとして提供することができる。リムーバブル記録媒体40としては、例えば、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、MO(Magneto Optical)ディスク、DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリ等がある。
また、プログラムは、複数のハードウェア間を有線、無線のいずれか一方あるいは、双方を介して接続するWWW(World Wide Web)等のシステム(Com port)を通して送受信することができる。さらに、後述する訓練を行い、訓練によって得られた重み関数のみを、上記方法で送受信することができる。
例えば、CPU30は、ハードウェア100を、NNを構成する各層の処理、およびNNの生成を行う情報処理装置として機能させる。この場合、ハードウェア100は、NNとして機能すると共に、NNの生成装置として機能する。
なお、NNの各層は、CPUあるいはGPU(Graphics Processing Unit)等の並列演算を得意とする汎用のハードウェアで構成する他、FPGA(Field−Programmable Gate Array)、FFT(Fast Fourier Transform)演算アーキテクチャ、あるいは専用のハードウェアで構成することができる。
また、後述するフーリエ変換および逆フーリエ変換等の行列演算は、専用のハードウェアが行っても構わない。特に、フーリエ変換、逆フーリエ変換を高速に行うことができる高速フーリエ変換、高速逆フーリエ変換用のハードウェアは汎用的なハードウェアとして入手することができる。この専用のハードウェアはCPUあるいはGPUに内蔵されているものもある。
また、音波または可視光を含む電磁波、熱、あるいは振動等の物理現象を数値データに変換する目的でのセンサ、またはハードウェア100内で設計したCAD等の画像または計算結果を出力する機構を、ハードウェア100が備えていても良い。あるいは、上記センサの情報とハードウェア100の計算結果とを融合する機構を、ハードウェア100が備えていても良い。さらに、ハードウェア100は、電源線または内部バッテリを元に駆動する機構を備えている。
さらにハードウェア100は、通信ポートを経由して複数台で構成されていても良く、後述する訓練と推論とが、別構成のハードウェア100で実施されていても良い。さらに、ハードウェア100が、通信ポートを経由して、異なるハードウェア100に繋がれたセンサ信号を受信する、あるいは通信ポートを経由して複数のセンサ信号を受信してもよい。さらに、1つのハードウェア100内に、複数の仮想ハードウェア環境を用意し、各仮想ハードウェアを個別のハードウェアとして扱っても構わない。
<学習に用いるデータ>
NNで使用するデータは、教師あり学習、教師なし学習、あるいは強化学習によるものが用いられる。NNは深層学習(ディープラーニング)あるいはパーセプトロンとも呼ばれることがある。パーセプトロンに関しては、後述する隠れ層が1層の場合は単一パーセプトロン、2層以上の場合は多層パーセプトロンと呼ばれる。この多層パーセプトロンがNNと呼ばれる。
教師あり学習は、学習データに対して、学習データに紐付けられた正解ラベルを学習する方法である。NNにおいては、入力信号と出力信号の対応付けされているものである。
一方、教師なし学習は、学習データに正解ラベルを付けずに学習する方法である。自己符号化器を多層化したStacked Auto Encoder(SAE)、制約ボルツマンマシンを多層化したDeep Boltzmann Machine(DBM)などが知られている。
さらに強化学習は、教師あり学習および教師なし学習とは異なり、正解を与える代わりに時々刻々と変わるデータに対して、将来得られる期待値を最大化するDQN(Deep Q Learning)が用いられる場合が多い。
なお、この実施の形態では、教師あり学習を用いる場合を示すが、教師なし学習を用いても良い。教師なし学習を用いる場合は、データ・クラスタリング、主成分分析などの多変量解析を行う。また、入力画像は一般的には2次元以上の画像が用いられるため、強化学習を用いることもできる。
その他にも、一部の学習データに正解ラベルが与えられていない半教師あり学習、あるいは、学習データを用いて学習させたモデルを別の学習データに適用させる転移学習のデータでも、従来のCNNが適用できるものであれば、この実施の形態にも適用できる。
また、学習には、学習の対象となるデータを一括で処理するバッチ学習と、学習の対象となるデータが入るたびに、そのデータを追加して学習を行うオンライン学習とがある。この実施の形態では、バッチ学習を用いる場合を示すが、オンライン学習を用いる事もでき、いずれの場合も、この実施の形態により計算を軽量化、高速化させることができる。
<第1比較例としてのCNN構成例>
この実施の形態で説明するNNは、CNNの代替手段となるものであるため、この実施の形態によるNNを説明するに先だって、第1比較例となるCNNについて以下に説明する。CNNは深層学習で最も代表的な技術であって、推論時に高い精度を持つ手法であり、ネオコグニトロンと呼ばれるパターン認識を応用して作られた技術である。
図2は、第1比較例としてのCNNの構成例を示す図である。図2に示すように、CNNは、入力層1から順に、畳み込み層2、活性化関数3、畳み込み層2、活性化関数3、プーリング層4、畳み込み層2、活性化関数3、全結合層5、活性化関数3、全結合層5、出力層6、出力7を備えて構成される。
このように、CNNは、畳み込み層2と活性化関数3とを用いて学習を行うもので、学習データである画像を入力信号とする入力層1に対して、畳み込み層2、活性化関数3を通した後、畳み込み層2、活性化関数3、プーリング層4、全結合層5を複数回組み合わせる。そして、この組み合わせからの出力に対して、ソフトマックス関数等の誤差関数を含む出力層6を通して所望の出力信号(出力7)を得る。
入力層1と出力層6の間の層を隠れ層と呼ぶ。上述したように、隠れ層が2層以上あるものがNNであり、NNは、入力層及び出力層を含む複数の層が適宜、組み合わされて構成される。NNにおいて、ある層から見て入力側の層を下位層、出力側の層を上位層ともいう。
従来例においては、150層を超える隠れ層を有するCNNも知られており、近年、高精度化のためには層数を増やす傾向にある。
教師あり学習においては正解ラベルが与えられているため、入力層1、隠れ層、出力層6を通して出力された結果と正解ラベルとを比較し、その誤差成分を出力層6から入力層1に向かって伝搬させ、隠れ層で用いた重みとバイアスを最適化する。最適化には各層の演算に対する微分を計算する必要がある。誤差逆伝搬法は、この出力層6から入力層1への誤差の伝搬を表現するための微分を効率よく計算する1つの手法である。
畳み込み層2は、マップに対してカーネル(またはフィルタと呼ばれる)を適用し、畳み込み演算を行う。カーネルは、例えば7ピクセル×7ピクセルの画像、すなわち7×7の行列、つまり49個の要素で構成される。このカーネルを入力層1のデータ、あるいは結合している下位層のマップに対して適用して畳み込み演算を行い、上位層に信号を出力する。畳み込み演算は、カーネルによって、入力画像が示す特徴的な画像のエッジを、画像から抽出する働きを持つ。ここで、エッジとは、物体と物体、物体と背景画像などの境界のことである。このカーネルを複数用意し、上記の誤差逆伝搬法によってカーネルを構成する行列を更新する過程が学習と呼ばれる過程である。
次に畳み込み演算について説明する。入力画像内の位置(i,j)の値をxijとする。i、jは整数であり、ここでは0以上の整数である。またこの場合、各画素値は0以上の整数とする。カーネルを入力画像より小さい画像とし、そのサイズをH×Hとする。Hは2以上の整数である。カーネルはインデックス(p,q)((p=0,1,2,・・・,H−1),(q=0,1,2,・・・,H−1))で表し、画像内の値をhpqとする。この時、hpqは任意の実数値を取るとする。このような条件においては、畳み込み演算は以下の式(1)で表される。なお、uijは、畳み込み演算による出力画像内の値である。
Figure 0006742554
但し、深層学習における畳み込み演算は、以下の式(2)で定義されるのが一般的である。これは深層学習以外では相互相関、または相関と呼ばれる。この場合の相関は、カーネルを上下、左右方向に反転すると畳み込み演算と同じ結果を与えるため、ここでは、式(2)で表される演算を畳み込み演算と呼ぶ。
Figure 0006742554
後述するフーリエ変換後の空間周波数領域においては、畳み込み演算と相関との違いは、xij、hpqの一方におけるフーリエ変換の複素共役に相当する。但し、カーネルは学習によって得る値から成るため、カーネルの初期値をランダムにする場合には複素共役を用いる必要はないが、初期値の重みを変える場合にはカーネルに対して複素共役を用いるのが望ましい。
また、畳み込み演算の計算量を低減するために、ストライドと呼ばれる手法が用いられるときもある。ストライドの幅を2以上の整数sとすると、ストライドは以下の式(3)で表すことができる。
Figure 0006742554
これにより、1/sまで出力画像を小さくすることができるが、sを大きくすることは、画像の特徴を取りこぼす可能性を意味し、通常は性能を悪化させる方向に働くため、学習あるいは推論の高速化が不可欠な場合以外には行わない。
畳み込み演算では、入力画像に対してカーネルをスライドさせながら計算し、和を取って行くものである。1つの畳み込み層2において、下位層の画像(入力画像)の大きさをW×H、カーネルの大きさをU×Vとすると、出力画像の大きさは、(W−2[U/2])×(H−2[V/2])となる。この場合、[ ]は小数点以下を切り下げて整数化する演算子とする。[U/2]および[V/2]は自然数であるため、畳み込み演算を行うと演算後の画像は、演算前の入力画像よりも小さくなる。
畳み込み演算の前後の画像が同じ大きさになると、誤差逆伝搬時の演算等、計算が平易になることが多いため、畳み込み演算後の画像の外側に、幅[U/2]および幅[V/2]の画像を追加して出力画像を大きくする。この手法をパディングと呼ぶ。外側に追加する画像は任意の画像で良いが、0にする場合が多く、特にゼロパディングと呼ぶ。
後述する高速フーリエ変換および高速逆フーリエ変換においては、行列の大きさは2のべき乗である必要があるため、入力する行列と、出力する行列との大きさをパディングによって等しくしておくのが望ましい。
次に、畳み込み層2での畳み込み演算後の出力信号に対して非線形関数である活性化関数3をかける。活性化関数3が非線形であることが、NN(この場合CNN)にとって重要であり、非線形関数が入ることで線形関数だけでは表現することができなかった任意のデータを表現することができる。
簡単な例として、仮に、定数cを用いた線形関数h(x)=cx、を活性化関数と考える。この線形関数h(x)を3層重ねる関数(xからyへの関数)は、y=h(h(h(x)))となる。しかし、この関数は、y=c・c・c・x、即ち、y=cx、とも記載でき、これは1層でも表現できる。これは、出力yは入力xに対して線形の関数しか表現できないことを意味しており、隠れ層を増やす意味がない。そのため、活性化関数には非線形関数を用いる必要がある。
活性化関数3に非線形関数を用いることにより、層数が大きくなるに従い、表現できる関数の自由度が増え、任意の入力信号と正解ラベルの間の関係を精度良くつなぐことができる。
活性化関数3となる非線形関数には、Relu関数(正規化線形関数)である
g(x)=max(x,0)
シグモイド関数(またはロジスティックシグモイド関数とも呼ばれる)である
g(x)=1/(1+exp(−x))
あるいは、双極線正接関数である
g(x)=tanh(x)
が用いられる。
その他にも、Leaky ReLU
g(x)=ax for x<0,g(x)=x for x>=0
あるいは、Thresholded ReLU
g(x)=x for x>θ,g(x)=0 otherwise
など、様々な活性化関数が知られている。
例外として出力層6の直前に、線形関数である恒等関数g(x)=x、を用いることもある。但し、任意の曲線を表現するためには、非線形関数を活性化関数に用いた、2層以上の隠れ層が必要となるため、ここでは恒等関数に関しては説明しない。
以上のように、畳み込み層2と活性化関数3とを複数用いて構成したCNNを誤差逆伝搬法によって、重みおよびバイアスの値を更新する。この更新を学習プロセス、または単に学習と呼ぶ。学習初期においては、重みおよびバイアスは疑似乱数が用いられる。他にも後述するXavierの初期値あるいはHeの初期値等が用いられることもある。学習プロセスが完了すると、値が更新された重みおよびバイアスが出力となる。
そして、値が更新された重みおよびバイアスを用いて、入力画像に対して出力を推定する推論を行う。この推論を行うプロセスを推論プロセス、または簡単に推論と呼ぶ。
通常の使用においては、学習プロセスはGPUあるいは専用ハードウェアを搭載したサーバクライアン卜システムで行う。
一方、推論は、正解ラベルとの誤差を減らす学習プロセスが不要で、入力層1から出力層6に向かって、上記の重みおよびバイアスを用いて演算し出力するだけであるため、学習に比べて計算量が小さい。しかしながら、CNNを構成する層の中では畳み込み層2の計算量が大きく、計算時間を要する。推論プロセスは数秒以内の応答速度が求められることが多いが、畳み込み層2の層数を増やして学習の精度を上げている一般的なCNNにおいては、マイコンなどの簡易なハードウェアでは所望の時間内での応答が困難である場合が多い。スマートフォンなどの比較的演算能力の低い計算機しか持たないエッジコンピュータにおいて、CNN用の専用ハードウェアを搭載する場合もあるが、ハードウェア実装面積の増加、処理系統の複雑化あるいは電力使用量の増加などが問題となる。
<全体像>
この実施の形態では、音波または可視光を含む電磁波、熱、あるいは振動等の物理現象を数値データに変換するセンサの出力信号、またはハードウェア100内で演算により設計した信号、またはセンサ信号と演算結果の両方を含む信号を処理するハードウェア100(情報処理装置)の構成例を示す。ハードウェア100内での演算は、NNを用いた演算処理である。入力信号は1次元以上であればいずれでも構わないが、この実施の形態では2次元の画像を対象に説明する。
この実施の形態によるNNでは、畳み込み演算に相当する演算を空間周波数領域で行い、演算後の信号に対して、空間周波数領域における活性化関数である複素活性化関数をかける。即ち、上記したセンサの出力信号などによる空間領域での入力信号を、フーリエ変換して空間周波数領域の信号に変換し、空間周波数領域において、畳み込み演算に相当する演算と、複素活性化関数を用いた演算とを行う。その後、空間周波数領域の信号を逆フーリエ変換して空間領域の信号に戻して、所望の出力信号を得る。
上記第1比較例で示したCNN内の畳み込み演算は、一度の畳み込み演算に対して複数回の行列演算を要するものであるが、この空間領域での一度の畳み込み演算は、空間周波数領域では一度の行列演算に置き換えられる。この実施の形態では、この特徴を利用して学習あるいは推論を行うことで、演算回数を大幅に削減でき、計算時間、計算量、計算にかかる消費電力を大幅に低減でき計算コストを大幅に低減できる。以下、空間周波数領域における、畳み込み演算に相当する演算を、便宜上、複素畳み込み演算と称す。
また、空間周波数領域において、複素畳み込み演算による演算後の信号に対して、非線形関数となる複素活性化関数をかける。このように、複素畳み込み演算と、複素活性化関数を用いる演算とを、連続する空間周波数領域での処理の中で行う。これにより、演算回数を大幅に削減できると言う上述した効果を、阻害する事なく確実に実現できる。
仮に、上記第1比較例で示したCNN内の畳み込み演算を、空間周波数領域での複素畳み込み演算に置き換え、その後、第1比較例で示したCNN内の活性化関数を用いる場合を考察し、第2比較例と称す。この第2比較例の場合、複素畳み込み演算後に逆フーリエ変換し、逆フーリエ変換の出力結果に対して活性化関数を用いる必要がある。即ち、複素畳み込み演算毎に、その前後にフーリエ変換と逆フーリエ変換とを繰り返し用いる必要があり、計算コストの大幅な低減化を阻害するものである。
この実施の形態では、複素畳み込み演算後に複素活性化関数を用いるため、隠れ層におけるフーリエ変換と逆フーリエ変換とをそれぞれ1度実施すれば、その間に連続する空間周波数領域での処理の中で、複素畳み込み演算と複素活性化関数を用いる演算とを、何度でも行う事ができる。これにより大幅な計算コスト低減が達成できる。
図3は、この実施の形態による最も簡単なNNの構成例を示す図である。図3に示すように、NNは、入力層11から順に、フーリエ変換層12、振幅結合層13Aおよび位相結合層13Bから成り、複素畳み込み演算を行う結合層13、複素活性化関数fを用いた演算を行う複素活性化層14、逆フーリエ変換層15、出力層16および出力17を備えて構成される。図4は、図3の部分詳細図であり、各層で生成される信号を併せて示す。
このNNは、2次元画像を入力信号20とし、入力層11は、入力信号20をNNに入力する。フーリエ変換層12は、空間領域の入力信号20をフーリエ変換し、空間周波数領域の信号である第1振幅信号21rと第1位相信号21θとを出力する。この場合、高速フーリエ変換を用いる。
振幅結合層13Aは、訓練によって行列内の値を更新する第1重み行列W1を有し、第1重み行列W1を第1振幅信号21rにかけて第2振幅信号22rを出力する。位相結合層13Bは、訓練によって行列内の値を更新する第2重み行列W2を有し、第2重み行列W2を第1位相信号21θにかけて第2位相信号22θを出力する。
複素活性化層14は、空間周波数領域における複素活性化関数fを用いて、第2振幅信号22rおよび第2位相信号22θの内、少なくとも第2振幅信号22rを更新する。この実施の形態では、第2位相信号22θを用いて第2振幅信号22rのみを更新して第3振幅信号23rとして出力すると共に、第2位相信号22θは更新せずに出力する。
逆フーリエ変換層15は、第3振幅信号23rと第2位相信号22θとを組み合わせて逆フーリエ変換して、空間領域の信号25を生成する。この場合、高速逆フーリエ変換を用いる。
そして、出力層16は、逆フーリエ変換層15からの信号25を所望の形に変換し、出力7を得てNNから出力する。
なお、図3および図4では、フーリエ変換層12と逆フーリエ変換層15との間に、複素畳み込み演算を行う結合層13と複素活性化関数fを用いた演算を行う複素活性化層14とを、それぞれ1つとして示したが、通常、それぞれ複数回有するものである。
また、第1重み行列W1の行の数は、第1振幅信号21rである振幅行列の列の数と同じであり、第2重み行列W2の行の数は、第1位相信号21θである位相行列の列の数と同じである。また、第1重み行列W1および第2重み行列W2の列の数には制約が無い。
また、この実施の形態では、高速フーリエ変換と高速逆フーリエ変換とを用いるため、振幅行列および位相行列は、2のべき乗の行列である必要がある。このため、振幅結合層13Aおよび位相結合層13Bでは、振幅行列、位相信号と同じ大きさの行列を出力する第1重み行列W1と第2重み行列W2とが用いられる。
<入力データ>
入力データには、音波または可視光を含む電磁波を受信するセンサ信号、熱または振動を取得するセンサ信号、あるいはハードウェア100内で演算されて出力された信号、あるいはセンサ信号と演算結果との両方を融合した信号を用いる。音波に関しては、マイクまたは超音波センサで受信した信号を用いる。電磁波を収集するセンサは、可視光を収集するカメラ、赤外線または紫外線を収集するカメラ、光量センサ、近傍界アンテナ、遠方界アンテナ、磁気センサ、電界/磁界センサ、電流センサ、電圧センサ、あるいは放射線センサで受信した信号を用いる。その他にも加速度センサ、温度センサ、湿度センサ、ガスセンサ、距離センサ、圧力センサ、加速度センサ、あるいはジャイロ等の振動センサを用いても良い。
また、センサ信号は必ずしも同時刻に全てのデータを取得する必要はなく、随時、データを取得後に、処理を行うことで一つの入力データとして扱っても良い。また、接触してセンシングするセンサであっても、非接触でセンシングするセンサであっても構わない。さらに、可視光のカメラの信号と、赤外線カメラ等の信号とを組み合わせた信号を入力データとして用いても構わない。例えば、アクティブフェイズドアレイアンテナまたはレーザ光を使って、遠方の風の状況を測定する装置により、空間内の電磁波または風を高速にスキャンし、2次元以上の画像として入力データを得る事もできる。
また、入力データとなるデータは単体である必要はなく、2つ以上のデータを組合せて用いても良い。その際は、この実施の形態で示す複素活性化関数を用いたNNと、従来のパーセプトロンとを組合せて学習することにより、所望の学習を行うことができる。
この実施の形態によるハードウェア100は、例えば可視光で撮影するカメラから得られる対象物に関する入力信号に対して処理を行い、出力層から出力信号を出す。出力信号は、入力信号を分類したもの、回帰分析した推定量、クラスタリング、または多変量解析の結果とする。出力信号の種類は、入力信号に関連付ける正解ラベルが付けられたデータ(教師データ)によって決められる。
例えば、画像の入力信号を10通りに分類するハードウェア100においては、学習時において入力画像と正解ラベルが1対1で対応する形で関連付けられたデータを教師データとして学習させる。学習によって得られたパラメータ(NNの層を構成する重み行列の各要素)に対して、カメラによって撮影された信号と学習済みのパラメータを演算させ、分類に対する出力信号を得る。
また、画像の入力信号から回帰信号を出力する処理について考察する。例えば、画像の場面による安全性を0点から100点までのアナログ信号に分類する。この場合、1つの画像に対して0点から100点までの1つの実数を正解ラベルとして与える。その画像と正解ラベルとの組み合わせを複数用意して、学習データとする。そして、学習結果として、NN内の層のパラメータを決定する。そして、カメラから得られる画像を入力信号として、上記パラメータを演算することで、出力信号として回帰信号を得る。
上記説明は、可視光となる周波数帯で撮影するカメラをセンサとしたものであるが、赤外線、紫外線、あるいは赤外線よりも低周波数の電磁波を受信するアンテナなどのセンサにおいても、センサ信号に対して分類あるいは回帰等の正解ラベルが与えられれば、同様の処理を行うことができる。
また、上記説明では、教師あり学習について説明したが、正解ラベルがない教師なし学習においても同様である。
教師なし学習の一例として自己符号化器について、以下に説明する。自己符号化器は、NNによって教師なし学習を行う様に構成された情報処理装置である。自己符号化器では、入力を学習時のデータとして用い、そのデータを表す特徴、すなわちNNの層における行列の各要素を抽出することを目的とする。そのため、NNの出力層では入力層と同じ信号を出力することを目的にし、入力層と出力層との間の隠れ層の行列の大きさを小さくする。このように、小さな行列を通っても入力層と出力層との結果を等しくすることができれば、入力信号はファイルサイズを小さくできる。これを次元圧縮と呼ぶ。
この自己符号化器においても、上述した同様にカメラからの撮影画像を入力信号とする。この際、正解ラベルは不要であり、カメラの出力を自己符号化器に入力していくことで学習を行う。
ハードウェア100内で演算されて出力された信号を入力信号とする場合は、コンピュータ支援設計ツール(CAD)、あるいは、電磁界、熱または応力等のシミュレータ、その他、コンピュータゲームのような環境を模擬するシミュレータを用いた演算であっても良い。
また、センサ信号と演算結果との両方を融合した入力信号については、センサ信号をシミュレータ等に入力して得られた信号を入力信号とする。また、シミュレータの出力に基づいて、センサの種類あるいは位置情報を適宜変更して得られた信号を入力信号としても良い。
さらに、CADデータに基づいて、製造またはシミュレーションして得られた物理信号を正解ラベルとすること、あるいは正解ラベルを人為的に変更することも、この実施の形態に適用できる。CADデータに基づいて計算される物理信号としては、例えば、電磁波による電磁界分布、電流、電圧、熱等を含む。電磁波に関しては、電磁界シミュレーションの入力をCADデータ(2次元または3次元画像)とし、正解ラベルを、シミュレーション結果であるSパラメータ(Scattering parameters)、空間上のある位置での電界/磁界の振幅値、電圧/電流、あるいはポインティング・ベクトルなどとする。このとき、Sパラメータおよび電界/磁界の振幅は周波数依存性を持つため、これらの場合は、入力画像1つに対して、複数のデータを正解ラベルとして持つ。
上述したCADおよびシミュレータによる入力信号は、1次元以上の入力画像を持つ。時系列データのように1次元のデータであっても、横軸を時間、縦軸を周波数、各時間/各周波数での振幅をフーリエ変換の出力の振幅とするスペクトログラムとすることで2次元のデータとして扱うこともできる。このようにスペクトログラムを作成する際のフーリエ変換は、時間毎にフーリエ変換を行う短時間フーリエ変換を用いる。なお、この実施の形態では簡単のため2次元データを用いて説明する。
この実施の形態では、グレースケールの画像を想定するが、カラー画像の場合には、RGBの場合には、Red、Green、Blueに入力画像を分離して、入力画像よりも1次元高い画像にする。この次元をチャネルと呼び、RGBの場合には3チャネルとなる。また、CMYKの場合には、Cyan、Magenta、Yellow、Key plateの4チャネルとなる。
複数のチャネルを入力とする場合においては、一般的にはカーネルを用いた畳み込み演算によって4チャネルを1チャネルに変換する。この実施の形態では、フーリエ変換層12の前段に畳み込み層を1層設ける方法、各チャネルに対してフーリエ変換を行い、全結合層によって1チャネルに変換する方法、あるいは単に各チャネルに事前に重み付けを行い、入力層11に入れる入力信号20を1チャネルにする方法を用いる事ができる。
入力層11は、NNへの入力信号20である入力データを記憶し、NNの上位層に渡す。
この実施の形態では、NNの性能評価に一般的に用いられているMNIST(Mixed National Institute of Standards and Technology database)を用いた学習結果を示す。MNISTは、縦×横が32×32のグレースケールの画像であって、60000の学習用データと、学習には使わない10000のテスト用のデータとを有する。
<フーリエ変換層、逆フーリエ変換層>
フーリエ変換を行うフーリエ変換層12について、以下に説明する。なお、逆フーリエ変換は、フーリエ変換の逆変換であるため、逆フーリエ変換および逆フーリエ変換層15についての詳細は省略する。
フーリエ変換においては、その性質上、フーリエ変換に入力した2次元画像が縦横に無限に接続された2次元平面になっていることを前提に変換を行う。
入力画像を縦横に直接接続した場合は、画像の端部の画像が接続される線上で不連続になり、本来の入力画像が持っていない周波数成分が発生することがある。そのため、通常のフーリエ変換では画像の縦横にそれぞれ窓関数をかけ、端部を0に近づけた信号をフーリエ変換する。
このような窓関数を用いる手法では、CNNによって抽出したい重要な情報が、画像端部にあると、その情報が失われてしまう。そこで、図5に示すように、フーリエ変換前の入力画像に対して、1つの画像の縦横、対角に対称な画像を配置する手法を用いる。
入力画像の横軸をx軸、縦軸をy軸とすると、入力画像のx軸成分の端部に、y軸と平行な境界線lyと線対称な画像を配置すると共に、入力画像のy軸成分の端部に、x軸と平行な境界線lxと線対称な画像を配置する。さらに、入力画像に対して対角の位置には、2つの境界線lx、lyの交点に対して点対称、即ち、180度回転した回転対称な画像を配置する。
このように1つの画像の縦横、対角に対称な画像を配置した計4枚の画像で構成された画像をフーリエ変換することで、窓関数を用いることなく、本来の入力画像が持っていない周波数成分が発生する事を抑止して演算することができる。
この実施の形態では、フーリエ変換に高速フーリエ変換を用いることを前提としているため、入力画像の縦横の大きさは2のべき乗、すなわち偶数になる。1つの画像の縦横、対角に対称な画像を配置する上記手法では、4枚の画像で構成した画像の縦横も偶数になると共に、2のべき乗の大きさを持つため、高速フーリエ変換を用いることができる。
但し、この手法を用いると入力画像が大きくなるため高速フーリエ変換の処理が大きくなる。そのため、MNISTの画像など、画像の端部に情報がなく、画像を縦横にそのまま接続しても不連続が発生しない場合には適用しない。
また、逆フーリエ変換においても、逆フーリエ変換する前に、同様の処理をしても良い。
フーリエ変換は、空間領域の信号から空間周波数領域の信号への変換である。空間領域の信号を空間信号、フーリエ変換した後の空間周波数領域の信号を空間周波数信号と呼ぶ。
上述したように、空間信号の畳み込み演算は、空間周波数信号に対しては行列の掛け算となる。この掛け算は具体的にはアダマール積であり、以下の数式で表される。但し、Fをフーリエ変換、*を畳み込み演算、◎をアダマール積とする。
F[k*u]=F[k]◎F[u]
m×nの大きさを持つ空間領域の信号a(s,t)のフーリエ変換は、以下の式(4)で表される。この式は、離散フーリエ変換と呼ばれる。このとき、jは複素数、eはネイピア数、πは円周率を示す。
Figure 0006742554
フーリエ変換には高速フーリエ変換(FFT)を用いる。基数2のFFTは、N点の信号を半分ずつに分割していくことから、基数2の時間間引きしたフーリエ変換と考えることもできる。
nを2次元画像の大きさとすると、通常のフーリエ変換の計算オーダはO(n)で、畳み込み演算の計算オーダも、同様にO(n)である。なお、O( )は計算の回数の概算値を示すものである。
高速フーリエ変換の計算オーダはO(n・logn)であり、高速フーリエ変換と高速逆フーリエ変換(IFFT)とを合わせた計算オーダはO(2n・logn)となる。また、結合層13での演算である上述した複素畳み込み演算の計算オーダはO(n)であり、他の計算オーダO(n)、O(n・logn)に比べて充分小さく無視できる。
このため、従来のCNNの計算オーダがO(n)に対し、この実施の形態によるNNの計算オーダはO(2n・logn)であり、計算量が低減され高速化できる。
上述したように、1つのCNNにおいて、通常、畳み込み層2は複数あり、畳み込み層2の数をmとすると、CNNの計算オーダは、O(m・n)となる。また、上述した第2比較例の場合では、畳み込み演算の代わりに複素畳み込み演算を行うが、複素畳み込み演算毎に、その前後にフーリエ変換と逆フーリエ変換とを繰り返し用いるため、高速フーリエ変換と高速逆フーリエ変換とを用いると、計算オーダは、O(2m・n・logn)となる。なお、第2比較例における複素畳み込み演算の回数は、CNN内の畳み込み層2の数αと等しい。
この実施の形態によるNNの計算オーダは、結合層13の数に対応する複素畳み込み演算の回数に拘わらず、O(2n・logn)であるのに対し、第1比較例であるCNN、および上記第2比較例では、畳み込み演算または複素畳み込み演算の回数mが増加する毎に、計算量が急激に増加する。
n=64で(64×64)程度の比較的小さい画像の場合、例えばm=10とすると、畳み込み演算を用いたCNNでは、計算オーダは、O(m・n)=O(2.6×10)となり、上記第2比較例の場合では、計算オーダは、O(2m・n・logn)=O(4.9×10)となる。これに対して、この実施の形態によるNNの計算オーダは、O(2n・logn)=O(4.9×10)であり、10倍程度の計算量低減および高速化ができる。
n=1024で(1024×1024)のように、比較的大きい画像の場合、m=10の場合、畳み込み演算を用いたCNNでは、計算オーダは、O(m・n)=O(1.0×1010)となり、上記第2比較例の場合では、計算オーダは、O(2m・n・logn)=O(2.1×10)となる。これに対して、この実施の形態によるNNの計算オーダは、O(2n・logn)=O(2.1×10)である。即ち、この実施の形態によるNNでは、上記第2比較例と比べると10倍の計算量低減であり、畳み込み演算を用いた第1比較例のCNNと比べると、3桁程度の計算量低減となる。計算量は計算時間と直結するため、例えば、CNNで1ヶ月かかる計算が、この実施の形態によるNNでは90分程度で計算できることを意味する。
このように、この実施の形態では、畳み込み演算に対応する複素畳み込み演算の回数が多いほど、また、画像が大きくなるにつれて計算量低減の効果が大きくなる。
CNNでは、畳み込み層2が数回から数10回積み重ねて使われることが多く、この実施の形態のNNを用いる事により、大幅に計算量を低減でき高速化が図れる。例えば、近年のスマートフォンにおいては画素数が5000万画素(すなわち7000×7000の行列を出力)以上のもの、カメラにおいては1億画素(10000×10000の行列を出力)以上のものもある。そのような大きな画像に対して、画素数を落とさず、即ち画像に含まれる情報を劣化させずにCNNの畳み込み演算を行うのは、計算量を考慮すると困難であったが、この実施の形態によるNNを用いる事で可能になる。
このように、この実施の形態によるNNによると、計算量を低減して高速に演算できると共に、演算の信頼性向上も図れる。
高速フーリエ変換は、2のべき乗の信号のみ用いる、また2次元画像の場合には、2のべき乗に2を掛け算した画像のみを、例えばバタフライ演算を用いて高速に算出する。一般的な信号は、2のべき乗の大きさの行列ではないため、入力信号に対して、2のべき乗の大きさになるように0埋めの処理を行う。これにより、全ての信号に対して高速フーリエ変換を用いることができる。高速逆フーリエ変換に対しても同様である。
また、フーリエ変換層12を通して得られた第1振幅信号21r、第1位相信号21θに対して、データの中心部に低周波成分が集中するように画像の順番を入れ替える周波数シフト演算を行う。これにより、行列の中心部に低周波成分、周辺部に高周波成分が集まる。このような周波数シフト演算は、低周波信号に特徴量を含んでいる信号が多いために用いられることが多い。この実施の形態によるNNでは、画像の端部の処理は不連続性が生じて、誤差原因に繋がりやすいため、上記周波数シフト演算はさらに効果的である。数学的には、周波数シフト演算による結果への影響はない。
なお、フーリエ変換層12でのフーリエ変換は、振幅と位相、または実部と虚部の組み合わせに分離することができるが、後段の複素活性化層14での演算のために、振幅と位相とに分離して第1振幅信号21rおよび第1位相信号21θを生成する。このとき、振幅は0以上の実数になる。一方、位相は−π以上π未満の実数になるようにする。また、フーリエ変換の際に、フーリエ変換層12の入力信号と出力信号が同じ大きさの行列になるように、上述したパディングを行い、通常、ゼロパディングを行う。
また、フーリエ変換、および逆フーリエ変換は係数等が異なる数通りの手法が知られており、いずれの手法を用いても良い。
但し、手法によっては結果に差が生じることがある。それは、フーリエ変換の入力と出力との関係において、空間領域が持つ全エネルギ(体積)と空間周波数領域が持つ全エネルギとが異なるためである。即ち、フーリエ変換した後、逆フーリエ変換すると入力前の信号と出力された信号との間に差異が生じることがある。学習と推論を、同じ隠れ層を持つNNで行う場合は、ほぼ問題にならないが、データよってはパーセバルの等式(またはレイリーのエネルギ定理)に従い、空間領域が持つ全エネルギと空間周波数領域が持つ全エネルギとを等しくする演算を行っても良い。また、学習と推論とで用いるハードウェア100が異なる場合、あるいは丸め誤差が問題となる場合に、パーセバルの等式を用いると良い。これは、逆フーリエ変換においても同様である。
<結合層>
空間領域における畳み込み層2の代わりに、この実施の形態では、空間周波数領域において結合層13を用いる。結合層13は、全結合層または疎結合層を用いる。特に、入力層11に近い層に関しては、全結合層、上位層の出力層16に近い層においては、疎結合層を用いることで、過学習を防止することができる。なお、全結合層を構成する行列においては、すべての重み行列の要素を更新するが、疎結合層を構成する行列においては、確率的に更新しない要素を持つ。
全結合層は結合する層間の重み行列をWとし、xを入力行列、uを出力行列、bをバイアスとなるベクトルとすると、
u=Wx+b
で表現される演算を行う。
特に出力層16に近い箇所においては、バイアスベクトルをゼロベクトルとしても良い。Wおよびbの初期値は、通常、疑似乱数値を用いる。また、Xavierの初期値あるいはHeの初期値と呼ばれる行列を、初期値に用いても良く、学習が速く進むことが知られている。これについては、空間信号の場合と同様であり、説明を省略する。
結合層13は、振幅結合層13Aおよび位相結合層13Bから成る。フーリエ変換層12に入力された空間信号は、フーリエ変換によって空間周波数信号である第1振幅信号21rと第1位相信号21θとに分離される。そして、第1振幅信号21rは振幅結合層13Aに入力され、第1位相信号21θは位相結合層13Bに入力されて、それぞれに、上記重み行列となる第1、第2重み行列W1、W2を掛け、第2振幅信号22rと第2位相信号22θとが出力される。
即ち、振幅結合層13Aでは、第1振幅信号21rに第1重み行列W1を掛けて第2振幅信号22rを出力する。また、位相結合層13Bでは、第1位相信号21θに第2重み行列W2を掛けて第2位相信号22θを出力する。
第1重み行列W1および第2重み行列W2の各初期値は、疑似乱数値、あるいは上述した他の初期値を持つ。
そして、振幅結合層13Aおよび位相結合層13Bでは、第1重み行列W1と第2重み行列W2とのそれぞれに対して、誤差逆伝搬法によって、入力と出力との関係が密接になるように行列内の値を更新する。即ち、第1重み行列W1と第2重み行列W2とは、訓練によって行列内の値が更新される。
第1振幅信号21rとなる振幅行列(入力行列)xに対して、第1重み行列W1は、正の実数のみを持つものとする。振幅行列xは正の実数であるため、(W1)xの行列の要素に対して絶対値|(W1)x|に変換しても良いが、この場合、第1重み行列W1に、正の実数のみとする制約を設けて学習させる。
制約を設けることで学習時の探索範囲を小さくでき、演算回数の低減が図れる。また、各要素に対して絶対値変換の演算を不要にして学習の高速化が図れる。
また、第1位相信号21θとなる位相行列(入力行列)xに対しては、第2重み行列W2に制約はない。位相にラジアンを用いる場合には、0以上、2π未満の値、または−π以上、π未満の値となるように、(W2)xの行列に対して、2πの剰余演算を行う。但し、後段の複素活性化層14で、三角関数を位相行列に施す複素活性化関数fを用いる場合には、剰余演算を行う必要はない。
なお、180/πをラジアンにかけることで算出される角度の単位としての度を、位相に用いても良く、この場合は360°の剰余演算を行う。
<複素活性化層>
複素活性化層14には、振幅結合層13Aおよび位相結合層13Bから出力される第2振幅信号22rと第2位相信号22θとが入力され、これらの信号に対して空間周波数領域における活性化関数である複素活性化関数fを用いて演算する。この場合、複素活性化関数fを用いた演算により、第2振幅信号22rは更新されて第3振幅信号23として出力され、第2位相信号22θはそのまま出力される。
複素活性化層14では、第2位相信号22θを構成する位相行列内の各点iにおける位相θ(i)に対する複素活性化関数fの応答によって、第2振幅信号22rを構成する振幅行列内の前記点iと同位置の点における振幅r(i)の値を更新する。
図6は、複素活性化関数fを用いて振幅r(i)の値を更新する動作を説明する図である。位相行列(第2位相信号22θ)内の点iの位置を(xi,yi)として、点iにおける要素である位相θ(xi,yi)に対して複素活性化関数fの値を演算し、同じ周波数にある振幅行列(第2振幅信号22r)における、上記位相行列内の点iと同位置(xi,yi)の要素である振幅r(xi,yi)を書き換える。なお、書き換え後の振幅行列は第3振幅信号23rとなる。
空間周波数領域での活性化関数である複素活性化関数fについて以下に説明する。
複素活性化関数fは、空間領域での活性化関数と同様、非線形関数を用いる。非線形関数とは、kを任意の定数とし、x,yを任意の変数とするとき、以下の線形関数gの定義
g(x+y)=g(x)+g(y)
g(k・x)=k・g(x)
のどちらか一方、または双方を満たさない関数として定義できる。
空間領域での活性化関数の一例としてロジスティック関数、双曲線正接関数がある。このような非線形関数をかけることによって、順伝搬と逆伝搬時に差異が生じ、これが線形関数だけでは表せない関数、すなわち重み付けを生み出すことになる。
この実施の形態における複素活性化関数fは、この非線形関数を、フーリエ変換後の空間周波数信号に対して用いる為の関数である。
複素活性化関数fは、空間信号に対する従来の活性化関数とは異なる。また、活性化関数を含めてフーリエ変換しても複素活性化関数fを作ることはできない。これは、以下の式からも明らかである。なお、gは空間領域での活性化関数である。
F[g(x)]≠F[g]◎F[x]
即ち、空間領域での値xに対して活性化関数gを施したものをフーリエ変換する結果と、活性化関数gをフーリエ変換すると共に、値xをフーリエ変換し、両者をかけ合わせたものは異なる。
例えば、Relu関数をフーリエ変換すると、Relu関数はx≧0の領域で単調増加であるからフーリエ変換は発散する。そのため、Relu関数をフーリエ変換したものは、空間周波数領域での活性化関数にはならない。
この実施の形態では、Relu関数の特徴に基づく複素活性化関数fを、複素Relu関数と称して用いる。
空間領域でのRelu関数は、入力値が正または0の場合は入力値と同じ値を、入力値が負の場合は0を、演算する。複素Relu関数は、振幅r、または位相θの一方のみで決まるものではなく、三角関数を位相成分に施す関数を用いて、振幅成分を更新する。この場合、三角関数を位相成分に施し、さらに振幅成分を乗じた関数を用いて、実軸成分、虚軸成分のいずれか一方、例えば実軸成分が正または0の場合に、振幅成分を更新せず同じ値とし、負の場合に、その関数による演算値に更新する。
即ち、複素活性化関数fは、第2位相信号22θを構成する行列内の各点iにおける位相θ(i)に対して、実軸成分、虚軸成分のいずれか一方が正または0の場合と、負の場合とで異なる応答によって、第2振幅信号22rを構成する行列内の前記点iと同位置の点における振幅r(i)の値を更新する。
複素Relu関数を用いた複素活性化関数fの例を以下の式(5)に示す。
Figure 0006742554
この場合、θ=−π/2、またはπ/2の時、r|sinθ|=rであるため、関数の連続性が確保される。
図7は、上記式(5)を図示したものである。図7に示すように、半径rの円に対して、実軸u、虚軸jvとすると、u成分が負の場合に、u成分をu=0、jv成分を|jv|に変換する。このように、実軸uの成分が負の場合に、振幅rをrsinθの絶対値で置き換える事と同値である。
さらに、複素Relu関数を用いた複素活性化関数fの別例を以下の式(6)に示す。
Figure 0006742554
この場合も、関数の連続性が確保される。
図8は、上記式(6)を図示したものである。この場合、虚軸jv成分が負の場合に、振幅rをrcosθの絶対値で置き換える事と同値である。これは、上記式(5)のθに対して(θ+(π/2))を代入したものと同値であるが、プログラム作成の容易性、比較回数の少なさ、すなわち計算の高速化の点で上記式(5)で示す複素Relu関数による複素活性化関数fよりも勝っている。また、θの比較回数も低減できるため、計算量を削減できる。
上記2式(5)、(6)の変形は、θに対するrの連続性が確保されている限り、様々な組み合わせを取ることができる。例えば、θ→(θ/2)として、θの領域を変更すること、あるいは|sinθ|の代わりに双曲線正割sechθとすることなどが考えられる。
さらに、複素活性化関数fを以下の式(7)で定義しても良い。なお、kをlより大きい実数とする。
Figure 0006742554
以上のように、複素活性化関数fは、位相θにより振幅rの取り得る値が2以上に分割されていれば良く、θの条件が3つ以上に分割されていても良い。
なお、複素活性化関数fが連続関数であるものを説明したが、不連続関数を用いることもできる。
従来、空間領域において、活性化関数に不連続関数であるステップ関数を用いる事もあった。ステップ関数は以下の式(8)で表される。あるいは、x=0での特異性を考慮して式(9)のように表現することもある。
Figure 0006742554
Figure 0006742554
空間周波数領域においても、複素活性化関数fの連続性は不可欠な条件ではなく、非線形関数であって、かつ、位相θの値によって算出される出力によって振幅rを書き換える構造となっていれば良い。
連続性のない複素Relu関数を用いた複素活性化関数fは、例えば、以下の式(10)で表される。
Figure 0006742554
上記式(10)は、上記式(6)の絶対値演算を除いたものであり、連続性は失われ、空間領域のRelu関数とは対応しないものであるが、絶対値演算を減らせる分、NNの学習時間を短縮することができる。
図9は、上記式(10)を図示したものである。図9に示すように、半径rの円に対して、虚軸jvの成分が負の場合に、jv=0である実軸uに写像したものである。
さらに、連続性のない複素活性化関数fの別例を以下の式(11)に示す。
Figure 0006742554
上記式(11)は、上記式(5)の絶対値演算を除いたものである。この場合も、連続性は失われ、空間領域のRelu関数とは対応しないものであるが、絶対値演算を減らせる分、NNの学習時間を短縮することができる。
図10は、上記式(11)を図示したものである。図10に示すように、半径rの円に対して、実軸uの成分が負の場合に、u=0である虚軸jvに写像したものである。
<訓練>
NNの重み行列W(第1重み行列W1、第2重み行列W2)を更新する際には、NNの出力と教師データとの差である損失Lを最小にするために、重み行列Wの各要素の最適値を検索する。誤差逆伝搬法は、最適値を探すための手段であり、勾配降下法を基本とするものである。
勾配降下法においては、重み行列W、学習係数α、および、推論結果と正解ラベルの差の成分である損失Lを用いて、以下の式(12)に基づいて、重み行列Wを更新していく。
Figure 0006742554
そして、勾配降下法において算出したい∂L/∂W(損失Lを重み行列Wで偏微分した演算)を、順伝搬と逆伝搬とを繰り返す誤差逆伝搬法によって算出し、重み行列Wを更新する。入力層から出力層への処理を順伝搬、出力層から入力層への処理を逆伝搬と呼ぶ。
この重み行列Wの更新を行う演算が学習であり、学習させるプロセスが訓練である。訓練が完了するとNNの学習が完了したことになる。なお、訓練に用いるデータを訓練データと呼ぶが、学習データと同じ意味で用いる。
訓練データを用いて訓練している際に、学習前に定めておいた所望の性能を満足した時点で学習をとめる、早期終了を用いても良く、これは過学習防止および学習時間の短縮につながる。この点については、この実施の形態と空間領域で行われるCNNの技術との差異はない。
勾配降下法について、以下に説明する。
勾配降下法とは、目的関数を最小化(一般的には最適化)する際に用いる解の探索に用いるアルゴリズムである。特に、NNでは、上記式(12)で示した確率的勾配降下法が用いられ、これは最小化する目的関数が微分可能である際に一般的に用いる方法である。このとき、学習係数αは勾配降下法にとって重要なパラメータとなり、AdaGrad法、Adam法、モメンタム法など様々な方法が知られている。これらの方法は、空間周波数領域での学習においても、空間領域での学習と同様であり、詳細な手法については省略する。
但し、一般的に非線形関数の最小化手法に関しては、目的関数の2次微分が可能な場合、ニュートン法あるいはその派生方法である準ニュートン法の方が解への収束が早い。また、上記のAdaGrad法、Adam法、モメンタム法などの勾配降下法は、学習係数αの値に収束速度および精度が大きく依存することから、ニュートン法あるいは準ニュートン法を用いる方が望ましい。複雑なNNを用いる場合には、2次微分を求めることが困難な場合が多いため、現実的には勾配降下法が用いられる。
上記のように目的関数の最適化を行うことで入力データと正解ラベルとの間を密接に関連付ける重み行列Wを構築することができる。しかし、学習の目的は学習に用いた訓練データ(入力データと正解ラベル)ではなく、学習後に与えられる未知のサンプルに対して正しい推論を行えるようにすることにある。前者の訓練データに対する誤差を訓練誤差、後者の未知のデータに対する誤差の期待値を汎化誤差と呼ぶ。この汎化誤差を小さくすることが、学習の目的であるものの、訓練誤差のように学習時に計算することはできない。
そこで、訓練データとは別のサンプル集合を準備し、これに対して訓練誤差と同じ方法で計算される誤差を汎化誤差の目安とする方法が用いられる。例えば、MNISTのデータを用いる場合においては、全データの70%〜80%を訓練データ、残りの20%〜30%のデータをテストデータとして、学習後にテストデータを用いてテストデータに対する誤差であるテスト誤差を演算する。具体的には訓練データが60000、テストデータが10000としている。重み行列Wの更新に伴うテスト誤差の変化を学習曲線と呼ぶ。
訓練を重ねるごとにテスト誤差が小さくなることが期待されるが、訓練データに対する誤差が小さくなっても、テストデータに対する誤差が大きくなることがある。これは、過学習(または過剰適応)と呼ばれ、NNの訓練の際の問題となる現象である。これを防ぐ方法として、過学習防止に向けた重み減衰(または、荷重減衰)とドロップアウトが知られている。この実施の形態においても、これらの方法を、CNNの場合と同様に適宜使用する。
重み減衰は、重み行列の値の大きさが大きいほど0に近づいていくように重みを更新する手法である。これにより重みの発散を緩和させる。重み減衰にも正則化手法など様々な方法が知られており、空間領域と同様、空間周波数領域に適用する場合における制約はない。
一方、ドロップアウトは、ドロップアウト層において振幅行列の成分を確率的に0にすることで、過学習を防止できる。通常は、確率として20%〜50%を用いる。
また、学習データが少ない場合においても過学習を起こしやすくなる。この場合、データ水増しを行う。具体的には一つの画像の平行移動、左右の鏡像反転、回転等の幾何学的な変形、その他にも濃淡、色彩の変動、ランダムノイズを一律に加える。このようにデータを増やすことで過学習が防止しやすくなり、この実施の形態においても同様である。
さらに全結合層の代わりに疎結合層を用いる方法、あるいは早期終了、計算結果等の有効数字を下げることを隠れ層に持たせることにより、過学習を防止しても構わない。
次に、誤差逆伝搬法について説明する。
順伝搬は、学習済みの重み行列を用いて結果を推定する推論の際に用いられる。また、訓練によって重み行列を更新する際には、順伝搬と逆伝搬とを複数回行う。
順伝搬は、隠れ層の行列あるいは関数を随時入力データに施す。一方、逆伝搬は、順伝搬によって得られた推論値と、正解ラベルの差を誤差とする誤差情報を直後の上位層から直前の下位層に逆伝搬させる。
逆伝搬は、順伝搬の微分の連鎖率で表記できるが、数式の算出が煩雑で計算量が多くなるため、誤差逆伝搬法が用いられる。誤差逆伝搬法は、出力層から始まる誤差成分を上位層から下位層に向かって伝搬させ、順伝搬時の処理の微分項を、誤差成分に演算することによって入力層まで伝搬させる。その誤差成分が小さくなるように、重み行列の値を更新する。
この実施の形態で用いる複素活性化関数fについても、微分が必要となる。
複素活性化関数fが、上記式(5)で示す場合、即ち、以下の複素Relu関数に対して、
Figure 0006742554
y=f(r,θ)とすると、偏微分項∂r、∂θは、以下の式(14)で表される。
Figure 0006742554
このとき、∂rは上位層から下位層へのrの更新式、∂θは上位層から下位層へのθの更新式となる。そして、第1振幅信号21rにかける第1重み行列W1、および第1位相信号21θにかける第2重み行列W2の各要素に対して代入による更新を施す。
また、複素活性化関数fが、上記式(11)で示す場合、即ち、以下の複素Relu関数に対して、
Figure 0006742554
y=f(r,θ)とすると、偏微分項∂r、∂θは、以下の式(16)で表される。
Figure 0006742554
また、複素活性化関数fが、上記式(6)で示す場合、即ち、以下の複素Relu関数に対して、
Figure 0006742554
y=f(r,θ)とすると、偏微分項∂r、∂θは、以下の式(18)で表される。
Figure 0006742554
また、複素活性化関数fが、上記式(10)で示す場合、即ち、以下の複素Relu関数に対して、
Figure 0006742554
y=f(r,θ)とすると、偏微分項∂r、∂θは、以下の式(20)で表される。
Figure 0006742554
複素活性化関数fが複雑になるに従い、微分を数式として表現し難くなる。そのような場合は、微小量Δθだけθを動かしたときの変化量Δy、つまり(Δy/Δθ)を微分とする数値微分を用いる。微分が定式化されていれば代入で計算が終了するのに対し、数値微分は引き算あるいは割り算の必要があるため計算量が多くなるが、任意の複素活性化関数fに対して微分を求めることができる。
上述したように、誤差逆伝搬法において、損失Lを逆伝搬させる∂L/∂Wを算出する。ここで、行列を行列に変換する2つの関数を定義し、中間値Y、Zとする。入力された行列と出力する行列の大きさは、等しいものとする。そして、入力X、重み行列W、中間値Y、Zは行列、損失Lはスカラとして考える。
誤差逆伝搬法において、∂L/∂Wを算出する際、∂L/∂Z、∂L/∂Y、∂L/∂X、∂L/∂Wを算出することになるが、このとき、それぞれの行列の大きさは、Z、Y、X、Wと等しくなる。∂L/∂Z、∂L/∂Y、∂L/∂X、∂L/∂Wがそれぞれ一意に決まるので、これを算出するために、一般的な偏微分の演算である連鎖律を用いる。
この誤差逆伝搬法は、数式をプログラムに落とし込む際に大変都合が良いため、訓練の際には広く用いられる。
<出力層>
出力層16について、以下に説明する。出力層16では、所望の出力7を得るために信号を変形させる関数である活性化関数が用いられる。この実施の形態では、出力層16で用いる活性化関数を出力活性化関数と呼ぶ。
また教師あり学習においては、入力データと正解ラベルのペアが与えられているため、出力活性化関数の出力結果と教師データとの近さの尺度を測る必要がある。この尺度のことをこの実施の形態では誤差関数と呼ぶ。
一般的な教師あり学習において、NNに求められる出力は大きく分けて3つある。一つ目が回帰分析、二つ目が多値分類、三つ目が二値分類である。以下、順番に説明する。
回帰分析とは出力に連続値をとる関数を対象に、訓練データを再現するような関数を定める手法である。この場合、NNの出力活性化関数に、その値域が、目標とする関数の値域と一致するものを選ぶ。値域が−1以上1以下の場合には、双極線正接関数y=tanh(x)が適している。値域が−∞から∞の間である場合には、恒等写像y=xを選ぶ場合が多い。また、出力活性化関数の出力結果と正解ラベルとの差に関しては、2乗誤差を用いる。逆伝搬の微分を考慮すると、一般的には2乗誤差に対して1/2をかけたものを誤差関数に用いる。
次に、多値分類では、入力データに対して有限個のクラスに分類する。例えば、MNISTは多値分類問題であり、入力の0〜9までの数字が書かれた手書き文字を10通りに分類する。このような多値分類に対しては、出力活性化関数はソフトマックス関数が用いられる。また、誤差関数には交差エントロピを用いる。ソフトマックス関数および交差エントロピに関しては、空間領域での手法と同様である。
次に、二値分類では、入力データを二種類に分類する。この場合、出力活性化関数にはロジスティック関数、誤差関数には最尤推定と同じ手法を用いる。ただし、二値分類も多値分類の一種と考え、多値分類と同様、出力活性化関数はソフトマックス関数、誤差関数には交差エントロピを用いても構わない。
上述したように、この実施の形態では、結合層13にて重み行列Wをかける複素畳み込み演算後に複素活性化関数fを用いることにより、隠れ層におけるフーリエ変換と逆フーリエ変換とをそれぞれ1度実施すれば、その間に連続する空間周波数領域での処理の中で、結合層13および複素活性化層14での演算を何度でも行える。
図11は、結合層13および複素活性化層14を2層ずつ用いた場合のNNの構成例を示す図である。このようなNNを用いた場合の、テストデータに対する精度を、第1比較例、即ち、畳み込み層2を2層有するCNNの場合と共に図12に示す。
この場合、MNISTを入力データとして手書き文字を10通りに分類させたときの、教師あり学習させた結果を、訓練回数(計算回数)に対する計算精度の推移で示した。
図12内の実線が、この実施の形態によるNNを用いた場合であり、点線が、第1比較例のCNNを用いた場合である。またこの場合、この実施の形態によるNNでは、上記式(6)で示した複素活性化関数fを用いた。
図12に示すように、この実施の形態によるNNでは、計算回数が1500回を超えるとテストデータに対して95%程度の精度で推論できる。第1比較例のCNNでは、97%程度の精度であるから、ほぼ同等な性能と言える。
図13は、この実施の形態によるNNによる高速化効果を説明する図である。図13では、畳み込み層2を2層有するCNNによる第1比較例と、複素畳み込み演算を2回行い、各複素畳み込み演算の前後にフーリエ変換と逆フーリエ変換とを行う第2比較例と、この実施の形態によるNNとについて、計算速度の違いを示す。この場合、CPU演算による計算で、MNISTを用いた実際の計算、この場合、図12で示す計算回数2000回の計算を行う場合にかかった時間を示す。
なお、MNISTのデータとして、訓練データが60000、推論時のテストデータが10000とする。
MNISTは32×32の比較的小さな画像であるが、第1比較例の計算時間が260秒に対し、第2比較例では200秒、この実施の形態によるNNでは75秒であり、第1比較例と比べ約30%の時間であり、格段と高速化されることが分かる。
また、訓練データ数を少なくすること、あるいは、計算時間を要するフーリエ変換および逆フーリエ変換について、専用のICを用いることにより、マイコンなどの小さな処理装置でも層数の大きいNNの計算が可能になる。
以上のように、この実施の形態によるNNでは、従来のCNNとほぼ同等の精度の演算が行える。また、大きな計算量を要した畳み込み演算を、1度の行列演算による複素畳み込み演算に置き換えるため、計算量を大きく削減できる。さらに、複素活性化関数fを用いることにより、隠れ層におけるフーリエ変換と逆フーリエ変換とをそれぞれ1度実施すれば、その間に連続する空間周波数領域での処理の中で、複素畳み込み演算と複素活性化関数fとを何度でも用いる事ができ、フーリエ変換および逆フーリエ変換に要する計算量も削減できる。このため、大きな画像に対しても高速処理が可能になり、低コストで簡略なハードウェア100の構成にて、NNによる高い認識精度が得られる。
また、この実施の形態では、フーリエ変換と逆フーリエ変換との間の各層の演算は、全て、連続する空間周波数領域内での空間周波数信号を扱う演算となり、演算毎の入力信号と出力信号とから、各演算の物理的な機能を解析することが可能になる。これにより、NNの詳細解析が可能になり、各層の解析結果からNNの構成が決定でき、高性能のNNが構築できる。
<活用例>
この実施の形態によると、主に2次元の画像を対象に、第1比較例のCNNに比べて高速に処理することができ、特に、畳み込み層2に相当する結合層13を複数持つNNでは、大きな効果を発揮する。画像認識においては、CMOS(Complementary Metal−Oxide−Semiconductor)などで取得したデータ以外にも、赤外線カメラ、紫外線カメラ、あるいはフェーズドアレイアンテナ等で電磁波を可視化した映像を入力データに用いることができる。
また、応力、熱伝導、電場、磁場、電磁波、圧電、音波、流体、光学、流体、構造等のシミュレータを用い、2次元以上のCAD等を利用してGUIで設計した解析モデルを入力データとし、該シミュレータでの解析結果を正解ラベルとするデータを用いた学習を行ってもよい。
さらに、上述したように、1次元のデータであってもスペクトログラムに変換することで2次元のデータとみなすことができるため、この実施の形態による手法を用いることができる。
また、この実施の形態によるNNは、一般に知られているConvolutional LSTM(Long short−term memory)のように、畳み込み演算を用いて動画のような時間変化がある入力データを処理する情報処理装置に適用することもできる。
また、スペクトログラムに変換することにより、RNN(Recurrent Neural Networks)全般にも、畳み込み演算を要する箇所に、この実施の形態による手法を適用することができる。
また、GAN(Generative Adversarial Network)と呼ばれる、生成ネットワーク(generator)と識別ネットワーク(discriminator)との2つのNNを同時に学習させていくNNを用いて、訓練データあるいはテストデータに含まれない画像を生成する手法にも、この実施の形態を適用できる。このGANは、通常、多数の畳み込み層を重ねることで生成ネットワークと識別ネットワークとを構成するが、2つのNNを同時に訓練することから畳み込み層の数が増え、計算量が膨大になるが、この実施の形態の手法を用いる事で、大幅な計算コストの削減が図れる。
GANのような計算には、通常、数10枚から数万枚のGPUボード(GPUの演算素子が実装されたプリント基板)を用いて学習するため、大規模な計算機が不可欠であったが、この実施の形態を適用することにより、生成する画像の大きさにもよるが、3〜8桁程度の高速化が期待できる。条件によっては、GPUなどの並列処理機構を持たないハードウェアでも学習が可能になる。
GANによれば、入力データは2次元以上の画像であっても構わないため、例えばシミュレーションデータを入力し、所望の設計を行うことも可能である。
さらに、公知のConditional GANのように、学習を終えた重み関数を用いて、使用者が条件を定め、出力を限定させることもできる。この場合、GANにより所望の設計が可能になり、この実施の形態を適用することにより、その設計を学習させる時間、および推論に要する時間を大幅に削減できる。
さらにまた、強化学習においても、2次元の画像を入力データとして学習を進める手法が多く用いられており、その多くは複数の畳み込み層を有する。特に、強化学習は正解ラベルを与えるのではなく、エージェントと呼ばれるNNが試行錯誤を繰り返す中で学習させるものであるため、計算量が膨大になる。このような強化学習に対しても、この実施の形態を適用することで、NNを効率的に学習させることができる。
また、教師なし学習である自己符号化器を多層化したstacked auto encoder(SAE)、制約ボルツマンマシンを多層化したdeep Boltzmann machine(DBM)等についても同様である。
自己符号化器は、例えば2次元の画像を入力層に入力すると同じ画像が出力されるように学習させるNNであり、入力層と出力層との間には畳み込み層を含む、様々な演算処理があり、必要な情報が欠落しないように、演算処理が行われる。
教師なし学習においても、畳み込み演算は不可欠な技術であるため、この実施の形態を適用することにより、計算コストを大幅に低減させることができる。
また、入力データは2次元とは限らず、3次元データを平面図の組み合わせ鳥瞰図、断面図、CADまたは3Dカメラ(ステレオカメラ)などの画像を3次元データとしてそのまま入力データとして用いても構わない。
実施の形態2.
実施の形態2では、上記実施の形態1で用いた複素Relu関数とは異なる複素活性化関数fを用いる。この実施の形態では、フーリエ変換層12において、0以上の実数である振幅成分と、−π以上π未満の実数である位相成分とに分解する。その他の構成は実施の形態1と同様である。
この実施の形態2においても、上記実施の形態1と同様に、複素活性化層14には、振幅結合層13Aおよび位相結合層13Bから出力される第2振幅信号22rと第2位相信号22θとが入力され、これらの信号に対して複素活性化関数fを用いて演算し、第2振幅信号22rは更新されて第3振幅信号23rとして出力され、第2位相信号22θはそのまま出力される。
複素活性化層14では、第2位相信号22θを構成する位相行列内の各点iにおける位相θ(i)に対する複素活性化関数fの応答によって、第2振幅信号22rを構成する振幅行列内の前記点iと同位置の点における振幅r(i)の値を更新する。
この実施の形態では、空間領域におけるロジスティック関数の特徴に基づく複素活性化関数fを、複素ロジスティック関数と称して用いる。
上記実施の形態1で用いた複素活性化関数fは、位相θ(i)の大きさに応じて異なる応答により振幅r(i)の値を更新するものであったが、この実施の形態2で用いる複素活性化関数fは、位相θ(i)の大きさによらず同じ演算式による一定の応答により振幅r(i)の値を更新する。
複素ロジスティック関数を用いた複素活性化関数fの例を以下の式(21)に示す。
Figure 0006742554
但し、kは1より大きい実数である。θが−π以上π未満で動くときに、複素活性化関数fの出力は0から1の間を動く。この出力で振幅rを置き換える。
なお、上記式(21)において、((k−1)/2)は、複素活性化関数fの出力の最大値を1にするための定数であるため、必須ではない。このため、以下の式(22)に示す複素活性化関数fを用いても良い。この場合、複素活性化関数fの出力の最大値は、(2/(k−1))となる。複素活性化関数fの最小値は0以上の実数となり、振幅成分を0以上の実数とする上記条件を満たす。
Figure 0006742554
また、複素ロジスティック関数を用いた複素活性化関数fの別例を以下の式(23)に示す。この複素活性化関数fは、θ=0、に対して対象な関数であり、出力の最小値は0、最大値は1になる。
Figure 0006742554
さらに、複素活性化関数fの別例を以下の式(24)に示す。この複素活性化関数fは、ガウスの誤差関数を変形したものである。
Figure 0006742554
このように、振幅rと位相θとの2つの入力信号に基づいて、空間周波数領域における2次元の複素活性化関数fを定義することにより、空間領域での活性化関数では表現できない活性化関数を定義できる。これにより、活性化関数の表現の自由度を向上させ、より汎用性の高い学習ができる。
損失を上位層である出力層から下位層である入力層に伝搬させる誤差逆伝搬法においては、この実施の形態で用いる複素活性化関数fについても、微分が必要となる。但し、上記のような複素ロジスティック関数の微分は難しい。そのような場合は、上述した数値微分を行うことで微分することが可能である。
この実施の形態2においても、上記実施の形態1と同様の効果が得られる。即ち、従来のCNNとほぼ同等の精度の演算が行える。また、大きな計算量を要した畳み込み演算を、1度の行列演算による複素畳み込み演算に置き換えるため、計算量を大きく削減できる。さらに、複素活性化関数fを用いることにより、隠れ層におけるフーリエ変換と逆フーリエ変換とをそれぞれ1度実施すれば、その間に連続する空間周波数領域での処理の中で、複素畳み込み演算と複素活性化関数fとを何度でも用いる事ができ、フーリエ変換および逆フーリエ変換に要する計算量も削減できる。このため、大きな画像に対しても高速処理が可能になり、低コストで簡略なハードウェア100の構成にて、NNによる高い認識精度が得られる。
また、フーリエ変換と逆フーリエ変換との間の各層の演算は、全て、連続する空間周波数領域内での空間周波数信号を扱う演算となり、演算毎の入力信号と出力信号とから、各演算の物理的な機能を解析することが可能になる。これにより、NNの詳細解析が可能になり、各層の解析結果からNNの構成が決定でき、高性能のNNが構築できる。
なお、複素ロジスティック関数の計算速度がNNにおける律速条件となる際には、実施の形態1で示した複素Relu関数のように、微分が理論的に計算できて、計算量が少ない複素活性化関数fを用いるのが望ましい。
実施の形態3.
実施の形態3では、上記実施の形態1、2とは異なる複素活性化関数fを用いる。その他の構成は、上記実施の形態1と同様である。
この実施の形態3においても、上記実施の形態1と同様に、複素活性化層14には、振幅結合層13Aおよび位相結合層13Bから出力される第2振幅信号22rと第2位相信号22θとが入力され、これらの信号に対して複素活性化関数fを用いて演算することにより、第2振幅信号22rおよび第2位相信号22θを更新して出力する。
なお、第2振幅信号22rおよび第2位相信号22θは、同じ手法で同様に更新するが、第2位相信号22θをそのまま保持し、第2振幅信号22rのみを更新しても良い。
図14は、複素活性化関数fを用いて第2振幅信号22rおよび第2位相信号22θを更新する動作を説明する図である。
ここでは、簡単のために、結合層13で生成された第2振幅信号22rおよび第2位相信号22θは、それぞれ2次元の行列である振幅行列および位相行列とする。
振幅行列の各軸は周波数軸を示し、各要素は振幅の値を示す。複素活性化層14では、N、MをそれぞれN≧2、M≧1とし、周波数軸の成分、即ち周波数成分が1/N、各要素の振幅が1/Mである、縮小された微小行列Lrを生成する。この微小行列Lrを元の振幅行列に加算する。加算後に生成された行列を複素活性化関数fの出力(更新された振幅行列)とする。
また、位相行列に対しても、同様に微小行列Lθを生成して加算する演算を行い、加算後に生成された行列を複素活性化関数fの出力(更新された位相行列)とする。
なお、この複素活性化関数fは、空間周波数領域での非線形関数となっている。
このような複素活性化関数fの演算により、入力された第2振幅信号22rおよび第2位相信号22θは、信号成分を、より低い周波数成分に効果的に集約させることができる。この複素活性化関数fを用いた後に、後述するプーリング層を用いると、プーリング層にて主要な情報の劣化を防ぎつつ、低い周波数成分に情報を集約させることができる。
なお、プーリング層は、複素活性化層14の後段に設けられて、電気工学におけるローパスフィルタ、より一般にはフィルタになるものである。
また、この実施の形態3による複素活性化関数fの演算は、上記実施の形態1または2で示した複素活性化関数fの演算よりも、演算時間を要するものであるが、情報を劣化させず、より高精度な計算ができる。
この実施の形態3による複素活性化関数fの演算は、NNの学習において誤差逆伝播法と組み合わせると、上位層と下位層との間を複数回往復する際、各行列の要素ごとの演算になるため計算回数が膨大になる。そのため、N、Mをそれぞれ2のべき乗とし、微小行列Lr、Lθの生成にシフト演算を利用して計算を軽量化する手法が有効である。
シフト演算は10進数にする必要がなく、計算が得意な2ビットの演算になることから、ノイマン型コンピュータを使った演算においては計算コストが小さい。例えば、C言語のようなコンパイル言語においては、計算コストは1/10程度になる。1/2、1/4、1/8など、1/2のべき乗にする演算には右シフトのビット演算を行えばよい。
具体的な演算例としてN=2、M=1の場合を、以下に説明する。
この場合、第2振幅信号22r、第2位相信号22θを形成する振幅行列、位相行列の各要素を1つずつ間引きする。その結果、各行列の行、及び列のサイズは1/2になり微小行列Lr、Lθとなる。サイズが小さくなった微小行列Lr、Lθに対して、高周波成分に0埋めをし、間引きをする前の振幅行列、位相行列と同じサイズに加工する。加工後の微小行列Lr、Lθを、間引き前の行列振幅行列、位相行列に足し合わせることにより、最も簡単な複素活性化関数fの出力信号を生成することができる。
なお、微小行列Lr、Lθは、それぞれ複数個用いても良く、1/2だけでなく1/4、1/8等の微小行列Lr、Lθをさらに加算しても良い。
また、この実施の形態では離散信号を扱っているため、M=1以外の場合には端数が発生するが、その場合、端数を丸め込む方法、あるいは補間によって値を推定する方法を用いる。
この実施の形態3においても、上記実施の形態1と同様に、大きな計算量を要した畳み込み演算を、1度の行列演算による複素畳み込み演算に置き換えるため、計算量を大きく削減できる。さらに、複素活性化関数fを用いることにより、隠れ層におけるフーリエ変換と逆フーリエ変換とをそれぞれ1度実施すれば、その間に連続する空間周波数領域での処理の中で、複素畳み込み演算と複素活性化関数fとを何度でも用いる事ができ、フーリエ変換および逆フーリエ変換に要する計算量も削減できる。このため、大きな画像に対しても高速処理が可能になり、低コストで簡略なハードウェア100の構成にて、NNによる高い認識精度が得られる。
また、フーリエ変換と逆フーリエ変換との間の各層の演算は、全て、連続する空間周波数領域内での空間周波数信号を扱う演算となり、演算毎の入力信号と出力信号とから、各演算の物理的な機能を解析することが可能になる。これにより、NNの詳細解析が可能になり、各層の解析結果からNNの構成が決定でき、高性能のNNが構築できる。
実施の形態4.
実施の形態4では、上記実施の形態1〜3とは異なる複素活性化関数fを用いる。その他の構成は、上記実施の形態1と同様である。
この実施の形態4においても、上記実施の形態1と同様に、複素活性化層14には、振幅結合層13Aおよび位相結合層13Bから出力される第2振幅信号22rと第2位相信号22θとが入力され、これらの信号に対して複素活性化関数fを用いて演算することにより、第2振幅信号22rおよび第2位相信号22θを更新して出力する。
なお、第2振幅信号22rおよび第2位相信号22θは、同じ手法で同様に更新するが、第2位相信号22θをそのまま保持し、第2振幅信号22rのみを更新しても良い。
ところで、フーリエ変換においては、g、hを任意の関数とする時、以下の等式が成り立つ。但し、Fはフーリエ変換、*は畳み込み演算、◎はアダマール積である。
F[g◎h]=F[g]*F[h]
即ち、空間領域でのアダマール積は、空間周波数領域での畳み込みとなることを意味している。この時、F[g]を入力信号、F[h]をカーネルと考え、F[h]をカーネルとして入力信号F[g]に畳み込み演算することを、複素活性化関数fの演算として適用する。
但し、空間周波数領域において任意のカーネルF[h]をF[g]にかけると、入力信号F[g]が持っている情報が劣化してしまう。すなわち、gを構成する支配的な周波数成分である、振幅が大きい周波数の情報を失うことになる。このため、カーネルF[h]の原点において、振幅(絶対値)が最大となる関数を選択することにより、情報の劣化を防止する。
このような関数の一例として、sinc関数がある。sinc関数はxを周波数とすると(sin(x)/x)で表され、x=0で最大値を取る。
このように、複素活性化関数fは、基準となる原点での値の絶対値が最大となる関数をカーネルF[h]として、入力信号(対象信号)に対して畳み込み演算を行うものである。これにより、空間領域の活性化関数と同等の精度を有する複素活性化関数fが得られる。
このF[h]を用いて、第2振幅信号22rに対して畳み込み演算を行うが、第2位相信号22θに対しても同様に畳み込み演算を行ってもよい。
また、カーネルF[h]の原点において、振幅が最大となる以外にも正負の両方の値を持つことが望ましい。即ち、カーネルF[h]の振幅0の軸を横切る関数になることが望ましい。これにより、畳み込み演算後の結果(F[g]*F[h])の振幅において、振幅0となる点が存在し、この振幅0の点がNNにおける情報となる。
さらに、第2振幅信号22rの出力は正の実数である必要があるため、畳み込み演算後の出力(F[g]*F[h])に対して絶対値に変換することが望ましい。
また、上述したsinc関数の他、Relu関数の空間周波数領域でも計算することができる。しかし、一般的なRelu関数であるRelu(x)は、xに比例して大きくなるため、フーリエ変換の値が発散する。そのため、画像の軸方向の大きさ(画素数)をx0とすると、F[h]は、以下の式(25)で表すことができる。
Figure 0006742554
この場合、誤差逆伝播法による計算を行う場合には、計算量が膨大となる。
その他、以下の式(26)に示すシグモイド関数は空間周波数領域では収束する関数となっている。
Figure 0006742554
このため、F[h]は、
F[h](x)=−jπ・csch(πx)
で算出される関数であっても良い。
また、csch(πx)はcosech(x)で表される関数であっても良い。但し、x=0で発散する関数となるため、実際の計算においては有限の値で丸め込む。
この実施の形態4においても、複素活性化関数fを用いることにより、隠れ層におけるフーリエ変換と逆フーリエ変換とをそれぞれ1度実施すれば、フーリエ変換と逆フーリエ変換との間の各層の演算は、全て、連続する空間周波数領域内での空間周波数信号を扱う演算となる。このため、演算毎の入力信号と出力信号とから、各演算の物理的な機能を解析することが可能になる。これにより、NNの詳細解析が可能になり、各層の解析結果からNNの構成が決定でき、高性能のNNが構築できる。
そして、この実施の形態4では、複素活性化関数fは、空間周波数領域内でカーネルを用いて畳み込み演算を行うものである。このため、第1比較例のCNNと理論的に等価な演算をすることができ同等の精度が得られるが、計算速度の向上を図るものでは無い。
しかしながら、連続する空間周波数領域内での空間周波数信号を扱う演算で、CNNの手法を行っていることになり、従来手法であるCNNの詳細解析が可能になる。
例えば、畳み込み演算(空間周波数領域ではアダマール積)はエッジ(物体と物体の境界線)の強調を担う。活性化関数(空間周波数領域では複素活性化関数)は非線形関数であると共に、入力信号とは異なる周波数成分発生(低周波帯域、高周波帯域ともに発生)を担う。後述するプーリング(空間周波数領域では複素プーリング)はローパスフィルタに代表されるフィルタの役割を担う。このように、各演算を明確に切り分けて解析でき、CNNを含むNNの発展に貢献できる。
NN各層における演算の解析について、より詳しく説明する。
空間領域での畳み込み演算では、入力画像の横軸をx軸、縦軸をy軸とする時、カーネルを例えばガウシアンのx軸方向に微分した2次元の信号とすると、このカーネルを入力画像に畳み込むことでy軸方向成分のエッジが強調された画像を出力することができる。同様に、ガウシアンを任意の方向で微分したカーネルを入力画像に畳み込むことで、入力画像のあらゆる方向の画像のエッジを抽出することができる。
CNNでは、訓練によって得られる複数のカーネルにより、様々な方向のエッジを抽出し、それらを合成することで入力画像を分析している。空間領域ではこのように複数回の演算が伴う畳み込み処理によって画像の特徴を抽出する。そして、これと同じ物理的な意味を持つ処理が、空間周波数領域では、カーネルを用いた畳み込み演算を用いない複素畳み込み演算により行うことができる。
次に、活性化関数(空間周波数領域では複素活性化関数)についての解析について説明する。
従来、空間領域の処理は脳の神経細胞の発火と似た構造を非線形関数で表現できることが、ネオコグニトロンあるいはCNNの研究を通して分かっている。
しかしながら、この実施の形態による、活性化関数の解析では、後述するプーリング(空間周波数領域では複素プーリング)の機能を併せて解析すると、深層学習における活性化関数の役割の中で最も重要な役割は、入力信号とは異なる周波数成分を発生させることにある、という結果を導くことができる。
例えば、空間領域のRelu関数は、空間周波数領域では、半波整流を空間周波数領域で処理をすることに帰着できる。すなわち、2つ以上の異なる周期を持つ三角波(一般的な画像)に対する半波整流処理は、元の三角波が持つ周波数成分以外にも、直流成分に近い低周波成分にエネルギの一部が移行する。そのため、近似的に実施の形態3に示すように、信号の一部を低周波成分側に出力させる演算によっても同様の効果が得られることが分かる。
なお、この空間周波数領域での演算は、空間領域での演算と同じ結果とはならないが、演算結果の差は、複素畳み込み演算における訓練によって調整することが可能である。
実施の形態5.
実施の形態5は、上記実施の形態1〜4によるNNに、複素プーリング層を備えたものである。複素プーリング層18は、空間領域でのプーリング層4に対応する、空間周波数領域での層である。図15は、この実施の形態5によるNNの構成を示す図であり、上記実施の形態1で示した図4に対応する部分詳細図である。
上記実施の形態1と同様に、振幅結合層13Aは、第1重み行列W1を有し、第1重み行列W1を第1振幅信号21rにかけて第2振幅信号22rを出力する。位相結合層13Bは、第2重み行列W2を第1位相信号21θにかけて第2位相信号22θを出力する。
複素活性化層14は、複素活性化関数fを用いて、第2振幅信号22rおよび第2位相信号22θの内、第2振幅信号22rのみを更新して第3振幅信号23rとして出力すると共に、第2位相信号22θは更新せずに出力する。
複素プーリング層18は、複素活性化層14の直後に設けられ、複素活性化層14で更新された信号に対して演算処理する。この場合、振幅成分のみ更新されているため、入力される第3振幅信号23rに対して演算処理して、振幅信号23raを出力する。
なお、上記実施の形態3、4に複素プーリング層18を設けた場合で、複素活性化層14が第2振幅信号22rおよび第2位相信号22θの双方を更新している場合には、更新された双方の信号に対して複素プーリング層18が演算処理する。
空間領域におけるプーリング層4の演算をプーリングと称し、空間周波数領域における複素プーリング層18の演算を複素プーリングと称す。
空間領域におけるプーリングは、畳み込み層2で抽出された特徴の位置の感度を低下させるもので、対象とする特徴量の画像内での位置が変化しても同一の特徴量を持つ画像と認識できるものである。これはすなわち画像の「ぼかし」を意味する。
空間周波数領域に「ぼかし」を適用するには、高周波成分を除去することで容易に得ることができる。高周波成分とは、隣り合うピクセルの要素が急激に変化するときに発生する成分であるため、空間周波数領域で高周波成分を除去することにより複素プーリングが得られる。
この複素プーリング層18での演算、即ち複素プーリングは、信号処理の分野におけるローパスフィルタに相当する。そして、複素プーリングを行う事により、入力画像の位置ずれ、および回転に対して強固な構造になると共に、NNの過学習を防止すると共に、計算精度が向上する。
一般に空間領域におけるプーリングは、S×T(S、Tは2以上の整数)の画像サイズ毎にマップを切り出し、その最大値を出力する最大値プーリング、あるいは平均値を出力する平均値プーリングが一般的に用いられる。その他、Lpプーリングなどが知られている。これらのプーリングの違いは、空間周波数領域ではローパスフィルタの形状の違いを示すものと考えることができる。
空間周波数領域において、行列の中心部に低周波成分、行列の周辺部に高周波成分とする周波数シフトを施した振幅信号と位相信号の行列を考える。これらの行列に対する複素プーリングに用いる関数は、2次元のガウシアンが望ましい。ガウシアンでは、フーリエ変換してもフィルタの形状が変わらないため、フーリエ変換の際に発生する高周波成分の発生を抑制するフィルタ演算が不要となるためである。
それ以外にもハン窓、ハミング窓、ハニング窓、ブラックマン窓、カイザー窓などの窓関数を各隠れ層の入力信号の次元にあわせて変形した窓関数を複素プーリングに用いても良い。但し、フラット・トップ窓のように負成分が発生する複素プーリングの関数を振幅信号に演算する場合においては、負成分が発生しないように演算結果に対して絶対値に変換する。この窓関数により、フーリエ変換逆フーリエ変換する際の不連続性も除去できるため、数値処理の影響で発生するノイズ成分も除去することができる。
さらに、単色、つまり直流に近い低周波成分によりオフセットされている情報を除去するハイパスフィルタを用いることで、背景成分などの単色情報を除去することができる。具体的には、周波数シフトした信号に対して、中心部の数画素分の信号を除去する。この場合、通常10%以下の中心部の画素を抑圧するハイパスフィルタを設ける。なお、この手法は、直流成分が重要なファクタであるデータに対しては使えない。
実際のNNの設計においては、上記ハイパスフィルタと上記ローパスフィルタとが組み合わされたバンドパスフィルタを用いるのが望ましい。
バンドパスフィルタの例として、David HubelとTorsten Wieselとによって示された三角関数とガウス関数との積で表される関数であるガボールフィルタを用いる方法がある。また、ローパスフィルタとハイパスフィルタとを組み合わせて、任意のバンドパスフィルタを用いても良い。
ところで、上記実施の形態3または4で示した複素活性化関数f、あるいはCNNで用いる活性化関数は、NNにとって特定の周波数よりも低い周波数成分を発生させる意味を持つ。
例えば、CNNで振幅がマイナスとなる場合、活性化関数(Relu関数)の出力が0となる。出力が0というのは、空間周波数領域では周波数0、すなわち直流成分を意味し、電気工学では半波整流になることを意味する。また、特定の周波数では、半波整流は直流成分から特定の周波数へ連続的に周波数が変化することになるため、活性化関数への入力信号が単一周波数であっても、出力信号は広帯域の周波数成分を持つものになる。
この実施の形態5では、複素活性化関数fの演算後に複素プーリング層18を設けることで、低い周波数成分にある主要な情報を、効果的に集約させることができる。
ここで述べる情報の集約とはローパスフィルタ(例えば、ガウシアンフィルタ)によって高周波成分が除去されたことを意味する。
なお、隠れ層を多層化したNNにおいて、複素プーリング層18は、複素活性化層14の直後だけでなく、複素活性化層14の前段に設けるのも望ましい。
また、上記実施の形態4を適用すると、プーリング(空間周波数領域では複素プーリング)についても解析することができ、以下に説明する。
上述したように、空間領域におけるプーリングは大別して最大値プーリングと平均値プーリングがある。例えば2×2のビットで画像を切り取っていき、その2×2のビットの中で最大値、または平均値を出力する演算である。この演算はぼかしの効果がある。また、ぼかすことによって、入力画像の位置がずれたり、回転したりした場合でも同一の画像として認識できる効果を生むことができる。
一方、上記実施の形態4を適用して空間周波数領域で複素プーリングを解析すると、プーリングの演算は、ローパスフィルタとなっていることが分かる。また、最大値プーリングおよび平均値プーリングは、フィルタのカットオフ周波数でのエッジの鋭さだけの違いであることが分かる。
このため、空間領域でのプーリングは、物理的に曖昧な意味を持つものであったが、空間周波数領域では明示的なフィルタとして複素プーリングを作用させることができる。これにより、複素プーリングは、空間領域でのフィルタよりも、推論における精度の高い深層学習モデルを構築することができる。更に、ローパスフィルタ以外にもDC成分と高周波成分だけを除去するバンドパスフィルタなど、任意のフィルタを構築することができるため、自由度の高い深層学習モデルを構築できる。
この複素プーリングがローパスフィルタになっていることは、活性化関数(空間周波数領域では複素活性化関数)と大きなつながりがある。上述のとおり活性化関数は低周波成分を生む作用がある。それに対してローパスフィルタをかけると、活性化関数によって発生した低周波成分は残し、入力信号本来の高い周波数成分は除去する構成にすることもできる。但し、ローパスフィルタのカットオフ周波数、即ちローパスフィルタの設計に依存する。
上記実施の形態4を、この実施の形態5に適用してCNNを解析した内容をまとめると、以下のような結果が得られる。CNNとは、訓練によって得られるフィルタを畳み込み、画像のエッジを抽出し、活性化関数となる非線形関数によって低周波成分に信号を発生させ、プーリングによって低周波成分に現れた周波数成分を残し、それ以外の成分を除去し学習させる手法である。
実施の形態6.
実施の形態6は、上記実施の形態1〜5によるNNに、複素バッチ正規化層を備えたものである。図16は、この実施の形態6によるNNの構成を示す図であり、上記実施の形態1で示した図4に対応する部分詳細図である。
この場合、結合層13と複素活性化層14との間に複素バッチ正規化層19を設ける例を示すが、これ以外にも、複素活性化層14の後段、あるいは結合層13の前段に設けても良い。
学習に用いるデータの分布(平均値および標準偏差)が訓練時と推論時に異なる、即ち、ずれが発生することを共変量シフトと呼ぶ。NNにおいて、訓練中に各隠れ層の間での共変量シフトを内部共変量シフトと呼び、内部共変量シフトのずれは伝搬する。NNの隠れ層の数が多くなるにつれて、ずれが伝搬し出力層に近い上位層の重み付けにかかる学習に時間がかかる。そして、場合によっては学習が進まなくなることもある。
このため、空間領域では、訓練にかかる時間を短縮するバッチ正規化と呼ばれる手法を用いる場合がある。空間領域でのバッチ正規化は、一つの隠れ層の入力(通常は行列)の平均と標準偏差をとり、その入力から平均値を引いたものを、標準偏差で除算した演算を行う。
この実施の形態6による複素バッチ正規化層19は、空間領域でのバッチ正規化に対応する空間周波数領域での複素バッチ正規化を行う隠れ層である。
複素バッチ正規化は、空間周波数領域においても、振幅信号のみに対して空間領域でのバッチ正規化と同様の演算を行うことで、内部共変量シフトの影響を低減でき、訓練にかかる時間を短縮できる。
この場合、複素バッチ正規化層19を、結合層13と複素活性化層14との間に配したため、複素バッチ正規化層19は、振幅結合層13Aが出力する第2振幅信号22rのみを複素バッチ正規化して振幅信号22raを出力する。
なお、複素バッチ正規化層19を設けることによる計算精度へのデメリットは小さいことから、複素プーリング層18の前または後、あるいは、後述する振幅対数化層、軸対数化層などの隠れ層の前または後に、複素バッチ正規化層19を設けても良い。
また、複素バッチ正規化層19自体の演算時間が影響して学習に時間がかかる場合には、複素バッチ正規化層19の数を減らし、以下の方法で対応するのが望ましい。即ち、複素活性化関数fの変更、重み行列Wの初期値の事前学習、勾配降下法における学習係数を下げる、ドロップアウト層あるいは疎結合層などによりNNの自由度を制約する方法で対応する。
実施の形態7.
実施の形態7は、上記実施の形態1〜6によるNNに、振幅対数化層および逆振幅対数化層を備えたものである。図17は、この実施の形態7によるNNの構成を示す図であり、振幅対数化層および逆振幅対数化層を上記実施の形態6に適用した場合を示し、図16に対応するNNの部分詳細図である。
図17に示すように、フーリエ変換層12と結合層13との間に振幅対数化層10Aを設け、さらに、逆フーリエ変換層15の前段に逆振幅対数化層10Bを設ける。
入力信号20がフーリエ変換層12でフーリエ変換されて、第1振幅信号21rと第1位相信号21θとに分割されると、第1振幅信号21rにおいて、周波数軸の特定の周波数の振幅信号に大きな振幅を持つ信号が発生することがある。その場合、大きな振幅を持つ信号により、振幅信号となる行列の他の成分がほぼ0になって画像の特徴を失い、大きな振幅の箇所のみを学習することがある。
この実施の形態7では、振幅対数化層10Aが、第1振幅信号21r(振幅行列)の振幅に対して対数を演算し、即ち、振幅を対数化した振幅信号21raを生成して出力する。これにより、フーリエ変換後に発生する、大きな振幅を持つ信号による悪影響を抑制して学習の信頼性を高めることができる。
入力信号をx、基数をaとすると、振幅を対数化する演算による出力信号yは、
y=log
となる。ここで、基数aは自然対数e、2、または10を使うのが一般的であるが、その他の実数でも良い。
通常の画像においては、入力信号の大きさが2〜3桁程度異なることもあるが、例えば基数10を使った場合には3桁異なっていても3倍の変化となり、小さな振幅を持つ信号には敏感になり、大きな振幅を持つ信号には鈍感になるように学習させることができる。
なお、対数化された信号に対して0より大きい実数である定数bを乗じ、入力信号が0となるのを回避するための誤差成分δを用いて、以下の演算式を用いて振幅信号21raを生成しても良い。
y=b・log(x+δ)
なお、誤差成分δは、振幅行列の要素として0を持たない場合には入力する必要がなく、振幅行列の要素として0を持つ場合は、0を除く最小値よりも一桁以上小さい値を入力するのが望ましい。
また、定数bは、出力値yが、情報処理装置の丸め込み誤差よりも小さくなること、あるいは過大になることを避ける目的で用いられるもので、10または20が用いられることが多いが、その他の実数でも良い。
逆フーリエ変換層15の前段に設けた逆振幅対数化層10Bでは、入力される振幅信号(第3振幅信号23r)の振幅(対数化された振幅)を真数に戻して振幅信号23raを生成して出力する。この演算は、入力信号をxとすると、出力信号をyとすると、以下の式(27)または式(28)が用いられる。
Figure 0006742554
Figure 0006742554
実施の形態8.
実施の形態8は、上記実施の形態1〜7によるNNに、軸対数化層および逆軸対数化層を備えたものである。図18は、この実施の形態8によるNNの構成を示す図であり、軸対数化層および逆軸対数化層を上記実施の形態6に適用した場合を示し、図16に対応するNNの部分詳細図である。
図18に示すように、フーリエ変換層12と結合層13との間に軸対数化層10Cを設け、さらに、逆フーリエ変換層15の前段に逆軸対数化層10Dを設ける。
軸対数化層10Cについて、以下に説明する。
この実施の形態においても、簡単のために、学習に用いる入力データは2次元データとする。2次元データの一方の軸をX軸、他方の軸をY軸と呼ぶ。
フーリエ変換層12でフーリエ変換された後の第1振幅信号21rおよび第1位相信号21θのX軸、Y軸は、入力データと同様に真数である。第1振幅信号21rおよび第1位相信号21θは、軸対数化層10Cに入力され、軸対数化層10Cは、第1振幅信号21rおよび第1位相信号21θのX軸、Y軸の各軸に対して対数を用い、即ち、軸対数化した振幅信号21rb、位相信号21θbを生成して出力する。
なお、基数は0以上の実数であれば良い。
これにより、振幅信号21rb、位相信号21θbは、X軸、Y軸の各軸において、低周波成分を強調した2次元データとすることができる。これはダイナミックレンジが広がったと考えることができ、低周波成分における小さな変化も見逃すことなく、学習させることができる。なお、従来のCNNでは、このような手法を用いる事はできない。
この実施の形態においては、情報量の多い低周波成分の情報を強調し、情報量の少ない高周波成分の情報を抑圧することができ、信頼性の高い学習を効率良く進めることができる。
逆フーリエ変換層15の前段に設けた逆軸対数化層10Dでは、入力される振幅信号(第3振幅信号23r)および位相信号(第2位相信号22θ)のX軸、Y軸を真数に戻して振幅信号23rbおよび位相信号22θbを生成して出力する。但し、X軸、Y軸を真数に戻す逆軸対数化に関しては、後段の逆フーリエ変換層15において逆フーリエ変換が可能であれば、必ずしも必要ではない。
振幅信号21rbおよび位相信号21θbは、軸対数化によって低周波側のサンプリング間隔が荒い画像となる場合がある。そのような場合には、補間を行う。補間は線形補間、多項式補間、スプライン補間など公知の方法を用いる。
さらに、スペクトログラムのようにX軸とY軸とで物理量が異なる場合においては、一方の軸のみを軸対数化してもよい。また、同じ物理量においても、X軸とY軸とで学習の観点が異なる場合においては、同様に、一方の軸のみ軸対数化しても構わない。
なお、この実施の形態8を上記実施の形態7に適用した場合、振幅をZ軸とすると、X軸、Y軸、Z軸の全ての軸に対して対数化することになり、即ち全対数化の処理となる。上記実施の形態7の振幅対数化層10A、逆振幅対数化層10Bを、この実施の形態8の軸対数化層10C、逆軸対数化層10Dと合成して、全対数化および逆全対数化を行う全対数化層および逆全対数化層を構成することもできる。全対数化層を通すことにより、振幅信号(第1振幅信号21r)の行列は行、列、各要素ともに対数となり、位相信号(第1位相信号21θ)の行列は行、列が対数となる。
実施の形態9.
図19は、この実施の形態9によるNNの構成を示す図である。
図19に示すように、NNは、入力層11Aから順に、振幅結合層13Aおよび位相結合層13Bから成り、複素畳み込み演算を行う結合層13、複素活性化関数fを用いた演算を行う複素活性化層14、複素プーリング層18、逆フーリエ変換層15、出力層16および出力17を備えて構成される。
そして、NNの前処理でフーリエ変換を行う演算部となるフーリエ変換層12AをNNとは別に備え、フーリエ変換層12Aは、入力される空間領域の入力信号20をフーリエ変換し、空間周波数領域の信号である第1振幅信号21rと第1位相信号21θとを出力する。
この実施の形態9では、NNの入力層11Aは、空間周波数領域の信号である第1振幅信号21rと第1位相信号21θを入力信号として上位層である結合層13に受け渡す。
このため、NNの中でフーリエ変換を行わなくても良く、学習時フーリエ変換層での繰り返し計算することが不要になり、またその逆伝搬の計算も不要となるため、計算時間を短縮することができる。
なお、この場合、複素プーリング層18を備えた例を示したが、上記各実施の形態1〜8で示したNNにおいても、この実施の形態を適用して、フーリエ変換層12AをNNとは別にして、フーリエ変換をNNの前処理で行うことができる。
実施の形態10.
図20は、この実施の形態10によるNNの構成を示す図である。
図20に示すように、NNは、入力層11から順に、畳み込み演算を行う畳み込み層2、活性化関数3、フーリエ変換層12、振幅結合層13Aおよび位相結合層13Bから成り、複素畳み込み演算を行う結合層13、複素活性化関数fを用いた演算を行う複素活性化層14、複素プーリング層18、逆フーリエ変換層15、出力層16および出力17を備えて構成される。この場合、上記実施の形態5によるNNの入力層11の後段に、畳み込み層2および活性化関数3を挿入した例である。
空間信号である入力信号20は、空間領域において、畳み込み層2においてカーネルを用いて畳み込み演算された後に活性化関数3を用いて演算される。活性化関数3による演算後の空間信号は、フーリエ変換層12で、第1振幅信号21rと第1位相信号21θとに分割される。その後の演算は、上記実施の形態5と同様である。
この実施の形態では、フーリエ変換層12の前段に、空間領域での隠れ層となる畳み込み層2および活性化関数3を備える。このため、空間領域と空間周波数領域とを組み合わせたNNとなる。
例えば、RGBを組み合わせて構成される入力信号20に対しては、CNNにおいては入力層で色彩ごとに入力データを分割する方法が用いられる。カラー画像の場合は通常、縦と横の情報の他に、RGBの色彩の次元であるチャンネル方向の3次元形状となる。この3次元形状には、空間的に近い画素間は類似する値が多い、等の空間情報が含まれている。また、RGBの各チャンネルの間にはそれぞれに密接な関係がある、あるいは距離の離れた画素同士はあまり関わりがない等、3次元形状は、画像の本質的な情報を含んでいる場合がある。
畳み込み層2は、これらの情報を抽出して保持することができる。
この実施の形態では、複素畳み込み演算、複素活性化関数fおよび複素プーリング等、空間周波数領域での特有な手法を用いることができ、空間領域では不可能な計算が可能になる。特に、空間領域では画像の局所的な変化量大局的な変化量を調べるのは困難であったが、この実施の形態では、これらの情報を保持したまま学習推論を進めることができる。フーリエ変換によって失われる特徴量の物理的な位置関係については、入力層11の近くに畳み込み層2および活性化関数3を設けることで、情報を残すことが可能になる。このため、学習と推論とを高い精度で行うことができる。
上記例では、畳み込み層2および活性化関数3を各1層のみ設けたが、通常、NNは多層化されて構成され、入力層11とフーリエ変換層12との間に、畳み込み層2を1〜5層程度有する層数の少ないCNNを挿入して全体のNNが構成される。そして、フーリエ変換層12と出力層16との間で、上記実施の形態1と同様に訓練を行う。
これにより、3次元以上の多次元の入力データに対しても高速化することができる。
なお、空間領域のCNNのみの第1比較例と比べて、計算の軽量化が図れるため一度の学習で処理できる画像を多くすることができる。そのため、同じ計算量と考えた場合、第1比較例を用いた場合に比べてより高い精度を期待できる。
上記実施の形態10では、フーリエ変換層12の前段に、空間領域での隠れ層となる畳み込み層2および活性化関数3を設けたものを示したが、逆フーリエ変換層15と出力層16との間に、畳み込み層2および活性化関数3を設けても良く、フーリエ変換層12の前段および逆フーリエ変換層15の後段の双方に設けても良い。
実施の形態11.
この実施の形態11では、上記各実施の形態1〜10にて示した情報処理装置によるNNを用いて制御動作を行う電子機器について説明する。
本願による情報処理装置は、空気調和機に搭載されるセンサ情報の処理、ファクトリーオートメーションにおける工場で使用されるサーボシステム等のセンサ情報の処理、あるいは、車内屋外に取り付けられたセンサ情報の処理等に用いられる。従来、これらの処理は、CNNを用いるために、ニューラルネットワーク処理専用のGPU、ASIC(application specific integrated circuit)、あるいはFPGAを用意する必要があった。一方、この実施の形態によれば、空気調和機、サーボシステム、車載センサ等の情報を、既存のCPUマイコン、メモリを含む汎用のハードウェアで処理することが可能となる。
図21は、この実施の形態11による電子機器としての空気調和機の構成例を示す図である。空気調和機は、本願による情報処理装置50と、対象物58を認識する赤外線センサ51と、送風部52とを備える。情報処理装置50は、データを入力する入力部53と、入力部53から入力されたデータを解析する解析部54と、解析した結果を記録する記憶部55と、解析した結果を対象物58と判定する判定部56と、各部を制御する制御部57とを備える。
情報処理装置50は、制御部57から、少なくとも送風部52の風向きと風量、温度を制御する。
この場合、解析部54、判定部56および制御部57が、全体として、図1で示すハードウェア100のCPU30の機能を有し、記憶部55がハードウェア100のROM31およびRAM32の機能を有する。
そして、情報処理装置50は、赤外線センサ51の出力信号を入力信号とし、入力信号から生体の位置および温度変化を学習する学習プロセスと、該学習プロセスで得た情報を元に入力信号に基づいて推論を行う推論プロセスとを備え、該推論プロセスに基づいて制御動作を行う。
以下に、NNを用いた情報処理装置50の動作について説明する。
情報処理装置50では、NNが赤外線センサ51からの入力信号から生体の位置および生体の温度変化を推論するプロセスを有する。生体の位置は生体の温度を情報処理装置50を用いて検知することで行う。また、生体の温度変化から各生体にあった温度を予測する処理を情報処理装置50によって行う。
空気調和機の使用にあたっては、事前にNNに学習させておき、そのNNの学習結果である重み行列Wを記憶部55に保存する方法、またはNNの重み行列Wの一部を空気調和機を取り付け後の環境に合わせて学習により習得させる方法を用いる。事前にNNを学習させる場合、情報処理装置50は、学習プロセスと推論プロセスとの内、推論プロセスのみ備え、推論時に記憶部55にある重み行列Wを呼び出し、赤外線センサ51からの入力信号に対して演算する。重み行列Wの一部を環境に合わせて学習する場合、上記実施の形態1〜10に記載のNNの訓練を行う。
特に空気調和機の場合には、正解ラベルは、例えば部屋の構造を把握するものとし、各生体と空気調和機との距離、あるいは各生体にとっての適切な温度風量を把握して制御する機構等を設ける。部屋の構造に関しては、例えば温度変化しないものを部屋、家具等と認識し、温度変化するものを扉、生体等と認識する。
また、各生体にとっての適切な温度風量に関して、例えばコントローラの位置を把握できる機構(例えば、コントローラの先に赤外線を吸収あるいは反射する部材)を設け、各生体が空気調和機のコントローラを操作した際の情報を正解ラベルとして用いる。その際、NNにより、例えば、異なる生体を動き、体温、輪郭等の特徴量を抽出して認識する処理を行う。
その他、NNにより、例えば、冷風あるいは温風を対象物58に当てたときの温度変化から生体か、調理器などの物体であるかを判断しても良い。さらに、NNにより、各生体に対しても風を当てる/当てないと言う判断を各生体を識別して行う、また、調理器に関しては風を当てないなどの判断を行っても良い。
学習したNNの重み行列Wは、記憶部55に保存し、空気調和機の次に起動時に、記憶部55から読み込み使用する。
さらに、NNに入力する前に画像データの最大値を1、最小値を0にする正規化を行う、画像データの平均を0、分散を1にする標準化等の前処理を行う、起動時のみに学習するバッチ学習を行う、あるいは、起動中にも状況に応じて随時学習を行うオンライン学習を用いても良い。
なお、図21では、空気調和機の送風部52は1つとしたが、複数個の送風部52を設けても良い。例えば、異なる温度、風量を出力可能な2つの送風部52を設け、NNの処理結果に応じて、各生体に応じた温度、風量を送る機構を備える。また、2つの送風部52により、適切に室内の空気を混ぜ合わせて温度調整することができる。
また、NNの学習により、各生体の識別も実施できるため、その情報を組み合わせて様々な機能を有する空気調和機を構成することができる。また、複数の生体が同時に居る場合にも、各送風部52が風向きを調整する羽を固定して、各生体にとって適切な温度、風量を持った風を連続して送り続けることができる。
一般に、空気調和機においては、室内にある物品、人、扉の開閉等を認識するため、赤外線センサ、さらに距離センサ等が用いられる。このシステムにおいては、赤外線センサ等のセンサ信号を入力信号として、室内にある物品、人、扉の開閉等を出力信号とするNNとなる。近年、赤外線センサ等の性能向上により、取得する情報量(画素数)は大きくなり、さらに、リアルタイムでの応答が求められる。このため、それに応じて情報を処理するためのハードウェアの大型、大電力化が不可欠となりつつある。
この実施の形態による空気調和機では、大型、大電力化を抑制して、処理を高速化できる。このため、消費電力を低減でき、放熱のための追加構造も不要となり、室内機の小型化と共に、室内機の高効率化を図ることができる。
さらに、大規模な計算を要する場合、従来では、WWWのような情報ネットワークを通じて、計算機サーバのような大規模な計算を得意とする計算機経由で計算を行い、その計算機の結果をWWWを通じて空気調和機に戻す作業が行われていた。この実施の形態による空気調和機では、WWWのような情報ネットワークを利用する必要が無く、それらの通信にかかる電力およびタイムラグを低減でき、より快適な空気調和機のシステムを、ユーザに提供することができる。
図22は、この実施の形態11の別例による電子機器として、サーボシステムを構成する電子機器の構成を示す図である。電子機器は、本願による情報処理装置50と、電磁波を検出するセンサ51aと、動作部52aとを備える。情報処理装置50は、データを入力する入力部53と、入力部53から入力されたデータを解析する解析部54と、解析した結果を記録する記憶部55と、解析した結果を判定する判定部56と、各部を制御する制御部57とを備える。
情報処理装置50は、制御部57から、動作部52aの動作停止、異常物排除の少なくとも一方を制御する。
この場合も、解析部54、判定部56および制御部57が、全体として、図1で示すハードウェア100のCPU30の機能を有し、記憶部55がハードウェア100のROM31およびRAM32の機能を有する。
そして、情報処理装置50は、センサ51aの出力信号を入力信号とし、入力信号から物体の位置変化量、電界、磁界、温度の内、少なくとも1つを学習する学習プロセスと、該学習プロセスで得た情報を元に入力信号に基づいて推論を行う推論プロセスとを備え、該推論プロセスに基づいて制御動作を行う。
なお、この場合も、事前にNNを学習させても良く、情報処理装置50は、学習プロセスと推論プロセスとの内、少なくとも推論プロセスを備え、推論時に記憶部55にある重み行列Wを呼び出して用いる。
一般に、サーボシステムに取り付けられる情報処理装置では、NNを用いた演算にて、サーボシステムを用いて生産を行っている物品の位置の監視、物品に記載された文字、色、バーコード、不良の有無等を分析する。NNには、カメラ等のCCD、CMOSイメージセンサ、近傍界アンテナ、あるいは遠方界アンテナで読み取った信号を入力する。
サーボシステムは高速で動作するため、瞬時の判断が求められ、従来から、CNNが用いられることがあったが、高速化のために探索範囲を小さくして画像を小型化していた。 この実施の形態による電子機器をサーボシステムに用いる事により、大きな画像で同等の処理速度を維持できるため、より少ないセンサで広範囲の情報を処理することができ、より層数の多いNNを用いて精度向上を図ることができる。
この実施の形態によるサーボシステムでは、WWWのような情報ネットワークを利用する必要が無く、それらの通信にかかる電力およびタイムラグを低減でき、より迅速に応答するサーボシステムを、ユーザに提供することができる。
サーボシステムは複数のサーボモータを連携した同時刻の制御が要求されるためリアルタイム性が重視される。また、動作異常時には迅速に状況を判断し、必要に応じて停止、再開する必要がある。この実施の形態によるサーボシステムでは、迅速な応答により、異常時の製造および動作を迅速に回避できる。このため、廃棄物となる無駄の削減ができ、また、装置が異常な体勢で動作することによる装置間の衝突等に起因する故障の低減ができる。
また、上述したサーボシステムを構成する電子機器として、例えば以下に示す自立型ロボットがある。自立型ロボットは、センサ51aとして、カメラ等のCCD、CMOSイメージセンサ、近傍界アンテナ、遠方界アンテナの少なくとも1つを備え、物品の位置の監視、および該物品に記載された文字、色、バーコードの少なくとも1つを識別して判断可能とする。
センサ51aは、自立型ロボットに直接、あるいは周囲に取り付けられる。情報処理装置50は、センサ51aから入力される入力信号からセンサ51a自体が持つノイズ、あるいはセンサ51aの使用環境に依存するノイズが印加された文字、色、バーコード、または不良の有無を学習する学習プロセスと、学習プロセスで得た情報を元に入力信号に基づいて推論を行う推論プロセスとを備え、推論プロセスに基づいて制御動作を行う。
この場合も、情報処理装置50は、学習プロセスと推論プロセスとの内、少なくとも推論プロセスを備えれば良く、その場合、推論時に記憶部55にある重み行列Wを呼び出して用いる。
他にも、本願による情報処理装置50を備える電子機器として、車両の自動運転に向けた車載機器である衝突防止装置がある。この場合の構成も図22で示す場合と同様であり、同様の効果、即ち、低電力で迅速な応答が得られる。
衝突防止装置は、本願による情報処理装置50と、センサ51aと、動作部52aとを備える。情報処理装置50は、データを入力する入力部53と、入力部53から入力されたデータを解析する解析部54と、解析した結果を記録する記憶部55と、解析した結果を判定する判定部56と、各部を制御する制御部57とを備える。
センサ51aは、制御動作の為の情報となる車外環境情報を検出するもので、カメラ等のCCD、CMOSイメージセンサ、レーダ、超音波ソナーの少なくとも1つが用いられる。レーダの場合は、ライダー(Light Detection and Ranging)のようにレーザ光を用いたレーダ、ミリ波を用いたレーダ等が用いられる。また、単体のセンサの他、異なるセンサの組み合わせ、あるいは同じセンサを複数用いても良く、運転時の安全性を高めることができる。
情報処理装置50は、センサ51aから入力される入力信号から車外の生体の位置、周囲の車の位置および進行方向、信号機情報、車線情報の少なくとも1つを学習する学習プロセスと、学習プロセスで得た情報を元に入力信号に基づいて推論を行う推論プロセスとを備え、推論プロセスに基づいて制御動作を行う。なお、この場合も少なくとも推論プロセスを備えれば良い。
この衝突防止装置は、ステアリング、アクセルおよびブレーキを制御可能であるが、情報処理装置50の制御部57からの出力としては、大きく分類して、異常時にドライバに警告を出すもの、またはドライバに警告なく車を制御する2種のものがある。異常時の具体例としては、車が車線の逸脱を検知した場合、走行時、先行車との車間距離が近づいた場合、車が進む向き(前後、左右)に人あるいは物体があり、衝突が予想される場合等があり、音、光あるいは振動によってドライバに警告を与えて異常を伝える。車両の高速走行等により、ドライバへの警告では間に合わないと判断される場合は、情報処理装置50の制御部57からの指令により動作部52aが直接、車を制御する。具体的には、情報処理装置50がステアリングを電気的に制御して車線の逸脱を回避すること、先行車あるいは前後左右の物体との距離を制御するようにアクセルあるいはブレーキを駆動させる等である。また、車両の周囲の状況を把握して、車両を安全な位置に停車させる等の制御を行う。
なお、上記衝突防止装置は、車外環境情報を検出するセンサ51aのみを備えたが、さらに、可視光あるいは赤外線によるカメラ等のセンサを車内に搭載し、ドライバの体調を判断して異常を検出しても良い。この場合も、車内センサの出力信号を入力信号として、情報処理装置50によって演算を行い、ドライバの体調、例えば睡眠状態、飲酒状態等を判断する。その判断によってドライバに音、光あるいは振動によって警告を与えること、あるいは車の周囲の状況を把握して、車を安全な位置に停車させる等の制御を行う。
また、本願による情報処理装置50を備える電子機器の別例として、ドライバを識別および認証が可能で、車両の盗難、無免許のドライバによる運転等を未然に防ぐ車載機器を、以下に示す。この場合の構成も図22で示す場合と同様である。
センサ51aは、車内に搭載されて制御動作の為の情報となる車内環境情報を検出するもので、カメラ等のCCD、CMOSイメージセンサの少なくとも1つが用いられる。
情報処理装置50は、センサ51aから入力される入力信号からドライバの顔、体格の少なくとも顔を学習する学習プロセスと、学習プロセスで得た情報を元に入力信号に基づいて推論を行う推論プロセスとを備え、推論プロセスに基づいて制御動作を行う。
この場合、情報処理装置50は、学習プロセスと推論プロセスとの双方を備え、特定のドライバを学習して、ドライバを識別および認証して、そのドライバのみが車両を操作可能にすることができる。ただし、人の顔および体型は年齢とともに変わっていくことを考慮すると、学習の対象となるデータが入るたびに、そのデータを追加して学習を行うオンライン学習を用いて定期的に情報を更新する。
この実施の形態による車載機器では、WWWのような情報ネットワークを利用する必要が無く、それらとの接続環境に拘わらず、省エネルギかつ簡易で安価な構成にてドライバの識別および認証を迅速に行う事ができる。
さらに、本願による情報処理装置50を備える電子機器として、監視カメラを適用することもできる。例えば、センサ51aとなるカメラからの可視光の映像を情報処理装置50に入力し、情報処理装置50は、例えば、各個人に割り振られたID(日本においてはマイナンバ、パスポートの旅券番号等)を出力する。その他、監視カメラにより各個人の行動をリアルタイムに監視することができる。
この実施の形態では、監視カメラの映像をWWWのような情報ネットワークを介してアップロードする必要が無く、情報処理装置50で分散処理することによって、情報量を削減できる。例えば、監視カメラ1台あたり、従来では1MB/sの情報量を扱っていたが、この実施の形態では、1kB/sの情報量を処理すれば良く格段と情報量を削減できる。これによって、個人行動の監視が容易で信頼性良く可能になる。
上述したドライバを識別および認証する車載機器、および個人行動を監視する監視カメラなどの電子機器では、CCD、あるいはCMOSイメージセンサで読み取った入力信号を用い、人の行動、状態等を出力信号とする。画像を入力情報とする際には、NNの多層化により高速化、高精度化が可能である。この場合、上述した空気調和機あるいはサーボシステム等の電子機器に比べると、電力および計算機の使用に制約が少ないが、この実施の形態による電子機器を用いる事で、さらに、高速化、高精度化が図れる。特に、実施の形態10を適用したNNを用いた電子機器により、空間領域と空間周波数領域との双方の演算により、効果的に精度向上が図れる。
なお、図21および図22では、センサ51、51aを備える電子機器を示したが、本願による情報処理装置50は、センサ51、51aを設けない電子機器にも適用できる。その場合、情報処理装置50内で演算により生成された信号を入力信号として用いる。この場合も、入力信号に基づいて学習を行う学習プロセスと、学習プロセスで得た情報を元に前記入力信号に基づいて推論を行う推論プロセスとの内、少なくとも前記推論プロセスを備え、該推論プロセスに基づいて前記制御動作を行う。
また、上述した以外にも、文字、色、光の強さ、寸法、形状、位置、角度、速度または加速度に伴う物体の位置変化量、電界、磁界、温度の内、少なくとも1つを推論する電子機器に、本願による情報処理装置は適用できる。
本願は、様々な例示的な実施の形態及び実施例が記載されているが、1つ、または複数の実施の形態に記載された様々な特徴、態様、及び機能は特定の実施の形態の適用に限られるのではなく、単独で、または様々な組み合わせで実施の形態に適用可能である。
従って、例示されていない無数の変形例が、本願に開示される技術の範囲内において想定される。例えば、少なくとも1つの構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも1つの構成要素を抽出し、他の実施の形態の構成要素と組み合わせる場合が含まれるものとする。
2 畳み込み層、10A 振幅対数化層、10B 逆振幅対数化層、10C 軸対数化層、11,11A 入力層、12,12A フーリエ変換層、13A 振幅結合層、13B 位相結合層、14 複素活性化層、15 逆フーリエ変換層、16 出力層、18 複素プーリング層、20 入力信号、21r 第1振幅信号、21θ 第1位相信号、22r 第2振幅信号、22θ 第2位相信号、50 情報処理装置、51 赤外線センサ、51a センサ、100 ハードウェア、f 複素活性化関数、Lr,Lθ 微小行列、W1 第1重み行列、W2 第2重み行列。

Claims (26)

  1. 入力信号をニューラルネットワークで処理する情報処理装置において、
    前記入力信号をフーリエ変換し、第1振幅信号と第1位相信号とを出力するフーリエ変換層と、
    訓練によって行列内の値を更新する第1重み行列を前記第1振幅信号にかけて第2振幅信号を出力する振幅結合層と、
    訓練によって行列内の値を更新する第2重み行列を前記第1位相信号にかけて第2位相信号を出力する位相結合層と、
    空間周波数領域の活性化関数である複素活性化関数fを用いて、前記第2振幅信号および前記第2位相信号の内、少なくとも前記第2振幅信号を、前記第2位相信号を構成する行列内の値に基づいて更新する複素活性化層と、
    前記複素活性化層で更新された前記第2振幅信号と前記第2位相信号とを組み合わせて逆フーリエ変換する逆フーリエ変換層と、
    を備えた情報処理装置。
  2. 前記フーリエ変換層と前記逆フーリエ変換層との間に、前記振幅結合層、前記位相結合層および前記複素活性化層をそれぞれ少なくとも1つ備え、前記フーリエ変換層と前記逆フーリエ変換層との間で、連続して空間周波数領域における信号処理を行うものである、
    請求項1に記載の情報処理装置。
  3. 前記複素活性化層は、前記第2位相信号を構成する前記行列内の各点iにおける前記値である位相θ(i)に対する前記複素活性化関数fの応答によって、前記第2振幅信号を構成する行列内の前記点iと同位置の点における振幅r(i)の値を更新して、更新された前記第2振幅信号を出力すると共に、前記第2位相信号を更新せずに出力する、
    請求項1または請求項2に記載の情報処理装置。
  4. 入力信号をニューラルネットワークで処理する情報処理装置において、
    前記入力信号をフーリエ変換し、第1振幅信号と第1位相信号とを出力するフーリエ変換層と、
    訓練によって行列内の値を更新する第1重み行列を前記第1振幅信号にかけて第2振幅信号を出力する振幅結合層と、
    訓練によって行列内の値を更新する第2重み行列を前記第1位相信号にかけて第2位相信号を出力する位相結合層と、
    空間周波数領域の活性化関数である複素活性化関数fを用いて、前記第2振幅信号および前記第2位相信号の内、少なくとも前記第2振幅信号である対象信号に対して、N、MをそれぞれN≧2、M≧1である整数とし、前記対象信号を構成する行列の軸方向成分である周波数成分が1/N、かつ各要素が1/Mである微小行列を生成して前記行列に加算することにより前記対象信号を更新する複素活性化層と、
    前記複素活性化層で更新された前記第2振幅信号と前記第2位相信号とを組み合わせて逆フーリエ変換する逆フーリエ変換層と、
    を備えた情報処理装置。
  5. 前記フーリエ変換層と前記逆フーリエ変換層との間に、前記振幅結合層、前記位相結合層および前記複素活性化層をそれぞれ少なくとも1つ備え、前記フーリエ変換層と前記逆フーリエ変換層との間で、連続して空間周波数領域における信号処理を行うものである、
    請求項4に記載の情報処理装置。
  6. 前記複素活性化層で用いる前記複素活性化関数fは、基準となる原点での値の絶対値が最大となる関数をカーネルとして、前記第2振幅信号および前記第2位相信号の内、少なくとも前記第2振幅信号である対象信号に対して畳み込み演算を行うものである、
    請求項1または請求項2に記載の情報処理装置。
  7. 前記複素活性化関数fは、前記第2位相信号における前記位相θ(i)に対し、実軸成分、虚軸成分のいずれか一方が正または0の場合と、負の場合とで異なる応答によって、前記第2振幅信号における前記振幅r(i)の値を更新する複素Relu関数である、
    請求項3に記載の情報処理装置。
  8. 前記複素活性化関数fは、
    前記実軸成分が正または0である、(−π/2)≦θ(i)<(π/2)、において、前記振幅r(i)の値を保持し、前記実軸成分が負である、−π≦θ(i)<(−π/2)、または、(π/2)≦θ(i)<π、において、前記振幅r(i)の値を、(r(i)・|sinθ(i)|)、あるいは、(r(i)・sinθ(i))の値に変更する、
    請求項に記載の情報処理装置。
  9. 前記複素活性化関数fは、
    前記虚軸成分が正または0である、0≦θ(i)<π、において、前記振幅r(i)の値を保持し、前記虚軸成分が負である、−π≦θ(i)<0、において、前記振幅r(i)の値を、(r(i)・|cosθ(i)|)、あるいは、(r(i)・cosθ(i))の値に変更する、
    請求項に記載の情報処理装置。
  10. 前記複素活性化関数fは、前記第2位相信号における前記位相θ(i)の大きさに依らず同じ演算式を用いた一定の応答により、前記第2振幅信号における前記振幅r(i)の値を更新する複素ロジスティック関数である、
    請求項3に記載の情報処理装置。
  11. 前記複素活性化関数fは、複数個の前記微小行列を用いて前記対象信号を更新するものである、
    請求項4または請求項5に記載の情報処理装置。
  12. 前記N、Mは、それぞれ2のべき乗であり、前記微小行列はシフト演算を行うことで演算する、
    請求項4、請求項5、請求項11のいずれか1項に記載の情報処理装置。
  13. 前記複素活性化関数fは、前記カーネルとなる関数にsinc関数を用い、前記対象信号に対して畳み込み演算後に絶対値を算出する、
    請求項に記載の情報処理装置。
  14. 前記第2振幅信号および前記第2位相信号の内、複素活性化関数fによって更新された信号に対して、ローパスフィルタまたはバンドパスフィルタとなる複素プーリング層を、前記複素活性化層の直後に備える、
    請求項1から請求項13のいずれか1項に記載の情報処理装置。
  15. 前記第1振幅信号の振幅を対数化する振幅対数化層を、前記フーリエ変換層の後段に設け、該対数化を解消する逆振幅対数化層を、前記逆フーリエ変換層の前段に設ける、
    請求項1から請求項14のいずれか1項に記載の情報処理装置。
  16. 前記第1振幅信号および前記第1位相信号の軸に対して対数化を行う軸対数化層を、前記フーリエ変換層の後段に設ける、
    請求項1から請求項15のいずれか1項に記載の情報処理装置。
  17. 前記入力信号を前記ニューラルネットワークに入力する入力層と、前記逆フーリエ変換層の後段に配され、入力される信号を所望の形に変換して前記ニューラルネットワークから出力する出力層とを備える、
    請求項1から請求項16のいずれか1項に記載の情報処理装置。
  18. 前記フーリエ変換層を、前記入力層の前段に、前記ニューラルネットワークの前処理のために配し、前記入力信号が前記フーリエ変換層にてフーリエ変換された後に前記入力層に入力される、
    請求項17に記載の情報処理装置。
  19. 前記入力層と該入力層の後段に配される前記フーリエ変換層との間、および前記逆フーリエ変換層と該逆フーリエ変換層の後段に配される前記出力層との間、の少なくとも一方に、少なくとも1層の畳み込み層を備える、
    請求項17に記載の情報処理装置。
  20. 請求項1から請求項19のいずれか1項に記載の情報処理装置を備えて制御動作を行う電子機器において、
    前記電子機器は前記制御動作の為の情報を検出するセンサを備え、
    前記情報処理装置は、前記センサの出力信号を前記入力信号とし、該入力信号に基づいて学習を行う学習プロセスと、該学習プロセスで得た情報を元に前記入力信号に基づいて推論を行う推論プロセスとの内、少なくとも前記推論プロセスを備え、該推論プロセスに基づいて前記制御動作を行う、
    情報処理装置を備えた電子機器。
  21. 前記電子機器は、前記センサとして赤外線センサを備えて、風向、風量および温度を制御可能な空気調和機であり、
    前記学習プロセスは、生体の位置および温度変化を学習するものである、
    請求項20に記載の情報処理装置を備えた電子機器。
  22. 前記電子機器は、前記センサとして、CCD、CMOSイメージセンサ、近傍界アンテナ、遠方界アンテナの少なくとも1つを備え、物品の位置の監視、および該物品に記載された文字、色、バーコードの少なくとも1つを識別可能な自立型ロボットであり、
    前記学習プロセスは、前記センサ自体が持つノイズ、あるいは前記センサの使用環境に依存するノイズが印加された文字、色、バーコード、または不良の有無を学習するものである、
    請求項20に記載の情報処理装置を備えた電子機器。
  23. 前記電子機器は、ステアリング、アクセルおよびブレーキを制御可能な車載機器であって、前記センサとして、CCD、CMOSイメージセンサ、レーダ、超音波ソナーの少なくとも1つを備えて、前記制御動作の為の情報となる車外環境情報を検出し、
    前記学習プロセスは、車外の生体の位置、周囲の車の位置および進行方向、信号機情報、車線情報の少なくとも1つを学習するものである、
    請求項20に記載の情報処理装置を備えた電子機器。
  24. 前記電子機器は、ドライバを識別および認証可能な車載機器であって、前記センサとして、CCD、CMOSイメージセンサの少なくとも1つを備えて、前記制御動作の為の情報となる車内環境情報を検出し、
    前記情報処理装置は、前記学習プロセスおよび前記推論プロセスを備え、
    前記学習プロセスは、前記ドライバの顔、体格の少なくとも顔を学習して、得られた情報を定期的に更新するものである、
    請求項20に記載の情報処理装置を備えた電子機器。
  25. 前記電子機器は、前記センサにより電磁波を検出して、動作停止、異常物排除の少なくとも一方を制御可能であり、
    前記学習プロセスは、物体の位置変化量、電界、磁界、温度の内、少なくとも1つを学習するものである、
    請求項20に記載の情報処理装置を備えた電子機器。
  26. 請求項1から請求項19のいずれか1項に記載の情報処理装置を備えて制御動作を行う電子機器において、
    前記情報処理装置は、演算により生成された信号を前記入力信号とし、該入力信号に基づいて学習を行う学習プロセスと、該学習プロセスで得た情報を元に前記入力信号に基づいて推論を行う推論プロセスとの内、少なくとも前記推論プロセスを備え、該推論プロセスに基づいて前記制御動作を行う、
    情報処理装置を備えた電子機器。
JP2020509541A 2019-09-13 2019-09-13 情報処理装置およびそれを備えた電子機器 Active JP6742554B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/036101 WO2021049005A1 (ja) 2019-09-13 2019-09-13 情報処理装置およびそれを備えた電子機器

Publications (2)

Publication Number Publication Date
JP6742554B1 true JP6742554B1 (ja) 2020-08-19
JPWO2021049005A1 JPWO2021049005A1 (ja) 2021-09-30

Family

ID=72048001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020509541A Active JP6742554B1 (ja) 2019-09-13 2019-09-13 情報処理装置およびそれを備えた電子機器

Country Status (5)

Country Link
US (1) US20220335276A1 (ja)
EP (1) EP4030346A4 (ja)
JP (1) JP6742554B1 (ja)
CN (1) CN114341878A (ja)
WO (1) WO2021049005A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022044367A1 (ja) * 2020-08-26 2022-03-03 株式会社Jvcケンウッド 機械学習装置及び遠赤外線撮像装置
JPWO2022070331A1 (ja) * 2020-09-30 2022-04-07

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210319289A1 (en) * 2020-04-13 2021-10-14 Alibaba Group Holding Limited Frequency domain neural network accelerator
CN113008559B (zh) * 2021-02-23 2022-02-22 西安交通大学 基于稀疏自编码器和Softmax的轴承故障诊断方法及***
JP2022142602A (ja) * 2021-03-16 2022-09-30 独立行政法人国立高等専門学校機構 電磁波レーダ装置および電磁波レーダ装置の学習方法
CN113203566B (zh) * 2021-04-06 2022-09-16 上海吞山智能科技有限公司 一种基于一维数据增强和cnn的电机轴承故障诊断方法
KR102476808B1 (ko) * 2021-05-27 2022-12-12 울산과학기술원 왜곡된 영상으로부터 대상을 복원하는 방법 및 장치
WO2024018592A1 (ja) * 2022-07-21 2024-01-25 日本電信電話株式会社 モデル学習装置、モデル学習方法、およびプログラム
CN116716079B (zh) * 2023-06-14 2024-01-19 山东沃赛新材料科技有限公司 高性能防霉型醇型美容收边胶及其制备方法
CN117825601B (zh) * 2024-03-05 2024-05-24 山东润达检测技术有限公司 一种食品中二氧化硫的测定方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106485192B (zh) 2015-09-02 2019-12-06 富士通株式会社 用于图像识别的神经网络的训练方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Synthesis and Characterization of the Arylomycin Lipoglycopeptide Antibiotics and the Crystallograph", JOURNAL OF THE AMERICAN CHEMICAL SOCIETY, vol. Vol. 133, P17869-17877, JPN6019003740, 2011, ISSN: 0004296190 *
@ML_DEEP, 複素ニューラルネットワークっていうのが有るらしい, JPN6020022848, 15 July 2017 (2017-07-15), ISSN: 0004296192 *
三宅 哲史ほか: "畳み込みニューラルネットワークの周波数領域学習による演算量削減", 第31回 回路とシステムワークショップ 論文集 [CD−ROM], JPN6020022847, 18 May 2018 (2018-05-18), pages 130 - 135, ISSN: 0004296191 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022044367A1 (ja) * 2020-08-26 2022-03-03 株式会社Jvcケンウッド 機械学習装置及び遠赤外線撮像装置
JPWO2022070331A1 (ja) * 2020-09-30 2022-04-07
WO2022070331A1 (ja) * 2020-09-30 2022-04-07 日本電気株式会社 情報処理装置、生体検知システム、生体検知方法及び記録媒体
EP4224410A4 (en) * 2020-09-30 2023-11-29 NEC Corporation INFORMATION PROCESSING DEVICE, LIVING BODY DETECTION SYSTEM, LIVING BODY DETECTION METHOD, AND RECORDING MEDIUM
JP7485062B2 (ja) 2020-09-30 2024-05-16 日本電気株式会社 情報処理装置、生体検知システム、生体検知方法及びプログラム

Also Published As

Publication number Publication date
US20220335276A1 (en) 2022-10-20
JPWO2021049005A1 (ja) 2021-09-30
EP4030346A4 (en) 2022-10-19
EP4030346A1 (en) 2022-07-20
CN114341878A (zh) 2022-04-12
WO2021049005A1 (ja) 2021-03-18

Similar Documents

Publication Publication Date Title
JP6742554B1 (ja) 情報処理装置およびそれを備えた電子機器
CN110378381B (zh) 物体检测方法、装置和计算机存储介质
Cui et al. Fish detection using deep learning
Dairi et al. Unsupervised obstacle detection in driving environments using deep-learning-based stereovision
CN111507378A (zh) 训练图像处理模型的方法和装置
CN111931764B (zh) 一种目标检测方法、目标检测框架及相关设备
CN112651511A (zh) 一种训练模型的方法、数据处理的方法以及装置
CN108694408B (zh) 一种基于深度稀疏滤波卷积神经网络的驾驶行为识别方法
US20210166085A1 (en) Object Classification Method, Object Classification Circuit, Motor Vehicle
CN112036381B (zh) 视觉跟踪方法、视频监控方法及终端设备
EP4273754A1 (en) Neural network training method and related device
CN110705600A (zh) 一种基于互相关熵的多深度学习模型融合方法、终端设备及可读存储介质
Ye et al. Steering angle prediction YOLOv5-based end-to-end adaptive neural network control for autonomous vehicles
CN111738403A (zh) 一种神经网络的优化方法及相关设备
WO2023072175A1 (zh) 点云数据的处理方法、神经网络的训练方法以及相关设备
CN111428566B (zh) 一种形变目标跟踪***及方法
US11062141B2 (en) Methods and apparatuses for future trajectory forecast
Hu et al. Driver identification through vehicular CAN bus data: An ensemble deep learning approach
CN116630937A (zh) 一种多模态融合的3d目标检测方法
CN116794602A (zh) 一种应用于干扰环境下的毫米波雷达动态手势识别方法
CN115273814A (zh) 伪语音检测方法、装置、计算机设备和存储介质
CN115687912A (zh) 预测对象的轨迹数据的方法和***及训练机器学习方法来预测对象的轨迹数据的方法和***
US20220101143A1 (en) Method and system for learning joint latent adversarial training
CN114445456A (zh) 基于部分模型的数据驱动智能机动目标跟踪方法及装置
CN115146757A (zh) 一种神经网络模型的训练方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200218

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200218

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200305

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200630

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200728

R151 Written notification of patent or utility model registration

Ref document number: 6742554

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250