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

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

▶ エヌティーティー リサーチ インコーポレイテッドの特許一覧

特表2024-518740深層物理ニューラルネットワークのための物理認識トレーニング
<>
  • 特表-深層物理ニューラルネットワークのための物理認識トレーニング 図1A
  • 特表-深層物理ニューラルネットワークのための物理認識トレーニング 図1B
  • 特表-深層物理ニューラルネットワークのための物理認識トレーニング 図2
  • 特表-深層物理ニューラルネットワークのための物理認識トレーニング 図3A
  • 特表-深層物理ニューラルネットワークのための物理認識トレーニング 図3B
  • 特表-深層物理ニューラルネットワークのための物理認識トレーニング 図4
  • 特表-深層物理ニューラルネットワークのための物理認識トレーニング 図5
  • 特表-深層物理ニューラルネットワークのための物理認識トレーニング 図6
  • 特表-深層物理ニューラルネットワークのための物理認識トレーニング 図7A
  • 特表-深層物理ニューラルネットワークのための物理認識トレーニング 図7B
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-02
(54)【発明の名称】深層物理ニューラルネットワークのための物理認識トレーニング
(51)【国際特許分類】
   G06N 3/065 20230101AFI20240424BHJP
【FI】
G06N3/065
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023564492
(86)(22)【出願日】2022-04-21
(85)【翻訳文提出日】2023-12-08
(86)【国際出願番号】 US2022025830
(87)【国際公開番号】W WO2022226235
(87)【国際公開日】2022-10-27
(31)【優先権主張番号】63/178,318
(32)【優先日】2021-04-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】523112138
【氏名又は名称】エヌティーティー リサーチ インコーポレイテッド
(74)【代理人】
【識別番号】100094569
【弁理士】
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【弁理士】
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【弁理士】
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【弁理士】
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100120525
【弁理士】
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【弁理士】
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100141553
【弁理士】
【氏名又は名称】鈴木 信彦
(74)【代理人】
【氏名又は名称】上杉 浩
(72)【発明者】
【氏名】ライト ローガン ジー
(72)【発明者】
【氏名】小野寺 太津博
(72)【発明者】
【氏名】マクマホン ピーター エル
(72)【発明者】
【氏名】シュタイン マーティン
(57)【要約】
物理ニューラルネットワークシステムは、物理コンポーネントおよびデジタルコンポーネントを含む。デジタルコンポーネントは、コンピューティングシステムを含む。物理コンポーネントとデジタルコンポーネントとは連携して、物理認識トレーニングプロセスを実行する。物理認識トレーニングプロセスは、デジタルコンポーネントによって、物理コンポーネントへの入力のための入力データセットを生成することと、物理コンポーネントによって、入力データセットに1つまたは複数の変換を適用して、物理認識トレーニングプロセスの前方パスのための出力を生成することと、デジタルコンポーネントによって、生成された出力を、標準出力と比較して、エラーを判定することと、デジタルコンポーネントによって、物理認識トレーニングプロセスの後方パスのために、微分可能デジタルモデルを使用して、損失勾配を生成することと、デジタルコンポーネントによって、損失勾配に基づいて、物理コンポーネントへの後続の入力のためにトレーニングパラメータを更新することとを含む。
【特許請求の範囲】
【請求項1】
物理ニューラルネットワークシステムであって、
物理コンポーネントと、
コンピューティングシステムを含むデジタルコンポーネントとを備え、前記物理コンポーネントと前記デジタルコンポーネントとは、連携して、
前記デジタルコンポーネントによって、前記物理コンポーネントへの入力のための入力データセットを生成することと、
前記物理コンポーネントによって、前記入力データセットに1つまたは複数の変換を適用して、前記物理認識トレーニングプロセスの前方パスのための出力を生成することと、
前記生成された出力に基づいて、前記デジタルコンポーネントによって、前記生成された出力を、標準出力と比較して、エラーを判定することと、
前記デジタルコンポーネントによって、前記物理認識トレーニングプロセスの後方パスのために、微分可能デジタルモデルを使用して、損失勾配を生成することと、
前記デジタルコンポーネントによって、前記損失勾配に基づいて、前記物理コンポーネントへの後続の入力のためにトレーニングパラメータを更新することと
を含む、物理認識トレーニングプロセスを実行する、物理ニューラルネットワークシステム。
【請求項2】
前記物理コンポーネントによって、前記入力データセットに前記1つまたは複数の変換を適用して、前記物理認識トレーニングプロセスの前記前方パスのための前記出力を生成することは、
前記前方パスにおいて、前記入力データセットに対して少なくとも1つの非微分可能変換関数を採用すること
を含む、請求項1に記載の物理ニューラルネットワークシステム。
【請求項3】
前記デジタルコンポーネントによって、前記物理認識トレーニングプロセスの前記後方パスのために、前記微分可能デジタルモデルを使用して、前記損失勾配を生成することは、
前記微分可能デジタルモデルを使用して、前記損失勾配を近似することを含み、前記後方パスにおける前記微分可能デジタルモデルは、前記前方パスの前記少なくとも1つの非微分可能変換関数とは異なる、請求項2に記載の物理ニューラルネットワークシステム。
【請求項4】
前記物理コンポーネントは、第1の層および第2の層を備える、請求項1に記載の物理ニューラルネットワークシステム。
【請求項5】
前記物理コンポーネントによって、前記1つまたは複数の変換を適用して、前記物理認識トレーニングプロセスの前記前方パスのための前記出力を生成することは、
前記第1の層によって、前記入力データセットに第1の変換を適用して、中間出力を生成することと、
前記第2の層によって、前記入力データセットおよび前記中間出力に第2の変換を適用して、前記出力を生成することと
を含む、請求項4に記載の物理ニューラルネットワークシステム。
【請求項6】
前記デジタルコンポーネントによって、前記物理コンポーネントへの入力のための前記入力データセットを生成することは、
入力データおよび初期パラメータを符号化して、前記入力データセットを生成すること
を含む、請求項1に記載の物理ニューラルネットワークシステム。
【請求項7】
前記デジタルコンポーネントによって、前記入力データおよび前記更新されたトレーニングパラメータを符号化することによって、更新された入力データセットを生成すること
をさらに含む、請求項6に記載の物理ニューラルネットワークシステム。
【請求項8】
物理ニューラルネットワークをトレーニングする方法であって、
前記物理ニューラルネットワークのデジタルコンポーネントによって、物理コンポーネントへの入力のための入力データセットを生成することと、
前記物理ニューラルネットワークの物理コンポーネントによって、前記入力データセットに1つまたは複数の変換を適用して、前記トレーニングの前方パスのための出力を生成することと、
前記生成された出力に基づいて、前記デジタルコンポーネントによって、前記生成された出力を標準出力と比較してエラーを判定することと、
前記デジタルコンポーネントによって、前記トレーニングの後方パスのために、微分可能デジタルモデルを使用して、損失勾配を生成することと、
前記デジタルコンポーネントによって、前記損失勾配に基づいて、前記物理コンポーネントへの後続の入力のためのトレーニングパラメータを更新することと
を含む、方法。
【請求項9】
前記物理コンポーネントによって、前記入力データセットに前記1つまたは複数の変換を適用して、前記トレーニングの前記前方パスのための前記出力を生成することは、
前記前方パスにおいて、前記入力データセットに対して少なくとも1つの非微分可能変換関数を採用すること
を含む、請求項8に記載の方法。
【請求項10】
前記デジタルコンポーネントによって、前記トレーニングの前記後方パスのために、前記微分可能デジタルモデルを使用して、前記損失勾配を生成することは、
前記微分可能デジタルモデルを使用して、前記損失勾配を近似することを含み、前記後方パスにおける前記微分可能デジタルモデルは、前記前方パスの前記少なくとも1つの非微分可能変換関数とは異なる、請求項9に記載の方法。
【請求項11】
前記物理コンポーネントは、第1の層および第2の層を備える、請求項8に記載の方法。
【請求項12】
前記物理コンポーネントによって、前記1つまたは複数の変換を適用して、前記トレーニングの前記前方パスのための前記出力を生成することは、
前記第1の層によって、前記入力データセットに第1の変換を適用して、中間出力を生成することと、
前記第2の層によって、前記入力データセットおよび前記中間出力に第2の変換を適用して、前記出力を生成することと
を含む、請求項11に記載の方法。
【請求項13】
前記デジタルコンポーネントによって、前記物理コンポーネントへの入力のための前記入力データセットを生成することは、
入力データおよび初期パラメータを符号化して、前記入力データセットを生成すること
を含む、請求項8に記載の方法。
【請求項14】
前記デジタルコンポーネントによって、前記入力データおよび前記更新されたトレーニングパラメータを符号化することによって、更新された入力データセットを生成すること
をさらに含む、請求項13に記載の方法。
【請求項15】
1つまたは複数の命令シーケンスを備えた非一時的なコンピュータ可読媒体であって、前記1つまたは複数の命令シーケンスは、1つまたは複数のプロセッサによって実行されると、コンピューティングシステムに対して、
物理ニューラルネットワークの物理コンポーネントへの入力のための入力データセットを生成することと、
前記物理ニューラルネットワークの前記物理コンポーネントに対して、1つまたは複数の変換を前記入力データセットに適用させて、トレーニングプロセスの前方パスのための出力を生成させることと、
前記生成された出力に基づいて、前記生成された出力を、標準出力と比較して、エラーを判定することと、
前記トレーニングプロセスの後方パスのために、微分可能デジタルモデルを使用して、損失勾配を生成することと、
前記損失勾配に基づいて、前記物理コンポーネントへの後続の入力のためのトレーニングパラメータを更新することと
を含む動作を実行させる、非一時的なコンピュータ可読媒体。
【請求項16】
前記物理コンポーネントによって、前記1つまたは複数の変換を前記入力データセットに適用して、前記トレーニングプロセスの前記前方パスのための前記出力を生成することは、
前記前方パスにおいて、前記入力データセットに対して少なくとも1つの非微分可能変換関数を採用すること
を含む、請求項15に記載の非一時的なコンピュータ可読媒体。
【請求項17】
前記トレーニングプロセスの前記後方パスのために、前記微分可能デジタルモデルを使用して、前記損失勾配を生成することは、
前記微分可能デジタルモデルを使用して、前記損失勾配を近似することを含み、前記後方パスにおける前記微分可能デジタルモデルは、前記前方パスの前記少なくとも1つの非微分可能変換関数とは異なる、請求項16に記載の非一時的なコンピュータ可読媒体。
【請求項18】
前記物理コンポーネントは、第1の層および第2の層を備える、請求項15に記載の非一時的なコンピュータ可読媒体。
【請求項19】
前記物理コンポーネントに対して、前記1つまたは複数の変換を適用させて、前記トレーニングプロセスの前記前方パスのための前記出力を生成させることは、
前記第1の層に対して、前記入力データセットに第1の変換を適用させて、中間出力を生成させることと、
前記第2の層に対して、前記入力データセットおよび前記中間出力に第2の変換を適用させて、前記出力を生成させることと
を含む、請求項18に記載の非一時的なコンピュータ可読媒体。
【請求項20】
前記物理コンポーネントへの入力のための前記入力データセットを生成することは、
入力データおよび初期パラメータを符号化して、前記入力データセットを生成すること
を含む、請求項15に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願に対する相互参照
本出願は、2021年4月22日に出願された米国仮出願第63/178,318号の優先権を主張し、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、深層物理ニューラルネットワークに関し、特に、任意の物理システムに対してバックプロパゲーション方法(backpropagation method)を使用してトレーニングされた深層物理ニューラルネットワークに関する。
【背景技術】
【0003】
深層ニューラルネットワークは、ビジネス、技術、科学にわたるその応用において成長している。深層ニューラルネットワークの規模が拡大し続けるにつれて、こうした深層ニューラルネットワークが消費するエネルギーも増加する。ハードウェア分野は当初、深層ニューラルネットワーク技術の発展に追いつくことができていたが、深層学習の進歩は非常に急速に起こっているため、ムーアの法則を上回っている。
【発明の概要】
【0004】
いくつかの実施形態では、物理ニューラルネットワークシステムが、本明細書において開示される。物理ニューラルネットワークシステムは、物理コンポーネントおよびデジタルコンポーネントを含む。デジタルコンポーネントは、コンピューティングシステムを含む。物理コンポーネントとデジタルコンポーネントとは、連携して、物理認識トレーニングプロセス(physics aware training process)を実行する。物理認識トレーニングプロセスは、デジタルコンポーネントによって、物理コンポーネントへの入力のための入力データセットを生成することを含む。物理認識トレーニングプロセスは、物理コンポーネントによって、入力データセットに1つまたは複数の変換を適用して、物理認識トレーニングプロセスの前方パスのための出力を生成することをさらに含む。物理認識トレーニングプロセスは、生成された出力に基づいて、デジタルコンポーネントによって、生成された出力を、標準出力と比較して、エラーを判定することをさらに含む。物理認識トレーニングプロセスは、デジタルコンポーネントによって、物理認識トレーニングプロセスの後方パスのために、微分可能デジタルモデルを使用して、損失勾配を生成することをさらに含む。物理認識トレーニングプロセスは、デジタルコンポーネントによって、損失勾配に基づいて、物理コンポーネントへの後続の入力のためにトレーニングパラメータを更新することをさらに含む。
【0005】
いくつかの実施形態では、物理ニューラルネットワークをトレーニングする方法が本明細書において開示される。物理ニューラルネットワークのデジタルコンポーネントは、物理コンポーネントへの入力のための入力データセットを生成する。物理ニューラルネットワークの物理コンポーネントは、入力データセットに1つまたは複数の変換を適用して、トレーニングの前方パスのための出力を生成する。生成された出力に基づいて、デジタルコンポーネントは、生成された出力を標準出力(canonical output)と比較してエラーを判定する。デジタルコンポーネントは、トレーニングの後方パスのために、微分可能デジタルモデルを使用して、損失勾配(loss gradient)を生成する。デジタルコンポーネントは、損失勾配に基づいて、物理コンポーネントへの後続の入力のためのトレーニングパラメータを更新する。
【0006】
いくつかの実施形態では、非一時的なコンピュータ可読媒体が、本明細書において開示される。非一時的なコンピュータ可読媒体は、1つまたは複数のプロセッサによって実行されると、コンピューティングシステムに動作を実行させる1つまたは複数の命令シーケンスを含む。これら動作は、物理ニューラルネットワークの物理コンポーネントへの入力のための入力データセットを生成することを含む。これら動作は、物理ニューラルネットワークの物理コンポーネントに対して、1つまたは複数の変換を入力データセットに適用させて、トレーニングプロセスの前方パスのための出力を生成させることをさらに含む。これら動作は、生成された出力に基づいて、生成された出力を、標準出力と比較して、エラーを判定することをさらに含む。これら動作は、トレーニングプロセスの後方パスのために、微分可能デジタルモデル(differentiable digital model)を使用して、損失勾配を生成することをさらに含む。これら動作は、損失勾配に基づいて、物理コンポーネントへの後続の入力のためにトレーニングパラメータを更新することをさらに含む。
【0007】
本開示の上記の特徴を詳細に理解することができるような形で、上記で簡単に要約された本開示のより具体的な説明が、実施形態を参照することによって得ることができ、実施形態のうちのいくつかは、添付図面に例示されている。しかしながら、添付図面は、本開示の典型的な実施形態のみを例示しており、したがって、本開示は他の同様に効果的な実施形態を許容し得るため、本開示の範囲を限定するとはみなされないことに留意されたい。
【図面の簡単な説明】
【0008】
図1A】例示的な実施形態による、例示的な物理ニューラルネットワークを例示するブロック図である。
図1B】例示的な実施形態による、物理ニューラルネットワークをより詳細に例示するブロック図である。
図2】例示的な実施形態による、一般的な物理ニューラルネットワークシステムを例示するブロック図である。
図3A】例示的な実施形態による、従来のバックプロパゲーションプロセスを例示するブロック図である。
図3B】例示的な実施形態による、物理認識バックプロパゲーションプロセスを例示するブロック図である。
図4】例示的な実施形態による、詳細な物理認識トレーニングプロセスを例示するブロック図である。
図5】例示的な実施形態による、物理認識トレーニングを使用して物理ニューラルネットワークをトレーニングする方法を例示するフロー図である。
図6】例示的な実施形態による、例示的な物理ニューラルネットワークを例示するブロック図である。
図7A】例示的な実施形態による、コンピューティングシステムのシステムバスアーキテクチャを例示する図である。
図7B】例示的な実施形態による、チップセットアーキテクチャを有するコンピュータシステムを例示する図である。
【発明を実施するための形態】
【0009】
理解を容易にするために、可能であれば、各図面に共通する同一の要素を示すために同一の参照符号を使用されている。1つの実施形態において開示された要素は、特に言及することなく、他の実施形態でも有益に利用され得ることが想定されている。
【0010】
深層ニューラルネットワークは、科学およびエンジニアリングにおいて普及したツールとなっている。しかしながら、最新の深層ニューラルネットワークのエネルギー要件の増大は、その拡張性および広範な使用をますます制限している。これを解決するために、本明細書で説明される1つまたは複数の技法は、物理ニューラルネットワークを介して深層ニューラルネットワークモデルを実施するための根本的な代替案を提案する。たとえば、本明細書で開示されるものは、深層ニューラルネットワークとして機能するように制御可能な物理システムのシーケンスを効率的にトレーニングする、「物理認識トレーニング」と称されるハイブリッド物理デジタルアルゴリズムである。そのようなアプローチは、最新の深層ニューラルネットワークのために使用されているものと同じ技法であるバックプロパゲーションを使用して、実際の物理システムの任意のシーケンスの機能を直接自動的にトレーニングする。物理ニューラルネットワークは、従来の電子プロセッサよりも桁違いに高速でエネルギー効率が高い、非従来型の機械学習ハードウェアを促進し得る。
【0011】
人工知能における多くの歴史的発展と同様に、深層ニューラルネットワーク(DNN)の広範な採用は、部分的には相乗的なハードウェアによって可能になった。2012年、Krizhevskyらは、これまでの多数の研究に基づいて、確率的勾配降下法(stochastic gradient descent,SGD)のバックプロパゲーションアルゴリズムを、グラフィックス処理ユニットで効率的に実行して、大規模な畳み込みDNNをトレーニングして、正確な画像分類を実行することができることを示した。2012年以降、DNNの用途の幅は拡大したが、その一般的なサイズも拡大した。その結果、DNNモデルの計算要件は急速に増大し、ムーアの法則を上回った。現在、DNNは、ハードウェアのエネルギー効率によってますます制限されている。
【0012】
新たなDNNエネルギー問題は、特殊用途のハードウェアであるDNN「アクセラレータ」に影響を与えている。いくつかの提案は、光学素子またはメモリスタクロスバーアレイなどの代替物理プラットフォームを用いており、従来のエレクトロニクスの枠を超えている。これらのデバイスは通常、ハードウェア物理と、DNNにおける数学演算との間の近似的な類似性に依存している。したがって、その成功は、意図しない非線形性、ノイズプロセス、およびデバイス変動など、類似性に違反する物理の部分を慎重に抑制しながら、デバイスパフォーマンスを、ハードウェア物理の限界に近づける集中的なエンジニアリングにかかっている。
【0013】
しかしながら、より一般的には、物理システムの制御された進化は、深層学習モデルを実現するのによく適している。DNNおよび物理プロセスは、階層、近似的な対称性、冗長性、非線形性など、多くの構造的類似点を共有している。これらの構造的共通点は、自然界の物理世界からのデータに基づいて健全に動作するDNNの成功の多くを説明している。物理システムは、進化するにつれて、事実上、制御された畳み込み、非線形性、行列ベクトル演算など、DNN内で数学演算を実行する。これらの物理計算は、入力データを物理システムの初期条件に符号化し、システムが進化した後に測定を実行して結果を読み取ることによって利用することができる。物理計算は、物理パラメータを調整することによって制御することができる。そのような制御された物理入力出力変換をカスケード接続することにより、トレーニング可能な階層的な物理計算を実現することができる。複雑な物理システムの進化をシミュレーションしたことがある人なら誰でもわかるように、物理的変換は通常、デジタルエミュレーションよりも高速で、消費エネルギーも少なく、ナノ秒やナノジュールを要するプロセスは、デジタルでシミュレーションするのに数秒やジュールを要することがよくある。したがって、PNNは、スケーラブルでエネルギー効率が高く、高速な機械学習への経路である。
【0014】
物理学習ハードウェアための理論的提案は、光学、スピントロニクスナノ振動子(spintronic nano-oscillator)、ナノ電子デバイス、および小規模量子コンピュータなどの様々な分野で最近出現している。関連するトレンドは、物理リザーバコンピューティングであり、ここでは、物理システム「リザーバ」の情報変換は、トレーニングされず、代わりに、トレーニング可能な出力層によって線形結合される。リザーバコンピューティングは、一般的な物理プロセスを計算に利用するが、そのトレーニングは本質的に浅いものであり、最新の深層ニューラルネットワークを特徴付ける階層的なプロセス学習は可能ではない。対照的に、物理学習ハードウェアの新しい提案は、物理的変換自体をトレーニングすることでこの問題を克服する。
【0015】
しかしながら、物理学習ハードウェアに関する実験研究はほとんどなく、存在する研究は、無勾配の学習アルゴリズム(gradient-free learning algorithm)に依存している。これらの研究は重要なステップを踏み出したが、現在では、バックプロパゲーションアルゴリズムなどの勾配ベースの学習アルゴリズムが、大規模DNNの効率的なトレーニングおよび良好な一般化に不可欠であることが認識されている。この問題を解決するために、バックプロパゲーションを物理ハードウェアにおいて実現する提案が登場した。これらの提案はインスピレーションに満ちているが、線形性や無散逸の進化(dissipation-free evolution)など、限定的な仮定に依存することがよくある。最も一般的な提案は、そのような制約を克服する可能性があるが、依然としてインシリコ(in silico)でのトレーニング、つまり完全に数値シミュレーション内でのトレーニングの実行に依存している。したがって、実験的に、かつスケーラブルなハードウェアで実現するためには、数学的類似性に基づいて、ハードウェアと同じ課題、つまり、ハードウェアを理想的なシミュレーションと正確に一致させるための熱心なエンジニアリング努力に直面することになる。
【0016】
図1Aは、例示的な実施形態による、例示的な物理ニューラルネットワーク100を例示するブロック図である。物理ニューラルネットワーク100の議論を容易にするために、以下は、従来の人工ニューラルネットワークの簡単な議論である。従来の人工ニューラルネットワーク(ANN)は通常、整流器(ReLU)などの要素ごとの非線形活性化が続く、トレーニング可能な行列ベクトル乗算を含む演算ユニット(層)から構築される。行列ベクトル乗算の重みは、ANNが、所望される数学演算を実施することができるように、トレーニング中に調整され得る。深層ニューラルネットワーク(DNN)は、これらの演算ユニットをともにカスケード接続することによって作成され得る。DNNは、マルチステップ(階層)計算を学習するようにトレーニングされ得る。物理システムは、進展すると、計算を実行し得る。システムの制御可能なプロパティは、入力データおよび制御パラメータに分割され得る。制御パラメータを変化させることにより、入力データに対して実行される物理的変換を変更することができる。
【0017】
図1Aに図示されるように、物理ニューラルネットワーク100は、データ入力102およびパラメータ104を入力として受け取り得る。データ入力102およびパラメータ104に基づいて、物理ニューラルネットワーク100は、出力106を生成し得る。階層的情報処理が、トレーニング可能な非線形関数のシーケンスによってDNNにおいて実現されるのと同様に、深層物理ニューラルネットワーク100は、トレーニング可能な物理的変換の層をカスケードすることによって作成することができる。物理ニューラルネットワーク100では、各物理層は制御可能な機能を実施しており、この機能は、従来のDNN層のものよりも、より一般的な形態とすることができる。
【0018】
図1Bは、例示的な実施形態による、物理ニューラルネットワーク100をより詳細に例示するブロック図である。図示されるように、物理ニューラルネットワーク100は、複数の層112から構成され得る。たとえば、図示されるように、物理ニューラルネットワーク100は、層112a、層112b、層112c、層112d、および層112nから構成され得る。この特定の例では、層112aは、物理ニューラルネットワーク100における第1の層であり得る。図示されるように、層112aは、データ入力114およびパラメータ116を、入力として受け取り得る。データ入力114およびパラメータ116に基づいて、層112aは、出力118を生成し得る。データ入力114、パラメータ116、および出力118は、入力として、次の層、すなわち層112bに提供され得る。データ入力114、パラメータ116、および出力118に基づいて、層112bは、出力120を生成し得る。データ入力114、パラメータ116、および出力120は、入力として、次の層、すなわち層112cに提供され得る。そのようなプロセスは、層112dから層112nおのおのに対して続き、最終出力122を生成し得る。
【0019】
上述したように、物理ニューラルネットワーク100は、バックプロパゲーションを使用して、深層ニューラルネットワークを実行するために、任意の実際の物理システムを直接トレーニングするための普遍的なフレームワークを例示し得る。トレーニングされた階層的な物理計算は、物理ニューラルネットワーク(PNN)と称され得る。ハイブリッド物理デジタルアルゴリズム、すなわち、物理認識トレーニング(PAT)により、物理的な入力出力変換のシーケンスに対して、バックプロパゲーションアルゴリズムを、その場で直接、効率的かつ正確に実行することができる。PNNは、従来のハードウェアから根本的に脱却(radical departure)しているが、最新の機械学習へ簡単に統合される。たとえば、PNNは、物理デジタルハイブリッドアーキテクチャを介して、従来のハードウェアおよびニューラルネットワーク方法と、シームレスに組み合わせることができ、このアーキテクチャでは、従来のハードウェアが、PATを使用して、非従来型の物理リソースと、都合よく連携するように学習する。最終的に、PNNは、人工知能におけるハードウェア物理ソフトウェア相互設計の基礎と、機械学習のエネルギー効率および速度を何桁も向上させるための経路と、機能性ナノ粒子、ロボット、スマートセンサなどのような複雑な機能的デバイスを自動的に設計するための道筋とを提供する。
【0020】
物理ニューラルネットワーク100のパラメータをトレーニングするために、PATが使用され得る。PATは、確率的勾配降下法(SGD)のバックプロパゲーションアルゴリズムを、物理的な入力出力変換のシーケンスに対して直接実行することができるようにするアルゴリズムである。いくつかの実施形態では、バックプロパゲーションアルゴリズムにおいて、自動微分により、トレーニング可能なパラメータに関する損失関数の勾配を効率的に判定し得る。これにより、アルゴリズムは、勾配推定の有限差分法よりも、約N倍効率的になる(ここで、Nはパラメータの数である)。PATは、低精度のハードウェアおよびフィードバックアライメントのために、ニューラルネットワークをトレーニングするために使用される量子化認識トレーニングアルゴリズムとのいくつかの類似点を有し得る。PATは、ロボット工学における「シミュレーション現実ギャップ」に類似した問題を解決するものと見なすことができ、このギャップは、物理デジタルハイブリッド技法によって漸増的に対処される。
【0021】
前述したように、物理認識トレーニング(PAT)は、勾配ベースの学習アルゴリズムである。アルゴリズムは、ネットワークのパラメータに関する損失の勾配を計算し得る。損失は、ネットワークが、その機械学習タスクでどの程度うまく実行しているのかを示し得るので、その後、損失の勾配を使用して、ネットワークのパラメータが更新される。勾配は、バックプロパゲーションアルゴリズムを介して効率的に計算され得る。
【0022】
バックプロパゲーションアルゴリズムは、微分可能な関数から構成されるニューラルネットワークに一般的に適用される。これは、2つの重要なステップ、すなわち、損失を計算するための前方パスと、損失に関する勾配を計算するための後方パスとを含む。このアルゴリズムを支える数学的技法は、逆モード自動微分(autodiff)と称され得る。いくつかの実施形態では、ネットワークにおける各微分可能な関数は、信号が、ネットワークを介して前方にどのように伝搬するか、およびエラー信号がどのように後方に伝搬するのかを指定し得る、autodiff関数であり得る。構成要素(constituent)であるautodiff関数と、これらの異なる関数がどのように相互に接続されているかに関する規定、つまり、ネットワークアーキテクチャが与えられると、逆モードautodiffは、効率的な方式で出力から、入力およびパラメータ(ヒューリスティックに「後方」と呼ばれる)に向かって、所望の勾配を反復的に計算することができる可能性がある。たとえば、従来の深層ニューラルネットワークの出力は、f(f(...f(f(x,θ1),θ2)...,θ[N-1]),θN)によって与えられ得る。ここで、fは、構成要素であるautodiff関数を表し得る。たとえば、fは、f(x,θ)=Relu(Wx+b)で与えられ得、ここで、重み行列Wおよびバイアスbは、所与の層のパラメータを表し得、Reluは、整流線形ユニットのアクティベーション関数であり得る(ただし、他のアクティベーション関数が使用される場合もあり得る)。fについて、前方パスおよび後方パスが、どのように実行されるかに関する規定があれば、autogradアルゴリズムは、ネットワーク全体の損失を計算することができる可能性がある。
【0023】
物理認識トレーニングでは、従来のバックプロパゲーションアルゴリズムの代替実施が使用され得る。たとえば、本変形例は、前方パスおよび後方パスのために、異なる関数を利用し得るautodiff関数を採用し得る。
【0024】
図2は、例示的な実施形態による、一般的な物理ニューラルネットワークシステム200を例示するブロック図である。図示されるように、物理ニューラルネットワークシステム200は、デジタルコンポーネント202および物理コンポーネント204を含み得る。デジタルコンポーネント202は、物理コンポーネント204のための入力データセットを生成するように構成され得る。一般に、デジタルコンポーネント202は、図7Aおよび図7Bに関連して以下に説明されるようなコンピューティングシステムを表し得る。物理コンポーネント204は、機械システム、光学システム、電子システムなどの物理システムを表し得るが、これらに限定されない。より一般的には、物理コンポーネント204は、出力を生成するために、従来はバックプロパゲーションプロセスの前方パスであったものを実行するように構成され得る。デジタルコンポーネント202は、前方パスから生成された出力に基づいて、従来はバックプロパゲーションプロセスの後方パスであったものを実行するように構成され得る。全体的なトレーニングプロセスが、以下でさらに説明される。
【0025】
図3Aは、例示的な実施形態による、従来のバックプロパゲーションプロセス300を例示するブロック図である。図3Bは、例示的な実施形態による、PATバックプロパゲーションプロセス350を例示するブロック図である。
【0026】
図3Aに図示されるように、従来のバックプロパゲーションアルゴリズムは、前方パス302および後方パス304のために同じ関数を使用する。数学的には、入力およびパラメータを、出力にマッピングする前方パス302は、y=f(x,θ)で与えられ、ここで、
【数1】
は入力であり、
【数2】
はパラメータであり、
【数3】
はマップの出力であり、
【数4】
は、ニューラルネットワーク全体に適用される構成要素演算であるいくつかの一般的な関数を表す。
【0027】
出力に関する勾配を、入力およびパラメータに関する勾配にマッピングする後方パス304は、以下のヤコビアンベクトル積によって与えられ得る。
【数5】
ここで、
【数6】

【数7】

【数8】
はそれぞれ、出力、入力、およびパラメータに関する損失の勾配を表し得る。
【数9】
は、(x,θ)で評価されたxに関する関数fのヤコビアン行列、すなわち
【数10】
を表し得る。同様に、
【数11】
である。
【0028】
図3Aにおいて説明される従来のバックプロパゲーションアルゴリズムは、デジタルコンピュータを用いた深層学習にはうまく機能するかもしれないが、単純に物理ニューラルネットワークに適用することはできない。これは、物理システムによって実行される入力出力変換の分析的な勾配(
【数12】
など)を計算することができないためである。導関数は、有限差分アプローチを介して推定することができ、これには、後方パスごとに、物理システムへのn+p回の呼び出しが必要である。結果として得られるアルゴリズムはn+p倍遅くなり、これは、トレーニング可能なパラメータが数千または数百万ある、適度なサイズのネットワークにとって重要である。
【0029】
対照的に、図3Bは、任意の実際の物理入力出力変換に適した代替バックプロパゲーションアルゴリズムを例示する。PATバックプロパゲーションプロセス350は、前方パス352および後方パス354のために異なる関数を利用し得るautofiff関数を採用し得る。図3Bに概略的に図示されるように、物理システムの非微分可能変換(fp)は、前方パス352において使用され得、物理的変換の微分可能デジタルモデル(fm)は、後方パス354において使用され得る。物理認識トレーニングは、バックプロパゲーションアルゴリズムであり、これは、反復的に勾配を効率的に計算し得るので、物理システムを効率的にトレーニングすることができる。さらに、物理認識トレーニングは、逆モードの自動微分の同じパラダイムで定式化されているため、ユーザは、これらのカスタムautodiff関数を、任意の従来の機械学習ライブラリ(PyTorchなど)で定義して、従来のニューラルネットワークのために採用されているものと同じワークフローを用いて、物理ニューラルネットワークを設計およびトレーニングすることができる。
【0030】
物理ニューラルネットワーク全体における構成要素の物理的変換の場合、この構成要素の前方パス演算は、y=fp(x,θ)によって与えられ得る。後方パス354では、前方パス352とは異なる関数が使用されるため、autodiff関数は、出力層における勾配を、入力層における正確な勾配にバックプロパゲーションすることができなくなる可能性がある。その代わりに、正確な勾配のバックプロパゲーションを近似しようとする場合がある。したがって、後方パス354は、
【数13】
によって与えられ得、ここで、gy、gx、およびgθは、それぞれ勾配
【数14】

【数15】
および
【数16】
の推定量であり得る。
【0031】
言い換えると、PATトレーニングでは、後方パス354は、微分可能デジタルモデル、すなわち、fm(x,θ)を使用して推定され得る一方、前方パス352は、物理システム、すなわち、fp(x,θ)によって実施され得る。
【0032】
図4は、例示的な実施形態による、詳細な物理認識トレーニングプロセス400を例示するブロック図である。図示されるように、図4は、物理認識トレーニングのための完全なトレーニングループを例示し得る。そのような議論は、フィードフォワードPNNアーキテクチャが、深層学習における標準フィードフォワードニューラルネットワーク(多層パーセプトロン)のPNN相当物であるため、フィードフォワードPNNアーキテクチャを利用し得る。物理認識トレーニングは、理想的なバックプロパゲーションアルゴリズムと、インシリコトレーニングとの両方の欠点を回避するように特別に設計されている。これは、物理領域とデジタル領域との両方における計算を含むハイブリッドアルゴリズムである。
【0033】
より具体的には、物理システムは、前方パスを実行するために使用され、これにより、(インシリコトレーニングにおけるように)微分デジタルモデルを非常に正確にする負担を軽減する。微分可能デジタルモデルは、物理システムが実行することができないトレーニングループの部分を補完するために、後方パスでのみ利用され得る。物理認識トレーニングは、ネットワークアーキテクチャ全体において、カスタム構成要素のautodiff関数を使用することによって形式化することができる。フィードフォワードPNNの場合、これらのカスタム関数を用いたautodiffアルゴリズムによる結果、以下のトレーニングループへと単純化することができる。
前方パスを実行する。x[l+1]=y[l]=fp(x[l],θ[l]
エラーベクトルを計算する。
【数17】
後方パスを実行する。
【数18】
パラメータを更新する。
【数19】
ここで、
【数20】
および
【数21】
はそれぞれ、「正確な」勾配
【数22】
および
【数23】
の推定量である。したがって、推定された勾配ベクトルと、正確な勾配ベクトルとの間の角度
【数24】
は、物理認識トレーニングのパフォーマンスを概念的に特徴付ける。物理認識トレーニングでは、前方パスが、物理システムによって実行され得るので、エラーベクトルは
【数25】
を必要とし(exact)得る。次に、エラーベクトルは、各層において「正しい」入力(予測された
【数26】
の代わりにx[l])で評価された微分デジタルモデルのヤコビアン行列を含む、後方パスを介してバックプロパゲーションされ得る。したがって、前方パスにおける物理計算を介して、PNNの出力(y[N])を利用することに加えて、中間出力(y[l])も、物理認識トレーニングにおける正確な勾配の計算を容易にするために利用され得る。
【0034】
図5は、例示的な実施形態による、物理認識トレーニングを使用して物理ニューラルネットワーク(PNN)をトレーニングする方法500を例示するフロー図である。方法500は、ステップ502として開始し得る。
【0035】
ステップ502として、コンピューティングシステムは、PNNに入力を提供し得る。いくつかの実施形態では、入力は、トレーニングデータおよびトレーニング可能なパラメータを含み得る。いくつかの実施形態では、トレーニングデータおよびトレーニング可能なパラメータは、PNNへの入力前に符号化され得る。特定の例を使用して、入力データおよびパラメータは、吊り下げられた金属板に加えられる時間依存の力に符号化され得る。
【0036】
ステップ504において、PNNは、その変換を使用して、前方パスにおいて出力を生成し得る。たとえば、上述されるように、前方パスでは、PNNは、x[l+1]=y[l]=fp(x[l],θ[l])を実行して、前方パスにおける出力を生成し得る。
【0037】
ステップ506において、コンピューティングシステムはエラーを生成または計算し得る。たとえば、コンピューティングシステムは、実際の物理出力を、標準または予想される物理出力と比較し得る。実際の物理出力と、標準または予想される物理出力との差が、エラーを表し得る。いくつかの実施形態では、エラーベクトルは、
【数27】
によって生成され得る。
【0038】
ステップ508において、コンピューティングシステムは、微分可能デジタルモデルを使用して、損失勾配を生成し得る。たとえば、微分可能デジタルモデルを使用してPNNの勾配を推定すると、コンピューティングシステムは、制御可能なパラメータに関する損失の勾配を生成し得る。後方パスは、
【数28】
を使用して実行され得る。
【0039】
ステップ510において、コンピューティングシステムは、パラメータを更新し得る。たとえば、コンピューティングシステムは、推定された勾配に基づいて、システムのパラメータを更新し得る。
【0040】
そのようなプロセスは、変換されるまで継続し得る。
【0041】
図6は、例示的な実施形態による、例示的な物理ニューラルネットワーク(PNN)600を例示するブロック図である。図示されるように、PNN600は、振動板実験装置(oscillating plate experimental setup)を表し得る。たとえば、PNN600は、オーディオアンプ602と、市販のフルレンジスピーカ604と、マイクロフォン606と、この装置を制御するコンピュータ608とを含み得る。コンピュータ608は、入力信号610を、増幅器602に提供し得る。いくつかの実施形態では、入力信号610は、時間領域で符号化された物理的な入力を含み得る。たとえば、コンピュータ608は、コンピュータ608のデジタルアナログ変換器によってアナログ信号に変換され得る方形パルスの時系列で入力を符号化し得る。
【0042】
増幅器602は、コンピュータ608から受け取った入力信号を増幅し、増幅された入力信号を、音響スピーカのボイスコイルによって実現される機械的振動子に印加するように構成され得る。たとえば、スピーカは、スピーカのボイスコイルに取り付けられたチタン製の板の機械的振動を駆動するために使用され得る。
【0043】
マイクロフォン606は、振動板によって生成される音を記録するように構成され得る。いくつかの実施形態では、マイクロフォン606によって記録された音は、デジタルに変換されて戻され得る。記録された音は、コンピュータ608に戻される出力信号612を表し得る。コンピュータ608は、出力信号612を、予想される出力信号と比較して、エラーを生成するように構成され得る。コンピュータ608は、デジタルモデルを使用して、制御可能なパラメータに関して損失勾配を評価するようにさらに構成され得る。生成された勾配に基づいて、コンピュータ608は、増幅器602に渡されるパラメータを更新または変え得る。
【0044】
図7Aは、例示的な実施形態による、コンピューティングシステム700のシステムバスアーキテクチャを例示する。システム700は、デジタルコンポーネント202の少なくとも一部を表し得る。システム700の1つまたは複数のコンポーネントは、バス705を使用して、互いに電気通信し得る。システム700は、処理装置(CPUまたはプロセッサ)710と、読取専用メモリ(ROM)720およびランダムアクセスメモリ(RAM)725などのシステムメモリ715を含む様々なシステムコンポーネントを、プロセッサ710に結合するシステムバス705とを含み得る。システム700は、プロセッサ710に直接接続されるか、プロセッサ710に近接して接続されるか、またはプロセッサ710の一部として統合される高速メモリのキャッシュを含み得る。システム700は、プロセッサ710による迅速なアクセスのために、メモリ715および/または記憶デバイス730からキャッシュ712へデータをコピーし得る。このようにして、キャッシュ712は、データを待っている間、プロセッサ710の遅延を回避する性能向上を提供し得る。これらおよび他のモジュールは、様々な動作を実行するために、プロセッサ710を制御し得るか、または制御するように構成され得る。他のシステムメモリ715も同様に、使用のために利用可能であり得る。メモリ715は、異なる性能特性を有する複数の異なるタイプのメモリを含み得る。プロセッサ710は、任意の汎用プロセッサと、プロセッサ710および専用プロセッサを制御するように構成された、記憶デバイス730に格納されたサービス1 732、サービス2 734、およびサービス3 736などのハードウェアモジュールまたはソフトウェアモジュールとを含み得、ここで、ソフトウェア命令は、実際のプロセッサ設計に組み込まれている。プロセッサ710は、本質的に、複数のコアまたはプロセッサ、バス、メモリコントローラ、キャッシュなどを含む、完全に内蔵型のコンピューティングシステムであり得る。マルチコアプロセッサは、対称または非対称であり得る。
【0045】
コンピューティングシステム700とのユーザインタラクションを可能にするために、入力デバイス745は、音声用のマイクロフォン、ジェスチャまたはグラフィック入力用のタッチ感知スクリーン、キーボード、マウス、モーション入力、音声など、任意の数の入力機構を表し得る。出力デバイス735は、当業者に知られている多くの出力機構のうちの1つまたは複数であり得る。場合によっては、マルチモーダルシステムにより、ユーザは、コンピューティングシステム700と通信するために、複数のタイプの入力を提供することができる可能性がある。通信インターフェース740は、一般に、ユーザ入力およびシステム出力を統制および管理し得る。いずれの特定のハードウェア構成においても動作に制限はないため、ここでの基本機能は、開発された改良型ハードウェアまたはファームウェア構成に簡単に置き換えることができる。
【0046】
記憶デバイス730は、不揮発性メモリであってもよく、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)725、読取専用メモリ(ROM)720、およびそれらの混成のように、コンピュータによってアクセス可能なデータを格納し得る、ハードディスクまたは他のタイプのコンピュータ可読媒体であり得る。
【0047】
記憶デバイス730は、プロセッサ710を制御するためのサービス732、734、および736を含み得る。他のハードウェアまたはソフトウェアモジュールも想定される。記憶デバイス730は、システムバス705に接続され得る。1つの態様では、特定の機能を実行するハードウェアモジュールは、機能を実行するために、プロセッサ710、バス705、出力デバイス735(たとえばディスプレイ)などのような必要なハードウェアコンポーネントと接続しているコンピュータ可読媒体に格納されたソフトウェアコンポーネントを含み得る。
【0048】
図7Bは、デジタルコンポーネント202の少なくとも一部を表し得るチップセットアーキテクチャを有するコンピュータシステム750を例示する。コンピュータシステム750は、開示された技術を実施するために使用され得るコンピュータハードウェア、ソフトウェア、およびファームウェアの例であり得る。システム750は、特定された計算を実行するように構成されたソフトウェア、ファームウェア、およびハードウェアを実行することができる任意の数の物理的および/または論理的に別個のリソースを表すプロセッサ755を含み得る。プロセッサ755は、プロセッサ755への入力およびプロセッサ755からの出力を制御し得るチップセット760と通信し得る。この例では、チップセット760は、ディスプレイなどの出力765に情報を出力し、たとえば、磁気媒体およびソリッドステート媒体を含み得る記憶デバイス770に、情報を読み書きし得る。チップセット760は、記憶デバイス775(たとえば、RAM)からデータを読み出したり、記憶デバイス775にデータを書き込んだりすることもできる。様々なユーザインターフェースコンポーネント785とインターフェースするためのブリッジ780が、チップセット760とインターフェースするために提供され得る。そのようなユーザインターフェースコンポーネント785は、キーボードと、マイクロフォンと、タッチ検出および処理回路と、マウスなどのポインティングデバイスなどを含み得る。一般に、システム750への入力は、機械が生成したもの、および/または、人間が生成したものなど、様々なソースのいずれかからのものであり得る。
【0049】
チップセット760はまた、異なる物理インターフェースを有し得る1つまたは複数の通信インターフェース790とインターフェースし得る。そのような通信インターフェースは、有線およびワイヤレスのローカルエリアネットワーク、ブロードバンドワイヤレスネットワーク、およびパーソナルエリアネットワークのためのインターフェースを含み得る。本明細書において開示されるGUIを生成し、表示し、使用するための方法のいくつかの応用は、物理インターフェースを介して順序付けされたデータセットを受け取ることを含んでもよいし、または、プロセッサ755が、記憶デバイス770または記憶デバイス775に格納されたデータを分析することによってマシン自体によって生成され得る。さらに、マシンは、ユーザインターフェースコンポーネント785を介してユーザから入力を受け取り、プロセッサ755を使用してこれらの入力を解釈することによってブラウジング機能などの適切な機能を実行し得る。
【0050】
例示的なシステム700、750は、1つ以上のプロセッサ710を有し得るか、より優れた処理能力を提供するためにともにネットワーク接続されたコンピューティングデバイスのグループまたはクラスタの一部であり得ることが認識され得る。
【0051】
上記は本明細書で説明された実施形態に関するものであるが、その基本的な範囲から逸脱することなく他のさらなる実施形態が考案され得る。たとえば、本開示の態様は、ハードウェアまたはソフトウェア、または、ハードウェアとソフトウェアとの組合せで実施され得る。本明細書で説明された1つの実施形態は、コンピュータシステムを用いて使用するためのプログラム製品として実施され得る。プログラム製品のプログラムは、(本明細書で説明される方法を含む)実施形態の機能を定義し、様々なコンピュータ可読記憶媒体に格納することができる。例示的なコンピュータ可読記憶媒体は、(i)情報が永続的に記憶される書込不能記憶媒体(たとえば、CD-ROMドライブによって読取可能なCD-ROMディスク、フラッシュメモリ、ROMチップ、またはあらゆるタイプのソリッドステート不揮発性メモリのような、コンピュータ内の読取専用メモリ(ROM)デバイス)と、(ii)変更可能な情報が格納される書込可能記憶媒体(たとえば、ディスケットドライブ、ハードディスクドライブ、または任意のタイプのソリッドステートランダムアクセスメモリ内のフロッピーディスク)とを含むが、これらに限定されない。そのようなコンピュータ可読記憶媒体は、開示された実施形態の機能を指示するコンピュータ可読命令を有する場合、本開示の実施形態である。
【0052】
前述の例は例示的なものであり、限定的なものではないことが当業者に認識されるであろう。明細書を読み、図面を検討すれば、それらに対するすべての置換、拡張、均等物、および改良は、当業者に明らかであり、本開示の真の精神および範囲内に含まれることが意図される。したがって、以下の添付の特許請求の範囲には、これらの教示の真の精神および範囲内に含まれるすべてのそのような修正、置換、および均等物が含まれることが意図される。
図1A
図1B
図2
図3A
図3B
図4
図5
図6
図7A
図7B
【国際調査報告】