IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インターナショナル・ビジネス・マシーンズ・コーポレーションの特許一覧

特表2023-550921ニューラル・ネットワークにおける重みに基づく調節
<>
  • 特表-ニューラル・ネットワークにおける重みに基づく調節 図1
  • 特表-ニューラル・ネットワークにおける重みに基づく調節 図2
  • 特表-ニューラル・ネットワークにおける重みに基づく調節 図3
  • 特表-ニューラル・ネットワークにおける重みに基づく調節 図4
  • 特表-ニューラル・ネットワークにおける重みに基づく調節 図5
  • 特表-ニューラル・ネットワークにおける重みに基づく調節 図6
  • 特表-ニューラル・ネットワークにおける重みに基づく調節 図7
  • 特表-ニューラル・ネットワークにおける重みに基づく調節 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-12-06
(54)【発明の名称】ニューラル・ネットワークにおける重みに基づく調節
(51)【国際特許分類】
   G06N 3/08 20230101AFI20231129BHJP
【FI】
G06N3/08
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023530205
(86)(22)【出願日】2021-11-04
(85)【翻訳文提出日】2023-05-18
(86)【国際出願番号】 IB2021060196
(87)【国際公開番号】W WO2022112888
(87)【国際公開日】2022-06-02
(31)【優先権主張番号】17/106,356
(32)【優先日】2020-11-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【弁理士】
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【弁理士】
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】デッラフェレーラ、ジョルジア
(72)【発明者】
【氏名】ウォズニアック、スタニスラフ
(72)【発明者】
【氏名】パンタツ、アンゲリキ
(72)【発明者】
【氏名】エレフセリウー、エヴァンゲロス、スタブロス
(57)【要約】
本明細書では、ノードおよびノードのうちの選択されたノード間の重み付けされた接続を含むニューラル・ネットワークのトレーニングが説明される。トレーニング中の望ましい活性および現在の活性の関数が、接続の重み値を調整するために使用されるフィードバック信号をもたらす。重み値更新サイクルの間に、プロセスは、接続の現在の重み値に基づいてさまざまなノードの重要性値を決定し、接続に関するフィードバック信号から導出された勾配値および調整行列の決定された対応する要素の組合せによって、接続の各重み値に固有のフィードバック信号の調整を決定する。更新サイクルの間に、更新が接続に適用される。
【特許請求の範囲】
【請求項1】
ニューラル・ネットワークをトレーニングするための方法であって、
ノードのセットの選択されたノード間の重み付けされた接続の対応する重み値に基づいて、ニューラル・ネットワークの前記ノードのセットの重要性値のセットを決定することと、
前記ノードのセットの前記決定された重要性値に依存する値を含んでいる調整行列を決定することと、
第1の重み付けされた接続に関するフィードバック信号から導出された勾配値および前記調整行列の対応する要素の組合せによって、前記第1の重み付けされた接続の第1の重み値の第1の更新された値を決定することであって、前記フィードバック信号が、第1のトレーニング・サイクルの間の前記第1の重み付けされた接続の望ましい活性および現在の活性の関数を表す、前記決定することと、
前記第1の更新された値を含んでいる前記調整行列に従って、更新を、前記第1の重み付けされた接続を含んでいる前記重み付けされた接続に適用することとを含む、方法。
【請求項2】
トレーニング・サイクルが更新サイクルと交互に入れ替わり、
更新を前記適用することが、第1の更新サイクルの間に、前記第1のトレーニング・サイクルの後に発生する、請求項1に記載の方法。
【請求項3】
前記重要性値のセットを決定することが、
前記ノードのセットへ受信する識別された重み付けされた接続の重み値の合計を構築することを含む、請求項1に記載の方法。
【請求項4】
時間ステップtでの前記ニューラル・ネットワークの層l内のノードaごとの前記重要性値
【数1】
が、aに等しいシナプス後ニューロンを含んでいる層lのすべての重み値
【数2】
の絶対強度の合計である、請求項3に記載の方法。
【請求項5】
前記重要性値を決定することが、
前記ノードのセットから発信する重み付けされた接続の重み値の合計を決定することを含む、請求項1に記載の方法。
【請求項6】
時間ステップtでの前記ニューラル・ネットワークの層l内のノードaごとの前記重要性値
【数3】
が、aに等しいシナプス前ニューロンを含んでいる層l+1のすべての重み値
【数4】
の絶対強度の合計である、請求項5に記載の方法。
【請求項7】
時間ステップtで、層l内のノードaに対して、調整行列の第1の更新値
【数5】
が、
ノードaの重要性値
【数6】
と層l内のすべてのニューロンのうちの最大重要性値との比率に、
2を掛けて積を形成し、
前記積が1によって下限を制限されるように決定される、請求項1に記載の方法。
【請求項8】
重み付けされた接続の1つの層内の前記重み付けされた接続の各重み値に固有の前記第1の更新値
【数7】
が、前記ニューラル・ネットワーク内の前記重み付けされた接続の少なくとも1つの上流の層にも影響を与える、請求項7に記載の方法。
【請求項9】
前記第1の更新値
【数8】
を直接適用して
【数9】
を決定することをさらに含み、
【数10】
が、時間ステップtでの、層l-1内のノードpre(pre)を層l内の前記ノードpostに接続する前記重み値である、請求項8に記載の方法。
【請求項10】
重み付けされた接続の1つの層内の前記重み付けされた接続の各重み値に固有の前記更新値
【数11】
が、前記ニューラル・ネットワーク内の前記重み付けされた接続のすべての上流の層に対して中立である、請求項7に記載の方法。
【請求項11】
各層内の各ノードに固有の接続の前記重み値を調整することが、
前記フィードバック信号から導出された前記勾配値に、調整係数値
【数12】
を掛けることを含む、請求項10に記載の方法。
【請求項12】
前記フィードバック信号が、
(a)逆伝搬、
(b)フィードバック・アライメント、
(c)直接的フィードバック・アライメント、および
(d)間接的フィードバック・アライメントから成る群の要素である、請求項1に記載の方法。
【請求項13】
前記トレーニングが、
(a)確率的勾配降下法、
(b)Adamオプティマイザ手法、
(c)Nesterov加速勾配法、および
(d)RMSprop法から成る群から選択された方法によって実行される、請求項1に記載の方法。
【請求項14】
ニューラル・ネットワークをトレーニングするためのニューラル・ネットワーク・トレーニング・システムであって、前記ニューラル・ネットワークが、ノードおよび前記ノードのうちの選択されたノード間の重み付けされた接続を含み、トレーニング中の望ましい活性および現在の活性の関数が、前記接続の重み値を調整するために使用されるフィードバック信号をもたらし、前記システムが、
メモリと、
プロセッサとを備え、
前記メモリが、前記プロセッサが、更新サイクルごとに、
前記接続の現在の重み値に基づいてノードごとに重要性値を決定することと、
前記決定された重要性値に依存する値を含んでいる調整行列を決定することと、
接続に関する前記フィードバック信号から導出された勾配値および前記調整行列の前記決定された対応する要素の組合せによって、前記接続の各重み値に固有の更新された値を決定することと、
すべての更新サイクルの間に、前記更新を前記接続に適用することとを可能にするためのプログラム・コード部分を格納する、ニューラル・ネットワーク・トレーニング・システム。
【請求項15】
ノードごとに前記重要性値を決定するために、前記プログラム・コード部分が、前記プロセッサが、
ノードへ受信する接続の重み値の合計を構築することをさらに可能にする、請求項14に記載のニューラル・ネットワーク・トレーニング・システム。
【請求項16】
時間ステップtでの前記ニューラル・ネットワークの層l内のノードaごとの前記重要性値
【数13】
が、aに等しいシナプス後ニューロンを含んでいる層lのすべての重み値
【数14】
の絶対強度の合計である、請求項15に記載のニューラル・ネットワーク・トレーニング・システム。
【請求項17】
ノードごとに前記重要性値を決定することが、
ノードの発信する接続の重み値の前記合計を決定することを含む、請求項14に記載のニューラル・ネットワーク・トレーニング・システム。
【請求項18】
時間ステップtでの前記ニューラル・ネットワークの層l内のノードaごとの前記重要性値
【数15】
が、aに等しいシナプス前ニューロンを含んでいる層l+1のすべての重み値
【数16】
の絶対強度の合計である、請求項17に記載のニューラル・ネットワーク・トレーニング・システム。
【請求項19】
時間ステップtで、層l内のノードaに対して、前記調整行列の局所的更新係数値
【数17】
が、
ノードaの前記重要性値
【数18】
と層l内のすべてのニューロンのうちの前記最大重要性との比率に、
2を掛けて積を形成し、
前記積が1によって下限を制限されるように決定される、請求項14に記載のニューラル・ネットワーク・トレーニング・システム。
【請求項20】
接続の1つの層内の前記接続の各重み値に固有の前記局所的更新係数値
【数19】
が、前記ニューラル・ネットワーク内の前記接続の少なくとも1つの上流の層にも影響を与える、請求項19に記載のニューラル・ネットワーク・トレーニング・システム。
【請求項21】
前記調整係数値
【数20】
を直接適用して
【数21】
を決定することをさらに含み、
【数22】
が、時間ステップtでの、層l-1内のノードpre(pre)を層l内の前記ノードa(post=a)に接続する前記重み値である、請求項20に記載のニューラル・ネットワーク・トレーニング・システム。
【請求項22】
接続の1つの層内の前記接続の各重み値に固有の前記局所的更新係数値
【数23】
が、前記ニューラル・ネットワーク内の前記接続の少なくとも1つの上流の層に対して中立である、請求項19に記載のニューラル・ネットワーク・トレーニング・システム。
【請求項23】
接続の1つの層内の前記接続の各重み値に固有の前記更新値
【数24】
が、前記ニューラル・ネットワーク内の前記接続のすべての上流の層に対して中立である、請求項19に記載のニューラル・ネットワーク・トレーニング・システム。
【請求項24】
各層内の各ノードに固有の接続の前記重み値を前記更新することが、
前記フィードバック信号から導出された前記勾配値に、調整係数値
【数25】
を掛けることを含む、請求項23に記載のニューラル・ネットワーク・トレーニング・システム。
【請求項25】
ニューラル・ネットワークのトレーニングのためのコンピュータ・プログラム製品であって、前記ニューラル・ネットワークが、ノードおよび前記ノードのうちの選択されたノード間の重み付けされた接続を含み、トレーニング中の望ましい活性および現在の活性の関数が、前記接続の重み値を調整するために使用されるフィードバック信号をもたらし、前記コンピュータ・プログラム製品が、
プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備え、前記プログラム命令が、1つまたは複数のコンピューティング・システムまたはコントローラによって実行可能であり、前記1つまたは複数のコンピューティング・システムに、
前記1つまたは複数のコンピューティング・システムによって、前記接続の現在の重み値に基づいてノードごとに重要性値を決定することと、
前記1つまたは複数のコンピューティング・システムによって、前記決定された重要性値に依存する値を含んでいる調整行列を決定することと、
前記1つまたは複数のコンピューティング・システムによって、接続に関する前記フィードバック信号から導出された勾配値および前記調整行列の前記決定された対応する要素の組合せによって、前記接続の各重み値に固有の更新された値を決定することと、
前記1つまたは複数のコンピューティング・システムによって、すべての更新サイクルの間に、前記更新を前記接続に適用することとを実行させる、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般に、ニューラル・ネットワークをトレーニングするためのコンピュータ実装方法に関し、より詳細には、ノードおよび選択されたノード間の重み付けされた接続を含んでいるニューラル・ネットワークに関する。
【背景技術】
【0002】
研究コミュニティおよび企業のIT(information technology:情報技術)組織では、AI(artificial intelligence:人工知能)および機械学習が、現在主流となっている最先端の技術である。複数の手法が、機械学習のための効果的なツールとして適用されている。特定の種類の問題の場合、人工ニューラル・ネットワーク(ANN:artificial neural networks)または深層ニューラル・ネットワーク(DNN:deep neural networks)が、人工知能の応用を支援するための技術アーキテクチャによく適していることがある。
【0003】
ニューラル・ネットワークは、分類または予測などの推論タスクに使用され得る前に、教師あり、半教師あり、または教師なしであってよいトレーニングを必要とする。現在、通常、複数の注釈付きのトレーニング・データを必要とすることがある教師あり学習技術が使用される。トレーニング中に、入力データに基づいて、ニューラル・ネットワークは、望ましい結果(すなわち、注釈)と比較され得る1つまたは複数の出力信号を生成する。ニューラル・ネットワークの異なる層のノード間の接続またはエッジの重み係数値を調整するために、これら2つの間の関数が使用されることがある。
【0004】
逆伝搬は、多種多様なタスクにおいて深層ニューラル・ネットワークをトレーニングするために現在最も使用されているアルゴリズムである。逆伝搬(BP:backpropagation)の重みの輸送および対称性の問題に対処するために、さまざまな技術が開発された。それらの一部は、フィードバック・アライメント(FA:feedback alignment)、直接的フィードバック・アライメント(DFA:direct feedback alignment)、および間接的フィードバック・アライメント(IFA:indirect feedback alignment)である。
【0005】
損失関数を最小化するために、BP、FA、DFA、およびIFAは、確率的勾配降下法(SGD:stochastic gradient descent)および他のオプティマイザの方法に依存する。基本的に、SGDは、変異の空間内で、学習された重み値の結合されたセットを大域的最小値または局所的最小値に向かわせ得る。それによって、SGDの収束は、学習率(η)に強く依存する。学習率スケジュール手法は、この収束を改善し得るが、時間のかかる手動の調整およびハイパーパラメータの適応を必要とすることもあり、各ステップで、すべてのパラメータに関して等しい学習率を保つ。
【0006】
モーメンタムに基づくオプティマイザなどの一部のオプティマイザは、不均質な更新を実行し得るが、モーメンタム推定値をメモリ(すなわち、基礎になるコンピュータ・システムのメイン・メモリ)に格納することを必要とすることもある。これが、そのような手法のより高い計算コストの理由になることがある。
【0007】
したがって、収束率を改善するために導入された古典的なSGDの既存の変更は、不利に、ハイパーパラメータの手動の調整または追加のメモリのいずれかを必要とする。
【0008】
画像検索または画像分類のためのパラメータ・トレーニングが知られている。モデル・パラメータを使用して目的関数に対して反復計算を実行することが知られており、この目的関数は、画像トレーニングに使用されるコスト関数である。
【0009】
深層学習アーキテクチャの増大する複雑さは、「消滅する勾配」に起因して、数週間または数か月さえ必要とする、ますます長いトレーニング時間をもたらすことがある。各層およびネットワークに固有の学習率を使用し、関数の曲率に適応することができ、低曲率点での学習率を増やす、深層ニューラル・ネットワークのトレーニングが知られている。
【発明の概要】
【0010】
本発明の1つの態様では、ニューラル・ネットワークをトレーニングするための方法、コンピュータ・プログラム製品、およびシステムが、(i)ノードのセットの選択されたノード間の重み付けされた接続の対応する重み値に基づいて、ニューラル・ネットワークのノードのセットの重要性値のセットを決定することと、(ii)ノードのセットの決定された重要性値に依存する接続値を含んでいる調整行列を決定することと、(iii)第1の重み付けされた接続に関するフィードバック信号から導出された勾配値および調整行列の対応する要素の組合せによって、第1の重み付けされた接続の第1の重み値の第1の更新された値を決定することであって、フィードバック信号が、第1のトレーニング・サイクルの間の第1の重み付けされた接続の望ましい活性および現在の活性の関数を表す、決定することと、(iv)第1の更新された値を含んでいる調整行列に従って、更新を、第1の重み付けされた接続を含んでいる重み付けされた接続に適用することとを含む。
【0011】
本発明の1つの態様によれば、ノードおよびノードのうちの選択されたノード間の重み付けされた接続を含み得るニューラル・ネットワークのトレーニングのためのコンピュータ実装方法が提供されてよい。それによって、トレーニング中の望ましい活性および現在の活性の関数が、重み値更新サイクルごとに接続の重み値を調整するために使用され得るフィードバック信号をもたらす。
【0012】
この方法は、更新サイクルごとに、接続の現在の重み値に基づいてノードごとの重要性値を決定することと、決定された重要性値に依存する値を含んでいる調整行列を決定することとを含んでよい。さらに、この方法は、更新サイクルごとに、接続に関するフィードバック信号から導出された勾配値および調整行列の決定された対応する要素の組合せによって、接続の各重み値に固有の局所的な更新された値を決定することと、すべての更新サイクルの間に、更新を接続に適用することとを含んでよい。
【0013】
本発明の別の態様によれば、ノードおよびノードのうちの選択されたノード間の重み付けされた接続を含み得るニューラル・ネットワークのトレーニングのためのニューラル・ネットワーク・トレーニング・システムが提供されてよい。それによって、トレーニング中の望ましい活性および現在の活性の関数が、接続の重み値を調整するために使用され得るフィードバック信号をもたらす。
【0014】
このシステムは、メモリおよびプロセッサを備えてよく、メモリは、プロセッサが、更新サイクルごとに、接続の現在の重み値に基づいてノードごとに重要性値を決定することと、決定された重要性値に依存する値を含んでいる調整行列を決定することと、接続に関するフィードバック信号から導出された勾配値および調整行列の決定された対応する要素の組合せによって、接続の各重み値に固有の局所的な更新された値を決定することと、すべての更新サイクルの間に、更新を接続に適用することとを可能にするために、プログラム・コード部分を格納する。
【0015】
本発明の実施形態が、さまざまな主題を参照して説明されるということに注意するべきである。特に、一部の実施形態は、方法タイプの請求項を参照して説明され、一方、他の実施形態は、装置タイプの請求項を参照して説明される。しかし、当業者は、前述の説明および以下の説明から、特に注記のない限り、主題の1つの種類に属している特徴の任意の組合せに加えて、異なる主題に関連する特徴間、特に、方法タイプの請求項の特徴間、および装置タイプの請求項の特徴間の任意の組合せも、本文書内で開示されると見なされるということを推測するであろう。
【0016】
上で定義された態様および本発明のさらなる態様は、以下に記載された実施形態の例から明らかになり、実施形態の例を参照して説明されるが、本発明はこれらに限定されない。
【0017】
以下の図面を単に例として参照し、本発明の一部の実施形態について説明する。
【図面の簡単な説明】
【0018】
図1】ニューラル・ネットワークのトレーニングのための本発明のコンピュータ実装方法の実施形態のブロック図を示す図である。
図2】複数の層を含むニューラル・ネットワークの実施形態のブロック図を示す図である。
図3】特定のノードの重要性値を導出するのに役立つ行列の実施形態を示す図である。
図4】重みの更新を決定する次のステップに役立つ行列としても示される、更新値の決定を示す図である。
図5】局所的実施形態の特定のノードの重要性に基づいて重みの更新の決定のステップを示す図である。
図6】非局所的実施形態の場合の重み値の更新メカニズムを示す図である。
図7】本発明のニューラル・ネットワーク・トレーニング・システムを示す図である。
図8図7に従って、統合された発明のニューラル・ネットワーク・トレーニング・システムを含むコンピューティング・システムを示す図である。
【発明を実施するための形態】
【0019】
本明細書では、ノードおよびノードのうちの選択されたノード間の重み付けされた接続を含むニューラル・ネットワークのトレーニングが説明される。トレーニング中の望ましい活性および現在の活性の関数が、接続の重み値を調整するために使用されるフィードバック信号をもたらす。重み値更新サイクルの間に、プロセスは、接続の現在の重み値に基づいてさまざまなノードの重要性値を決定し、接続に関するフィードバック信号から導出された勾配値および調整行列の決定された対応する要素の組合せによって、接続の各重み値に固有のフィードバック信号の調整を決定する。更新サイクルの間に、更新が接続に適用される。
【0020】
本発明の一部の実施形態は、従来技術において、累算された中間値をメモリに格納することを必要とするという不利益が未解決のままであるということを認識する。したがって、深層ニューラル・ネットワークのトレーニングの現在知られている制限を克服し、それによって、トレーニング時間だけでなく、必要とされるメモリ量を減らし、推論の精度を向上させることに対する必要性が存在する。
【0021】
本説明の文脈において、以下の規則、用語、または表現、あるいはその組合せが使用されてよい。
【0022】
「ニューラル・ネットワーク」(NN:neural network)という用語は、脳から発想を得た、手続き型プログラミングとは対照的に推論のためにトレーニングされ得る、ノードおよびノード間の接続のネットワークを示してよい。ノードは層内で編成されてよく、接続は、ノードのうちの選択されたノード間の関係の選択的強度を表す重み値を持ってよい。重み値は、ニューラル・ネットワークのパラメータを定義する。ニューラル・ネットワークは、例えば、ニューラル・ネットワークの入力層で受信されたデータの分類のために、サンプル・データを使用してトレーニングされてよく、分類の結果が、信頼性値と共に、ニューラル・ネットワークの出力層で使用可能にされ得る。(入力層および出力層に加えて)複数の隠れ層を含んでいるニューラル・ネットワークは、通常、深層ニューラル・ネットワーク(DNN)として示される。
【0023】
「ノード」という用語は、ニューラル・ネットワーク内のノードの上流の層からの複数の接続を介する複数の受信信号に依存し得る出力値を有する、計算機能(例えば、ReLU)を表す計算ノードを示してよい。
【0024】
「重み付けされた接続」という用語は、ニューラル・ネットワーク内のノード間のリンクまたはエッジを示してよい。異なる隣接する層内のノード間のリンクの強度は、接続の重み値によって表されてよい。
【0025】
「フィードバック信号」という用語は、ニューラル・ネットワークの現在の出力および期待される出力から導出された信号を示してよく、単に2つの値間の差であることもある。フィードバック信号は、さらに複雑な関数であってもよく、実際の出力および目標出力の関数であってもよい。フィードバック信号は、例えば逆伝搬によって、ニューラル・ネットワークの重み値をさらに適応させるために使用されてよい。
【0026】
「アダマール積」という用語は、等しい次元の2つの行列の特殊な数学的積を示し、オペランドと同じ次元の別の行列を生成することができ、各要素i、jが、元の2つの行列の要素i、jの積になる。
【0027】
「重み値」という用語は、ニューラル・ネットワーク内の2つのノード間の接続の強度値を表してよい。接続の重み値は、符号付きであってよく、正の場合は興奮性であり、負の場合は抑制性であるように定義されてよい。接続は、重みの絶対値が比較的大きい場合に強くてよく、そうでない場合に弱くてよい。
【0028】
「更新サイクル」という用語は、ニューラル・ネットワークの重み値が更新され得るようになる前の期間(パラメータとして示されることもある)を示してよい。この更新は、(単純な事例では)単一のトレーニング・サンプルまたは複数のトレーニング・サンプルの後に実行されてよい。この期間は、適応可能であるか、または構成可能であるか、あるいはその両方であってよく、ニューラル・ネットワークの学習成果に応じて自己最適化されてよい。重み値の更新は、例えば、32個または64個のトレーニング・サンプルの後に実行されてよく、トレーニング・サンプルの総数、およびトレーニング過程の間に更新サイクルの期間を変更するアルゴリズムに依存してよく、またはしきい値の超過に依存してよい。重みの更新が、「ミニバッチ」と呼ばれるトレーニング・サンプルのグループの後に実行され得る場合、サンプルごとに調整が実行されてよく、各サンプルで調整された勾配が累算され、最後のサンプルの後に、重みが更新される。
【0029】
「重要性値」という用語は、ニューラル・ネットワークの選択された層内の選択されたノードに割り当てられた数値を示してよい。1つの実施形態では、重要性値は、選択されたノードへの受信接続のすべての重み値(または例えば、重み値の(数学的意味での)絶対値)の合計として導出可能であってよい。代替の実施形態では、重要性値は、ノードのすべての発信接続の重み値の合計であってよい。一般に、絶対重み値の合計が大きいほど、重要性が大きくなる。重要性値は、NNを通って入力層から出力層に移動する信号に影響を与えるための、特定のノードの責任と見なされてもよい。
【0030】
「調整行列」という用語は、重要性値から導出された、[1,2]の範囲内にあるスカラー値の行列を示してよい。調整行列は、特定の範囲に正規化された重要性値と見なされてもよい。
【0031】
「フィードバック信号から導出された勾配値」という用語は、学習ニューラル・ネットワークのパラメータ空間内の最小値の方向を曖昧に指し示す多次元空間内の方向を示してよい。一般に、学習プロセスが完了し得る場合に(すなわち、損失関数が最適化され得る場合に)、最小値に到達し得る。
【0032】
「ノードへ受信する接続」という用語は、ノードで終了するすべての接続を示してよい。ノードは、接続によって表されたシナプスの後ろに位置付けられるため、(この場合)シナプス後として示されてよい。
【0033】
「ノードの発信する接続」という用語は、受信接続とは対照的に、選択されたノードから「離れる」すべての接続を示してよい。そのようなノードは、NN内でシナプス(すなわち、接続)の前に位置付けられるため、シナプス前として示されてよい。
【0034】
「上流の層」という用語は、それらの層がNNの入力層のより近くに位置付けられるように、示してよい(選択された層から見えてよい)。
【0035】
「逆伝搬」(BP)という用語は、教師あり学習のためにフィードフォワード・ニューラル・ネットワークをトレーニングすることにおいて広く使用されているアルゴリズムを示してよい。ニューラル・ネットワークを適合させる(すなわち、トレーニングする)ことにおいて、逆伝搬法は、単一(または複数)の入出力トレーニング・データに対して、NNの重み値に関する損失関数の勾配を決定する。ここでは例として、その変形である、確率的勾配降下法(SGD)などの勾配降下が挙げられるべきである。一般に、逆伝搬アルゴリズムは、一度に1つの層の勾配を決定するチェーン・ルールによって、各重みに関する損失関数の勾配を決定することによって機能してよく、チェーン・ルールでは、中間項の冗長な計算を回避するために、最後のNN層から逆方向に反復する。
【0036】
「直接的フィードバック・アライメント」(DFA)という用語も、ニューラル・ネットワークをトレーニングするための誤差伝搬の形態を示してよい。逆方向への(望ましい出力と比較した場合の)出力の誤差の伝搬に使用される重み値が、順方向への活性化の伝搬に使用される重み値と対称である必要はないということが発見されている。実際には、ネットワークが、フィードバックを有用にする方法を学習するため、ランダムなフィードバックの重みが、一様に十分正しく機能する。フィードバック・アライメントの原理は、ネットワークの他の部分からより独立して、ゼロ初期条件からの層でのトレーニングに使用され得る。それによって、固定されたランダムなフィードバックによって伝搬された誤差が、出力層から各隠れ層に直接リンクしてよい。この単純な方法は、誤差逆伝搬を全く伴わずに、畳み込みネットワークおよび非常に深いネットワークにおいても、ほぼゼロのトレーニング誤差に達することができることがある。
【0037】
「フィードバック・アライメント」(FA)という用語は、FAでは、重み値の更新のための層へのアクセスが、NNの上流方向に段階的に行われるため、DFAのより単純な形態であると見なされてよい。
【0038】
「間接的フィードバック・アライメント」(IFA)という用語は、NNのノード間の接続の重み値の更新の別の形態を示してよい。ここで、誤差は、出力層から第1の隠れ層に伝搬されてよく、ここで接続層の重み値が更新されてよく、その後、次の下流の層に影響を与えることができる。
【0039】
「確率的勾配降下法」(SGD)という用語は、適切な平滑性特性を有する目的関数を最適化するための既知の反復法を示してよい。したがって、確率的勾配降下法は、(データ・セット全体から計算された)実際の勾配を、実際の勾配から作られた(データのランダムに選択されたサブセットから計算された)推定値に置き換え得るため、勾配降下最適化の確率近似と見なされてよい。
【0040】
「Adamオプティマイザ手法」という用語は、確率的勾配降下法に対する既知の拡張を示してよく、多くの場合、コンピュータ・ビジョンおよび自然言語処理において使用されている。この手法は、古典的SGD法を置き換え、ネットワークの重み値を反復的に更新するために使用されてよい。この手法は、高速な収束率を実現し得る。SGD法が、すべての重みの更新について、完全なトレーニングの間に、単一の学習率を維持する一方で、Adam手法は、勾配の第1および第2のモーメントの推定値から異なるパラメータ(重み値)の個別の適応学習率を決定し得る。
【0041】
「Nesterov加速勾配」(NAG:Nesterov Accelerated Gradient)という用語は、既知の変更されたSGD法を示してよく、発明者にちなんで名付けられた。NAG法は、古典的モーメンタムにおいて使用される項と同じではない、モーメンタムのような項に対する勾配降下ステップを含む。このアルゴリズムは、古典的SGD法より高速に収束し、より効率的であることが知られている。
【0042】
「RMSprop」という用語も、ニューラル・ネットワークのトレーニングに使用される勾配に基づく最適化技術を示してよい。ニューラル・ネットワークのような非常に複雑な関数の勾配は、データが関数を通って伝搬するにつれて、消滅するか、または爆発的に増える傾向があることがある。RMSpropは、ミニバッチ学習のための確率的技術として開発された。RMSpropは、勾配を正規化するために、勾配の2乗の移動平均を使用し得る。この正規化は、爆発的増加を防ぐために、大きい勾配の場合にステップを減らし、消滅を防ぐために、小さい勾配の場合にステップを増やして、ステップ・サイズ(モーメンタム)のバランスを取る。
【0043】
以下では、各図について詳細に説明する。図内のすべての指示は概略図である。最初に、ニューラル・ネットワークのトレーニングのための本発明のコンピュータ実装方法の実施形態のブロック図について説明する。その後、ニューラル・ネットワーク・トレーニング・システムの実施形態に加えて、さらなる実施形態について説明する。
【0044】
図1は、ニューラル・ネットワークのトレーニングのための(特に、接続/エッジのパラメータ/重み値のトレーニングのための)方法100の好ましい実施形態のブロック図を示している。ニューラル・ネットワークは、ノードおよびノードのうちの選択されたノード間の重み付けされた接続を含む。通常、本明細書で提案された概念は、複数の隠れ層を含んでいる深層ニューラル・ネットワークに関する。層の各ノードが隣接する(すなわち、上流または下流の)層に接続されることは、必要とされない。これは、各入力の提示で選択された確率で、接続に関連する重み値をゼロに設定する(言い換えると、「接続を除去する」)ことによって、容易に実施され得る。
【0045】
方法100は、接続の現在の重み値に基づいて、ノードごとに、ニューラル・ネットワークを通って下流に移動する信号の影響に対する責任を表す重要性値(例えば、I、I、...、I)を決定すること(102)を含む。特に、特定のノードの接続を意味する。ノードの位置は、シナプス前(すなわち、発信接続)またはシナプス後(すなわち、ノードへの受信接続)であってよい。
【0046】
方法100は、決定された重要性値に依存する値を含んでいる調整(すなわち、調節)行列を決定すること(104)も含む。このことが、以下でさらに詳細に説明される。
【0047】
さらに、方法100は、接続に関するフィードバック信号から導出された勾配値および調整行列の決定された対応する要素の組合せ(特に、アダマール積)によって、接続の各重み値に固有の局所的な更新された値を決定することと(106)、すべての更新サイクルの間に、更新を接続に適用することと(108)を含む。
【0048】
それによって、更新サイクルという用語は、必ずしも各トレーニング・サンプルの後のサイクルを示さない。代わりに、1つまたは複数のトレーニング・サンプルは、更新サイクルが実行され得るようになる前の、例えば、32個または64個のトレーニング・サンプルごとの、トレーニング・サンプルのグループと見なされ得る。それによって、更新が累算されるが、(i)ある時間の後、または(ii)調整が特定のしきい値を超えた後にのみ、重み値が効果的に変更される。簡単な解決法は、提案された方法が調整を決定することができ、更新が調整の関数であり、更新が適用されるときに、ある程度の自由度が与えられるということである。
【0049】
図2は、複数の層202、204、206、208、210、212を含むニューラル・ネットワーク200の実施形態のブロック図を示している。しかし、実際の深層ニューラル・ネットワーク、または実際に使用される深層ニューラル・ネットワークは、はるかに多くの数のノードおよび層を含んでよい。この例では、層204は、ノード層l206に対する上流の層l-1を表している。層l206に対する下流の層は、層l+1 208および層l+2 210である。層212は、ニューラル・ネットワーク200の出力層を表しており、すべて円形によってシンボル化されているノードの層202は、ニューラル・ネットワークの入力層を表している。
【0050】
さらに、ノード間の異なる種類の接続が示されている。比較的大きい重み値を有する強い接続(すなわち、強いシナプス)は、太い実線によって表されている。弱いシナプスは、破線によって表されてよい。接続を強化することは、別の種類の破線によって表されてよい。最後に、異なる層の2つのノード間の接続を弱めることは、短い部分的な線および長い部分的な線を含んでいる破線によって表されてよい。一般に、ニューラル・ネットワーク200内の上流方向は、右側から左側に向かう。したがって、ニューラル・ネットワーク200内の下流方向は、左側から(入力側から)出力層212(すなわち、右側)に向かう。
【0051】
図3は、特定のノードの重要性値を導出するのに役立つ行列300の実施形態を示している。それによって、重要性または重要性値は、ニューラル・ネットワークへの入力信号の伝搬に対する、したがって、現在の重み値の分布に基づく最終的な誤差に対する、ノードの平均責任(average responsibility)として理解され得る。ここで、重み値はwj,i(jは「後」に対応し、iは「前」に対応する)である。ベクトル302は、ニューラル・ネットワーク内の特定の層のノードの重要性値を表している。示されている例では、特に、シナプス後のノードの重要性(重要性値)が、絶対項において、受信重み値を特定のノードiに加算することによって構築される。ここで、ノードiの重要性値はIである。したがって、ベクトル302の第1の成分は、ニューラル・ネットワーク内のノードの各層の第1の(一番上の)ノードの重要性値である。
【0052】
図4は、重みの更新を決定する次のステップに役立つ行列としても示される、更新値の決定400を示している。重みの更新係数の決定が、ベクトル402として示されている。ベクトル402は、範囲[1,2]に制限された量を含む局所的更新係数値(local update factor values)(局所的調節係数(local modulation factor)(すなわち「M」)としても示される)を取得するための重要性ベクトルの操作を示している。局所的更新行列404を取得するために、局所的更新係数値が、層のサイズと同じ回数、繰り返される。一例として、左上の値Mは、第1のノードへの受信に位置付けられている(すなわち、第1のシナプス後のノードの)すべての接続の第1の局所的更新値を表している。
【0053】
図5は、「局所的」実施形態の場合の特定のノードの重要性に基づいて重みの更新の決定500のステップを示している。図3および図4で説明された準備的手順に基づいて、層内の4つのノードのここに示された例の場合の更新された重み値が、ここではアダマール積によって、すなわち、選択された学習ルールによって決定された勾配Δwに、局所的更新行列を掛けて、重み値の更新を調節するか、または重み値の更新に影響を与え、結果として行列502を得ることによって、決定され得る。
【0054】
局所的実施形態とは対照的に、非局所的実施形態の場合の重みの更新のより高い複雑さのため、図6は、重み値の更新の非局所的実施形態に使用される式の図600を示している。それによって、重要性係数の決定および局所的更新値(または調節係数値)の決定が、前の図の局所的バージョンと比較した場合に、同じになる。本明細書で提案された概念の非局所的バージョンでは、3番目のステップで、局所的更新/調節係数によって、フィードバック信号が調整される。図6の図は、伝搬するバージョンにおける調整が、BPを使用してトレーニングされた2つの隠れ層のニューラル・ネットワークにおいてどのように適用されるかを示している。それによって、以下のシンボルが使用される。
、W、Wは、フィードフォワード重みである。
x、h、h、yは、層の活性である。
、M、Mは、層ごとの調節行列である。
fは、活性化関数である。
f’は、活性化関数の導関数である。
_は、ベクトルまたは行列の転置を示す。
tは、時間ステップである。
ηは、学習率である。
【数1】

は、アダマール積を示す。
【0055】
「x」が入力層を表し、一方、「target」が目標(すなわち、ニューラル・ネットワークの望ましい出力)を表すということにも注意する。異なる層内のノードは、円形によってシンボル化されており、円形/ノードの数(実際には層ごとに4つ)は、単なる象徴的表現である。ノードの層は、均一なサイズを有するか、または層ごとに異なる数のノードを含んでよい。
【0056】
提案された概念の実施形態に関するMNISTデータベース(手書きのデータ・サンプルを含んでいる既知のModified National Institute of Standards and Technology)に基づくシミュレーション結果は、古典的SGDプロセスに対して、同じ精度を達成するためにはるかに少ないトレーニング・エポックが必要とされるということを示す。MNISTデータベースがFashion MNISTデータベースに置き換えられた場合にも、同じことが当てはまるということが分かった。
【0057】
シミュレーション設定では、すでに述べたように、MNISTデータベースおよびFashion MNISTデータベースが使用された。トレーニング・アルゴリズムとして、逆伝搬が使用され、更新の調整値(すなわち、調節値)の決定が、シナプス後のノードによってグループ化され、上流に伝搬された。トレーニング/検証の分割比は、90:10であった。ノードの活性化関数として、10個の層および層ごとに256個のニューロン/ノードを含むNN内で、ReLUが使用された。ドロップアウト率は0.1だった。示された結果は、3回のシミュレーション実行にわたる平均値である。
【0058】
容易に分かるように、提案された調節/更新値の概念は、トレーニング中のより高速な収束率およびテスト中のより高い分類精度を示す。したがって、トレーニングの開始時に、(シナプス後の重要性係数決定の形態で)調節されたSGDの平均学習率に等しい一定の学習率を有するベースライン・アルゴリズムが使用された。
【0059】
MNISTデータベースおよびFashion MNISTデータベースのテスト精度を比較した場合、以下の表1に示された結果が得られる。
【0060】
【表1】

したがって、古典的SGDと調節されたSGDの間には、著しい違いがある。
【0061】
提案された概念の代替の実施形態に関して、古典的SGDと調節されたSGDの間で、著しい違いが示され得る。SGDの調節は、(i)逆伝搬、(ii)フィードバック・アライメント(FA)、ならびにその変形である直接的フィードバック・アライメント(DFA)および間接的フィードバック・アライメント(IFA)などの、SGDに依存するさまざまなトレーニング・アルゴリズムに適用され得る。
【0062】
予備調査結果の設定では、データ・セットとして、拡張されたMNISTデータベース(DFA用)およびMNIST(FA用)が使用された。トレーニング・アルゴリズムは、DFAおよびFAだった。調節値の更新は、pre(DFA)またはpost(FA)をグループ化し、上流に伝搬すること(両方)によって決定された。ここでも、トレーニング/検証の分割比は90:10であった。活性化関数として、ReLU(DFA用)およびtanh(FA用)が使用された。ニューラル・ネットワークは、256個のノードをそれぞれ含む3つの隠れ層で構成された。ドロップアウトは存在せず、結果は、5回のシミュレーション実行にわたる平均値である。古典的SGDのトレーニングおよびSGDの検証と比較して、精度が大幅に向上することができる。
【0063】
表2は、拡張されたMNISTデータベースに対してDFAを使用するトレーニング・データ、ならびにMNISTデータベースに対してFAを使用するトレーニングおよび検証を示している。次の表2の結果が測定された。
【0064】
【表2】

したがって、ここでも、古典的SGDと、新たに提案された手法である調節されたSGDの間には、著しい違いがある。
【0065】
ニューラル・ネットワークのトレーニングのための提案されたコンピュータ実装方法は、以下を含む複数の利点、技術的効果、貢献、または改善、あるいはその組合せを提供し得る。(i)トレーニング中のニューラル・ネットワーク内の接続の重み値に関する収束率を改善するために導入された古典的SGDの既存の変更とは対照的に、本明細書で提案された概念は、ハイパーパラメータの手動の調整を必要とせず、重みの更新の計算において使用される中間値を格納するための追加のメモリも必要としない。(ii)提案された概念は、不均質な方法で特定のパラメータの学習率を直接調節することによって達成され得る方法で、ニューラル・ネットワークの内部力学に基づいて、重み値の更新を調節するか、または重み値の更新に影響を与えるか、または重み値の更新を更新し得るため、提案された概念は、効果的に、より少ないトレーニング・サイクルでのトレーニングを可能にすることができ、モーメンタムに基づく方法に対して、より少ないメモリも必要とし得る。さらに、提案された概念は、テスト中のより高い分類精度を可能にし得る。(iii)この方法は、NNの深さ、隠れ層のサイズ、および使用される活性化関数にかかわらず、ニューラル・ネットワークのさまざまなデータ・セットおよびアーキテクチャに動的に適応されてもよい。(iv)モーメンタムに基づくオプティマイザなどの他のSGDの変更とは異なり、提案されたSGDの調節は、神経形態学的な生物学から発想を得たアルゴリズムおよびAIチップのような最新の概念において使用するために、追加のメモリ・コストを伴って、前のトレーニング・ステップからの累算された勾配を格納することを必要としない。(v)推論結果の精度が向上し得るか、または目標精度に達するためのトレーニング・エポックの数が減らされ得るか、あるいはその両方である。
【0066】
ニューラル・ネットワークのトレーニングのための提案されたコンピュータ実装方法は、以下を含む複数の利点、技術的効果、貢献、または改善、あるいはその組合せを提供し得る。(i)モデルの複雑さが増大し、古典的SGDがそのモデルを利用できない場合に、調節が、トレーニング済みモデルの性能を改善することに役立つということが述べられ得る、(ii)ノードごとの重要性値の決定は、ノードへ受信する接続の重み値の合計を構築することを含んでよく、合計を構築するために使用される重み値は、(符号なしの)絶対値であってよい、(iii)重要性のこのシナプス後の決定は、重要性のシナプス前の決定よりも、ニューラル・ネットワークのトレーニングのより良い結果をもたらし得る(この用語は、哺乳類の脳を基礎になるメカニズムの根本的な発想と見なして、ニューラル・ネットワーク内の接続、リンク、またはエッジがシナプスを表すということを反映する)、(iv)ノードごとの重要性値の決定は、ノードの、またはノードから発信する接続の重み値の合計を決定することを含んでよく、この接続は、接続が各ノードから離れる、すなわち各ノードから出るため、シナプス前として表されてよく、絶対重み値が使用されてよい、または(v)接続の1つの層内の接続の各重み値に固有の調整値が、ニューラル・ネットワーク内の接続の上流の層のうちの少なくとも1つにも影響を与える(これは、上流の層にも影響を与える「更新された値」ではなく、具体的には調整行列からの「調整値」であり、更新された値を計算するために使用され得る)(このような種類の実施形態は、「非局所的」として示されてもよい)、あるいはその組合せである。
【0067】
ニューラル・ネットワークのトレーニングのための提案されたコンピュータ実装方法は、接続の1つの層内の接続の各重み値に固有の更新された値が、ニューラル・ネットワーク内の接続のすべての上流の層に対して、中立である(すなわち、影響を与えない)ということを含む、複数の利点、技術的効果、貢献、または改善、あるいはその組合せを提供し得る。すなわち、提案されたコンピュータ実装方法は、調整行列によって更新されるフィードバック信号に影響を与えなくてよい。「非局所的」バージョンとは対照的に、この実施形態は、「局所的」として示されてよい。したがって、言い換えると、提案された概念の局所的バージョンの実施形態では、調節を適用することによって取得された、層l-1内の各シナプス前のノードpreから層l内のシナプス後のノードaへの接続の重みの更新は、次のように表されてよい。
【0068】
【数2】

ここで、ηは学習率であり、
【数3】

は層l内のシナプス後のノードaへのすべての接続の調整係数である。
【0069】
ニューラル・ネットワークのトレーニングのための提案されたコンピュータ実装方法は、以下を含む複数の利点、技術的効果、貢献、または改善、あるいはその組合せを提供し得る。(i)フィードバック信号は、逆伝搬(BP)、フィードバック・アライメント(FA)、特にその変形である、例えば直接的フィードバック・アライメント(DFA)、および間接的フィードバック・アライメント(IFA)を含むグループから選択された1つに基づいてよい。したがって、提案された概念は、最近しばしば使用されるニューラル・ネットワークの標準的なフィードバック信号を使用して、十分正しく機能し得る。または、(ii)各層内の各ノードに固有の接続の重み値の更新は、フィードバック信号から導出された勾配値に、調整係数(具体的には、調整係数値)を掛けることを含んでよい。これは、調整係数を使用して、局所的バージョンおよび非局所的バージョンに対して、正しく機能し得る。あるいは、その両方である。
【0070】
ニューラル・ネットワークのトレーニングのための提案されたコンピュータ実装方法は、シナプス後の決定が存在し、時間ステップtでのニューラル・ネットワークの層l内のノードaごとの重要性値
【数4】

が、aであるシナプス後ニューロンを含む層lのすべての重み値
【数5】

の絶対強度の合計であることを含む、複数の利点、技術的効果、貢献、または改善、あるいはその組合せを提供し得る。このことは、次の式のように表されてもよい。
【0071】
【数6】

ここで、
tは、現在の時間ステップである。
aは、重要性が計算されているノードである。
lは、ノードaが属している層である。
preは、1からNpreに及ぶ、シナプス前のノードのインデックスであり、Npreは、シナプス前の層(l-1)内のノードの総数であり、したがって、ノードaに接続された接続の総数であり、
【数7】

は、時間ステップtでの、層l-1内のノードpre(pre)を層l内のノードa(post=a)に接続する重みである。
【0072】
ニューラル・ネットワークのトレーニングのための提案されたコンピュータ実装方法は、時間ステップtでの、ニューラル・ネットワークの層l内のノードaごとの重要性値
【数8】

が、aであるシナプス前ニューロンを含む層l+1のすべての重み値
【数9】

の絶対強度の合計であってよい、または(ii)時間ステップtで、層l内のノードaに対して、調整行列の局所的調節係数値
【数10】

(すなわち、調整行列の値)が、ノードaの重要性値
【数11】

と層l内のすべてのシナプス後ニューロンのうちの最大重要性との比率に2を掛け、1によって下限を制限された値として決定されてよい、あるいはその両方であることを含む、複数の利点、技術的効果、貢献、または改善、あるいはその組合せを提供し得る。次式のように表される。
【0073】
【数12】

ここで、
【数13】

は、時間ステップtでの、ニューラル・ネットワークの層l内のノードaの重要性
【数14】

であり、
【数15】

は、時間ステップtでの、ニューラル・ネットワークの層l内のノードpostの重要性
【数16】

である。
【0074】
ニューラル・ネットワークのトレーニングのための提案されたコンピュータ実装方法は、(i)非局所的更新を伴う-この方法は、調整係数値
【数17】

を直接適用して、
【数18】

を決定することを含んでもよく、
【数19】

は、時間ステップtでの、層l-1内のノードpre(pre)を層l内のノードa(post=a)に接続する重み値である、または(ii)トレーニングのために、確率的勾配降下法、Adamオプティマイザ手法、Nesterov加速勾配、およびRMSpropを含むグループから選択され得る1つの方法が使用されてよい、あるいはその両方を含む、複数の利点、技術的効果、貢献、または改善、あるいはその組合せを提供し得る。これによって、本明細書で提案された概念を、使用されるオプティマイザから基本的に独立させる。他のオプティマイザも正常に使用され得る。
【0075】
完全性を期すために、図7は、ニューラル・ネットワークのトレーニングのための本発明のニューラル・ネットワーク・トレーニング・システム900の実施形態を示している。ニューラル・ネットワークは、ノード906およびノード906のうちの選択されたノード間の重み付けされた接続908を含み、トレーニング中の望ましい活性および現在の活性の関数が、接続の重み値を調整するために使用されるフィードバック信号をもたらす。システム900は、メモリ902およびプロセッサ904も備えている。それによって、メモリ902は、更新サイクルごとに、プロセッサが、接続の現在の重み値に基づいてノードごとの重要性値を(例えば、第1の決定ユニット910によって)決定し、決定された重要性値に依存する値を含んでいる調整行列を(例えば、第2の決定ユニット912によって)決定することを可能にするためのプログラム・コード部分を格納する。
【0076】
さらに、格納されたプログラム・コード部分は、プロセッサ904が、接続に関するフィードバック信号から導出された勾配値および調整行列の決定された対応する要素の組合せによって、接続の各重み値に固有の局所的な更新された値を(例えば、第3の決定ユニットによって)決定し、すべての更新サイクルの間に、更新を接続に(例えば、適用ユニット912によって)適用することも可能にする。
【0077】
これによって、ニューラル・ネットワーク・トレーニング・システム900のすべての要素(特に、メモリ902およびプロセッサ904に加えて、すべてのモジュールおよびユニット)が、ハードウェアにおいて実現される実装の選択肢を有すると考えられるべきである。その場合、ユニットおよびモジュールは、データおよび信号の交換のために電気的に接続される。特に、ノード906および接続908のための特定のメモリが存在してよい。
【0078】
前述の実装の選択肢によれば、特に、第1の決定ユニット910、第2の決定ユニット912、第3の決定ユニット914、および適用ユニット916は、完全にハードウェアにおいて、またはソフトウェア要素とハードウェア要素の組合せにおいて、実現されてよい。システム900のすべての能動的および受動的ユニット、モジュール、およびコンポーネントは、信号およびデータを互いに直接交換してよく、またはシステム900の内部バス・システム918を利用してよい。
【0079】
本発明の実施形態は、プログラム・コードを格納することまたは実行することあるいはその両方に適しているプラットフォームにかかわらず、事実上、任意の種類のコンピュータと一緒に実装されてよい。図8は、一例として、提案された方法に関連するプログラム・コードを実行するのに適しているコンピューティング・システム1000を示している。
【0080】
コンピューティング・システム1000は、適切なコンピュータ・システムの一例にすぎず、コンピュータ・システム1000が上記で示された機能のいずれかを実装されること、または実行すること、あるいはその両方を行うことができるかどうかにかかわらず、本明細書に記載された本発明の実施形態の使用または機能の範囲に関してどのような制限も示唆するよう意図されていない。コンピュータ・システム1000には、他の多数の汎用または専用のコンピューティング・システム環境または構成と共に動作できるコンポーネントが存在する。コンピュータ・システム/サーバ1000と共に使用するのに適し得る周知のコンピューティング・システム、環境、または構成、あるいはその組合せの例としては、パーソナル・コンピュータ・システム、サーバ・コンピュータ・システム、シン・クライアント、シック・クライアント、ハンドヘルドまたはラップトップ・デバイス、マイクロプロセッサ・システム、マイクロプロセッサベース・システム、セット・トップ・ボックス、プログラマブル・コンシューマ・エレクトロニクス、ネットワークPC、マイクロコンピュータ・システム、メインフレーム・コンピュータ・システム、およびこれらのシステムまたはデバイスのいずれかを含む分散クラウド・コンピューティング環境などが挙げられるが、これらに限定されない。コンピュータ・システム/サーバ1000は、コンピュータ・システム1000によって実行されているプログラム・モジュールなどの、コンピュータ・システムによって実行可能な命令との一般的な関連において説明されてよい。通常、プログラム・モジュールは、特定のタスクを実行するか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、論理、データ構造などを含んでよい。コンピュータ・システム/サーバ1000は、通信ネットワークを介してリンクされたリモート処理デバイスによってタスクが実行される、分散クラウド・コンピューティング環境内で実行されてよい。分散クラウド・コンピューティング環境において、プログラム・モジュールは、メモリ・ストレージ・デバイスを含む、ローカルおよびリモートの両方のコンピュータ・システム・ストレージ媒体に配置されてよい。
【0081】
図に示されているように、コンピュータ・システム/サーバ1000は、汎用コンピューティング・デバイスの形態で示されている。コンピュータ・システム/サーバ1000のコンポーネントは、1つまたは複数のプロセッサまたはプロセッシング・ユニット1002、システム・メモリ1004、およびシステム・メモリ1004を含むさまざまなシステム・コンポーネントをプロセッサ1002に結合するバス1006を含んでよいが、これらに限定されない。バス1006は、メモリ・バスまたはメモリ・コントローラ、ペリフェラル・バス、アクセラレーテッド・グラフィックス・ポート、およびさまざまなバス・アーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを含む、複数の種類のバス構造のいずれかのうちの1つまたは複数を表す。例として、そのようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(MicroChannel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカル・バス、およびPCI(Peripheral Component Interconnects)バスを含むが、これらに限定されない。コンピュータ・システム/サーバ1000は、通常、さまざまなコンピュータ・システム可読媒体を含む。そのような媒体は、コンピュータ・システム/サーバ1000によってアクセスできる任意の使用可能な媒体であってよく、揮発性および不揮発性媒体、取り外し可能および取り外し不可の媒体両方を含む。
【0082】
システム・メモリ1004は、ランダム・アクセス・メモリ(RAM:random access memory)1008またはキャッシュ・メモリ1010あるいはその両方などの、揮発性メモリの形態でコンピュータ・システム可読媒体を含んでよい。コンピュータ・システム/サーバ1000は、他の取り外し可能/取り外し不可、揮発性/不揮発性のコンピュータ・システム・ストレージ媒体をさらに含んでよい。単に例として、取り外し不可、不揮発性の磁気媒体(図示されておらず、通常は「ハード・ドライブ」と呼ばれる)に対する読み取りと書き込みを行うために、ストレージ・システム1012が提供されてよい。図示されていないが、取り外し可能、不揮発性の磁気ディスク(例えば、「フロッピー(R)・ディスク」)に対する読み取りと書き込みを行うための磁気ディスク・ドライブ、およびCD-ROM、DVD-ROM、または他の光媒体などの取り外し可能、不揮発性の光ディスクに対する読み取りと書き込みを行うための光ディスク・ドライブが提供されてよい。そのような例では、それぞれを、1つまたは複数のデータ媒体インターフェイスによってバス1006に接続することができる。下でさらに示され、説明されるように、メモリ1004は、本発明の実施形態の機能を実行するように構成された一連の(例えば、少なくとも1つの)プログラム・モジュールを備える少なくとも1つのプログラム製品を含んでよい。
【0083】
例えば、一連の(少なくとも1つの)プログラム・モジュール1016を有するプログラム/ユーティリティがメモリ1004に格納されてよいが、これに限定されず、オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データも格納されてよい。オペレーティング・システム、1つまたは複数のアプリケーション・プログラム、他のプログラム・モジュール、およびプログラム・データ、またはこれらの組合せの各々は、ネットワーク環境の実装を含んでよい。プログラム・モジュール1016は、通常、本明細書に記載された本発明の実施形態の機能または方法あるいはその両方を実行する。
【0084】
コンピュータ・システム/サーバ1000は、キーボード、ポインティング・デバイス、ディスプレイ1020などの1つまたは複数の外部デバイス1018、ユーザがコンピュータ・システム/サーバ1000と情報をやりとりできるようにする1つまたは複数のデバイス、またはコンピュータ・システム/サーバ1000が1つまたは複数の他のコンピューティング・デバイスと通信できるようにする任意のデバイス(例えば、ネットワーク・カード、モデムなど)、あるいはその組合せと通信してもよい。そのような通信は、入出力(I/O:Input/Output)インターフェイス1014を介して発生し得る。さらに、コンピュータ・システム/サーバ1000は、ローカル・エリア・ネットワーク(LAN:local area network)、一般的な広域ネットワーク(WAN:wide area network)、またはパブリック・ネットワーク(例えば、インターネット)、あるいはその組合せなどの1つまたは複数のネットワークと、ネットワーク・アダプタ1022を介して通信してよい。図示されているように、ネットワーク・アダプタ1022は、バス1006を介してコンピュータ・システム/サーバ1000の他のコンポーネントと通信してよい。図示されていないが、他のハードウェア・コンポーネントまたはソフトウェア・コンポーネントあるいはその両方を、コンピュータ・システム/サーバ1000と併用できるということが理解されるべきである。その例として、マイクロコード、デバイス・ドライバ、冗長プロセッシング・ユニット、外部ディスク・ドライブ・アレイ、RAIDシステム、テープ・ドライブ、およびデータ・アーカイブ・ストレージ・システムなどが挙げられるが、これらに限定されない。
【0085】
さらに、ニューラル・ネットワーク・トレーニング・システム900がバス・システム1006に接続されてよい。
【0086】
本発明のさまざまな実施形態の説明は、例示の目的で提示されているが、網羅的であることは意図されておらず、開示された実施形態に制限されない。説明された実施形態の範囲および思想から逸脱しない多くの変更および変形が、当業者にとって明らかであろう。本明細書で使用された用語は、実施形態の原理、実際の適用、または市場で見られる技術を超える技術的改良を最も良く説明するため、または他の当業者が本明細書で開示された実施形態を理解できるようにするために選択されている。
【0087】
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組合せとして具現化されてよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含んでよい。
【0088】
この媒体は、電子、磁気、光、電磁気、赤外線、または伝搬媒体用の半導体システムであってよい。コンピュータ可読媒体の例としては、半導体メモリまたは固体メモリ、磁気テープ、取り外し可能フロッピー(R)・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM:read-only memory)、剛体磁気ディスク、および光ディスクが挙げられる。光ディスクの現在の例としては、コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disk-read only memory)、コンパクト・ディスク読み取り/書き込み(CD-R/W:compact disk-read/write)、およびブルーレイディスクが挙げられる。
【0089】
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであり得る。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組合せであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(R)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(R)・ディスク、命令が記録されているパンチカードまたは溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組合せを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、電波または他の自由に伝搬する電磁波、導波管または他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの、それ自体が一過性の信号であると解釈されるべきではない。
【0090】
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、またはワイヤレス・ネットワーク、あるいはその組合せ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされ得る。このネットワークは、銅伝送ケーブル、光伝送ファイバ、ワイヤレス送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組合せを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
【0091】
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいはSmalltalk(R)、C++などのオブジェクト指向プログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組合せで記述されたソース・コードまたはオブジェクト・コードであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)または広域ネットワーク(WAN)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
【0092】
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組合せが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
【0093】
これらのコンピュータ可読プログラム命令は、コンピュータまたは他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組合せに特定の方式で機能するように指示できるものであってもよい。
【0094】
コンピュータ可読プログラム命令は、コンピュータ上、他のプログラム可能な装置上、または別のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロックに指定される機能/動作を実施するように、コンピュータ、他のプログラム可能なデータ処理装置、または別のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成する他のデバイス上で実行させる。
【0095】
図内のフローチャートまたはブロック図あるいはその両方は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組合せは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組合せを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意する。
【0096】
本明細書で使用される用語は、特定の実施形態を説明することのみを目的としており、本発明を制限することを意図していない。本明細書において使用されるとき、単数形「a」、「an」、および「the」は、文脈で特に明示的に示されない限り、複数形も含むよう意図されている。「備える」または「備えている」あるいはその両方の用語は、本明細書で使用される場合、記載された機能、整数、ステップ、動作、要素、またはコンポーネント、あるいはその組合せの存在を示すが、1つまたは複数の他の機能、整数、ステップ、動作、要素、コンポーネント、またはこれらのグループ、あるいはその組合せの存在または追加を除外していないということが、さらに理解されるであろう。
【0097】
下の特許請求の範囲内のすべての手段またはステップおよび機能要素の対応する構造、材料、動作、および等価なものは、具体的に請求される他の請求された要素と組み合わせて機能を実行するための任意の構造、材料、または動作を含むことが意図されている。本発明の説明は、例示および説明の目的で提示されているが、網羅的であることは意図されておらず、開示された形態での発明に制限されない。本発明の範囲および思想から逸脱することなく、多くの変更および変形が当業者にとって明らかである。本発明の原理および実際的な適用を最も適切に説明するため、およびその他の当業者が、企図されている特定の用途に適しているようなさまざまな変更を伴う多様な実施形態に関して、本発明を理解できるようにするために、実施形態が選択されて説明されている。
【0098】
要するに、本発明の概念は、以下の段落によって要約され得る。
【0099】
ニューラル・ネットワークのトレーニングのための方法であって、ニューラル・ネットワークがノードおよびノードのうちの選択されたノード間の重み付けされた接続を含み、トレーニング中の望ましい活性および現在の活性の関数が、接続の重み値を調整するために使用されるフィードバック信号をもたらし、方法が、重み値更新サイクルごとに、接続の現在の重み値に基づいてノードごとに重要性値を決定することと、決定された重要性値に依存する値を含んでいる調整行列を決定することと、接続に関するフィードバック信号から導出された勾配値および調整行列の決定された対応する要素の組合せによって、接続の各重み値に固有の局所的な更新された値を決定することと、すべての更新サイクルの間に、更新を接続に適用することとを含む、方法。
【0100】
ノードごとの重要性値の決定が、ノードへ受信する接続の重み値の合計を構築することを含む、方法。
【0101】
ノードごとの重要性値の決定が、ノードの発信する接続の重み値の合計を決定することを含む、方法。
【0102】
時間ステップtでのニューラル・ネットワークの層l内のノードaごとの重要性値
【数20】

が、aであるシナプス後ニューロンを含む層lのすべての重み値
【数21】

の絶対強度の合計である、方法。
【0103】
時間ステップtでのニューラル・ネットワークの層l内のノードaごとの重要性値
【数22】

が、aであるシナプス前ニューロンを含む層l+1のすべての重み値
【数23】

の絶対強度の合計である、方法。
【0104】
時間ステップtで、層l内のノードaに対して、調整行列の局所的更新値
【数24】

が、ノードaの重要性値
【数25】

と層l内のすべてのニューロンのうちの最大重要性との比率に2を掛け、1によって下限を制限された値として決定される、方法。
【0105】
接続の1つの層内の接続の各重み値に固有の局所的更新値
【数26】

が、ニューラル・ネットワーク内の接続の上流の層のうちの少なくとも1つにも影響を与える、方法。
【0106】
接続の1つの層内の接続の各重み値に固有の更新値
【数27】

が、ニューラル・ネットワーク内の接続のすべての上流の層に対して中立である、先行する項のいずれかに記載の方法。
【0107】
各層内の各ノードに固有の接続の重み値の更新が、フィードバック信号から導出された勾配値に、調整係数値
【数28】

を掛けることを含む、先行する項のいずれかに記載の方法。
【0108】
局所的更新値
【数29】

を直接適用して
【数30】

を決定することも含み、
【数31】

が、時間ステップtでの、層l-1内のノードpre(pre)を層l内のノードa(post=a)に接続する重み値である、項4ないし9のいずれかに記載の方法。
【0109】
フィードバック信号が、逆伝搬、フィードバック・アライメント、直接的フィードバック・アライメント、および間接的フィードバック・アライメントを含むグループから選択された1つに基づく、先行する項のいずれかに記載の方法。
【0110】
トレーニングのために、確率的勾配降下法、Adamオプティマイザ手法、Nesterov加速勾配、およびRMSpropを含むグループから選択された1つの方法が使用される、先行する項のいずれかに記載の方法。
【0111】
ニューラル・ネットワークのトレーニングのためのニューラル・ネットワーク・トレーニング・システムであって、ニューラル・ネットワークがノードおよびノードのうちの選択されたノード間の重み付けされた接続を含み、トレーニング中の望ましい活性および現在の活性の関数が、接続の重み値を調整するために使用されるフィードバック信号をもたらし、このシステムがメモリおよびプロセッサを備え、メモリが、プロセッサが、更新サイクルごとに、接続の現在の重み値に基づいてノードごとに重要性値を決定することと、決定された重要性値に依存する値を含んでいる調整行列を決定することと、接続に関するフィードバック信号から導出された勾配値および調整行列の決定された対応する要素の組合せによって、接続の各重み値に固有の更新された値を決定することと、すべての更新サイクルの間に、更新を接続に適用することとを可能にするためのプログラム・コード部分を格納する、ニューラル・ネットワーク・トレーニング・システム。
【0112】
ノードごとの重要性値の決定中に、プログラム・コード部分が、プロセッサが、ノードへ受信する接続の重み値の合計を構築することもできるようにする、システム。
【0113】
ノードごとの重要性値の決定中に、プログラム・コード部分が、プロセッサが、ノードの発信する接続の重み値の合計を決定することもできるようにする、システム。
【0114】
時間ステップtでのニューラル・ネットワークの層l内のノードaごとの重要性値
【数32】

が、aであるシナプス後ニューロンを含む層lのすべての重み値
【数33】

の絶対強度の合計である、システム。
【0115】
時間ステップtでのニューラル・ネットワークの層l内のノードaごとの重要性値
【数34】

が、aであるシナプス前ニューロンを含む層l+1のすべての重み値
【数35】

の絶対強度の合計である、システム。
【0116】
時間ステップtで、層l内のノードaに対して、調整行列の局所的更新係数値
【数36】

が、ノードaの重要性値
【数37】

と層l内のすべてのニューロンのうちの最大重要性との比率に2を掛け、1によって下限を制限された値として決定される、システム。
【0117】
接続の1つの層内の接続の各重み値に固有の局所的更新係数値
【数38】

が、ニューラル・ネットワーク内の接続の上流の層のうちの少なくとも1つにも影響を与える、方法。
【0118】
接続の1つの層内の接続の各重み値に固有の局所的更新係数値
【数39】

が、ニューラル・ネットワーク内の接続の上流の層のうちの少なくとも1つで中立である、システム。
【0119】
各層内の各ノードに固有の接続の重み値の更新中に、プログラム・コード部分が、プロセッサが、フィードバック信号から導出された勾配値に、調整係数値
【数40】

を掛けることもできるようにする、システム。
【0120】
調整係数値
【数41】

を直接適用して
【数42】

を決定することを含み、
【数43】

が、時間ステップtでの、層l-1内のノードpre(pre)を層l内のノードa(post=a)に接続する重み値である、システム。
【0121】
フィードバック信号が、逆伝搬、フィードバック・アライメント、直接的フィードバック・アライメント、および間接的フィードバック・アライメントを含むグループから選択された1つに基づく、システム。
【0122】
トレーニングのために、確率的勾配降下法、Adamオプティマイザ手法、Nesterov加速勾配、およびRMSpropを含むグループから選択された1つの方法が使用される、システム。
【0123】
ニューラル・ネットワークのトレーニングのためのコンピュータ・プログラム製品であって、ニューラル・ネットワークがノードおよびノードのうちの選択されたノード間の重み付けされた接続を含み、トレーニング中の望ましい活性および現在の活性の関数が、接続の重み値を調整するために使用されるフィードバック信号をもたらし、コンピュータ・プログラム製品が、プログラム命令が具現化されたコンピュータ可読ストレージ媒体を備え、プログラム命令が、1つまたは複数のコンピューティング・システムまたはコントローラによって実行可能であり、1つまたは複数のコンピューティング・システムに、1つまたは複数のコンピューティング・システムによって、接続の現在の重み値に基づいてノードごとに重要性値を決定することと、1つまたは複数のコンピューティング・システムによって、決定された重要性値に依存する値を含んでいる調整行列を決定することと、1つまたは複数のコンピューティング・システムによって、接続に関するフィードバック信号から導出された勾配値および調整行列の決定された対応する要素の組合せによって、接続の各重み値に固有の更新された値を決定することと、1つまたは複数のコンピューティング・システムによって、すべての更新サイクルの間に、更新を接続に適用することとを実行させる、コンピュータ・プログラム製品。
図1
図2
図3
図4
図5
図6
図7
図8
【国際調査報告】