(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-23
(45)【発行日】2023-05-31
(54)【発明の名称】回帰型ニューラルネットワークのルジャンドルメモリユニット
(51)【国際特許分類】
G06N 3/04 20230101AFI20230524BHJP
【FI】
G06N3/04
(21)【出願番号】P 2021551888
(86)(22)【出願日】2020-03-06
(86)【国際出願番号】 CA2020050303
(87)【国際公開番号】W WO2020176994
(87)【国際公開日】2020-09-10
【審査請求日】2021-10-20
(32)【優先日】2019-03-06
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-05-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】521389789
【氏名又は名称】アプライド ブレイン リサーチ インコーポレイテッド
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】フォルカー,アーロン アール.
(72)【発明者】
【氏名】エリアスミス,クリストファー デイビッド
【審査官】今城 朋彬
(56)【参考文献】
【文献】特開2008-287626(JP,A)
【文献】特開平06-319713(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
ニューラルネットワークにおけるパターン分類、データ表現又は信号処理用のシステムであって、
1つ又は複数の次元のベクトルを提示する1つ又は複数の入力層であって、各次元が、外部の入力又は前記ネットワークからの以前の出力を使用することのどちらかによって前記ネットワークに提供される、1つ又は複数の入力層と、
重み行列を介して、前記入力層、他の中間層又は出力層の少なくとも1つに結合された1つ又は複数の中間層と、
前記入力層で提示される前記データのベクトル表現を生成するか或いはそのデータの関数を1つ若しくは複数の離散時点において又は経時的に連続して演算する1つ又は複数の出力層と、を含み、
前記システムは、ルジャンドルメモリユニット(LMU)セルを有する回帰型ニューラルネットワークを生成するための方法を使用して、回帰型ニューラルネットワークを生成し、
前記方法は、
前記回帰型ニューラルネットワークにおける各ノードに対するノード応答関数を定義することであって、前記ノード応答関数が、経時的な状態を表し、前記状態が、2値事象又は実数値のうちの1つに符号化され、各ノードが、ノード入力及びノード出力を有する、定義することと、
各ノード入力との接続重みのセットを定義することと、
各ノード出力との接続重みのセットを定義することと、
公式
【数1】
に基づいてノード接続重みを決定する行列として定義される回帰接続のセットを有する1つ又は複数のLMUセルを定義することであって、式中、
【数2】
であり、qが、ユーザによって決定される整数であり、i及びjが、ゼロ以上である、定義することと、
を含む、システム。
【請求項2】
前記入力接続重みのセットが、公式
【数3】
に基づいてノード接続重みを決定する行列として定義され、式中、b
i
=(2i+1)(-1)
i
である、請求項1に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本発明は、概して、人工知能及びディープラーニングに関し、より具体的には、ソフトウェア及びハードウェアにおいて実装することができる回帰型ニューラルネットワークアーキテクチャに関する。この出願は、2019年3月6日に出願された米国仮特許出願第62/814,767号及び2019年5月6日に出願された米国仮特許出願第62/844,090号への優先権を主張し、それらの内容は、参照により本明細書に組み込まれる。
【背景技術】
【0002】
背景
ディープラーニングは、人工知能の分野に多くの急速且つ印象的な進歩をもたらしたことは間違いない。そのブラックボックスの性質により、画像認識、音声認識、自然言語理解、質問応答及び言語翻訳を含めて、大多数の重要な問題において最先端の性能を達成するために、専門領域の知識も、ニューラルネットワークの内部機能の理解も不要である(Y. LeCun, Y. Bengio, and G. Hinton, Deep learning. Nature, vol. 521, no. 7553, pp. 436-444, May 2015を参照)。基本的なレシピは、ディープラーニングのためのソフトウェアライブラリをインストールすること、ネットワークアーキテクチャを選択すること、そのハイパーパラメータを設定すること、次いで、ハードウェア(例えば、グラフィックス処理ユニット)がメモリに保持できる限りのデータを使用して訓練することである。
【0003】
多層パーセプトロンなどのディープラーニングアーキテクチャは、目下のタスクに最も関係する「潜在表現」(すなわち、隠れ特徴)を自動的に発見することによって、新しい例に一般化する静的ベクトル関数の構築に秀でている。しかし、その最適化手順の不透明度は、諸刃の剣として現れる。すなわち、ディープラーニングを最小のハンドエンジニアリングで多くの問題に適用することが簡単である一方で、大部分のハイパーパラメータの変化が性能全体にどのような影響を事前に及ぼすかについては、専門家にとっても不明瞭である。
【0004】
そのブレイクスルーにもかかわらず、その分野では、時間にわたって入力データ全体に任意に広がる関係をフィードフォワードアーキテクチャが学習できないことは十分に把握されており、それは、長時間依存性を有する映像、音声及び他の逐次時系列データに関与するタスクに必要なものである。ネットワークの深さにかかわらず、フィードフォワードネットワークは、常に、何らかの有限入力応答を有し、それにより、ネットワークの状態内における以前の入力の有限の「メモリ」が残る。言い換えれば、そのようなネットワークで演算可能な関数は、ネットワークの深さを越える深さにある入力にアクセスすることはできない。この問題を克服するための最も一般的な解決法は、ネットワークに回帰接続を導入することであり、それにより、現在の状態の情報は、それ自体に返され、従って、ネットワークは、以前の入力についての情報を捕捉し、将来においてそれを再利用することができる。これらのネットワークは、回帰型ニューラルネットワーク(RNN)と呼ばれる。
【0005】
RNNは、我々が物理的な実装方法を知っている中で演算的に最も強力なニューラルネットワークのブランドである。時間を通じて状態情報を存続させるために回帰接続を使用することにより、従って、ネットワークに内部メモリを与えることにより、RNNは、ディープフィードフォワードネットワークによって提供される演算クラス外の関数(すなわち、力学系(その状態がその入力の歴史に従って非線形的に進化する関数))を演算することができる。これにより、ネットワークは、任意の時間的スケールに沿った時間にわたる入力のパターンを活用することができる。
【0006】
具体的には、RNNは、離散時間領域における(A. M. Schaefer and H. G. Zimmermann, Recurrent neural networks are universal approximators. In International Conference on Artificial Neural Networks, Springer, pp. 632-640, Sept. 2006を参照)及び連続時間領域における(K. Funahashi and Y. Nakamura, Approximation of dynamical systems by continuous time recurrent neural networks. Neural Networks, vol. 6, no. 6, pp. 801-806, Nov. 1992を参照)任意の有限次元の因果的な力学系に対する万能近似器としての役割を果たす。実践では、RNNは、音声認識、言語翻訳、映像処理、キャプション生成及び人間の感情の解読など、逐次入力に関与するタスクに対する最良のモデルである場合が多い。
【0007】
RNNでの長年の課題は、長時間依存性を活用できるような初期のランダムな回帰重みの訓練における困難性に関連する(Y. Bengio, P. Simard, and P. Frasconi, Learning long-term dependencies with gradient descent is difficult. IEEE Transactions on Neural Networks, vol. 5, no. 2, pp. 157-166, Mar. 1994を参照)。多くのアーキテクチャ上の解決法が提案されており、最も歴史的に成功を収めたものは、長期・短期メモリ(LSTM)である(S. Hochreiter and J. Schmidhuber, Long short-term memory. Neural Computation, vol. 9, no. 8, pp. 1735-1780, Nov. 1997を参照)。また、つい最近のものであるが密接に関連している多様な代替の形態も存在しており、例えば、ゲート付き回帰型ユニット(GRU)(J. Chung, C. Gulcehre, K. Cho, and Y. Bengio, Empirical evaluation of gated recurrent neural networks on sequence modeling. arXiv:1412.3555, Dec. 2014を参照)及び不飽和回帰型ユニット(NRU)(S. Chandar, C. Sankar, E. Vorontsov, S.E. Kahou, and Y. Bengio, Towards non-saturating recurrent units for modelling long-term dependencies. In Proceedings of the AAAI Conference on Artificial Intelligence, vol. 33, no. 1, pp. 3280-3287, Jul. 2017を参照)が挙げられる。
【発明の概要】
【発明が解決しようとする課題】
【0008】
LSTM、GRU、NRU及び他の関連する代替の形態はすべて、ネットワークのノード間の接続を構成する方法を提供することによってRNNの訓練における困難性を軽減することを目標とする特定のRNNアーキテクチャである。これらのアーキテクチャは、典型的には、同じサイズのランダムに初期化されたRNNより良い精度レベルになるように訓練する。それにもかかわらず、これらのアーキテクチャは、現在、約100~5,000の時間ステップを超えて広がる時間依存性を学習することができず、それにより、これらのアーキテクチャのスケーラビリティは、より長い入力系列に関与する応用に厳しく限定される。従って、時間情報のより長い(すなわち、逐次時系列で100~5,000ステップより長い)表現を正確に維持するように訓練することができる改善されたRNNアーキテクチャの必要性が存在し、それにより、提案されるルジャンドルメモリユニット(LMU)への動機付けが高まる。
【課題を解決するための手段】
【0009】
発明の概要
本発明の一実施形態では、ルジャンドルメモリユニット(LMU)セルを有する回帰型ニューラルネットワークを生成するための方法であって、回帰型ニューラルネットワークにおける各ノードに対するノード応答関数を定義することであって、ノード応答関数が、経時的な状態を表し、状態が、2値事象又は実数値のうちの1つに符号化され、各ノードが、ノード入力及びノード出力を有する、定義することと、各ノード入力との接続重みのセットを定義することと、各ノード出力との接続重みのセットを定義することと、公式
【数1】
に基づいてノード接続重みを決定する行列として定義される回帰接続のセットを有する1つ又は複数のLMUセルを定義することであって、式中、
【数2】
である、定義することとを含む、方法が開示される。式中、qは、ユーザによって決定される整数であり、i及びjは、ゼロ以上である。
【0010】
本発明の一態様では、入力接続重みのセットは、公式
【数3】
に基づいてノード接続重みを決定する行列として定義され、式中、b
i=(2i+1)(-1)
iである。
【0011】
本発明の別の態様では、LMUノード接続重みは、方程式f(A;θ,t)に基づいて決定され、式中、fは、Aの関数であり、θは、既定のパラメータであり、tは、時間である。
【0012】
本発明の別の態様では、既定のパラメータは、ユーザによって選択されたもの又はニューラルネットワークにおけるノードの出力を使用して決定されたもののうちの1つである。
【0013】
本発明の別の態様では、LMUノード接続重みは、方程式
【数4】
に基づいて決定され、式中、fは、Aの関数であり、θは、既定のパラメータであり、tは、時間であり、Δtは、既定のパラメータである。
【0014】
本発明の別の態様では、既定のパラメータの各々は、ユーザによって選択されたもの又はニューラルネットワークの出力を使用して決定されたもののうちの1つである。
【0015】
本発明の別の態様では、ノード出力からの1つ又は複数の接続重みは、ルジャンドル多項式を評価することによって決定される。
【0016】
本発明の別の態様では、LMUセルは積層され、各LMUセルは、接続重み行列又は別のニューラルネットワークを使用して、次のLMUセルに接続される。
【0017】
本発明の別の態様では、1つ又は複数のLMUセルは、LSTMセル、GRUセル、NRUセル、他のLMUセル、多層パーセプトロン、シグモイド層、及び、他の線形又は非線形層から選択された他のネットワークアーキテクチャの入力への接続及び出力からの接続を含む。
【0018】
本発明の別の態様では、ネットワークは、その多数のパラメータを更新することによって、ニューラルネットワークとして訓練される。
【0019】
本発明の別の態様では、ネットワークは、1つ又は複数のパラメータを固定しながら、残りのパラメータを更新することによって、ニューラルネットワークとして訓練される。
【0020】
本発明の別の実施形態によれば、ニューラルネットワークにおけるパターン分類、データ表現又は信号処理用のシステムであって、1つ又は複数の次元のベクトルを提示する1つ又は複数の入力層であって、各次元が、外部の入力によって又はネットワークからの以前の出力を使用することによってネットワークに提供される、1つ又は複数の入力層と、重み行列を介して、入力層、他の中間層又は出力層の少なくとも1つに結合された1つ又は複数の中間層と、入力層で提示されるデータのベクトル表現を生成するか或いはそのデータの関数を1つ若しくは複数の離散時点において又は経時的に連続して演算する1つ又は複数の出力層とを含む、システムであり、本明細書で説明されるように回帰型ニューラルネットワークを生成する、システムが提供される。
【0021】
本発明の別の実施形態によれば、本明細書で説明されるようにノード接続重みを決定する1つ又は複数の回帰接続を有するハードウェアにおいて実装された回路が提供される。
【0022】
図面の簡単な説明
本発明は、添付の図面の図に示されており、添付の図面は、制限ではなく、例示的であることが意図され、添付の図面では、同様の参照番号は、同様の又は対応する部分を指すことが意図される。
【図面の簡単な説明】
【0023】
【
図1】各層が入力信号のより漸進的なローパスフィルタリングバージョンを符号化するように接続重みを決定するフィードフォワードネットワーク用のソフトウェアにおける実施形態を示す。
【
図2】本発明の実施形態による、各層においてローパスフィルタの効果を取り消すように接続重みを決定する回帰型ネットワーク用のソフトウェアにおける実施形態を示す。
【
図3】六次元回帰及び入力重みに対する連続時間LMU方程式を実装する回路の実施形態を示す。
【
図5】本発明の実施形態を実装することができる例示的なニューラルネットワークの概略図である。
【発明を実施するための形態】
【0024】
発明の詳細な説明
ここからは、上記の発明を要約して、先行技術との対比及び先行技術に勝る利点をより明示的に説明しながら、ある例示的な及び詳細な実施形態について以下で説明する。
【0025】
本発明の製品、方法及びシステムの前述の実施形態のいずれにおいても、ハードウェアなどの他の構成を使用できることが当業者には明らかであろう。本明細書が本発明の例示であることや、他の実施形態が当業者に思い当たることが理解されよう。本明細書で引用されるすべての参照は、参照により組み込まれる。
【0026】
本明細書で説明されるシステム及び方法の実施形態は、ハードウェア若しくはソフトウェア又は両方の組合せにおいて実装することができる。これらの実施形態は、プログラム可能コンピュータ上で実行するコンピュータプログラムにおいて実装することができ、各コンピュータは、少なくとも1つのプロセッサ、データ記憶システム(揮発性メモリ若しくは不揮発性メモリ又は他のデータ記憶要素或いはそれらの組合せを含む)及び少なくとも1つの通信インタフェースを含む。
【0027】
この発明では、ニューラルネットワークアーキテクチャは、ルジャンドルメモリユニット(LMU)方程式を使用して決定された接続重みを用いて訓練されるが、任意選択により、決定された重みを固定したままにしておく。ネットワークは、スパイク又は非スパイク活性化関数を使用することや、他のニューラルネットワークアーキテクチャと積み重ねるか又は回帰結合することや、ソフトウェア及びハードウェアにおいて実装することができる。本発明の実施形態は、スライド時間窓に広がる直交多項式基底関数を使用して演算を行うパターン分類、データ表現及び信号処理用のシステムを提供する。回帰型ニューラルネットワークは、当技術分野でよく知られており、それらの説明及び操作については、この出願では既知であるものと想定される。本発明は、改善された方法及びシステムを提供し、それにより、回帰型ネットワークノード重みは、ルジャンドルメモリユニット(LMU)手法及びアルゴリズムを使用して決定される。LMU手法が適用された各ノードは、本明細書では、LMUセルとも呼ばれる。
【0028】
ニューラルネットワークアーキテクチャは、ルジャンドルメモリユニット方程式を使用して決定された接続重みを用いて訓練されるが、任意選択により、決定された重みを固定したままにしておく。ネットワークは、スパイク又は非スパイク活性化関数を使用することや、他のニューラルネットワークアーキテクチャと積み重ねるか又は回帰結合することや、ソフトウェア及びハードウェアにおいて実装することができる。本発明の実施形態は、スライド時間窓に広がる直交多項式基底関数を使用して演算を行うパターン分類、データ表現及び信号処理用のシステムを提供する。
【0029】
LMUセルは、以下の通り定義される。q≧1は、ユーザによって提供される整数とする。
【数5】
は、q×qの正方行列(0≦i,j≦q-1)とし、以下の係数を有する。
【数6】
【0030】
各ノードの出力は、以下の通り定義することができる。
【数7】
は、q×1の行列とし、以下の係数を有する。
b
i=(2i+1)(-1)
i
【0031】
θは、ユーザによって提供されるか又はニューラルネットワークのノードの出力を使用して決定されるパラメータとする。
【0032】
tは、連続時点又は離散時点とする。離散時間の事例の場合、Δtは、ユーザによって提供されるか又はニューラルネットワークのノードの出力を使用して決定されるパラメータとする。
【0033】
LMU回帰接続は、以下の方程式を評価することによってノード接続重みを決定する。連続時間の事例の場合はf(A;θ,t)、又は、離散時間の事例の場合は
【数8】
、(1)
式中、fは、連続時間の事例の場合のθ、tによってパラメータ化されるAの関数であり、関数
【数9】
は、離散時間の事例の場合のθ、tに加えてΔtによってパラメータ化されるAの関数である。
【0034】
ノード入力へのLMU接続重みは、任意選択により、以下の方程式を評価することによって決定される。連続時間の事例の場合はg(B;θ,t)、又は、離散時間の事例の場合は
【数10】
、(2)
式中、gは、連続時間の事例の場合のθ、tによってパラメータ化されるBの関数であり、関数
【数11】
は、離散時間の事例の場合のθ、tに加えてΔtによってパラメータ化されるBの関数である。
【0035】
ノード出力からのLMU接続は、任意選択により、ルジャンドル多項式を評価することによって決定される(A.M. Legendre, Recherches sur l’attraction des spheroides homogenes. Memoires de Mathematiques et de Physique, presentes a l’Academie Royale des Sciences, pp. 411-435, 1782を参照)。
【0036】
回帰接続重みを決定するためのこの手法は、当技術分野では真新しいものであり、以下で論じられるように、改善された回帰型ニューラルネットワークを提供する。
【0037】
A及びB行列の導出
方程式1及び2を導出するため、
【数12】
は、いくつかのLMUセルによって表される状態ベクトルの何らかのサブセットに相当するものとし、
【数13】
は、前述のLMUセルに入力として提供されるベクトルの何らかのサブセットに相当するものとする。我々の選択である(A、B)行列を考慮すると、以下の連続時間力学系が定義される。
【数14】
【0038】
この力学系は、状態xによって与えられる係数を有する直交ルジャンドル基底を使用した長さθのスライド時間窓にわたるuのメモリを表す。これにより、他の任意のRNNアーキテクチャでは利用可能ではない演算上の利点が提供される。
【0039】
q=6の場合の(A、B)の例は、以下の通りである。
【数15】
【0040】
連続時間回帰及び入力重みの決定の例
次いで、方程式3は、q個の常微分方程式(ODE)の以下の連続時間系に相当する。
【数16】
式中、例えば、回帰重みを決定するために、以下の関数が定義される。
【数17】
また、入力重みを決定するために、以下の関数が定義される。
【数18】
【0041】
離散時間回帰及び入力重みの決定の例
方程式3は、Δtの時間ステップに離散化されたq個のODEの以下の離散時間力学系に相当し、
【数19】
式中、例えば、ゼロ次ホールド(ZOH)(W.L. Brogan, Modern Control Theory. 3rd Edition, Pearson, Oct. 1990を参照)離散化を考慮すると、回帰重みを決定するために、以下の関数が定義され、
【数20】
また、入力重みを決定するために、以下の関数が定義される。
【数21】
【0042】
方程式1及び2に対する追加の考慮事項
方程式1及び2をそれぞれ評価する際に接続重みを決定するため、f(A;θ,t)又は
【数22】
及びg(B;θ,t)又は
【数23】
の他の可能な定義が可能である。それらの例は、これらに限定されないが、微分方程式の数値積分を行い、θをt及びΔtの関数として変換するという代替の方法の使用を含む。
【0043】
不規則な間隔を有する入力系列(別名、「不均等に離隔された時系列」)は、ニューラルネットワークの入力ノードを使用してΔtを提供することによってサポートされる。
【0044】
方程式1又は2の出力が一定である場合(すなわち、そのパラメータのどれも、変数ではなく、ニューラルネットワークのいかなるノードの出力にも依存しない場合)は、方程式1又は2は、1回評価すれば十分である(例えば、重みを初期化するため)。そうでなければ、方程式1又は2は、それらのパラメータが変化した時はいつでも再評価することができる。
【0045】
出力重みの決定の例
ルジャンドル多項式を使用して1つ又は複数のノードからの出力接続重みを決定するため、例えば、ルジャンドル多項式のシフトに対してロドリゲスの公式(O. Rodrigues, De l’attraction des spheroides, Correspondence sur l’E-cole Imperiale Polytechnique. PhD Thesis, University of Paris, 1816を参照)を使用して、最初のq個の多項式を評価することができる:
【数24】
式中、r∈[0,1](0≦i≦q-1)であり、P
iは、次数iのルジャンドル多項式である。具体的な例を提供するため、以下の特性を述べる。
【数25】
【0046】
x
iを表すノードから突出する各接続に対し、方程式6を評価してその重みを決定するため、θ’(0≦θ’≦θ)を選択し、次いで、
【数26】
を設定することができる。より一般的には、uのスライド窓の出力ノード近似関数を得るため、これらの多項式のいかなる関数(例えば、フーリエ変換などの積分変換)も演算することができる。
【0047】
図1及び2を参照すると、θ’=0を選択することによって層間の出力接続重みを決定するためにこれらの方法が適用されている。この例では、方程式4は、回帰接続重みを決定するために使用され、方程式5は、入力接続重みを決定するために使用される。この例示的な実施形態では、ローパスフィルタを利用して、各層において力学系によって必要とされる積分が実施され、θ’=0の選択により、各ローパスフィルタによって実行される時間畳み込みが効果的に取り消される。結果的に、これらのLMU重みを用いることで、システムは、
図2に示されるように、その入力信号を最深層まで瞬時に伝播する。この重みの選択なしでは、信号は、
図1に示されるように、各層においてより漸進的にローパスフィルタリングされた状態になる。
【0048】
ニューラルネットワークの訓練
ニューラルネットワークのパラメータは、例えば、通時的誤差逆伝播法(BPTT)(P.J. Werbos, Backpropagation through time: What it does and how to do it. Proceedings of the IEEE, vol. 78, no. 10, pp. 1550-1560, Oct. 1990を参照)など、利用可能な任意の方法を使用して訓練することができる。
【0049】
訓練の間、方程式1若しくは2又はルジャンドル多項式を評価することによって生成された重みパラメータのうちの1つ又は複数は、固定したまま保つことができる。或いは、方程式1若しくは2又はルジャンドル多項式を評価することによって生成された重みのうちの1つ又は複数は、訓練することができる。いずれの事例でも、BPTTを使用する際は、誤差は、接続重みを実装する積和演算を通じて逆伝播することができる。
【0050】
同様に、方程式1又は2のパラメータ(例えば、θ若しくはΔt、又は、θ若しくはΔtを決定するニューラルネットワークのパラメータ)は、例えば、方程式1又は2の勾配を通じて誤差を逆伝播することによって訓練することもできる(T.Q. Chen, Y. Rubanova, J. Bettencourt, and D.K. Duvenaud, Neural Ordinary Differential Equations. In Advances in Neural Information Processing Systems, pp. 6571-6583, Dec. 2018も参照)。
【0051】
スパイキング非線形性からなるノードを有するアーキテクチャを訓練するため、スパイキングニューラルネットワークを訓練するための利用可能な任意の方法を使用することができる(E. Hunsberger, C. Eliasmith, Spiking deep networks with LIF neurons, arXiv:1510.08829, Oct. 2015を参照)。
【0052】
ソフトウェアアーキテクチャ
前述の接続重みを有するニューラルネットワークは、ソフトウェアにおいて実装することができる。方程式1若しくは2又はルジャンドル多項式を評価することによって決定された1つ又は複数の接続重みを有する層は、LMUセルを作成するためのプログラムコードを使用して実装することができる。これらの層は、他のニューラルネットワークアーキテクチャと回帰結合することができる。また、これらの層は、各層を次の層に接続するために、接続重み又は他のニューラルネットワークを使用することによって積み重ねることもできる。
【0053】
プログラムコードは、本明細書で説明される関数を実行するため及び出力情報を生成するために、入力データに適用される。出力情報は、公知の様式で1つ又は複数の出力デバイスに適用される。
【0054】
各プログラムは、コンピュータシステムと通信するために、高レベルの手続き型又はオブジェクト指向プログラミング又はスクリプト言語或いはその両方で実装することができる。或いは、プログラムは、要望に応じて、アセンブリ言語又は機械語で実装することができる。言語は、コンパイラ型又はインタープリタ型言語であり得る。そのようなコンピュータプログラムの各々は、記憶媒体又は記憶装置がコンピュータによって読み取られた際に本明細書で説明される手順を実行するようにコンピュータを構成及び操作するために、汎用又は専用プログラム可能コンピュータによって読み取り可能な記憶媒体又は記憶装置(例えば、読み取り専用メモリ(ROM)、磁気ディスク、光ディスク)に格納することができる。また、システムの実施形態は、コンピュータプログラムを有するように構成された非一時的なコンピュータ可読記憶媒体として実装されると考えることもでき、記憶媒体は、本明細書で説明される機能を特定の事前に定義された方法で実行するようにコンピュータに動作させるように構成される。
【0055】
その上、説明される実施形態のシステム及び方法は、1つ又は複数のプロセッサに対するコンピュータ使用可能命令を有する物理的な非一時的なコンピュータ可読媒体を含むコンピュータプログラム製品において分散させることができる。媒体は、1つ又は複数のディスケット、コンパクトディスク、テープ、チップ、磁気及び電子記憶媒体並びに同様のものを含む、様々な形態で提供することができる。非一時的なコンピュータ可読媒体は、一時的な伝播信号を除く、すべてのコンピュータ可読媒体を含む。非一時的という用語は、格納されるデータがほんの一時的に格納されるものである揮発性メモリ又はランダムアクセスメモリ(RAM)などのコンピュータ可読媒体を除外することを意図しない。コンピュータ使用可能命令もまた、コンパイルされている及びコンパイルされていないコードを含む、様々な形態のものであり得る。
【0056】
図5は、ハードウェア又はソフトウェアにおいて実装することができるニューラルネットワーク500の概略を示し、入力層508、1つ又は複数の中間層512及び出力層516を有する。入力層は、多数のノード508、530、536を有する。中間層は、中間層でループする回帰ノード532を有し、入力重み518及び出力重み520は、各層のノードを結合する。回帰重みは、中間層のノード内におけるフィードバックループを提供する。出力層は、ノード534を有する。入力層への入力は、例えば、外部の入力502又は以前の出力からの入力504(528から導出されたもの)として示される。
【0057】
ハードウェアアーキテクチャ
前述の接続重みを有するニューラルネットワークは、神経形態学的なデジタル若しくはアナログハードウェア及び/又はそれらのハイブリッドを含む、ハードウェアにおいて実装することができる。より具体的には、このアーキテクチャは、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックス処理ユニット(GPU)において実装することも、アナログコンポーネント及び他の物理的なプリミティブ(これに限定されないが、トランジスタを含む)の構成及び/又は他の並列コンピューティングシステムを使用して実装することもできる。
【0058】
図3を参照すると、本発明によるニューラルネットワークを実装する例示的な回路300が示されており、接続重みは、モジュール300によって、連続時間の事例においてq=6を用いて方程式1及び2を評価することによって決定される。大きな円は、xの各次元に相当する。小さな円は、それらの入力の加算(先端が矢形)又は減算(先端が円形)を行う要素を示す。i番目の次元は、その入力(先端が三角形)を時間積分し、(2i+1)/θでスケーリングする。
【0059】
この設計は、2つの総和の連鎖(その後、フィードバックループによって組み合わされるもの)に分解することによって、符号の交互切り替えを活用し、Aの上三角及び下三角内の中間演算を再利用する。また、これらの同じ演算は、uを適切な中間ノードに供給することによって、Bの接続重みを実装するために再利用される。
【0060】
システムの次元を1つ増加するには、O(1)ワイヤ、加算器及び状態変数を既存の回路構成に追加する必要がある。合計では、この回路は、O(q)ワイヤ、加算器及び状態変数を必要とし、従って、回路は、空間と時間の両方において線形にスケーラブルなものになる。
【0061】
シミュレーション結果
等しいリソース使用量で積層LMUに対して積層LSTMのメモリ容量を評価するように設計された実験のセットについて考慮する。この場合、積層LSTMの既製のKeras実装形態が使用され、各々が50個のセルを有する3つの層が構築される。各層は、次の層と完全に接続され、すべてのデフォルト設定(例えば、tanh活性化)を使用する。最終層は、同様に、各出力に対するtanh活性化ユニットからなる。連続時間メモリ容量を評価するため、入力データは、白色雑音であり、30Hzに帯域制限され(0から始まる)、[-1,1]の絶対範囲に正規化される。出力データは、0~0.2sの遅延入力の均等配置を表す50次元のベクトルである。データセットは、256のサンプルからなり、各々は、1sの長さを有する。このデータは、50%訓練と50%テストにランダムに区分化される。訓練データは、訓練中の検定精度を報告するために使用される別個のランダムな25%サンプルにさらに区分化される。通時的誤差逆伝播法は、平均二乗誤差(MSE)損失関数に関するアダムオプティマイザを使用して行われる。訓練は、4つのNvidia Titan Xp GPU(各々が12GB)にわたってKeras及びTensorFlowを使用して並列化される。
【0062】
2msの時間ステップの場合、誤差逆伝播法は、このタスクを解くために適切なパラメータを見つけられることが見出された。すなわち、LSTMは、実際に、約10%の正規化された二乗平均平方根誤差(NRMSE)でθ=100の時間ステップからなる全遅延間隔を正確に表すことができる。しかし、200μsまで一桁分だけ時間ステップを減少させる一方で、データが依然として全く同じ1sの信号を表すように同じ分だけデータの長さを増加させた後は、その性能は崩壊する。すなわち、精度は、θ=1,000の時間ステップウィンドウにわたって遅延長さの関数として指数関数的に低下する。最悪の事例では、LSTMは、約100%のNRMSEで、偶然に等しい確率で動作する。従って、歴史的に最も成功したRNNアーキテクチャでさえ、ますます長さを増す時間窓を表せないことは明確であり、それにより、より能力が高いRNNアーキテクチャの必要性への動機付けが高まる。
【0063】
次いで、全く同じ訓練コード及びネットワーク仕様が取り入れられ(ただし、各LSTMセルはLMUセルの層と置き換えられる)、連続時間の事例の場合の(A、B)行列が使用される(システムの離散化のためにオイラー法を使用することと同等)。これらの行列は、同じ層内の各セルにわたって共有される(畳み込み型ニューラルネットワークにおける重み共有に似ている)。最後に、同じ層にわたるすべての状態変数から入力を受信する多数のtanh非線形性(各セルに1つずつ)が含められ、従って、スケーリングされたルジャンドルベースの混合にわたって非線形演算がサポートされる。小さなq値(例えば、9)の場合、このネットワークは、前述のLSTMと同程度のリソース要件を有する。
【0064】
各LMUセルは、一次元の入力を受信する。訓練可能パラメータは、層間の重み及び各セル内の遅延長さθである。この実験では、共有された(A、B)重みの訓練は無効化される。LMUは3回積層された50個のセルを含むため、アーキテクチャ全体は、LSTMと一致している。最終出力層は、この時点でtanhは既に適用されているため、線形活性化ユニットからなる。最後に、q=9が設定され、各セルの符号化重みが第1の層に対しては1に及び後続のすべての層に対しては1/50に初期化され(すなわち、ファンインの逆数)、θ値がU[100,1000]にわたって均等に分散され、セル外からの他のすべての状態変数に対してはゼロ重みを用いて、r=1におけるルジャンドル多項式を評価することによって、各tanhに対して予想される重みが設定される。言い換えれば、各セルは、tanh(u[t-θ])に近づけるように初期化され、式中、u[・]は、セルの平均入力である。次いで、誤差逆伝播法は、θの値を訓練し、層間の入力と出力の重み付き非線形結合の混合を学習する。
【0065】
全く同じデータ訓練、検定及びテストにおいて全く同じコード及び分析を実行することにより、2つの手法間の訓練時間の劇的な違いが明らかになる。積層LSTMの場合の1エポックあたり102.6sと比べて、積層LMUは、訓練に1エポックあたり52.5s要することが見出された。その上、LMUは、精度のあらゆる尺度においてLSTMより優れた働きをする。具体的には、訓練と検定の両方にわたってMSEが3桁低減すると同時に、理想解にはるかに急速に収束する。LMUアーキテクチャは、遅延間隔にわたって一貫した3~4%の誤差を達成する一方で、同等にサイズ指定されたLSTMセルアーキテクチャは、ウィンドウの終了に向けて100%の誤差率に達する。これにより、積層LSTMは、長い時間間隔にわたる低周波数信号(時間ステップに対して)の記憶に悪戦苦闘することが示される。対照的には、このタスクは、積層LMUにとっては自然なことであるが、その理由は、その状態が入力の歴史のq次ルジャンドル展開を表すためである。
【0066】
誤差逆伝播法により、積層LMUは、ネットワークの初期の構成によるサポートが容易ではないタスクにおいてさえ、積層LSTMより優れた働きをすることができる。連続時間予測タスクにおける各ネットワークの性能を評価するため、非線形遅延微分方程式によって説明されるカオス時系列であるマッキーグラス(MG)と呼ばれる合成データセットが考慮される。MGデータは、τ=17の離散時間遅延を使用して生成される(各時間ステップは、時間の1単位である)。所望の出力は、先立った15の時間ステップの先見(予測)である(
図6.15を参照)。これは、最初の100のステップ過渡を取り除いた後、5,000の時間ステップでシミュレーションされる。これは、128回繰り返され、毎回、初期のランダム条件から始まる。次いで、データセット全体は、ゼロのグローバル平均を有するように集められる。次に、データセットは、32個の訓練例、32個の検定例及び64個のテスト例にランダムに分割される。
【0067】
以前の実験から同じネットワークが使用されるが、各々が100個のセルを含む4つの層を有するものが使用される。LMUセルに対し、すべてのパラメータが訓練可能になる(同じ層内のセルにわたって共有されるA、B行列を含む)。q=6が設定され、このデータセットのより短い時間スケールを説明するために、θ∈U[25,50]が初期化される。残りの重みは、標準のKeras重み初期化子を使用して初期化される。3つの方法はすべて、アダムオプティマイザを使用して、500エポックにわたって訓練される。この事例では、過学習を最小限に抑えるため、最高の検定スコアを有するエポックからのモデルのみが維持される。
【0068】
テスト性能及び訓練時間は、次の通り要約される。LSTMは、282,101のパラメータを使用して7.084%の誤差を達成する一方で、1訓練エポックあたり50.0秒要する。LMUは、270,769のパラメータを使用して6.783%の誤差を達成する一方で、1訓練エポックあたり30.5秒要する。従って、LMUは、精度及び訓練時間においてLSTMより優れた働きをする。この理由は、LMUがその六次元の状態内の遅延埋め込みをより容易にサポートするためであることが断定される。その上、LMUは、より長い連続時間間隔にわたる、より低い周波数に対する時間の経過に伴うスケーリングの改善を提供する。
【0069】
例示的な応用
これらの方法は、ハードウェア及びソフトウェアにおけるパターン分類、データ表現又は信号処理のためにニューラルネットワークを使用するシステムを生成するために使用することができる。
【0070】
例えば、自動音声認識(ASR)は、音声を処理し(オーディオ入力波形として)、テキストを生成する(モデル出力として)コンピュータ音声認識用のシステムである。入力は、オーディオ特徴に事前処理し(例えば、メル周波数ケプストラム係数、フィルタバンク係数及び特徴空間最尤線形回帰係数、M. Ravanelli, T. Parcollet, and Y. Bengio, The pytorch-kaldi speech recognition toolkit. In International Conference on Acoustics, Speech and Signal Processing, IEEE, pp. 6465-6469, May, 2019を参照)、LMUセル方程式を使用して決定される接続重みを有する層からなるニューラルネットワークに提供することができ、ニューラルネットワークの出力ノードは、テキストを生成するための利用可能な方法(例えば、コンテキストビームサーチ)を使用して事後処理される。従って、このシステムは、ASRシステムを構築するためのニューラルネットワークとして訓練することができる。
【0071】
別の例を提供するため、データセットにおける異常値又は「異常」の識別である異常検出への応用が考慮される。このデータは、LMUセル方程式を使用して決定される接続重みを有する層からなるニューラルネットワークに、一度に1つの入力ベクトルを順次提供することができ、ニューラルネットワークの出力ノードは、典型的なもの又は異常なものとして入力を分類する。従って、このシステムは、異常検出器を構築するための利用可能な方法を使用して(例えば、教師なし、半教師あり又は完全教師あり学習規則を使用して)訓練することができる。