(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-05-15
(45)【発行日】2025-05-23
(54)【発明の名称】ニューラル・ネットワークのオンライン・トレーニング
(51)【国際特許分類】
G06N 3/084 20230101AFI20250516BHJP
G06N 3/09 20230101ALI20250516BHJP
【FI】
G06N3/084
G06N3/09
(21)【出願番号】P 2023502937
(86)(22)【出願日】2021-07-06
(86)【国際出願番号】 IB2021056026
(87)【国際公開番号】W WO2022018548
(87)【国際公開日】2022-01-27
【審査請求日】2023-12-12
(32)【優先日】2020-07-21
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】ボーンシュティングル、トーマス
(72)【発明者】
【氏名】ウォズニアック、スタニスラフ
(72)【発明者】
【氏名】パンタツ、アンゲリキ
(72)【発明者】
【氏名】エレフセリウー、エヴァンゲロス、スタブロス
【審査官】渡辺 順哉
(56)【参考文献】
【文献】国際公開第2020/129204(WO,A1)
【文献】BELLEC, Guillaume ほか,Biologically inspired alternatives to backpropagation through time for learning in recurrent neural nets,arXiv[online],2019年02月21日,pp.1-29,[retrieved on 2024.12.19], Retrieved from the Internet: <URL: https://arxiv.org/pdf/1901.09049>
【文献】WU, Yujie ほか,Spatio-Temporal Backpropagation for Training High-performance Spiking Neural Networks,arXiv[online],2017年09月12日,pp.1-10,[retrieved on 2024.12.19], Retrieved from the Internet: <URL: https://arxiv.org/pdf/1706.02609>
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
ニューラル・ネットワークを訓練するためのコンピュータ実装方法であって、前記ニューラル・ネットワークがニューロン・ユニットの1
つのレイヤを備え、各ニューロン・ユニットが内部状態(ユニット状態)を有し、前記方法が、
入力信号および予想出力信号を含むトレーニング・データを前記ニューラル・ネットワークに提供することと、
前記各ニューロン・ユニットごとに、空間勾配成分を計算することと、
前記各ニューロン・ユニットごとに、時間勾配成分を計算することと、
前記入力信号の各時間インスタンスにおいて前記各ニューロン・ユニットごとに前記時間勾配成分および前記空間勾配成分を更新することと
、
前記空間勾配成分および前記時間勾配成分の関数として、前記ニューラル・ネットワークのトレーニング・パラメータの既定のセットを更新することと
を含
み、
前記空間勾配成分を計算することが、
【数1】
を計算することを含み、
前記時間勾配成分を計算することが、
【数2】
を計算することを含み、
ここで、
tが前記各時間インスタンスを表記し、
y
t
が時間インスタンスtにおける現在の出力信号を表記し、
L
t
が前記時間インスタンスtにおける前記空間勾配成分を表記し、
E
t
が前記ニューラル・ネットワークの誤差、特に、前記時間インスタンスtにおける前記予想出力信号と前記現在の出力信号との間の前記誤差を表記する、
s
t
が前記時間インスタンスtにおける前記ユニット状態を表記し、
θが前記ニューラル・ネットワークの前記トレーニング・パラメータを表記し、
e
t, θ
が、前記時間インスタンスtにおける前記時間勾配成分を表記する、
コンピュータ実装方法。
【請求項2】
ニューラル・ネットワークを訓練するためのコンピュータ実装方法であって、前記ニューラル・ネットワークがニューロン・ユニット
の複数のレイヤを備え、各ニューロン・ユニットが内部状態(ユニット状態)を有し、前記方法が、
入力信号および予想出力信号を含むトレーニング・データを前記ニューラル・ネットワークに提供することと、
前記各ニューロン・ユニットごとに、空間勾配成分を計算することと、
前記各ニューロン・ユニットごとに、時間勾配成分を計算することと、
前記入力信号の各時間インスタンスにおいて前記各ニューロン・ユニットごとに前記時間勾配成分および前記空間勾配成分を更新することと
、
前記空間勾配成分および前記時間勾配成分の関数として、前記ニューラル・ネットワークのトレーニング・パラメータの既定のセットを更新することと
を含
み、
前記空間勾配成分を計算することが、
【数3】
を計算することを含み、
前記時間勾配成分を計算することが、
【数4】
を計算することを含み、
ここで
tが前記各時間インスタンスを表記し、
lが前記複数のレイヤの各レイヤを表記し、
L
l
t
が時間インスタンスtにおけるレイヤlの前記空間勾配成分を表記し、
y
l
t
が時間インスタンスtにおけるレイヤlの現在の出力信号を表記し、
E
t
が前記ニューラル・ネットワークの誤差、特に、前記時間インスタンスtにおける前記予想出力信号と前記現在の出力信号との間の前記誤差を表記し、
s
l
t
が前記時間インスタンスtにおけるレイヤlの前記ユニット状態を表記し、
kが前記ニューラル・ネットワークの最後のレイヤまたは出力レイヤを表記し、
m’が1から(k-l+1)まで及ぶ前記ニューラル・ネットワークの中間レイヤを表記し、
θが前記ニューラル・ネットワークの前記トレーニング・パラメータを表記し、
e
l
t, θ
が、前記時間インスタンスtにおけるレイヤlの前記時間勾配成分を表記する、
コンピュータ実装方法。
【請求項3】
前記方法が、
前記各時間インスタンスにおいて、前
記複数のレイヤの各々に対して
前記空間勾配成分を計算することと、
前記各時間インスタンスにおいて、前
記複数のレイヤの各々に対して
前記時間勾配成分を計算することと
を含む、請求項
2に記載のコンピュータ実装方法。
【請求項4】
前記空間勾配成分および前記時間勾配成分の関数として、前記ニューラル・ネットワークのトレーニング・パラメータの既定のセットを更新することをさらに含み、前記トレーニング・パラメータを更新することが、
【数5】
を計算することを含み、Rが剰余項である、
請求項
2に記載のコンピュータ実装方法。
【請求項5】
前記剰余項Rが、適格度トレースと学習信号の組合せを用いて近似される、請求項
4に記載のコンピュータ実装方法。
【請求項6】
前記空間勾配成分および前記時間勾配成分の前記計算が互いに独立して実行される、請求項1
または2に記載のコンピュータ実装方法。
【請求項7】
前記ニューラル・ネットワークのトレーニング・パラメータの既定のセットを更新することは、前記空間勾配成分および前記時間勾配成分の関数として、特定または既定の時間インスタンスにおいて前記ニューラル・ネットワークの前記トレーニング・パラメータの前記既定のセットを更新すること
を含む、請求項
1または2に記載のコンピュータ実装方法。
【請求項8】
前記ニューラル・ネットワークのトレーニング・パラメータの既定のセットを更新することは、前記空間勾配成分および前記時間勾配成分の関数として、前記各時間インスタンスにおいて前記ニューラル・ネットワークのトレーニング・パラメータの前記既定のセットを更新すること
を含む、請求項
1または2に記載のコンピュータ実装方法。
【請求項9】
前記空間勾配成分が、前記ニューラル・ネットワークの接続性パラメータに基づき、
前記時間勾配成分が、前記ニューロン・ユニットの時間的ダイナミクスに関するパラメータに基づく、
請求項1
または2に記載のコンピュータ実装方法。
【請求項10】
前記空間勾配成分および前記時間勾配成分の関数として、前記ニューラル・ネットワークのトレーニング・パラメータの既定のセットを更新することをさらに含み、前記トレーニング・パラメータを更新することが、
【数6】
を計算することを含み、αが学習率である、
請求項1
または2に記載のコンピュータ実装方法。
【請求項11】
前記ニューラル・ネットワークが、再帰型ニューラル・ネットワーク、ハイブリッド・ネットワーク、スパイキング・ニューラル・ネットワーク、および汎用再帰型ネットワークからなるグループから選択され、前記汎用再帰型ネットワークが、特に、長短期メモリ・ユニットおよびゲート再帰ユニットを備えるか、またはそれらから構成される、請求項1
または2に記載のコンピュータ実装方法。
【請求項12】
ニューラル・ネットワークを訓練するためのコンピュータ実装方法であって、前記ニューラル・ネットワークがニューロン・ユニットの1つまたは複数のレイヤを備え、各ニューロン・ユニットが内部状態(ユニット状態)を有し、前記方法が、
入力信号および予想出力信号を含むトレーニング・データを前記ニューラル・ネットワークに提供することと、
前記各ニューロン・ユニットごとに、空間勾配成分を計算することと、
前記各ニューロン・ユニットごとに、時間勾配成分を計算することと、
前記入力信号の各時間インスタンスにおいて前記各ニューロン・ユニットごとに前記時間勾配成分および前記空間勾配成分を更新することと、
前記空間勾配成分および前記時間勾配成分の関数として、前記ニューラル・ネットワークのトレーニング・パラメータの既定のセットを更新すること
を含み、
前記ニューラル・ネットワークが前記ニューロン・ユニットの複数のレイヤを備え、
前記空間勾配成分を計算することが、
【数7】
を計算することを含み、
tが前記各時間インスタンスを表記し、
lが前記複数のレイヤの各レイヤを表記し、
L
l
t
が時間インスタンスtにおけるレイヤlの前記空間勾配成分を表記し、
y
k
t
がレイヤkの現在の出力信号を表記し、
E
t
がニューラル・ネットワークの誤差、特に、前記時間インスタンスtにおける前記予想出力信号と前記現在の出力信号との間の前記誤差を表記し、
s
k
t
がレイヤkの前記ユニット状態を表記し、
kが前記ニューラル・ネットワークの最後のレイヤまたは出力レイヤを表記し、
m’が1から(k-l+1)まで及ぶ前記ニューラル・ネットワークの中間レイヤを表記し、
前記時間勾配成分を計算することが、
【数8】
を計算することを含み、
tが前記各時間インスタンスを表記し、
lが前記複数のレイヤの各レイヤを表記し、
y
tが前記時間インスタンスtにおける現在の出力信号を表記し、
s
tが時間インスタンスtにおける現在の前記ユニット状態を表記し、
θが前記ニューラル・ネットワークの前記トレーニング・パラメータを表記し、
【数9】
である
、コンピュータ実装方法。
【請求項13】
再帰型ニューラル・ネットワークを訓練するためのコンピュータ・プログラムであって、コンピュータによって、請求項1ないし
12のいずれかに記載の方法を実行させるためのコンピュータ・プログラム。
【請求項14】
ニューラル・ネットワークのパラメータを訓練するためのコンピューティング・システムであって、
前記ニューラル・ネットワークがニューロン・ユニットの1つまたは複数のレイヤを備え、各ニューロン・ユニットが内部状態を有し、
前記コンピューティング・システムは、1つまたは複数のコンピュータ・プロセッサと、システム・メモリとを含み、
前記システム・メモリは、請求項8に記載のコンピュータ・プログラムを格納し、
前記1つまたは複数のコンピュータ・プロセッサによって、前記方法の各手順が実行される
ように構成された、コンピューティング・システム。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本出願は、2020年7月21日に出願され、その全体がすべての目的で参照により本明細書に組み込まれる、米国仮出願第63/054247号「ONLINE TRAINING OF RECURRENT NEURAL NETWORKS」の非仮出願である。
【0002】
本発明は、とりわけ、ニューラル・ネットワーク、特に、再帰型ニューラル・ネットワークを訓練するためのコンピュータ実装方法を対象とする。
【0003】
本発明はさらに、関連するニューラル・ネットワークおよび関連するコンピュータ・プログラム製品に関する。
【背景技術】
【0004】
ここ数年の間に、人工ニューラル・ネットワーク(ANN)を利用するアプリケーションの数が急速に増えている。特に、音声認識、言語翻訳、またはニューラル・コンピュータの構築などのタスクでは、再帰的に接続されたANN、いわゆるRNNは、驚異的な性能レベルを実証している。
【0005】
再帰型ニューラルネットワーク(RNN)は、近年の人工知能の進歩において重要な役割を果たしている。RNNを訓練するための1つの知られている手法は、時間の経過に伴う誤差の逆伝搬(BPTT)を利用する勾配ベースのトレーニングである。
【0006】
しかしながら、BPTTは、時間的にネットワークを展開することによってすべての過去の活動を記録する必要があり、それは入力シーケンス長の増加に伴って非常に深くなり得るので、制限を有する。たとえば、時間ステップが1msである2秒の長さの話された入力シーケンスは、2000レイヤの深さの展開ネットワークをもたらす。
【0007】
したがって、時間的に後方に誤差を伝搬することは、システム・ロック問題をもたらし、BPTTをオンライン学習シナリオに使用できないものにする可能性がある。オンライン・トレーニングを可能にする変形形態が、最近研究コミュニティの関心を取り戻している。1つの知られている手法は、オンライン・アルゴリズムを介してBPTTを近似することに焦点を当てる。別の手法は、生態学からインスピレーションを得て、スパイキング・ニューラル・ネットワーク(SNN)を調査する。
【0008】
したがって、ニューラル・ネットワークのトレーニング、特にオンライン・トレーニング向けの有利な方法に対する必要性が残っている。
【発明の概要】
【0009】
一態様によれば、本発明は、ニューラル・ネットワークを訓練するためのコンピュータ実装方法として具現化される。ネットワークは、ニューロン・ユニットの1つまたは複数のレイヤを備える。各ニューロン・ユニットは内部状態を有し、それはユニット状態と表記される場合もある。方法は、入力信号および予想出力信号を含むトレーニング・データをニューラル・ネットワークに提供することを含む。方法は、ニューロン・ユニットごとに空間勾配成分を計算することと、ニューロン・ユニットごとに時間勾配成分を計算することとをさらに含む。方法は、入力信号の各時間インスタンスにおいて、ニューロン・ユニットごとに時間勾配成分および空間勾配成分を更新することをさらに含む。
【0010】
したがって、本発明の実施形態による方法は、空間勾配成分および時間勾配成分の分離に基づく。これは、フィードバック機構のより深い理解を容易にすることができる。さらに、それは、メモリスタ・アレイなどのハードウェア・アクセラレータ上の効率的な実装を容易にすることができる。本発明の実施形態による方法は、特に、オンライン・トレーニングに使用されてもよい。本発明の実施形態による方法は、特に、ニューラル・ネットワークのトレーニング・パラメータを訓練するために使用されてもよい。
【0011】
本発明の実施形態による方法は、時間データを入力信号として処理する。時間データは、時間内の状態または値を表すデータとして、または言い換えれば、時間インスタンスに関係するデータとして定義される場合がある。入力信号は、詳細には、連続する入力データ・ストリームであり得る。入力信号は、時間インスタンスにおいて、または言い換えれば、時間ステップにおいてニューラル・ネットワークによって処理される。
【0012】
一実施形態によれば、空間勾配成分および時間勾配成分の計算は、互いに独立して実行される。これは、これらの勾配成分が計算時間を短縮するように並行して計算され得るという利点を有する。
【0013】
実施形態によれば、空間勾配成分は学習信号を確立し、時間勾配成分は適格度トレースを確立する。
【0014】
本発明の実施形態による方法は、特に、モノのインターネット(IoT)デバイスならびにエッジ人工知能(AI)デバイスなどの低複雑度デバイスに使用されてもよい。
【0015】
実施形態によれば、方法は、特定または既定の時間インスタンスにおいて、特に各時間インスタンスにおいてニューラル・ネットワークのトレーニング・パラメータを更新することを含む。更新は、詳細には、空間勾配成分および時間勾配成分の関数として実行されてもよい。
【0016】
実施形態に従って訓練される場合があるトレーニング・パラメータは、詳細には、ニューロン・ユニットの入力重みまたは再帰重みあるいはその両方を包含する。各時間インスタンスにおいてトレーニング・パラメータを更新することにより、ニューロン・ユニットは、各時間インスタンスにおいて、または言い換えれば書く時間ステップにおいて学習する。
【0017】
実施形態によれば、空間勾配成分は、ニューラル・ネットワークの接続性パラメータ、たとえば、個々のニューロン・ユニットの接続性に基づく。実施形態によれば、接続性パラメータは、特に、ニューラル・ネットワークのアーキテクチャのパラメータを記述する。実施形態によれば、接続性パラメータは、個々のニューロン・ユニット間の情報交換を可能にする伝送ラインの数またはセットとして定義されてもよい。実施形態によれば、空間勾配成分は、ニューラル・ネットワークの空間的様相、特に、各時間インスタンスにおける個々のニューロン・ユニット間の相互依存性を考慮に入れる成分である。
【0018】
実施形態によれば、時間勾配成分は、ニューロン・ユニットの時間的ダイナミクスに基づく。実施形態によれば、時間勾配成分は、ニューロン・ユニットの時間的ダイナミクス、特に、内部状態/ユニット状態の時間的進化を考慮に入れる成分である。
【0019】
実施形態によれば、方法は、各時間インスタンスにおいて、1つまたは複数のレイヤの各々について空間勾配成分を計算することと、各時間インスタンスにおいて、1つまたは複数のレイヤの各々について時間勾配成分を計算することとを含む。したがって、各時間インスタンス/時間ステップにおいて、方法は、レイヤごとに時間勾配成分および空間勾配成分を計算する。空間勾配成分/学習信号は、レイヤごとに特有であってもよく、時間的に戻ることなく最後のレイヤから入力レイヤまで伝搬する、すなわち、それは、ネットワーク・アーキテクチャを通る空間勾配を表す。
【0020】
実施形態によれば、各レイヤは、それ自体の時間勾配成分/適格度トレースを計算することができ、それらはそれぞれのレイヤの寄与のみに依存する、すなわち、それは同じレイヤについての時間を通る時間勾配を表す。実施形態によれば、空間勾配成分は、2つ以上のレイヤに対して共有されてもよい。
【0021】
実施形態によれば、方法は、シングル・レイヤ・ネットワークならびにマルチ・レイヤ・ネットワークに使用されてもよい。
【0022】
実施形態によれば、方法は、ユニット状態を有するユニットおよびユニット状態をもたないユニットを備えるか、またはそれらから構成される、再帰型ニューラル・ネットワーク、スパイキング・ニューラル・ネットワーク、およびハイブリッド・ネットワークに適用されてもよい。
【0023】
実施形態によれば、方法および方法の一部は、ニューロモルフィック・ハードウェア、特に、メモリスタ・デバイスのアレイに実装されてもよい。
【0024】
浅いネットワークの場合、本発明の実施形態による方法は、時間の経過に伴う逆伝搬(BPTT)技術として等しい勾配を維持することができる。
【0025】
本発明の別の態様の一実施形態によれば、ニューラル・ネットワーク、特に、再帰型ニューラル・ネットワークが提供される。ニューラル・ネットワークは、ニューロン・ユニットの1つまたは複数のレイヤを備える。各ニューロン・ユニットは内部状態を有し、それはユニット状態と表記される場合もある。ニューラル・ネットワークは、入力信号および予想出力信号を含むトレーニング・データをニューラル・ネットワークに提供することを含む方法を実行するように構成される。方法は、ニューロン・ユニットごとに空間勾配成分を計算することと、ニューロン・ユニットごとに時間勾配成分を計算することとをさらに含む。方法は、入力信号の各時間インスタンスにおいて、ニューロン・ユニットごとに時間勾配成分および空間勾配成分を更新することをさらに含む。空間勾配成分および時間勾配成分の計算は、互いに独立して実行されてもよい。
【0026】
実施形態によれば、ニューラル・ネットワークは、再帰型ニューラル・ネットワーク、スパイキング・ニューラル・ネットワーク、またはハイブリッド・ニューラル・ネットワークであり得る。
【0027】
本発明の別の態様の一実施形態によれば、ニューラル・ネットワークを訓練するためのコンピュータ・プログラム製品が提供される。コンピュータ・プログラム製品は、それとともに具現化されたプログラム命令を有するコンピュータ可読記憶媒体を備え、プログラム命令は、入力信号および予想出力信号を含むトレーニング・データを受信するステップを含む方法をニューラル・ネットワークに実行させるように、ニューラル・ネットワークによって実行可能である。方法は、ニューロン・ユニットごとに空間勾配成分を計算し、ニューロン・ユニットごとに時間勾配成分を計算するさらなるステップを含む。さらなるステップは、入力信号の各時間インスタンスにおいてニューロン・ユニットごとに時間勾配成分および空間勾配成分を更新することを含む。実施形態によれば、空間勾配成分および時間勾配成分の計算は、互いに独立して実行されてもよい。
【0028】
本発明の実施形態は、添付図面を参照して、例示的かつ非限定的な例として、以下により詳細に記載される。
【図面の簡単な説明】
【0029】
【
図1】本発明の一実施形態による、ニューラル・ネットワークを訓練するためのコンピュータ実装方法の勾配フローを示す図である。
【
図2】本発明の一実施形態による、ニューラル・ネットワークを訓練するためのコンピュータ実装方法の勾配フローを示す図である。
【
図3】スパイキング・ニューラル・ネットワークのスパイキング・ニューロン・ユニットを示す図である。
【
図4a】時間の経過に伴う逆伝搬(BPTT)技術と比較して、本発明の実施形態による方法のテスト結果を示す図である。
【
図4b】時間の経過に伴う逆伝搬(BPTT)技術と比較して、本発明の実施形態による方法のさらなるテスト結果を示す図である。
【
図5】手書き数字分類に関する別のタスクのテスト結果を示す図である。
【
図6】本発明の実施形態による方法がニューロモルフィック・ハードウェアにどのように実装され得るかを示す図である。
【
図7】本発明の一実施形態による、ニューラル・ネットワークの簡略化された概略図である。
【
図8】再帰型ニューラル・ネットワークのパラメータを訓練するためのコンピュータ実装方法の方法ステップのフローチャートである。
【
図9】本発明の実施形態による方法を実行するためのコンピューティング・システムの例示的な実施形態を示す図である。
【
図10】深層ニューラル・ネットワーク向けの本発明の実施形態による方法の例示的な詳細微分を示す図である。
【
図11】深層ニューラル・ネットワーク向けの本発明の実施形態による方法の例示的な詳細微分を示す図である。
【発明を実施するための形態】
【0030】
本発明の実施形態は、ニューラル・ネットワーク、特に再帰型ニューラル・ネットワーク(RNN)のトレーニング、特にオンライン・トレーニングのための方法を提供する。方法は、OSTLとも表記される以下の通りであり得る。本発明の実施形態による方法は、空間勾配と時間勾配を分離することにより、オンライン学習アプリケーションに使用することができる有利なアルゴリズムを提供する。
【0031】
図1は、本発明の一実施形態による、ニューラル・ネットワーク100を訓練するためのコンピュータ実装方法の勾配フローを示す。
図1の場合、ニューラル・ネットワーク100は、ニューロン・ユニット111を備える単一のレイヤ110を有する再帰型ニューラル・ネットワーク(RNN)であることが想定される。ニューラル・ネットワークは、3つの時間ステップtに対して展開される。
【0032】
各ニューロン・ユニット111は内部状態S、120を有する。方法は、入力信号xt、131および予想出力信号132を含むトレーニング・データをニューラル・ネットワークに提供することを含む。次いで、方法は、ニューロン・ユニット111ごとに、空間勾配成分Lt、141および時間勾配成分et、142を計算する。さらに、入力信号131の各時間インスタンスtにおいて、時間勾配成分142および空間勾配成分141は、ニューロン・ユニット111ごとに更新される。
【0033】
学習/トレーニングの目的は、ニューラル・ネットワークのパラメータθを、それが時間tにおける現在の出力信号ytと入力信号xtとの間の誤差Etを最小化するように訓練することである。
【0034】
RNNでは、時間tにおけるネットワーク誤差Etは、しばしば、出力レイヤ内のニューロン・ユニットの出力ytの関数であり、すなわち、Et=f(yt)である。加えて、RNN内の多くのニューロン・ユニットは、出力が依存する内部状態stを含む場合があり、すなわち、yt=f(st)である。ニューロン・ユニットのこの内部状態は、加えて、それぞれ、訓練可能な入力重みWおよび訓練可能な再帰重みHを介して、その入力信号xtに依存し、その出力信号に再帰的に依存するそれ自体の再帰関数であり得る。
【0035】
実施形態によれば、内部状態を支配する式は、st=f(xt,st-1,yt-1,W,H)、たとえば、st=Wxt+Hyt-1として定式化することができる。
表記を簡単にするために、RNN100のすべての訓練可能なパラメータは、変数θによって以下のように一括して記述されてもよい。これにより、上記の式はst=f(xt,st-1,yt-1,θ)に簡略化される。
【0036】
その上、出力ytの表記は、訓練可能なパラメータに対する直接依存を可能にするために実施形態に従って拡張されてもよい、すなわち、yt=f(st,θ)、たとえば、yt=σ(st+b)である。
【0037】
この表記を使用して、Eを最小化するために必要なパラメータθの変化は、勾配降下の原理に基づいて、
【数1】
のように計算されてもよい。
【0038】
これから、本発明の実施形態は、微分用の開始点として時間の経過に伴う逆伝搬(BPTT)技術を使用し、dE/dθを、
【数2】
と表現し、ここで、経時的な合計は、最初の時間ステップt=1から最後の時間ステップt=Tまで及ぶ。次いで、式2が以下に拡張され、BPTTのオンライン再定式化を形成するために活用することができる再帰が解かれる。簡略にするために、単一ユニット用の主要ステップのみが概説されるが、詳細微分はさらに以下で補足説明内に与えられる。詳細には、それは、
【数3】
のように示すことができる。
【0039】
式3は、以下のように再帰形式で書き直すことができる。
【数4】
これは、
【数5】
のような勾配の表現につながり、
ここで、
【数6】
である。
【0040】
したがって、実施形態によれば、空間勾配成分および時間勾配成分の計算は、互いに独立して実行されてもよい。
【0041】
標準RNNの例では、これらの式の明示形式は、
【数7】
である。
【0042】
実施形態によれば、表記は、生態系の標準命名法からインスピレーションを受け、シナプス重みの変化は、しばしば、学習信号および適格度トレースに分解される。最も簡単なケースでは、適格度トレースは、ニューラル活動のローパス・フィルタ・バージョンであるが、学習信号は空間伝達された報酬信号を表す。したがって、実施形態によれば、式6においてet,θと表記された時間勾配は、適格度トレースと関連付けられ、式7においてLtと表記された空間勾配は、学習信号と関連付けられ得る。
【0043】
生態系と同様に、式5によるパラメータ変化dE/dθは、適格度トレースと学習信号の積の経時的な総和として計算される。これにより、
図1に示されたように、パラメータ更新がオンラインで計算されることが可能になる。
【0044】
さらに、式6における微分が正確であることに留意されたい。
【0045】
図1から分かるように、各時間ステップにおいて、時間勾配がこの時間ステップの空間勾配と組み合わされてもよく、既知の時間の経過に伴う逆伝搬技術に従って必要とされる入力シーケンス/入力信号の開始まで戻る必要はない。
【0046】
図2は、本発明の一実施形態による、ニューラル・ネットワーク200を訓練するためのコンピュータ実装方法の勾配フローを示す。
図2の場合、ニューラル・ネットワーク200は、複数のレイヤを有する再帰型ニューラル・ネットワーク(RNN)であることが想定される。
【0047】
より詳細には、
図2は、ニューロン・ユニット211を有する第1のレイヤ210およびニューロン・ユニット221を有する第2のレイヤ220を備える2レイヤRNN用の勾配フローを示す。レイヤ210および220は、3つの時間ステップに対して展開され、空間勾配と時間勾配が分離される。
【0048】
各ニューロン・ユニット211は内部状態S1、230を有する。各ニューロン・ユニット221は内部状態S2、231を有する。方法は、入力信号xt、141および予想出力信号142を含むトレーニング・データをニューラル・ネットワーク200に提供することを含む。次いで、方法は、ニューロン・ユニット211ごとに空間勾配成分L1
t、151を計算し、ニューロン・ユニット221ごとに空間勾配成分L2
t、152を計算する。さらに、方法は、ニューロン・ユニット211ごとに時間勾配成分e1
t、161を計算し、ニューロン・ユニット221ごとに時間勾配成分e2
t、162を計算する。
【0049】
さらに、入力信号141の各時間インスタンスtにおいて、時間勾配成分161、162および空間勾配成分151、152が、それぞれ、ニューロン・ユニット211、221ごとに更新される。
【0050】
多くの先行技術のアプリケーションは、より複雑なマルチ・レイヤ・アーキテクチャに依存する。本発明の実施形態による方法を深層アーキテクチャに拡張するために、状態stおよび出力ytの定義は以下のように見直されてもよい。深層アーキテクチャ内の誤差Etは最後の出力レイヤkの関数にすぎず、すなわち、Et=f(yk
t)であり、各レイヤlはそれ自体の訓練可能なパラメータθlを有する。レイヤlの入力は、前のレイヤの出力yl-1
tであり、最初のレイヤの場合、外部入力が使用され、y0
t=xtである。
【0051】
したがって、定義は、
【数8】
であるように適合されることができる。
【0052】
シングル・レイヤ・ニューラル・ネットワークの場合、空間成分と時間成分の分離は、式3~5によって概説された微分に従う場合に生じる。
【0053】
しかしながら、マルチ・レイヤ・アーキテクチャの場合、式3の中の項dst/dθは、異なるレイヤlおよびmを含む、たとえば、dsl
t/dθmである場合があり、それにより、レイヤにわたる依存性がもたらされる(補足説明参照)。
【0054】
上述された利益を維持するために、空間勾配と時間勾配の明確な分離はまた、本発明の実施形態によるマルチ・レイヤ・アーキテクチャのために導入される。したがって、シングル・レイヤRNNについて上述された同様のステップは、一般化された状態および出力の式8および9を使用して実行される。補足説明内の詳細な微分に続いて、以下の適格度トレースおよび学習信号がレイヤlに対して取得され、
【数9】
ここで、
【数10】
である。
次いで、それは、
【数11】
と示すことができる。
【0055】
式5~13を比較することによって分かるように、学習信号Ll
tを適格度トレースel
t,θと乗算することに関する本発明の実施形態による手法は、深層ネットワークの場合も同じままである。
【0056】
学習信号Ll
tはレイヤごとに特有であり、時間的に戻ることなく最後のレイヤから入力レイヤまで伝搬する、すなわち、それは、ネットワーク・アーキテクチャを通る空間勾配を表す。さらに、各レイヤは、それ自体の適格度トレースel
t,θを計算し、それはそれぞれのレイヤlの寄与のみに依存する、すなわち、それは同じレイヤについての時間経過による時間勾配を表す。
【0057】
しかしながら、追加の項も式13に含まれ、それらは空間勾配と時間勾配の混合を含み、一般に時間的に戻ることを必要とする。これらの項は、剰余項R内で収集される。
【0058】
空間勾配と時間勾配との間の分離を維持するために、式13は、項Rを省略することにより実施形態に従って簡略化される。このように、マルチ・レイヤ・ネットワーク用の以下の定式化が実施形態に従って取得される。
【数12】
【0059】
したがって、本発明の実施形態によれば、剰余項Rは意図的に省略され、混合された空間勾配成分と時間勾配成分は、学習/トレーニング中に考慮に入れられない。しかしながら、本発明の発明者の研究は、これが有利な手法であるという洞察をもたらしている。詳細には、そのような手法により、何が省略されるかが知られる。さらに、発明者のシミュレーションは、以下でさらに説明されるように、これらの項がなくてもBPTTに劣らぬ高い性能が実現され得るという経験的証拠を提供している。
その上、実施形態によれば、剰余項Rはまた近似されてもよく、したがって、式13からの勾配のより良い近似が可能になる。
【0060】
図3は、スパイキング・ニューラル・ネットワーク300のスパイキング・ニューロン・ユニットSNU310を示す。
図3を参照して、実施形態による方法がスパイキング・ニューラル・ネットワーク(SNN)に適用され得ることが示される。
図3の中の破線はタイムラグとの接続を示し、太線はパラメータ化された接続を示す。SNU310は、ブロック入力320、ブロック出力321、リセット・ゲート322、および膜電位323を含む。
【0061】
歴史的に、SNNは、しばしばスパイク・タイミング依存の可塑性の変形形態で訓練され、最近は、たとえば、文献:Wozniak, S.、Pantazi, A.、Bohnstingl, T.、およびEleftheriou, E.のDeep learning incorporating biologically-inspired neural dynamics.arXiv、2018年12月、URL:https://arxiv.org/abs/1812.07040において、SNN用の勾配ベースのトレーニングが提案されている。
【0062】
そのような方法は、ANNベースの構築ブロックでSNNダイナミクスを作り直し、スパイキング・ニューロン・ユニットSNU310を形成することにより、ANN世界をSNN世界と橋渡しすることを目的とする。スパイキング・ニューラル・ネットワーク300のSNU310は、複数の入力信号を受信する。
【0063】
この手法により、SNUは勾配ベースの学習を可能にする。これにより、神経科学ではよく知られている漏れ積分発火(LIF)ニューロン・モデルのダイナミクスを再生しながら、ANN向けの既知の最適化技術の力を活用することが可能になる。
【0064】
上記に示されたように、本発明の実施形態による方法は、汎用RNNに使用されてもよいが、RNNとして定式化された深層SNNを訓練するために、実施形態に従って適用することもできる。これは以下に示される。SNUレイヤlの状態および出力の式から始まり、(Wozniakら、2018年)と比較する。
【0065】
【0066】
式15および16を使用することにより、
【数14】
のように、式10に従って適格度トレースを導出し、
ここで、
【数15】
および
【数16】
である。
【数17】
の簡単な表記法が使用されていることに留意されたい。
【0067】
平均平方誤差損失関数、たとえば、
【数18】
が目的とする出力の場合、学習信号は、
【数19】
のように計算することができる。
【0068】
RNNまたは再帰型SNUから構成されるk個のレイヤを有する深層ニューラル・ネットワークの場合、本発明の実施形態による方法は、O(kn
4)の時間計算量を有する。この時間計算量は、ネットワーク構造自体によって決定され、主に再帰行列H
lによって支配される。実施形態に従ってフィード・フォワード・アーキテクチャが使用される場合、H
lを含む項は消滅し、SNUの式は、
【数20】
になる。
【0069】
これらの式は、次いで、以下の適格度トレース
【数21】
につながり、ここで、
【数22】
であり、
【数23】
である。
【0070】
これにより、O(kn4)からO(kn2)に時間計算量が大幅に減少する。フィード・フォワードSNUネットワーク・アーキテクチャを使用することは、必ずしも時間タスクを解くことを妨害しない。そのようなネットワークは長くSNNで使用されており、それは、ネットワークが、レイヤ型再帰行列Hlではなく、自己再帰を使用して実装されたユニットの内部状態に依存するべきであることを暗示する。
【0071】
実施形態によれば、学習信号は、行列Wなしに、たとえば、Wの何らかのランダム化または近似に基づいて計算されてもよいことに留意されたい。より詳細には、学習信号は、前方経路において使用されない異なる行列に基づいて計算されてもよい。言い換えれば、前方経路は行列Wを使用することができ、学習信号は異なる行列Bに対して計算される。行列Bは訓練可能であってもなくてもよい。
【0072】
実施形態によれば、上記に提示された方法はまた、ハイブリッド・ネットワークに使用されてもよい。この点において、深層RNNまたはSNNにおける非常に一般的なシナリオは、それらが、しばしば、出力、たとえば、シグモイド・レイヤまたはソフトマックス・レイヤにおいてステートレス・ニューロンのレイヤと結合されることである。本発明の実施形態による方法はまた、いかなる修正もなしに、ステートレス・ニューロンの1つまたは複数のレイヤを含むこれらのハイブリッド・ネットワークを訓練するために適用することができる。詳細には、これらのレイヤの状態および出力の式は、
【数24】
に簡略化され、それは、式12の中の項
【数25】
を消滅させ、適格度トレースおよび学習信号を
【数26】
として計算することができ、
【数27】
である。
【0073】
ステートレス・レイヤはいかなる剰余項Rも導入しないことに留意されたい。これは、そのようなレイヤをネットワーク、さらにRNNレイヤ間に追加したときに、次のレイヤに対する勾配が変化しないままであるという効果を有する。
【0074】
図4aは、時間の経過に伴う逆伝搬(BPTT)技術と比較して本発明の実施形態による方法のテスト結果を示す。より詳細には、
図4aは、文献:Boulanger-Lewandowski, N.、Bengio, Y.、およびVincent, P.のModeling temporal dependencies in high-dimensional sequences:Application to polyphonic music generation and transcription, In Proceedings of the 29th International Conference on International Conference on Machine Learning, ICML’12, pp. 1881-1888, Madison, WI, USA, 2012.Omnipress. ISBN 9781450312851において紹介された、JSBデータセットに基づく音楽予測に関する。
【0075】
このために、標準的なトレーニング/テスト・データ分割が使用された。そのテストの場合、ハイブリッド・アーキテクチャは、150個のユニットを有するフィード・フォワードSNUレイヤおよび上部に88個のユニットを有するステートレス・レイヤ・シグモイド・レイヤを備える。ベースラインを取得するために、すべてのそのハイパーパラメータを含む同じネットワークは、本発明の実施形態による方法および1000個のエポックについてBPTTを用いて訓練された。Y軸は、10個のランダムな初期状態にわたって平均された負対数尤度を表記する。バー411はBPTT方法のトレーニングの結果を示し、バー412は本発明の実施形態による方法のトレーニングの結果を示す。さらに、バー413はBPTT方法の試運転の結果を示し、バー414は、本発明の実施形態による方法の試運転の結果を示す。
【0076】
図4aに示されたように、本発明の実施形態による方法を用いて得られた結果は、実際にはBPTTを用いて得られたこれらの結果と同等である。タスクは、BPTTと、単一のRNNレイヤおよび上部のステートレス・レイヤを有するハイブリッド・アーキテクチャ用の本発明の実施形態による方法の勾配の等価性を証明することに留意されたい。
【0077】
図4bに示されたように、このタスクは、フィード・フォワードSNN向けの本発明の実施形態による方法の低減された計算複雑性を立証するために使用されてもよい。この目的のために、JSB入力シーケンスの異なる入力シーケンス長(x軸)にわたって更新される1つのパラメータに対して、内蔵TensorFlowプロファイラを使用して、必要な浮動小数点演算MFLOP(y軸)の数が測定された(
図4b参照)。ライン422から分かるように、BPTTは時間展開を実行する必要があり、したがって、シーケンスの長さTに対する線形依存性があり、一方、ライン421によって示された本発明の実施形態による方法はそうではなく、したがって一定のままである。しかしながら、実際の実装形態では、経時的に本発明の実施形態による方法からの更新情報を蓄積する必要があり得、それらはBPTTと同じ複雑性をもたらす。本発明の実施形態による方法の最初の高いコストは、本発明の実施形態による方法がTensorFlowの標準ツールボックスに含まれていないので、実装のオーバーヘッドに起因することに留意されたい。それにもかかわらず、得られたプロットは理論的な複雑性分析と一致する。
【0078】
図5は、文献:Lecun, Y.、Bottou,L.、Bengio, Y.、およびHaffner, P.のGradient based learning applied to document recognition. Proc.、IEEE86(11):2278-2324、1998年11月、ISSN1558-2256、doi:10.1109/5.726791において紹介された、MNISTデータセットに基づく手書き数字分類に関する別のタスクのテスト結果を示す。
【0079】
再び、標準的なトレーニング/テスト・データ分割が使用された。テストによれば、256個のユニットを有するSNUの5つのレイヤのフィード・フォワード・アーキテクチャは、10個のランダムな初期状態にわたって平均する50個のエポックに対して採用され訓練された。
図4aおよび
図4bを参照して示されたタスクと同様に、本発明の実施形態による方法の精度は、BPTTのそれと一致する。y軸は精度(パーセンテージ)を表記し、x軸はエポックの数を表記し、ライン510はBPTTの結果を表記し、ライン520は本発明の実施形態による方法の結果を表記する。
【0080】
図6は、本発明の実施形態による方法がニューロモルフィック・ハードウェアにどのように実装され得るかを示す。ニューロモルフィック・ハードウェアは、詳細には、複数の行ライン610、複数の列ライン620、および複数の行ライン610と複数の列ライン620との間に配置された複数の接合点630を含むクロスバー・アレイを含む場合がある。各接合点630は、抵抗変化型メモリ素子640、特に抵抗変化型メモリ素子および抵抗変化型メモリ素子にアクセスするためのアクセス端子を含むアクセス素子の直列配列を含む。抵抗変化型素子は、たとえば、相変化メモリ素子、導電性ブリッジ・ランダム・アクセス・メモリ素子(CBRAM)、酸化金属抵抗変化型ランダム・アクセス・メモリ素子(RRAM)、磁気抵抗変化型ランダム・アクセス・メモリ素子(MRAM)、強誘電体ランダム・アクセス・メモリ素子(FeRAM)、または光学メモリ素子であってもよい。
【0081】
実施形態によれば、入力重みおよび再帰重みは、特に抵抗変化型素子の抵抗状態として、ニューロモルフィック・デバイスに配置されてもよい。
【0082】
そのような実施形態によれば、訓練可能な入力重みWlおよび訓練可能な再帰重みHlは、抵抗変化型メモリ素子640にマッピングされる。
【0083】
図7は、本発明の一実施形態による、ニューラル・ネットワーク700の簡略化された概略図を示す。ニューラル・ネットワーク700は、複数のニューロン・ユニット10を備える入力レイヤ710と、複数のニューロン・ユニット10を備える1つまたは複数の隠れレイヤ720と、複数のニューロン・ユニット10を備える出力レイヤ730とを備える。ニューラル・ネットワーク700は、ニューロン・ユニット10の間に複数の電気接続20を備える。電気接続20は、1つのレイヤから、たとえば、入力レイヤ710からのニューロンの出力を、次のレイヤ、たとえば、隠れレイヤ720のうちの1つからのニューロン・ユニットの入力に接続する。ニューラル・ネットワーク700は、特に、再帰型ニューラル・ネットワークとして具現化されてもよい。
【0084】
したがって、ネットワーク700は、矢印30によって図式的に示されたように、1つのレイヤから同じまたは前のレイヤからのニューロン・ユニットへの再帰接続を備える。
【0085】
図8は、再帰型ニューラル・ネットワークのパラメータを訓練するためのコンピュータ実装方法の方法ステップのフローチャートを示す。
【0086】
方法はステップ810から始まる。
【0087】
ステップ820において、トレーニング・データは、ニューラル・ネットワークによって受信され、または言い換えれば、ニューラル・ネットワークに提供される。トレーニング・データは、入力信号および予想出力信号を含む。
【0088】
ステップ830において、ニューラル・ネットワークは、ニューロン・ユニットごとに空間勾配成分を計算する。
【0089】
ステップ840において、ニューラル・ネットワークは、ニューロン・ユニットごとに時間勾配成分を計算する。
【0090】
ステップ850において、ニューラル・ネットワークは、入力信号の各時間インスタンスにおいてニューロン・ユニットごとに時間勾配成分および空間勾配成分を更新する。
【0091】
一実施形態によれば、ニューラル・ネットワークのパラメータの更新情報は、その後の時間ステップTまで蓄積し保留することができる。空間勾配成分および時間勾配成分の計算は、互いに独立して実行される。
【0092】
ステップ820~850は、ループ860において繰り返される。より詳細には、ステップ820~850は、特定または既定の時間インスタンスにおいて、特に各時間インスタンスにおいて繰り返されてもよい。
【0093】
図9を参照すると、本発明の実施形態による方法を実行するためのコンピューティング・システム900の例示的な実施形態が示されている。コンピューティング・システム900は、実施形態に従ってニューラル・ネットワークを形成することができる。コンピューティング・システム900は、多数の他の汎用コンピューティング・システムまたは専用コンピューティング・システムの環境または構成で動作可能であり得る。コンピューティング・システム900とともに使用することに適切な場合がある、よく知られたコンピューティング・システム、環境、または構成あるいはその組合せの例には、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マルチプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル家電製品、ネットワークPC、ミニコンピュータ・システム、メインフレーム・コンピュータ・システム、および上記のシステムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などが含まれるが、それらに限定されない。
【0094】
コンピューティング・システム900は、コンピュータ・システムによって実行されるプログラム・モジュールなどのコンピュータ・システム実行可能命令の一般的な文脈で記載される場合がある。一般に、プログラム・モジュールには、特定のタスクを実行するか、または特定の抽象データ・タイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、ロジック、データ構造などが含まれてもよい。コンピューティング・システム900は、汎用コンピューティング・デバイスの形態で示される場合がある。サーバ・コンピューティング・システム900のコンポーネントには、1つまたは複数のプロセッサまたは処理ユニット916、システム・メモリ928、およびシステム・メモリ928からプロセッサ916を含む様々なシステム・コンポーネントを結合するバス918が含まれてもよいが、それらに限定されない。
【0095】
バス918は、様々なバス・アーキテクチャのいずれかを使用する、メモリ・バスもしくはメモリ・コントローラ、周辺バス、加速グラフィックス・ポート、およびプロセッサまたはローカル・バスを含む、いくつかのタイプのバス構造のいずれかのうちの1つまたは複数を表す。例として、かつ限定ではなく、そのようなアーキテクチャには、業界標準アーキテクチャ(ISA)バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、拡張ISA(EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA)ローカル・バス、および周辺装置相互接続(PCI)バスが含まれる。
【0096】
コンピューティング・システム900は、通常、様々なコンピュータ・システム可読媒体を含む。そのような媒体は、コンピューティング・システム900によってアクセス可能な任意の利用可能な媒体であってもよく、それは揮発性と不揮発性の両方の媒体、リムーバルおよび非リムーバルの媒体を含む。
【0097】
システム・メモリ928は、ランダム・アクセス・メモリ(RAM)930またはキャッシュ・メモリ932あるいはその両方などの、揮発性メモリの形態のコンピュータ・システム可読媒体を含むことができる。コンピューティング・システム900は、他のリムーバブル/非リムーバブル、揮発性/不揮発性のコンピュータ・システム記憶媒体をさらに含む場合がある。ほんの一例として、ストレージ・システム934は、(図示されず、通常「ハード・ドライブ」と呼ばれる)非リムーバブル、不揮発性の磁気媒体から読み取り、それに書き込むために設けることができる。図示されていないが、リムーバブル、不揮発性の磁気ディスク(たとえば、「フロッピー(R)・ディスク」)から読み取り、それに書き込むための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、または他の光学媒体などのリムーバブル、不揮発性の光ディスクから読み取り、それに書き込むための光ディスク・ドライブを設けることができる。そのようなインスタンスでは、各々は、1つまたは複数のデータ媒体インターフェースによってバス918に接続することができる。以下にさらに描写され記載されるように、メモリ928は、本発明の実施形態の機能を実行するように構成された一組(たとえば、少なくとも1つ)のプログラム・モジュールを有する少なくとも1つのプログラム製品を含む場合がある。
【0098】
一組(少なくとも1つ)のプログラム・モジュール942、ならびに、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データを有するプログラム/ユーティリティ940は、例として、かつ限定ではなく、メモリ928に記憶されてもよい。オペレーティング・システム、1つもしくは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプラグラム・データの各々、またはそれらの何らかの組合せは、ネットワーキング環境の実装形態を含む場合がある。プログラム・モジュール942は、一般に、本明細書に記載された本発明の実施形態の機能または方法あるいはその両方を実行する。プログラム・モジュール942は、特に、再帰型ニューラル・ネットワークを訓練するためのコンピュータ実装方法の1つまたは複数のステップ、たとえば、
図1、
図2、および
図8を参照して記載された方法の1つまたは複数のステップを実行することができる。
【0099】
コンピューティング・システム900はまた、キーボード、ポインティング・デバイス、ディスプレイ924などの1つもしくは複数の外部デバイス915、ユーザがコンピューティング・システム900と対話することを可能にする1つもしくは複数のデバイス、またはコンピューティング・システム900が1つもしくは複数の他のコンピューティング・デバイスと通信することを可能にする任意のデバイス(たとえば、ネットワーク・カード、モデムなど)あるいはその組合せと通信することができる。そのような通信は、入力/出力(I/O)インターフェース922を介して行うことができる。それでもさらに、コンピューティング・システム900は、ネットワーク・アダプタ920を介して、ローカル・エリア・ネットワーク(LAN)、一般的なワイド・エリア・ネットワーク(WAN)、またはパブリック・ネットワーク(たとえば、インターネット)あるいはその組合せなどの、1つまたは複数のネットワークと通信することができる。描写されたように、ネットワーク・アダプタ920は、バス918を介してコンピューティング・システム900の他のコンポーネントと通信する。図示されていないが、コンピューティング・システム900と連携して、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方が使用され得ることを理解されたい。例には、マイクロコード、デバイス・ドライバ、冗長処理ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが含まれるが、それらに限定されない。
【0100】
本発明は、任意の可能な技術的に詳細な統合レベルでのシステム、方法、またはコンピュータ・プログラム製品あるいはその組合せであり得る。コンピュータ・プログラム製品は、本発明の態様をプロセッサに実行させるためのコンピュータ可読プログラム命令を有する、1つまたは複数のコンピュータ可読記憶媒体を含む場合がある。
【0101】
コンピュータ可読記憶媒体は、命令実行デバイスが使用するための命令を保持し記憶することができる有形デバイスであり得る。コンピュータ可読記憶媒体は、たとえば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、または前述の任意の適切な組合せであり得るが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例の非網羅的なリストは、以下のポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取り専用メモリ(ROM)、消去可能プログラマブル読取り専用メモリ(EPROMまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM)、ポータブル・コンパクト・ディスク読取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD)、メモリ・スティック、フロッピー(R)・ディスク、パンチ・カードまたはそこに記録された命令を有する溝の中の隆起構造などの機械的符号化デバイス、および前述の任意の適切な組合せを含む。本明細書で使用されるコンピュータ可読記憶媒体は、電波もしくは他の自由伝搬電磁波、導波管もしくは他の伝送媒体を通って伝搬する電磁波(たとえば、光ファイバ・ケーブルを通る光パルス)、またはワイヤを通って送信される電気信号などの、本質的に一過性の信号と解釈されるべきではない。
【0102】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体からそれぞれの計算/処理デバイスに、あるいはネットワーク、たとえば、インターネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、もしくはワイヤレス・ネットワークまたはその組合せを介して、外部コンピュータまたは外部ストレージ・デバイスにダウンロードすることができる。ネットワークは、銅製伝送ケーブル、光伝送ケーブル、ワイヤレス伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバあるいはその組合せを備える場合がある。各計算/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェースは、ネットワークからコンピュータ可読プログラム命令を受信し、それぞれの計算/処理デバイス内のコンピュータ可読記憶媒体に記憶するためにコンピュータ可読プログラム命令を転送する。
【0103】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA)命令、機械命令、機械依存命令、マイクロコード、ファームウェア命令、状態設定データ、集積回路用構成データ、または、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語もしくは同様のプログラミング言語などの手続き型プログラミング言語を含む1つもしくは複数のプログラミング言語の任意の組合せで書かれたソースコードもしくはオブジェクトコードであり得る。コンピュータ可読プログラム命令は、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロン・ソフトウェア・パッケージとして、部分的にユーザのコンピュータ上で、かつ部分的にリモート・コンピュータ上で、または全体的にリモート・コンピュータもしくはサーバ上で実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含む任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または接続は、(たとえば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部のコンピュータに対して行われてもよい。いくつかの実施形態では、たとえば、プログラマブル論理回路、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはプログラマブル論理アレイ(PLA)を含む電子回路は、本発明の態様を実行するために、コンピュータ可読プログラム命令の状態情報を利用して電子回路を個人向けにすることにより、コンピュータ可読プログラム命令を実行することができる。
【0104】
本発明の態様は、本発明の実施形態による、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して本明細書に記載されている。フローチャート図またはブロック図あるいはその両方の各ブロック、およびフローチャート図またはブロック図あるいはその両方のブロックの組合せは、コンピュータ可読プログラム命令によって実装できることが理解されよう。
【0105】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定された機能/動作を実現するための手段を作成するように、汎用コンピュータ、専用コンピュータ、または機械を生成する他のプログラマブル・データ処理装置に提供される場合がある。これらのコンピュータ可読プログラム命令はまた、命令を記憶しているコンピュータ可読記憶媒体が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定された機能/動作の態様を実現する命令を含む製造品を備えるように、コンピュータ、プログラマブル・データ処理装置、または他のデバイスあるいはその組合せに特定の方式で機能するように指示することができるコンピュータ可読記憶媒体に記憶される場合がある。
【0106】
コンピュータ可読プログラム命令はまた、コンピュータ、他のプログラマブル装置、または他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定された機能/動作を実現するように、一連の動作ステップがコンピュータ、他のプログラマブル装置、または他のデバイス上で実行されるようにしてコンピュータ実装プロセスを生成するために、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードされる場合がある。
【0107】
図の中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態のアーキテクチャ、機能、および動作を示す。この点に関連して、フローチャートまたはブロック図内の各ブロックは、指定された論理機能を実現するための1つまたは複数の実行可能命令を含む命令のモジュール、セグメント、または部分を表すことができる。いくつかの代替の実装形態では、ブロック内で言及された機能は、図の中で言及された順序以外で行われてもよい。たとえば、連続して示された2つのブロックは、実際には、関与する機能に応じて、実質的に並行して実行されてもよく、またはブロックは時々逆の順序で実行されてもよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、およびブロック図またはフローチャート図あるいはその両方のブロックの組合せは、指定された機能もしくは動作を実行するか、または専用ハードウェアおよびコンピュータ命令の組合せを実行する専用ハードウェア・ベース・システムによって実現することができることに留意されたい。
【0108】
本発明の様々な実施形態の説明は例示目的で提示されているが、開示された実施形態に徹底または限定するものではない。記載された実施形態の範囲および思想から逸脱することなく、多くの修正および変形が当業者には明白であろう。本明細書で使用された用語は、実施形態の原理、実際の用途、もしくは市場で見つかる技術に対する技術的な改善を最も良く説明するために、または他の当業者が本明細書に開示された実施形態を理解することを可能にするために選択された。
【0109】
一般に、一実施形態について記載された修正は、必要に応じて別の実施形態に適用されてもよい。
【0110】
以下では、深層ニューラル・ネットワーク、特にマルチ・レイヤ・アーキテクチャを含む再帰型ネットワークのための本発明の実施形態による方法の詳細な微分が補足説明として提供される。
多くの先行技術のアプリケーションはマルチ・レイヤ・ネットワークに依存し、その中で、誤差E
tは、最後の出力レイヤkの関数にすぎない、すなわち、
【数28】
である。本発明の実施形態によれば、状態および出力の式は以下のように適合される。
【0111】
【数29】
この再定式化を使用して、式2は以下のように一般化することができる。
【数30】
k=lである、マルチ・レイヤ・ネットワークの最後のレイヤの場合、単一のレイヤに対して式33は式2に対応する。しかしながら、隠れレイヤ、すなわち、k≠lの場合、項
【数31】
は以下のように拡張される。
【数32】
再帰項
【数33】
を
【数34】
のように定義し、以下の属性を有する。
【数35】
k≠lの場合の項
【数36】
は時間の再帰を含むが、さらに、それは空間の再帰を含み、すなわち、それは他のレイヤ、たとえば、(k-1)番目のレイヤに依存する。
式33に項
【数37】
を挿入した場合、
【数38】
が取得される。
式38の右辺は、より複雑な表現
【数39】
に拡張され、2つの再帰、空間の
【数40】
および時間の
【数41】
が明らかになる。
【数42】
を空間の十分遠くに拡張すると、それは最終的に
【数43】
に到達する。したがって、式39を
【数44】
と書き換えることができ、すべての残りの項が剰余項Rに収集される。加えて、一般化された学習信号
【数45】
および一般化された適格度トレース
【数46】
が
【数47】
と定義される。
式10~11を参照されたい。これにより、パラメータ更新を
【数48】
と表現することが可能になる、式13を参照されたい。実施形態に従って剰余項Rを省略することにより、式14に到達する。