(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-18
(45)【発行日】2024-12-26
(54)【発明の名称】機械学習方法および機械学習装置
(51)【国際特許分類】
G06N 3/08 20230101AFI20241219BHJP
G06N 3/06 20060101ALI20241219BHJP
G06G 7/60 20060101ALI20241219BHJP
【FI】
G06N3/08
G06N3/06
G06G7/60
(21)【出願番号】P 2022020744
(22)【出願日】2022-02-14
【審査請求日】2024-02-28
(73)【特許権者】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(73)【特許権者】
【識別番号】504137912
【氏名又は名称】国立大学法人 東京大学
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】中島 光雅
(72)【発明者】
【氏名】橋本 俊和
(72)【発明者】
【氏名】井上 克馬
(72)【発明者】
【氏名】中嶋 浩平
(72)【発明者】
【氏名】國吉 康夫
【審査官】今城 朋彬
(56)【参考文献】
【文献】特開2020-067984(JP,A)
【文献】特開2021-099552(JP,A)
【文献】米国特許出願公開第2021/0287079(US,A1)
【文献】韓国登録特許第2294745(KR,B1)
【文献】永松 直樹ほか,アナログVLSIニューラルネットワークのためのDirect Feedback Alignment学習の頑健性評価,2021年 第82回応用物理学会秋季学術講演会講演予稿集,日本,2021年08月26日
【文献】Matthew J. Filipovich et al.,Silicon Photonic Architecture for Training Deep Neural Networks with Direct Feedback Alignment,ARXIV.ORG [online],2021年11月12日,https://arxiv.org/abs/2111.06862v1
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/08
G06N 3/06
G06G 7/60
(57)【特許請求の範囲】
【請求項1】
物理系の演算素子を用いたニューラルネット演算による機械学習方法であって、
前記機械学習方法における訓練方法が、DFAによる演算を用いており、
前記DFAによる演算の更新則において、非線形関数f(x)の微分情報f'(x)が任意の非線形写像g(x)に置き換わっており、
前記任意の非線形写像g(x)と最終層の誤差信号の線形ランダム写像B
(l)e
(L)を用いることで線形結合の値を更新する、
機械学習方法。
【請求項2】
前記任意の非線形写像g(x)が、
前記微分情報f'(x)が偶関数であるか奇関数であるかのみを推定し、
前記推定された関数と同じ関数をランダムフーリエ信号から生成すること
によって決定される、請求項1に記載の機械学習方法。
【請求項3】
前記任意の非線形写像g(x)が、
g(x)=sin(x+Φ)とし、
Φを0から2πまでスキャンすることで、前記非線形写像g(x)と前記微分情報f'(x)との距離である相関係数ηを掃引すること
によって決定される、請求項1に記載の機械学習方法。
【請求項4】
前記任意の非線形写像g(x)が、
前記任意の非線形写像g(x)の初期値をランダムフーリエ信号から生成し、エラーを低下させるようにg(x)を更新していくこと
によって決定される、請求項1に記載の機械学習方法。
【請求項5】
前記任意の非線形写像g(x)が、sin波、三角波、方形波、tanh、シグモイド関数、一定値の中から選定されることによって決定される、請求項1に記載の機械学習方法。
【請求項6】
前記ニューラルネット演算において、少なくとも1つの学習しない層をさらに備えた、請求項1乃至5のいずれか1項に記載の機械学習方法。
【請求項7】
請求項1乃至6のいずれか1項に記載の機械学習方法を実装するための機械学習装置であって、
物理ネットワークと、
コンピュータと、
ディジタル信号とアナログ信号とを相互に変換するDAC/ADCと、
前記アナログ信号を物理信号に変換する変換素子と、
を備えた、機械学習装置。
【請求項8】
非線形変換f(x)を行う素子と線形結合ωを行う素子を備え、L層(Lは自然数)ニューラルネット処理に基づいた機械学習を行う機械学習装置であって、
前記機械学習のアルゴリズムにおいて、最終層からの出力と所望の信号をあるコスト関数で処理した誤差信号eを生成し、
前記誤差信号eに対して乱数による線形写像Bと任意関数g(x)による非線形写像を施すことで、疑似的な逆伝搬信号e'[e'=g(Be)]を生成し、
前記疑似的な逆伝搬信号e'[e'=g(Be)]に基づいて、各層の線形結合ω
lの値を更新することを特徴とする機械学習装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は機械学習方法および機械学習装置に関し、より詳細には、物理系を演算素子として用いた機械学習方法および機械学習装置に関する。
【背景技術】
【0002】
近年、深層ニューラルネットワーク(以下、DNNという)を用いた、機械学習による情報処理技術に注目が集まっている。DNNは非線形応答をする多数のニューロンがシナプスによって結合された大規模な非線形ネットワークであり、特にニューロンが多層状に配置したネットワークを用いたディープラーニング技術が広く応用されている。このようなディープラーニング技術を用いることにより、画像や音声の認識やロボット制御、人工的なデータ生成など、多岐に渡る領域で優れた性能を発揮することが報告されている。しかしながら、層数やニューロン数(ノード数)の増加に伴い、必要とされる非線形行列演算の規模が爆発的に増加するため、推論や学習に要する時間や電力の増大が大きな課題となっている。
【0003】
このような課題を解決する手法として、光回路、スピン素子、アナログ電子回路、ソフトロボット等のような物理系を演算素子として利用する情報処理技術に注目が集まっている。例えば、多アレーの光干渉系の干渉状態をシナプス結合(ノード間の重み)と、各ポートからの出力光強度を各ノードの応答とみなすことで、光回路上でDNNに必要な行列演算を実行することが可能であることが報告されている(例えば、非特許文献1参照)。このような物理系を演算素子として利用する情報処理技術は、演算が高速かつ空間的に並列な波動伝搬でなされるため、電力や演算速度に優れるといった特徴を有する。加えて、毎秒1テラ回を超える演算性能を実現可能であることが実験的に示されている(例えば、非特許文献2および3参照)。この場合、学習は光回路上の干渉状態を動的に変更することで実行される。
【0004】
上述の情報処理技術は、物理構造のパラメータを調整していくことで学習をする例であるが、Reservoir computing(以下、RCという)のようなランダムなニューラルネットワーク関する機械学習技術を利用することで、動的に更新できない物理構造も演算素子として利用することも可能である(例えば、非特許文献4参照)。RCは、リカレントニューラルネットワークの一種であるが、入力層と中間層のネットワークを固定とし、出力層の重み係数のみを学習するため、種々の物理構造の応答をRCにおける中間層の応答とみなして情報処理をすることができる。例えば、ソフトロボットを演算素子とした場合、ネットワークの結合はボディの形状や構成材料によって決定されるため変更することが出来ないが、このネットワークをRCにおけるランダムな中間層と考えることで、RCの演算の一部を物理系で実行することが可能となる(例えば、非特許文献5参照)。これにより、情報処理に必要な演算の一部をアウトソースすることが可能となり、演算装置への処理負荷を軽減することができる。
【0005】
具体的な応用例として、例えば、演算素子をスピン素子とした場合、CPUのような処理部だけではなく、メモリに演算処理を担わせることが可能となる(例えば、非特許文献6参照)。また、演算素子を光素子とした場合、光通信路に演算の一部を担わせることで、通信に必要な信号処理負荷を軽減することが可能となる(例えば、非特許文献7参照)。さらに、演算素子をソフトボディとした場合、ロボット制御に必要な演算の一部をボディ自体が担うことができる(例えば、非特許文献8参照)。このような物理ダイナミクスを用いたニューラルネット演算を、本明細書では、Physical neural network(以下、PNNという)と総称する。
【先行技術文献】
【非特許文献】
【0006】
【文献】Y. Shen et al., “Deep learning with coherent nanophotonic circuits”, Nat. Photonics 11, 441-446 (2017)
【文献】X. Xu. et al., “11 TOPS photonic convolutional accelerator for optical neural networks”, Nature 2020 589:7840 589, 44-51 (2021)
【文献】M. Nakajima et al., “Scalable reservoir computing on coherent linear photonic processor”, Commun. Phys. 4, 20 (2021)
【文献】Tanaka, G. “Recent advances in physical reservoir computing: a review”, Neural Netw. 115, 100-123 (2019)
【文献】K Nakajima, H Hauser, T Li, R Pfeifer “Information processing via physical soft body”, Sci. rep. 5, 10487 (2015)
【文献】D Ielmini, and H.-S P. Wong “In-memory computing with resistive switching devices”, Nat. Electron. 1, 333-343 (2018)
【文献】Zhong, Z. et al., “IOI: In-network Optical Inference”, (2021) doi:10.1145/3473938.3474508.
【文献】Y. Horii et al., “Physical reservoir computing in a soft swimming robot”, (2021) doi:10.1162/ISAL A 00426.
【文献】J. Torrjon et al., “Neuromorphic computing with nanoscale spintronic oscillators”, Nature 547, 428 (2017)
【文献】James M. Muray. “Local online learning in recurrent networks with random feedback”, eLife (2019) 8:e43299 doi: 10.7554/eLife.43299.
【発明の概要】
【発明が解決しようとする課題】
【0007】
上述のように、ニューラルネットワークに基づく情報処理を物理系で実施することにより、演算の高速化や低電力化が可能となる。しかしながら、このような系を学習する場合、一般的な機械学習で用いられる誤差逆伝搬法(Back Propagation法:以下、BP法という)のようなアルゴリズムを利用することが難しい。これは、BP法が物理システムのノード間の結合ωと、非線形応答fの微分値であるf'を要求することに起因する。すなわち、ωとf'を精密に測定することにより、理論上はBPを実行することはできるが、測定誤差に伴って学習が収束しなくなるという課題がある。
【0008】
このような課題に対し、物理系を精密にモデル化し、コンピュータ上でそれを再現して学習を行う手法があり得るが、この手法では、モデルの誤差によって精度が劣化するといった課題がある。また、物理システム自体は学習せず、最終層の出力のみ学習を行うRCを用いる手法があり得るが、この場合、複数のReservoir層を多層に結合するモデルや入力層の学習を行うモデルなどには適応できない。そのため、達成可能なモデルの表現能力が限定されているといった課題がある。
【0009】
このようなBP法の課題は、脳科学の分野でも指摘されている。最も成功している非ノイマン型な物理コンピュータである脳における学習も、ニューロンの機能や空間的な配置の観点から逆伝搬を行うのが困難であることが指摘されている。
【0010】
このような背景の下、近年では、BP法を用いない学習法も複数提案されている。中でも、Direct Feedback Alignment(以下、DFAという)は、生物学的に比較的妥当な要件を備えつつ、現在の実際的な応用にも多く利用されるTransformerなどのモデルにも適用可能であることから、注目を集めている。このDFAでは、BP法で求められる行列ωの転置演算や各層の誤差信号を求める必要がないため、BP法よりも有効であると考えられる。しかしながら、非線形関数の微分に関しては従来通り演算の必要性があり、上述の課題解決には、以前として不十分である。
【0011】
図1は、従来技術であるBP法の概念を示す図であり、
図1(a)はPNNの基本概念を示すフロー図、
図1(b)はBP法を用いた訓練方法の概念を示すフロー図である。ここでは例として、(式1)で表させる標準的な全結合型多層ネットワークの順方向伝搬を考えるが、これに限定はされず、PNNに対するリカレント結合などを含んだネットワーク構成であってもよい。
【0012】
ここで、W(l)とx(l)はl層目の重みと入力信号を、fは非線形活性化関数を、それぞれ示している。PNNフレームワークでは、上記の順伝搬の信号処理は物理システムで実行される。つまり、x(l),W(l),およびfは、物理入力(光強度、電圧、振動など)、物理システムの物理相互接続(光、電気、または機械的結合など)、および物理非線形性(例:非線形光学/磁気/機械的効果)にそれぞれ対応する。このような物理ネットワークにおいても、通常の機械学習同様に、与えられたコスト関数を減らすようにWを更新することで所望の出力を得るように訓練を行うことが可能である。
【0013】
上述の通り、一般的な訓練方法としてBP法が用いられる。BP法の重み更新則は、
図1(b)に示される通り、微分の連鎖則を通じて(式2)のように記述される。
【0014】
ここで、e(l)はコスト関数Eのx(l)に対する微分値として定義される、l番目の層でのエラー信号である。また、Tは転置を示し、●はアダマール積を示す。上述のように、BP法では、物理系内部の重みと転置、非線形活性化関数の正確な微分情報を必要とする。また、このような演算を、層をさかのぼりながら逐次的に演算していく必要がある。これを物理系で実装することは困難であり、これまでに理論的な提案及び小規模な実装は報告されているが、スケーラブルな実装、エラー耐性の観点から大規模化には至っていない。現在における多くの検討では、物理シミュレーションモデルを構築し、一般的なディジタルコンピュータ上で実施している。しかしながら、このアプローチは訓練に大きな演算コストおよび物理系の正確な情報を必要とするといった課題がある。
【課題を解決するための手段】
【0015】
本発明は、上記のような課題に対して鑑みてなされたものであり、その目的とするところは、訓練に大きな演算コストおよび物理系の正確な情報を必要としない、物理系を含むニューラルネットワークでの機械学習方法および機械学習装置を提供することである。
【0016】
上記のような課題に対し、本発明では、物理系の演算素子を用いたニューラルネット演算による機械学習方法であって、機械学習方法における訓練方法が、DFAによる演算を用いており、DFA演算による演算の更新則において、非線形関数f(x)の微分情報f'(x)が任意の非線形写像g(x)に置き換わっており、任意の非線形写像g(x)と最終層の誤差信号の線形ランダム写像B(l)e(L)を用いることで線形結合の値を更新する機械学習方法を提供する。
【発明の効果】
【0017】
本発明による機械学習方法および機械学習装置は、訓練に大きな演算コストおよび物理系の正確な情報を必要としないため、従来技術より演算コストを低減できるという効果を奏する。
【図面の簡単な説明】
【0018】
【
図1】従来技術であるBP法の概念を示す図であり、
図1(a)はPNNの基本概念を示すフロー図、
図1(b)はBP法を用いた訓練方法の概念を示すフロー図である。
【
図2】本発明の第1の実施形態による、PNNの訓練方法の概念を示すフロー図である。
【
図3】本発明の第1の実施形態において、(式7)で定義されたηを横軸、20エポックの学習後のエラーを縦軸としてプロットしたグラフを示す図である。
【
図4】3層の全結合型ネットワークを考え、MNISTタスクを用いて性能比較を行った結果を示す図である。
【
図5】本発明の第2の実施形態において、更新式を(式13)とした場合における、単層および2層のRCを考え、MNISTタスクを用いて性能比較を行った結果を示す図である。
【
図6】本発明による演算方法を実装するための機械学習装置の構成例示するブロック図である。
【
図7】本発明における物理ネットワーク上のRC演算の方法を例示するフロー図である。
【
図8】本発明による演算方法を実装するためのハードウェアを用いて、MNISTタスク精度の層数依存性を評価した結果を示す図である。
【
図9】本発明による演算方法を実装するためのハードウェアを用いて、学習の演算速度のノード数(N)依存性を評価した結果を示す図である。
【発明を実施するための形態】
【0019】
以下に、図面を参照しながら本発明の種々の実施形態について詳細に説明する。同一または類似の参照符号は、同一または類似の要素を示し重複する説明を省略する場合がある。以下の説明は、一例であって本発明の実施形態の要旨を逸脱しない限り、一部の構成を省略若しくは変形し、または追加の構成とともに実施することができる。
【0020】
(第1の実施形態)
図2は、本発明の第1の実施形態による、PNNの訓練方法の概念を示すフロー図である。本発明の第1の実施形態では、PNNの訓練方法としてDFAを導入している。DFAでは、各層に逐次的に導入される誤差信号e
(l)が最終層の誤差信号e
(l)に置き換えられる。また、各層の重み行列の転置W
(l+1),Tは乱数行列B
(l)に置き換えられる。これによって更新則は、(式3)のように記述できる
【0021】
これにより、誤差の逐次伝搬は不要となり最終層の誤差の線形ランダム写像B
(l)e
(L)とf'(x)のアダマール積によって勾配を演算することが可能となる。しかしながら、(式3)は、依然として物理系の非線形関数fの微分情報を必要とする。そこで、任意の非線形関数を用いて、(式4)のようにDFAのアルゴリズムを拡張する。本明細書では、このアルゴリズムをaugmented DFA(以下、a-DFAという)と呼ぶ。
【0022】
f'(x)がg(x)に置き換えられたため、各層の入力であるx(l)を保存しておけば、その任意の非線形写像g(x(l))と最終層の誤差信号の線形ランダム写像B(l)e(L)を用いて学習を実行可能である。これにより、物理系の事前知識を必要とせず学習を実行することが可能となる。加えて、(式4)は逐次処理を必要としないため、同時並列的に学習を演算することも可能となる。さらには、(式4)の一部または全ての操作を、物理素子を用いて実行することが可能である。これによって、順伝搬同様に、情報処理に必要な演算の一部をアウトソースすることが可能であり、演算装置への処理負荷を軽減することができる。
【0023】
a-DFAの数値実験例として、MNISTデータセットを使用してパフォーマンスを比較した。この実験では、モデルは全結合層(ノード数:800)で構成された4層のネットワークを含む。非線形活性化関数として、双曲線正接(tanh)および正弦(sin)関数の2種類を考える。これらの非線形性は、後述する光回路による物理実装に一般的に使用される非線形性であり、それぞれ可飽和吸収(または利得飽和)および光干渉計を使用した光電気非線形性の単純なモデルに対応する。(式4)の演算に必要な任意の関数g(x)として、いくつかのよく使用される関数(sin、cos、tanh、三角波関数)と(式5)のランダムフーリエ級数展開を考える。
【0024】
ここで、a
k, b
k,及びc
1は、R∈[-1:1]からサンプリングされたランダムな係数である。本数値実験では、a
k, b
k,及びc
1は、(式6)によって正規化した。また、N=4とし、40個のランダムフーリエ級数を生成した。
【0025】
尚、比較のため、本実験では学習アルゴリズムに従来技術であるBP法を用いた演算も実施した。
【0026】
本実験の結果、全てのケースにおいて、a-DFAは学習が収束し、g(x)の選択に関してロバストであったが、BP法は発散するケースが散見され、g(x)の選択に大きく依存していた。すなわち、本発明の第1の実施形態によれば、物理系の事前知識を必要とせず、任意非線形写像のg(x)と最終層の最終層の誤差の線形ランダム写像B(l)e(L)から学習を実施することが可能であることが認められた。
【0027】
しかしながら、本実験においてa-DFAを用いた場合、g(x)の選択に対してロバストではあるものの、達成可能な精度にばらつきも見られた。そこで、望ましいg(x)を得るための方策について議論するために、本来の微分信号f'(x)と生成されたg(x)との距離である相関係数ηを(式7)で定義する。
【0028】
図3は、本実験の各結果において、(式7)で定義されたηを横軸、20エポックの学習後のエラーを縦軸としてプロットしたグラフを示す図である。なお、比較のため、
図3中にはBP法を用いた結果も示されている。η=1の場合は、f'(x)=g(x)となるため、BP法およびa-DFAを適用した場合のいずれにおいても最小のエラーとなる。しかし、η=1から離れた場合、
図3に示される通り、a-DFAでは、比較的エラーが小さいが、BP法では急激にエラーが増大し、精度が劣化していることが認められる。
【0029】
a-DFAのエラーの平均値(
図3中における、単一の箱型プロット内の太い青線)については、η=0で最大値をとり、η=-1にかけて再び低下する。η=0ではg(x)がf'(x)と無相関な関数であることを示しており、この付近を避けるべきであるということが分かる。η=0付近を避ける方法としては、例えば、事前にf(x)の形状について大まかな知見を有するのであれば、f'(x)が偶関数であるか奇関数であるかのみを推定し、それと同じ関数を例えば上述のランダムフーリエ信号から生成する方法が考えられる。これによって、η=0付近を避けることが可能となる。f(x)について、事前知識がほとんどない場合であれば、例えば、g(x)=sin(x+Φ)とし、Φを0から2πまでスキャンすることでηを掃引することが挙げられる。これによって、η=0付近を避けたg(x)を得ることが可能である。また、この方法は物理系への実装も比較的容易であるため、後述する学習アルゴリズムの物理実装についても効果的である。
【0030】
なお、f(x)を知らない状態から、エラーを最小化するようにg(x)の形状を最適化することも可能である。これには、任意の最適化手法が利用でき、例えば遺伝的アルゴリズムが適用することが可能である。g(x)の初期値を前述のランダムフーリエ信号から生成し、エラーを低下させるようにg(x)を更新していくことで実現される。この他、関数系の形状をη=0付近を避けるように既知の関数から選択する方法が挙げられる。例えば、シグモイド関数や方形波関数から選択してもよい。また、g(x)=const.のように一定値を採用してもよい。この方法は最良のη(絶対値が1付近)を選択する可能性は低いが、単純な関数で記述可能であるため、学習コストの低減や物理実装の容易することができる。
【0031】
(第2の実施形態)
以下に、第1の実施形態で述べた方法をRCなどのパッシブな(内部結合の更新をしない)物理ネットワークに適応する方法について述べる。従来方法であるBP法では、学習しないネットワークについても(式2)に基づき誤差信号を演算し、前方の層へと伝搬させる必要があった。上述の通り、この方法は物理系の正確なモデルやそれに基づくシミュレーション演算などが必要となるといった課題がある。一方、本発明の第1の実施形態による方法では、前層からの誤差信号は利用せず、最終層の誤差信号しか勾配演算に必要としない。したがって、学習しない層l'については、単純に(式4)で記述される勾配演算を行なわず、スキップすればよい。これによって、多層に接続されたパッシブPNN間の学習を容易に行うことが可能となる。
【0032】
図4は、3層の全結合型ネットワークを考え、MNISTタスクを用いて性能比較を行った結果を示す図である。ここでは、非線形関数はtanhとし、ノード数は800とした。そして、このネットワークの2層目を固定し、学習をBP法およびa-DFA(勾配演算をスキップ)として行った。また、本実験では、g(x)は(式8)のように定義し、η=0とした。なお、
図4中では、ベースラインとして一層目も学習しない場合の結果も示されている。
【0033】
図4に示される通り、BP法、a-DFAいずれの場合もベースラインを超える精度を達成しており、固定した層をまたいで一層目の重みの学習を実現できていることが分かる。a-DFAで学習した場合は、BP法にはわずかに劣るものの、十分な精度が実現できている。
【0034】
このような本発明の第2の実施形態による学習方法では、リカレント結合を含まないパッシブ物理ネットワークの学習について導入したが、更新式を以下の様に変更することでリカレント結合を含むネットワークの学習にも適応することができる。
【0035】
一般的な物理RCではリカレント結合を含むため、本発明の第2の実施形態による学習方法は、このような構成においても適応することが可能である。多層RCの順伝搬式は(式9)のように記述される。
【0036】
ここで、x
(l)はl層目のRC層の内部状態を、Ω
(l)とM
(l)はRC層の内部結合および (l-1)層目とl層目の結合を、nは時間ステップを示している。この伝搬をL層まで繰り返したのちに最終出力を(式10)で得る。
【0037】
ここでωは出力結合である。RC層はパッシブであるため学習しないので、δMとδωが学習パラメータとなる。このようなネットワークのDFAに基づく更新ルールを考える(例えば、非特許文献10参照)と、δMとδωは(式11)から(式13)のように記述される。
【0038】
この更新式と、上述した(式4)との違いは、g(x)の代わりに(式12)で示されるx'を利用している点である。
【0039】
図5は、本発明の第2の実施形態において、更新式を(式13)とした場合における、単層および2層のRCを考え、MNISTタスクを用いて性能比較を行った結果を示す図である。ここでは、非線形関数はtanhとし、ノード数は100とした。また、学習はa-DFAにより行った。本実験では、g(x)=tanh'(x)[tanh'(x)=1/cosh
2(x)]としており、η=0とした。なお、
図4と同様に、ベースラインとして一層目の入力層もRC学習しない場合(従来方法のRC)の結果も併せて示されている。
図5に示される通り、単層で入力層を学習する場合、2層の場合のいずれもベースラインを超える精度を達成しており、固定したRC層をまたいで一層目の重みの学習を実現できていることが分かる。また、層を増やすと精度も向上していることが分かる。以上から、上述したように固定した層を介してもa-DFAで学習が可能であることが認められた。
【0040】
以下に、上述した本発明の第1および第2の実施形態による学習方法を実装するためのハードウェア実装について述べる。ここでは、例として、これまでに多くの研究がなされている遅延リング型リザーバコンピュータの形態を挙げている。この系は単一の非線形素子と遅延リングから構成される系であり、構成が簡便であることから、スピンデバイス、光デバイス、電子デバイス等多くの素子で動作が実証されている。本明細書では、光デバイスを用いた実装について数値演算および原理実証結果を用いて説明するが、同様のコンセプトが他の系に容易に展開可能であるため、これに限定はされない。例えば、光集積回路やスピン素子、ソフトマテリアルで構成される系でも適用することが可能である。
【0041】
図6は、本発明による演算方法を実装するための機械学習装置10の構成例示するブロック図である。本発明による学習方法を実装するための機械学習装置10は、物理ネットワーク11と、コンピュータ12と、ディジタル信号とアナログ信号とを相互に変換するDigital-to-Analog Converter/Analog-to-Digital converter(以下、DAC/ADCという)13と、アナログ信号を物理信号に変換する変換素子14と、を含む。さらに、コンピュータ12は、データを格納するメモリ121と、演算や信号の送受信等の処理を実行する処理部122と、を含む。物理ネットワーク11は物理系の素子であり、ここでは、上述の通り、遅延リングである。この物理ネットワークに対し、コンピュータ12は信号を入出力し、制御を行う機能を有する。但し、コンピュータ12上で処理される信号はディジタル信号、一方、物理ネットワーク11で取り扱われる信号はアナログ信号であるため、DAC/ADC13によって、相互に入出力される信号が変換されるように構成されている。さらに、物理ネットワーク11に入力される信号は所望の物理信号(本例では、光信号)に変換される必要があるため、DAC/ADC13のアナログ信号の出力と物理ネットワーク11の入力の間には、変換素子14が接続されている。
【0042】
図7は、本発明における物理ネットワーク11上でのRC演算の方法20を例示するフロー図である。上述の通り、例として、ここでは物理ネットワーク11は遅延リング系として示されている。物理ネットワーク11におけるRC演算の方法20は、コンピュータ12のメモリ121上に格納されているディジタル入力信号x
(1)(n)を取得することと(
図7における工程21に対応)、(式9)の第二項にあたるM
(1)x
(1)(n)の演算をディジタル領域で実行すること(ディジタルマスク処理:
図7における工程22に対応)と、を含む。ディジタル入力信号x
(1)(n)を取得することは、例えば、画像処理タスクの場合、元画像のピクセル値などが格納された行列データを取得することに対応する。画像データなどの時系列データでない場合であっても、ピクセルの空間的な画素データを時系列データとみなすことでRCの枠組みで処理することが可能である。また、M
(1)x
(1)(n)の演算をディジタル領域で行うことは、処理部122上で実行されてもよく、上述のFPGA上で実行されてもよい。工程22に例示されるディジタルマスク処理を施された信号は、遅延リング系である物理ネットワーク11に導入される。この際、遅延リングでは物理信号が光領域で処理されるため、事前にアナログ/ディジタル変換および光電変換が、DAC/ADC13および変換素子14において、それぞれ実行される。光電変換には、本例ではマッハツェンダー光変調器(Mach-Zehnder Modulator:以下、MZMという)を考慮する。導入された物理信号(光信号)は遅延線を介した1時間ステップ前の遅れフィードバック成分と和算される。ここでは、MZM上での非線形変換fはcos[x+Φ
bias]である。ただし、Φ
biasはMZMへ導入するバイアス項である。これにより、遅延リング内では(式14)の演算が光伝搬中に自動的になされる。
【0043】
ここで、αは戻り光のフィードバック強度を示している。本構成では、一般的に(式9)の第一項にあたるΩx(n-1)の項を遅延リング系で構成される物理ネットワーク11で演算し、第二項にあたるMx(n)の項及び最終出力であるy(n)=ΣΩx(n)をディジタルハードウェアで演算する。リカレントネットワークでは、第一項の演算に時間ステップ毎のO(N2)のリソースを要求するため演算コストを律速するが、この処理を遅延リング系の応答で自動的に演算できるため、全体の処理コストの低下が見込まれる。最終出力は、(式14)で演算される各層の応答を基に(式10)を用いて演算される。この演算は、ディジタルマスク処理(例えば、工程22)と同様にディジタル演算機上でなされる。
【0044】
学習については、以下の2通りの実施方法がある。第一の方法は、(式11)-(式13)を全てディジタル回路上で演算する手法である。この手法は、ソフトウェア上の実装のみで実現されるため、実装が簡便であるという特徴を有する。また、従来方法であるBP法と比較して、演算量を低減することができるという特徴も有する。一方で、この方法は、順伝搬と同様に(式12)の第一項の演算に時間ステップ毎のO(N2)のリソースを要求する。したがって、学習時のディジタル演算が全体の演算量を律速し、相対的にアナログ演算の利点が損なわれるといったデメリットがある。
【0045】
第二の手法は、上記の制限を解決すべく、(式12)の演算も物理系で実施するという方式である。これは、例えば、非線形関数がfと異なる遅延リング系を別途構成することで、演算することが可能である。しかしながら、別途リング系を構成する場合には、付加的なハードウェアの構築が必要となるため、可能である場合は、同一のリング内で順伝搬と(式12)の学習演算を両立できることが好ましい。これは、例えば(式14)におけるΦbiasを順伝搬時からπ/2ずらすことによって実現される。この場合、物理系の発展方程式は(式15)のように変更される。
【0046】
すなわち、同一の系にて、f=cos, g=sinの場合を演算することが可能である。具体的には、まずバイアス項をΦbiasに設定した状態で(式14)を演算し、その出力をメモリ121上に格納する。その後に、Φbiasをπ/2ずらした状態で(式15)を演算する。これによって、同一の遅延リング系を時間的に変更することでシェアすることが可能である。
【0047】
上述したハードウェアの形態に記述した系を、実際に物理実装し、その効果を検証した。実装したデバイスでは、ワークステーションのハードディスク上のデータセットがイーサケーブルを介してFPGA(Zynq社製Ultra-scale)に転送される。(式14)におけるマスク処理はFPGA上で実行され、処理された信号はFPGA上のDAC(3GHz、2GSa/S、8ビット解像度)にてアナログ電気信号へ変換される。このアナログ電気信号は、LiNbO3ベースのマッハツェンダー変調器(thorlab社製LN05FC、帯域幅(BW):32GHz)を使用して光強度に変換され、光ファイバベースの非線形遅延線リングに入力される。出力信号は光検出器[Finisar社製XPRV2022、帯域幅:33GHz]で受信したのちに再度、マッハツェンダー干渉計を介して光学系に導入される。この時のリング内の光強度の時間応答は(式14)および(式15)で記述され、この光強度を測定することで(式14)および(式15)の演算結果を得ることができる。この光強度信号を、光検出器でアナログ電気信号に変換し、FPGA上のADCによって再度ディジタル信号へ変換する。このディジタル信号は、次の層の演算のために再度マスク関数を施され、再び遅延リングへ導入される。これを繰り返し、最終層の遅延リング系の応答から、(式10)を介して、最終層の演算結果を得る。学習においては、(式14)以外の演算は全て外部ワークステーション上で実施した。
【0048】
図8は、上述した系を用いて、MNISTタスク精度の層数依存性を評価した結果を示す図である。参考のために、(式14)、(式15)を含むすべての演算をディジタル演算機上で実施したシミュレーション結果が
図8中に合わせて示されている。
図8に示される通り、物理実装した場合ではわずかに精度が劣化するものの、98%程度の高い精度を得ることができることが分かる。また、定性的な傾向はシミュレーションとよく一致しており、層を深めることで性能が向上し得るという結果が得られた。このことから、本発明による演算方法により、多層の物理ニューラルネットワークの訓練が可能であり、その実際の物理実装も可能であることが認められた。
【0049】
図9は、上述した系を用いて、学習の演算速度のノード数(N)依存性を評価した結果を示す図である。比較のため、処理部122上で多層RCの演算を行い、BP法(従来方法)およびa-DFA(本発明による方法)で学習した場合のそれぞれの結果を合わせて示している。なお、ここでは、層数は全て3で固定した。
図9が示す通り、ノード数が少ない場合、本発明による演算方法を物理実装した方が、演算速度が遅いことが分かる。これは、処理部122上における演算では不要なFPGAへのデータ転送という処理が発生し、そのデータのやり取りに遅延が発生するためである。一方、ノード数が増すと処理部122の演算時間は二次関数的に増加する。これは、上述した通り、RCの演算コストがO(N
2)であることに起因する。一方で、物理系の場合はノード数が増加しても演算コストがO(N)でしか増加しなかった。これは、上述した通り、RCの順伝搬及び学習演算の演算コストの重い部分を物理系で演算していることに起因する。したがって、本発明による演算方法を用いることにより、特にノード数が大きい場合に、演算速度の顕著な加速効果が得られることが確認された。
【産業上の利用可能性】
【0050】
以上説明した通り、本発明による機械学習方法および機械学習装置は、訓練に大きな演算コストおよび物理系の正確な情報を必要としないため、従来技術より演算コストを低減できるという効果を奏する。そのため、より短時間、低電力で実装可能な機械学習方法および機械学習装置として、画像や音声の認識やロボット制御、人工的なデータ生成等への適用が見込まれる。
【符号の説明】
【0051】
10…機械学習装置
11…物理ネットワーク
12…コンピュータ
121…メモリ
122…処理部
13…DAC/ADC
14…変換素子
20…RC演算の方法
21、22…工程