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

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

▶ レイセオン カンパニーの特許一覧

特表2024-541876ミニバッチ粒子流を使用したBNNトレーニング
<>
  • 特表-ミニバッチ粒子流を使用したBNNトレーニング 図1
  • 特表-ミニバッチ粒子流を使用したBNNトレーニング 図2
  • 特表-ミニバッチ粒子流を使用したBNNトレーニング 図3
  • 特表-ミニバッチ粒子流を使用したBNNトレーニング 図4
  • 特表-ミニバッチ粒子流を使用したBNNトレーニング 図5
  • 特表-ミニバッチ粒子流を使用したBNNトレーニング 図6
  • 特表-ミニバッチ粒子流を使用したBNNトレーニング 図7
  • 特表-ミニバッチ粒子流を使用したBNNトレーニング 図8
  • 特表-ミニバッチ粒子流を使用したBNNトレーニング 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-13
(54)【発明の名称】ミニバッチ粒子流を使用したBNNトレーニング
(51)【国際特許分類】
   G06N 3/047 20230101AFI20241106BHJP
   G06N 3/08 20230101ALI20241106BHJP
【FI】
G06N3/047
G06N3/08
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024523578
(86)(22)【出願日】2022-10-25
(85)【翻訳文提出日】2024-04-19
(86)【国際出願番号】 US2022047728
(87)【国際公開番号】W WO2023076269
(87)【国際公開日】2023-05-04
(31)【優先権主張番号】17/509,278
(32)【優先日】2021-10-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.PYTHON
(71)【出願人】
【識別番号】524059674
【氏名又は名称】レイセオン カンパニー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【弁理士】
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】ベイカー,スザンヌ エム.
(72)【発明者】
【氏名】アレルト,アンドリュー シー.
(72)【発明者】
【氏名】サルプカス,マイケル アール.
(57)【要約】
ミニバッチ粒子流を使用してベイジアンニューラルネットワーク(BNN)をトレーニングするためのデバイス、システム、及び方法が、本明細書で論じられる。バッチ入力を使用してベイジアンニューラルネットワーク(BNN)をトレーニングし、トレーニングされたBNNを操作するための方法は、各粒子がNNのそれぞれのNNパラメータの点ごとの値を個別に表し、粒子が集合的にBNNのパラメータの分布を表すように粒子を初期化すること、最小バッチトレーニング粒子流を使用して、入力のバッチに基づいて粒子を最適化し、パラメータの最適化された分布を生じること、パラメータの最適化された分布とNNの各々からの予測を使用して予測分布を決定すること、及び予測分布を表す周辺化分布をもたらすこと、を含み得る。
【選択図】図3
【特許請求の範囲】
【請求項1】
バッチ入力を使用してベイジアンニューラルネットワーク(BNN)をトレーニングし、前記トレーニングされたBNNを操作するための方法であって、
各粒子がNNのそれぞれのNNパラメータの点ごとの値を個別に表し、前記粒子が集合的に前記BNNのパラメータの分布を表すように前記粒子を初期化すること、
最小バッチトレーニング粒子流を使用して、入力のバッチに基づいて前記粒子を最適化し、前記パラメータの最適化された分布を生じること、
前記パラメータの前記最適化された分布と前記NNの各々からの予測を使用して予測分布を決定すること、及び
前記予測分布を表す周辺化分布をもたらすこと、を含む、前記方法。
【請求項2】
ミニバッチトレーニング粒子流が、対数ホモトピーに基づいて前記ネットワークパラメータの値を反復的に進化させることを含む、請求項1に記載の方法。
【請求項3】
前記ミニバッチトレーニング粒子流が、前記結合事後確率の対数の平均を進化させることを含む、請求項2に記載の方法。
【請求項4】
前記ミニバッチトレーニング粒子流は、前記トレーニングセット内の各バッチについて、前記バッチ内の各入力の事後確率の幾何平均を決定することを含む、請求項2に記載の方法。
【請求項5】
前記平均を進化させることは、前記トレーニングセット内の各バッチについて、前記バッチ内の各入力のヘッセ行列を平均することを含む、請求項3に記載の方法。
【請求項6】
前記ヘッセ行列を平均することは、前記バッチ内の各入力について、対応するヘッセ行列項及びヤコビアン項を格納することを含む、請求項5に記載の方法。
【請求項7】
前記ヘッセ行列を平均することは、
前記バッチ内の各入力について、ガウスニュートン近似における前記ヘッセ行列項と前記ヤコビアン項の積を決定し、積の結果を生じること、及び
前記積の結果を平均し、前記ヘッセ行列の平均を生じること、を含む、請求項6に記載の方法。
【請求項8】
マシンによる実行時に、前記マシンに操作を実行させる命令を含む非一時的な機械可読媒体であって、前記操作が、
各粒子がNNのそれぞれのNNパラメータの点ごとの値を個別に表し、前記粒子が集合的にBNNのパラメータの分布を表すように前記粒子を初期化すること、
最小バッチトレーニング粒子流を使用して、入力のバッチに基づいて前記粒子を最適化し、前記パラメータの最適化された分布を生じること、
前記パラメータの前記最適化された分布と前記NNの各々からの予測を使用して予測分布を決定すること、及び
前記予測分布を表す周辺化分布をもたらすこと、を含む、前記非一時的な機械可読媒体。
【請求項9】
ミニバッチトレーニング粒子流が、対数ホモトピーに基づいて前記ネットワークパラメータの値を反復的に進化させることを含む、請求項8に記載の非一時的な機械可読媒体。
【請求項10】
前記ミニバッチトレーニング粒子流は、前記結合事後確率の対数の平均を進化させることを含む、請求項9に記載の非一時的な機械可読媒体。
【請求項11】
前記ミニバッチトレーニング粒子流は、前記トレーニングセット内の各バッチについて、前記バッチ内の各入力の事後確率の幾何平均を決定することを含む、請求項9に記載の非一時的な機械可読媒体。
【請求項12】
前記平均を進化させることは、前記トレーニングセット内の各バッチについて、前記バッチ内の各入力のヘッセ行列を平均することを含む、請求項10に記載の非一時的な機械可読媒体。
【請求項13】
前記ヘッセ行列を平均することは、前記バッチ内の各入力について、対応するヘッセ行列項及びヤコビアン項を格納することを含む、請求項12に記載の非一時的な機械可読媒体。
【請求項14】
前記ヘッセ行列を平均することは、
前記バッチ内の各入力について、ガウスニュートン近似における前記ヘッセ行列項と前記ヤコビアン項の積を決定し、積の結果を生じること、及び
前記積の結果を平均し、前記ヘッセ行列の平均を生じること、を含む、請求項13に記載の非一時的な機械可読媒体。
【請求項15】
システムであって、
処理回路と、
前記処理回路に接続されたメモリであって、前記処理回路によって実行されると、前記処理回路に操作を実行させる命令を含み、前記操作が、
各粒子がNNのそれぞれのNNパラメータの点ごとの値を個別に表し、前記粒子が集合的にBNNのパラメータの分布を表すように前記粒子を初期化すること、
最小バッチトレーニング粒子流を使用して、入力のバッチに基づいて前記粒子を最適化し、前記パラメータの最適化された分布を生じること、
前記パラメータの前記最適化された分布と前記NNの各々からの予測を使用して予測分布を決定すること、及び
前記予測分布を表す周辺化分布をもたらすこと、を含む、前記メモリを含む、前記システム。
【請求項16】
ミニバッチトレーニング粒子流が、対数ホモトピーに基づいて前記ネットワークパラメータの値を反復的に進化させることを含む、請求項15に記載のシステム。
【請求項17】
前記ミニバッチトレーニング粒子流が、前記結合事後確率の対数の平均を進化させることを含む、請求項16に記載のシステム。
【請求項18】
前記ミニバッチトレーニング粒子流は、前記トレーニングセット内の各バッチについて、前記バッチ内の各入力の事後確率の幾何平均を決定することを含む、請求項16に記載のシステム。
【請求項19】
前記平均を進化させることは、前記トレーニングセット内の各バッチについて、前記バッチ内の各入力のヘッセ行列を平均することを含む、請求項17に記載のシステム。
【請求項20】
前記ヘッセ行列を平均することは、
前記バッチ内の各入力について、対応するヘッセ行列項及びヤコビアン項を格納すること、
前記バッチ内の各入力について、ガウスニュートン近似における前記ヘッセ行列項と前記ヤコビアン項の積を決定し、積の結果を生じること、及び
前記積の結果を平均し、前記ヘッセ行列の平均を生じること、を含む、請求項19に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
優先権の主張
本出願は、参照によりその全体が本明細書に組み込まれる、2021年10月25日に出願された米国特許出願第17/509,278号に対する優先権の利益を主張する。
【0002】
本明細書で論じられる実施形態は、ミニバッチ粒子流を使用してベイジアンニューラルネットワーク(NN)をトレーニングするためのデバイス、システム、及び方法に関する。
【背景技術】
【0003】
ほとんどのNNは、直接的な不確実性のメトリクスや信頼度を持たずに点推定を行う。標準的なNNは、オープンセットでのパフォーマンスが比較的低い場合もある。ベイジアンNN(BNN)は重みの統計的分布を学習し、決定の不確実性と信頼性を決定できる統計的環境を提供する。BNNの既存のトレーニング手法には、ハミルトニアンモンテカルロ、変分推論(モンテカルロと決定論の両方)、確率的逆伝播、及び標準粒子フィルタが含まれる。これらのトレーニング方法は計算コストが高く、トレーニングには比較的大量のデータが必要である。
【図面の簡単な説明】
【0004】
図1】例として、標準的なDLアーキテクチャとBNNを対比したブロック図を示す。
図2】例として、NNの実施形態の図を示す。
図3】例として、トレーニング粒子流を使用するNNトレーニング手順の実施形態の流れ図を示す。
図4】例として、トレーニング粒子流を使用してMNIST{0,1}に基づいてトレーニングされているBNNの精度対測定更新のプロットを示す。
図5】例として、MNIST{0,1,2,3}でトレーニングされているBNNの精度対測定更新のプロットを示す。
図6】例として、ミニバッチトレーニング粒子流技術の実施形態の流れ図を示す。
図7】1、2、及び16のそれぞれのバッチサイズに対するバッチ更新の増加に伴うネットワーク精度のプロットを示している。
図8】実施形態による、NNトレーニングのためのシステムを含む環境の例のブロック図である。
図9】例として、マシンに本明細書に説明される方法の任意の1つ以上を実行させるための命令が実行され得るコンピュータシステムの例示的な形式のマシンの実施形態のブロック図を示す。
【発明を実施するための形態】
【0005】
粒子流は最近、ディープラーニング(DL)のコンテキストで使用できるように変更された。このようなDLトレーニングのための粒子流の手法を「トレーニング粒子流」と呼ぶ。トレーニング粒子流は、ベイジアンニューラルネットワーク(BNN)をトレーニングできる。トレーニング粒子流を使用してトレーニングされたBNNは、「粒子流BNN」と呼ばれ得る。粒子流BNNアーキテクチャは、少ないトレーニングサンプルで高い予測精度を示し、BNNによって行われる予測の分散を使用して予測の不確実性を測定する強力な機能を示す。MNISTクラス{0,1}を使用したケーススタディで、これが当てはまることが示された。ただし、粒子流BNNの現在の実装は、以下で説明するように、堅牢性に欠ける傾向があり、3つ以上のクラスのトレーニングが難しい場合がある。例えば図4図5を参照されたい。BNNとトレーニング粒子流が説明されている。次に、ミニバッチ粒子流トレーニングの説明が記載されている。ミニバッチ粒子流を使用してBNNをトレーニングすると、別の単一入力粒子流トレーニング手法よりも3つ以上のクラスのトレーニングが容易な、より堅牢なBNNを得る。
【0006】
図1は、例として、標準的なDLアーキテクチャ102とBNN104を対比したブロック図を示す。標準的なDLアーキテクチャは、モデル予測(出力108)及びネットワークパラメータ(ノードの重み112)の点推定をする。このようなDLアーキテクチャ102では、不確実性を定量化するための直接的な手段が得られない。その代わりに、標準的なDLアーキテクチャ102は、不確実性を推定するための間接的な方法に依存する。一般的な方法には、エントロピー及び信頼スコアと関数の使用、及びアプリケーション固有の方法が含まれる。ベイジアンDLアーキテクチャ104と統計的手法は、不確実性を定量化するためのより自然な状況をもたらす傾向がある。
【0007】
BNNは少なくとも1992年から研究されており、成長し続けている分野である。BNN技術は、NNにおける重みの事後確率分布(ノード114の分布)を解くためのガイドとしてベイズの定理を使用する。DLタスクのベイズの定理を解く計算の難しさは、NNの重みの事後分布を推定するための多数のアプローチの開発につながった。BNN最適化のよく知られたアプローチは、ハミルトニアンモンテカルロ、モンテカルロ変分推論、決定論的変分推論、確率的逆伝播(PBP)を含む。
【0008】
BNN104の出力110は、出力108としてクラスごとのスコアを提供するNN102の出力と比較したクラスごとの分布である。出力110の分布は、ノード114の活性化関数を表すために、ノード112のようなスカラー重みの代わりに分布(「dist.」)を使用することの自然な結果であり得る。
【0009】
ディープアンサンブルと確率的正則化手法は、DLにおける不確実性を推定する方向に向けた代替アプローチを提供する。これらの手法はベイズの定理を最適化するものではないが、BNNの数分の1の計算コストで予測不確実性を計算するための統計的環境をもたらす。これらの統計手法は、不確実性を定量化するための様々なアプリケーションで使用されている。
【0010】
既存のベイジアンNNと統計的アプローチに共通するテーマは、非常に大規模なトレーニングセットと数千エポックにわたるトレーニングである。ただし、現実世界のデータセットは一般的にまばらであり、数千のパラメータを使用して一般的なNNをトレーニングするには不十分な場合がある。実施形態は、不確実性を定量化することができ、また、疎なデータセットの制限内及び開集合問題に対して堅牢に実行できるNNアーキテクチャを提供する。
【0011】
実施形態は、粒子フィルタで一般的に使用されるが、BNNをトレーニングするために変更及び再利用される、変更された形式の粒子流技術を使用する。粒子流の方法の変更された形式を、本明細書では「トレーニング粒子流」と呼ぶ。粒子流は、ベイズの定理を最適化するための方法であり、(これまで)粒子フィルタリングのコンテキストでのみ使用されてきた。粒子フィルタリングに関連した粒子流の数値実験では、標準的な粒子フィルタや同じフィルタ精度の他の最先端のアルゴリズムと比較して、粒子流により計算の複雑さが何桁も軽減され得ることが示されている。さらに、粒子流は、拡張カルマンフィルタや、困難な非線形非ガウス問題に対するその他の最先端のアルゴリズムと比較して、フィルタ誤差を何桁も減らすことができる。
【0012】
最近、NNを最適化するための粒子法が登場したが、粒子流を使用してBNNを最適化することは、本発明者らの知る限りこれまで行われていなかった。MNIST{0,1}を使用して分類タスクを実行するようにトレーニングされたBNNの結果は、非常に少ないトレーニングサンプルで高い予測精度を示している。さらに、分類タスクを実行するようにトレーニングされたBNNは、ネットワーク予測の分散を使用して予測の不確実性を測定する強力な機能を備えていた。
【0013】
粒子流
内部状態sと測定値mを持つシステムを検討する。ベイズの定理は、以下に従って、測定値p(s│m)が与えられた状態の事後確率を、状態の事前分布p(s)と、状態が与えられた測定値の尤度p(m│s)に関連付ける。
【数1】
【0014】
ここで、p(m)=∫p(m│s)p(s)dsは正規化定数として動作する証拠である。測定値mは、内部状態がどのようなものであるか、または内部状態がどのようになるかを特徴付けるのに役立つ量である。一連のノイズの多い測定値{m}を含む一般的なマルコフプロセスが与えられると、粒子フィルタはベイズの定理を指針として使用してシステムの内部状態(複数可){s}を推定する方法を提供する。
【0015】
粒子流は、各測定ごとに内部状態の最適な事後分布を推定するために粒子フィルタリングのコンテキストで使用される方法である。粒子流は、対数ホモトピーに沿って事前分布を事後分布に進化させることにより、ベイズの定理を最適化する。
【数2】
【0016】
一方の連続関数をもう一方の連続関数に「連続的に変形」できる場合、それぞれの空間内の2つの連続関数はホモトピックと呼ばれる。このように変形され得る関数間にホモトピーが存在する。
【0017】
ここでK(λ,m)=∫p(m│s)λp(s)dsは、各λの事後分布p(s,λ│m)を正規化する。スカラーホモトピーパラメータλ=[0,1]は、特定の測定値mについて、分布を事前分布から事後分布に進化させる。各粒子は、システムの内部状態sの単一の実現を表す。対数ホモトピーに沿った粒子の流れは、以下の確率微分方程式(SDE)によって記述される。
【数3】
【0018】
式中、
【数4】
はドリフト速度、Bは拡散行列、dWはウィーナー過程の微分である。
【0019】
粒子の事後分布の進化は、フォッカー・プランク方程式(拡散二乗行列はQij=Σikjkとして定義される)によって特徴付けることができる。
【数5】
【0020】
ここで、式(4)に書かれた勾配と微分は、デカルト座標に関するものである。ただし、式(4)は偏導関数を適切に変換することで、任意の最適な直交座標系で使用できる。
【0021】
ドリフト速度
【数6】
と拡散行列Qの様々な解は、事前関数形式と尤度関数形式の特定の選択、または進化が決定論的か確率的かどうかについて発見されている。ドリフト速度と拡散行列のグロモフ解は次のとおりである。
【数7】
【数8】
【0022】
式中、
【数9】
はヘッセ行列である。ヘッセ行列は、変数関数の局所曲率を記述するスカラー値の関数の2次偏導関数の正方行列である。拡散行列のグロモフ解では、ガウス関数形式を持つ事前確率と尤度、及びガウスホワイトノイズによる測定値と状態の間の線形関係が必要である。
【0023】
測地線解は、ドリフト速度と拡散なし(つまりQ=0)についてグロモフ解を仮定する。ただし、これは式2と式4を同時に満たさない。曲率ゼロの解は、粒子がλを変化させても加速せず、拡散項はない(すなわち、Q=0)と仮定する。この解のドリフト速度はグロモフドリフト速度に比例する。
【0024】
DL及び教師あり学習タスク
DLは、一連のノード層を使用して、教師あり、半教師あり、または教師なし学習タスクのデータの高次表現を学習するMLの分岐である。説明される実施形態は教師あり学習タスクに焦点を当てているが、実施形態は尤度関数を定義できる任意の学習タスクに適用することができる。
【0025】
教師あり学習タスクでは、ディープNN(DNN)を使用して、回帰または分類の入力データと出力データの間の関係を学習できる。回帰タスクの場合、NNは入力データに因果関係がある従属変数pを予測できる。分類タスクの場合、ネットワークは特定のクラスの確率p_jを予測する。「確率」という言葉は、ここでは少し誤称である。分類タスクでは多くの場合、出力層でSoftMax活性化関数を使用して、その要素の合計が1になるベクトルを生成する。この出力はクラス確率のセットを表すが、これらの「確率」は必ずしもネットワークの実際の精度に対して十分較正されているとは限らない。この意味で、出力確率は、各クラスの正規化されたスコアとしてより正確に理解できる。トレーニング中に、入力データの対応する真理クラスまたは真理値yに対してNN予測を評価でき、選択した最適化スキームを使用してネットワークの重みを調整できる。
【0026】
「尤度」関数は、DLの多くの勾配ベースの最適化手法で使用される。回帰タスクの場合、NN重みθ={θ}とネットワーク予測pが与えられた場合の真理変数yの尤度Lは、通常、正規分布によってモデル化される。
【数10】
【0027】
ここでΣは、真実yと予測pの間の誤差をスケールする共分散行列であり、指数kはyの次元を表す。この尤度関数は、予測pと真実yの間のガウスホワイトノイズの不一致を前提としている。対応する対数尤度は次のように与えられる。
【数11】
【0028】
これは、Σが単位行列である場合の平均二乗誤差(MSE)を思い出させる。
【0029】
分類タスクの場合、カテゴリカルな分布は、予測クラス確率p、j∈[1nクラス]及びNN重みθを所与とした入力の真のクラスyの尤度Lを表す。
【数12】
【0030】
ここで、y={yTj}は、像の真理クラスのワンホットエンコードされたベクトル、またはソフトラベルを使用している場合は合計が1になる非バイナリベクトルである。対応する対数尤度は、クロスエントロピー関数の負の値である。
【数13】
【0031】
BNNをトレーニングするための粒子流のマッピング
図2は、例として、NN200の実施形態の図を示す。NN200は、L層のノードを含む。L層NN、Λθには、すべての重みとバイアスを含むネットワークパラメータθ={θ}={W,b,W,b,…,W,b}の集合がある。NN200は合計のNパラメータパラメータを有し、ネットワークパラメータθはNパラメータ次元ベクトルθ∈RNパラメータになる。
【0032】
一般的な教師あり学習タスクでは、トレーニングデータの集合D={X,Y}を使用して、NN200をトレーニングする。ここで、X={x}はすべての入力の集合であり、Y={yT,j}はXが与えられたすべての真理値の対応する集合である。各NN予測pは、データ
【数14】
に対する一連の2L組成の結果である。
【数15】
【0033】
式中、σはノードの各層の活性化関数を表し、gは各層のノードでのアフィン変換を表す。
【0034】
BNNの目標は、ベイズの定理を使用して、データを与えられたネットワークパラメータp(θ│D)の最適な事後分布を学習することである。
【数16】
ここでp(θ)はネットワークパラメータの事前分布を表し、{θ},L(Y│θ,X)=L(Y│Λθ(X))はNN予測P=Λθ(X)を考慮した真理値Yの尤度を記述する(式(7)及び式(9)を参照)。式(12)の正規化係数は、p(Y│X)=∫L(Y│θ,X)p(θ)dθとして定義される。
【0035】
式(12)の右辺は、事後確率
【数17】
の完全な式の縮小から得られ、式中分母は証拠p({X,Y})=∫L(Y│θ,X)p(X│θ)p(θ)dθであることに留意されたい。ネットワークパラメータθに対する入力Xの条件付き独立性を考慮すると、条件付き確率はp(X│θ)=p(X)p(θ)になる。これを事後確率の完全な式に代入すると、式(12)の右辺が再現される、
【数18】
【0036】
実施形態は、粒子フィルタリングコンテキストで使用される粒子流をDLコンテキストにマッピングし、式(12)においてそれぞれネットワークパラメータθと真理値Yに対して式(1)の内部状態{s}と測定値{m}を等しくすることによって、トレーニング粒子流をもたらす。これらの等式の下で、各粒子は今やネットワークパラメータ{θ}の単一の実現を表す。トレーニング粒子流は、ホモトピースカラーλを使用してNNのネットワークパラメータ{θ}の値を進化させる。内部状態sが与えられた場合の各測定値mの尤度は、入力データXに基づくネットワーク200の予測Pが与えられた場合の真理値の尤度Yで置き換えられる。DLコンテキストでは、各粒子はネットワークパラメータ{θ}の単一の実現を表す。
【0037】
粒子フィルタリングコンテキストで使用される粒子流のトレーニング粒子流へのマッピングは、式(13)から式(15)に数学的に説明される。
【数19】

m→Y (式14)
【数20】
【0038】
式(3)で与えられる対数ホモトピー制約は、
logp(θ,λ│{X,Y})=λlogL(Y│θ,X)+logp(θ)-logp(λ,│X)Y (式16)
【0039】
ここで、スカラーホモトピーパラメータλは、λにおけるこれらの項の分散を指定するために、事後分布と正規化係数の表記に追加された。式(4)に書かれた対応する勾配と導関数は、今や、トレーニング粒子流のためのネットワークパラメータに関するものである。
【数21】
【0040】
式18は、グロモフ方程式を使用したトレーニング粒子流におけるドリフト速度の数学的な表現を示す。
【数22】
【0041】
グロモフ方程式は、L≧1層、様々な活性化関数、及び任意の事前関数形式と尤度関数形式を備えたアーキテクチャに対してよく一般化する。しかし、式(18)は、NN200が線形活性化関数
【数23】
の単一層を有し、事前確率及び尤度はガウス関数形式を有し、Qが式(6)によって与えられるとき、式(16)~(17)のみを満たす。
【0042】
式19は、粒子流トレーニングで使用される一定拡散行列の数学的表現を提供する。

Q=αId (式19)
【0043】
ここで、α∈Rは正の実数、Idは単位行列である。一定の拡散行列は、数値の安定性をもたらすのに役立ち得る。さらに、少量のノイズを追加すると、ネットワークトレーニングが極小値に陥るのを防ぐことができる。小さな指数関数的減衰係数を拡散マトリックスに追加して、重みの更新回数の増加に伴うノイズの影響を軽減することもできる。
Q=αexp[β(更新#)]Id
(式20)
【0044】
式中、β>0は減衰率を表す。
【0045】
トレーニング粒子流を使用したNNトレーニング手順
図3は、例として、トレーニング粒子流を使用するNNトレーニング手順の実施形態の流れ図を示す。この手順には、初期化320、トレーニング粒子流最適化322、及び予測324が含まれる。
【0046】
初期化320は、操作326において、尤度及び事前の関数形式をユーザが選択すること、またはコンピュータが自動的にインスタンス化することを含む。初期化320は、操作328での、選択された事前分布p(θ)をサンプリングすることを含む。サンプリングは、最適化322で最適化されたNNの各実現を初期化する。操作326で事前分布として多変量正規分布が選択された場合、対応するヘッセ行列は単純な分析形式になる。
p(θ)~N(θ;μ,Γ) (式20)
【数24】
【0047】
式中、μは平均ベクトル、Γは共分散行列である。平均により、ネットワークパラメータの値に初期オフセットが追加される。簡単にするため、また不正なオフセットの追加を避けるために、平均を0に設定できる。ただし、オフセットを知って使用することはできる。Γの値は、各ネットワークパラメータの初期の広がりと潜在的な相関関係を特徴付ける。値は、高速学習を促進するのに十分な大きさでありながら、ネットワーク内の発散を防ぐのに十分な小さい値を選択できる。
【0048】
尤度関数については、式(7)または(9)が、教師あり学習タスクの種類に応じて使用できる。式(7)の残差共分散は、前の共分散と同様に選択することができる(例えば、学習を促進するが、発散を防ぐため)。粒子の数Nは、データに関する十分な統計を提供し、共分散行列の発散を回避するのに十分な大きさになるように選択できる。
【0049】
粒子流の最適化322は次のように説明できる。
トレーニングセット(xj,T,j)∈Dの各データポイントについて(操作330でトレーニングセットからデータを選択する):
現在の粒子の分布を以前の粒子の分布と同等にする。
粒子の事前分布の共分散、Γを計算する。
スカラーホモトピーパラメータλ=[0,1]を繰り返しループする(操作332)
それぞれのλ,k=1,2,…,Nλ-1について、
積分ステップサイズを計算する、
δλ=λk+1-λ
各粒子{θ}、i=1,2,3…,Nについて(操作334)
粒子の値を使用してデータ入力xをネットワーク経由で渡し(操作334)、予測を取得する
=Λθi(x
ネットワークパラメータに関する対数尤度の勾配とヘッセ行列を計算する(操作336)
ドリフトfと拡散行列Qを計算する(操作338)
確率微分方程式(SDE)(式15)の数値積分を使用して粒子の状態を更新する(操作340)
【数25】
【0050】
操作330で、入力値と出力値のペアがデータセットから選択される。操作332において、操作322は、ホモトピーパラメータλの離散化ステップを反復する。操作334では、操作328からのN粒子状態のうちの粒子状態が選択され、選択されたNNを介してデータを渡すことができる。操作334の結果は予測となり得る。操作336で、勾配(導関数)及びヘッセ行列が計算される。ドリフトと拡散は、操作338で勾配とヘッセ行列に基づいて決定される。操作340で、粒子の状態が更新される。
【0051】
粒子流は数値の積分を使用して式(15)を積分する。数値の積分のための操作332)におけるスカラーホモトピーパラメータλ={λ:k∈[1,Nλ]}の補間は、線形、対数、または適応スケールに基づくことができる。スカラーホモトピーパラメータの分割数Nλは、積分精度とアルゴリズムの効率によってバランスを取ることができる。SDEの数値積分にはいくつかの異なる方法があるが、計算効率を高めるためにオイラー丸山法を使用できる。
【0052】
予測324では、操作342で出力予測を提供することができる。新しい入力が与えられた場合の出力予測の周辺化された確率分布が操作344で決定される。新しい入力
【数26】

トレーニングデータD、及び粒子θが与えられた場合の出力予測
【数27】
の境界なし予測分布は次のようになる。
【数28】
【0053】
すべてのネットワーク実現θで式(21)を周辺化することは、新しい入力
【数29】
とトレーニングデータDが与えられた場合、出力予測
【数30】
の予測分布が得られる。
【数31】
【0054】
実施形態は、事後分布p(θ│D)のモンテカルロサンプリングを使用して式(22)を評価することができ、サンプリングはすべての粒、子{θ}にわたる。
【数32】
【0055】
見てわかるように、予測分布はネットワーク予測による事後分布の周辺化であり、ネットワークパラメータの合計である。
【0056】
ミニバッチ粒子流
トレーニング粒子流に関する問題の1つは、これが各測定(粒子の更新)に鋭敏になる傾向があることである。データ入力の外れ値により、測定更新中に粒子分布が誤った方向に進む可能性があり、予測精度の大幅な上昇につながる。場合によっては、トレーニング中のBNNがそのような回り道から回復できない。トレーニング粒子流に関するもう1つの問題は、粒子流BNNのトレーニングには、重みの更新ごとにデータの「ミニバッチ」を処理できる標準NN(非ベイジアンNN)のトレーニングよりも時間がかかることである。対照的に、粒子流の最適化手順は、一度に1つのデータポイントのみを処理するように定式化されていて、それは、いかなる種類のバッチ処理も妨げる。これは、粒子フィルタが通常、特定の時間に状態遷移の更新をして、この特定の時間に条件付けされた測定の更新が後に続くためである。状態遷移と時間内の測定との間の結合により、測定値を一度に1つずつ処理する必要がある。したがって、最近まで粒子フィルタのコンテキストでのみ使用されていた粒子流が、一度に複数の測定を処理する理由はない。
【0057】
図4は、例として、図1図3に関して説明したトレーニング粒子流BNNのためのMNIST{0,1}に基づいてトレーニングされているBNNの精度対測定値更新のプロットを示す。この例では、BNNの精度が、精度において低下する。BNNは、図4の例ではこれらの減少から回復する。
【0058】
図5は、例として、MNIST{0,1,2,3}でトレーニングされているBNNの精度対測定更新のプロットを示す。図5の例では、BNNの精度は、測定値280と300の間で大幅に低下する。図5の例におけるBNNは、この減少から回復せず、ネットワークパラメータは精度の低い予測を生成する値を維持する。
【0059】
次に、ミニバッチトレーニング粒子流BNNについて説明する。このミニバッチ粒子流BNNトレーニング定式化は、コアとなるトレーニング粒子流最適化手順を保持しているが、データのミニバッチ処理に対応するためにトレーニング粒子流フレームワークを変更している。確率的勾配降下法タイプのトレーニングでミニバッチを使用することは、NNをトレーニングするための十分に確立された手法である。しかしながら、トレーニング粒子流BNNにおけるミニバッチの使用、あるいは粒子流自体でさえ、本発明者らの知る限りでは、これまでに行われたことがない。ミニバッチ粒子流を使用したMNIST{0,1}の結果は、1回の更新でより多くのデータを処理できるため、結果として得られるモデルのトレーニングの速度と精度が大幅に向上することを示している。トレーニング粒子流でミニバッチを使用することは、単一の入力に基づいて実行される粒子の更新を使用するときに発生する精度の低下の回避を促す。ただし、トレーニング粒子流でミニバッチを使用できるようにするには、トレーニング粒子流を変更する必要がある。これらの変更を実装すると、BNNのトレーニング時間が短縮され、トレーニングされたBNNの精度が向上する。
【0060】
mb個のサンプルを持つデータd={x,y},d∈Dのミニバッチを検討する。ミニバッチのすべてのNmb個の独立分散データサンプルにわたる結合事後確率は、次のとおりである。
【数33】
【0061】
式中、p(θ,λ│{x,yT,i})はミニバッチのi番目のサンプルの事後分布、λはスカラーホモトピーである。ここでは、ミニバッチの各サンプルに対して粒子の同じ事前分布p(θ)が仮定されている。結合事後確率の対数を考えると、次のようになる。
【数34】
【0062】
式25は次のように書き換えることができる。
【数35】
【0063】
ミニバッチ対数尤度は、
【数36】

であり、ミニバッチ対数事前確率はlogpMB(θ)=Nmblogp(θ)であり、ネットワークパラメータに関してゼロ勾配またはヘッセ行列を持つミニバッチ対数正規化定数は
【数37】
である。
【0064】
式26を比較すると、式16から、ミニバッチ更新全体のドリフトベクトルは次のように推定できる。
【数38】
【0065】
この式は、単一の測定ケースに関する、D. F. Crouse and C. Lewis, ”Consideration of Particle Flow Filter Implementations and Biases,” Naval Research Lab, Washington, DC (2019)という参考文献の付録Aに記載されている一般的なアプローチを使用して導出できる。
【0066】
ミニバッチのドリフトベクトル(式27)は、ミニバッチ内のすべてのサンプルにわたるドリフトベクトル(式18)の合計と等しくないことを指摘することが重要である。
【数39】
【0067】
勾配演算子
【数40】
は線形演算である。したがって、ミニバッチの対数尤度
【数41】
の勾配は、ミニバッチ内の各サンプルの勾配の合計に等しくなる(例えば、
【数42】
)。ただし、ミニバッチの対数尤度にヘッセ行列の合計の逆数を乗算すると、
【数43】
の、式(18)におけるドリフトベクトルの合計との等価性が崩れる。この等価性は、式(27)の逆行列の非加法性によってさらに崩壊される。言い換えれば、行列の逆数の合計は行列の合計の逆数と等しくない。すなわち、A-1+B-1+C-1+…≠(A+B+C+…)-1である。
【0068】
ミニバッチトレーニング粒子流を使用したNNトレーニング手順
図6は、例として、ミニバッチトレーニング粒子流技術の実施形態の流れ図を示す。この技法は、図3に示されるトレーニング粒子流技法と同様であり、粒子流最適化322に小さな変更を加えた結果、ミニバッチ粒子流最適化658となる。粒子流最適化658は、操作330でトレーニングセットからデータのミニバッチを選択し、操作332でホモトピーの離散化ステップを反復し、操作334で予測のバッチを決定することを含む。
【0069】
Pytorch(登録商標)やTensorFlow(登録商標)などの様々なPython ML及びAIライブラリは、ミニバッチの各サンプルの個別の勾配を保存しない。代わりにそれらは、デフォルトで勾配を合計または平均して、効率を高め、メモリ使用量を削減する。
【0070】
これらのライブラリに対応するために、ミニバッチ粒子流トレーニング最適化658を調整して、結合事後確率の対数の平均を進化させることができる。
【数44】
【0071】
式中、logpMB(θ)=Nmblogp(θ)のため、p(θ)はバッチ更新前の粒子の事前分布である。これは物理的に、ミニバッチ内部の各サンプルの事後確率の幾何平均を取ることに対応する。
【数45】
【0072】
操作664で決定されるドリフトベクトルは、次のようになる。
【数46】
【0073】
logLMBの勾配の平均は、目的関数としてlogLMBを設定することで、ほとんどのMLライブラリで計算できる。ただし、ミニバッチ対数尤度のヘッセ行列の平均を計算することは、適切なタイミングで平均化が実行されるのを確実にするよう、慎重に検討するのに値する。
【0074】
トレーニング粒子流は、ガウス-ニュートンヘッセ行列近似を使用して対数尤度のヘッセ行列を計算できる。
【数47】
【0075】
式中、pはネットワーク予測のm番目のコンポーネントであり、r、sはヘッセ行列の指数を表す。ミニバッチ対数尤度のヘッセ行列の平均には、ミニバッチの各サンプルのヘッセ行列の平均が含まれる。
【数48】
【0076】
これは、ヤコビアン項、
【数49】
とヘッセ項
【数50】
の両方が操作662でミニバッチのサンプルごとに計算され、格納されることを意味する。次に、式(33)で説明されているように、これらの項の積は平均化され、操作666での粒子状態の更新に使用される。
【0077】
ミニバッチ粒子流最適化658は、次のように要約できる。
トレーニングセット内のデータの各ミニバッチd={x,yT},d∈Dについて(操作660でトレーニングセットからデータのミニバッチを選択する)
現在の粒子の分布を以前の粒子の分布と同等にする。
粒子の事前分布の共分散Γを計算する、
スカラーホモトピーパラメータλ=[0,1]を繰り返しループする(操作332)
それぞれのλ,k=1,2,…,Nλ-1について、
積分ステップサイズを計算する、δλ=λk+1-λ各粒子{θ},i=1,2,3…,Nについて(操作334)、
粒子の値を使用して入力データx={x}のミニバッチをネットワーク経由で渡し(操作661)、予測のバッチを取得する
{p}=Λθi({x})
ネットワークパラメータに関するミニバッチ対数尤度の平均勾配とヘッセ行列を計算する(操作662)
ドリフトfと拡散行列Qを計算する(操作664)
確率微分方程式(SDE)(式15)の数値積分を使用して、粒子の状態を更新する(操作666)
【数51】
【0078】
Modified National Institute of Standards and Technology(MNIST)のデータベースからの数字のサブセット{0,1}の分類結果。MNISTデータベースは、Yann LeCun、Corinna Cortes、及びChristopher J.C. Burgesによって、2つの別個のNISTデータベースの画像を使用して作成された。MNISTデータベースには、http://yann.lecun.com/exdb/mnist/からアクセスできる。
【0079】
それぞれ4つのフィルタを備えた2つの畳み込み層と、その後に続く高密度出力層からなる畳み込みNN(CNN)アーキテクチャがインスタンス化された。このネットワークには286のネットワークパラメータがある。初期共分散Γ=0.04Idを持つ正規分布の粒子100個もインスタンス化された。流れの数値積分は、Nλ=10の対数ステップサイズを使用して実行された。
【表1】
【0080】
ミニバッチトレーニング粒子流は、NMB=1、NMB=2、及びNMB=16のバッチ更新でBNNをトレーニングするために実装された。ミニバッチサイズが>1の場合、バッチには均等に分散されたクラスが含まれる(例えば、バッチサイズ16にはクラス0の8とクラス1の8が含まれる)。これらのトレーニング例から、平均対数尤度の滑らかさはミニバッチサイズと共に増加する。さらに、各粒子の対数尤度の平均からの乖離は、バッチサイズが増加するにつれて減少する。これは、ミニバッチを使用しない場合(バッチサイズ1)よりも、個々の粒子が外れ値の影響を受けにくいことを意味する。
【0081】
図7は、NMB=1、NMB=2、及びNMB=16のバッチサイズに対するバッチ更新の増加に伴うネットワーク精度のプロットを示している。このプロットから、バッチサイズ16が最高の精度を達成し、維持することが明らかである。一方、バッチサイズが1の場合、精度が低下する傾向がある。この研究から、パラメータを更新するたびにミニバッチ相当のデータを使用すると、トレーニング速度とアプローチの堅牢性の両方が向上することが明らかである。
【0082】
AIは、これまで人間などの生きた行為者を必要としていた認知タスクを実行するための意思決定システムの開発に関係する分野である。NNは、生物学的ニューロンを大まかにモデル化した計算構造である。一般に、NNは、ノード(例えば、ニューロン)間の重み付けされた接続(例えば、シナプス)を介して情報(例えば、データまたは意思決定)を符号化する。最新のNNは、音声認識などの多くのAIアプリケーションの基礎である。
【0083】
多くのNNは、モデル化された接続に対応する重みの行列として表される。NNは、頻繁に、他のニューロンへの多くの発信接続を有する一連の入力ニューロンにデータを受け入れることによって動作する。ニューロン間を通過するたびに、対応する重みが入力を変更し、活性化関数に渡される。次いで、活性化関数の結果は、NNグラフのさらに下の別のニューロンに送信される。活性化関数による重み付けと処理のプロセスは、出力ニューロンに到達するまで続き、ANN処理の結果出力ニューロンのパターンと値を構成する。
【0084】
ほとんどのNNが正しく動作するのは、正確な重み次第である。しかし、NN設計者は通常、特定のアプリケーションに対してどの重みが機能するかを知らない。NN設計者は通常、多数のニューロン層、または循環接続を含む層間の特定の接続を選択する。トレーニングプロセスを使用して、初期の重みを選択することによって適切な重みを決定することができる。いくつかの例では、初期の重みはランダムに選択され得る。トレーニングデータがNNに入力され、結果が誤差の指標を与える目的関数と比較される。誤差の表示は、NNの結果が予期された結果と比較してどの程度間違っているかを示す尺度である。次いで、この誤差は重みを修正するために使用される。多くの反復を経て、重みが集合的に収束し、操作データがNNにエンコードされる。このプロセスは、目的関数(例えば、コスト関数または損失関数)の最適化と呼ばれることがあり、それによってコストまたは損失が最小化される。
【0085】
勾配降下法は、特定の目的(または損失)関数を最適化するための一般的な手法である。スカラー場の勾配(偏導関数のベクトルなど)は、この目的関数の最も急峻な増加の方向を与える。したがって、パラメータを逆方向に少量調整すると、一般に目的関数が減少する。十分な回数の反復を実行すると、パラメータは最小値に近づく傾向がある。いくつかの実装形態では、学習率(ステップサイズなど)はすべての反復で固定される。ただし、ステップサイズが小さいと収束するまでに時間がかかる傾向があり、ステップサイズが大きいと最小値付近で変動したり、その他の望ましくない動作が発生したりする可能性がある。可変ステップサイズは、通常、大きなステップサイズの欠点なく、より高速な収束を実現するために導入される。
【0086】
ニューラルネットワークを介した入力データの順方向のパスの後、バックプロパゲーションは、ネットワークパラメータに関する目的関数の勾配を評価するための節約型のアプローチを与える。ネットワークの最終出力は、各層の演算を組み合わせて構築される。これには、目的関数の勾配を計算するための連鎖律が必要になる。バックプロパゲーションは、最終層から開始して逆方向に入力層に向かい、層出力に関する目的の導関数とその前の層からの対応する量との間の再帰的関係を利用する。この再帰的な関係により、各パラメータに関する目的の導関数の連鎖律全体を評価するという冗長性が排除される。確率的勾配降下法(SGD)、Adamなど、バックプロパゲーション用のよく知られた任意の最適化アルゴリズムを使用できる。
【0087】
図8は、実施形態による、NNトレーニングのためのシステムを含む環境の例のブロック図である。このシステムは、1つまたは複数の実施形態によるサイバーセキュリティの解決のトレーニングを支援することができる。このシステムは、処理ノード810を使用してトレーニングされる人工NN(ANN)805を含む。処理ノード810は、中央処理装置(CPU)、グラフィックス処理装置(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)または他の処理回路であり得る。例では、複数の処理ノードを使用して、ANN805の異なる層、または層内の異なるノード807さえもトレーニングすることができる。したがって、一組の処理ノード810は、ANN805のトレーニングを実行するように構成される。
【0088】
処理ノード810のセットは、ANN805のトレーニングセット815を受信するように構成される。ANN805は、層状に配置されたノード807のセット(ノード807の行として図示)と、ノードのセットのノード間のノード間重み808(例えば、パラメータ)のセットとを備える。例では、トレーニングセット815は、完全なトレーニングセットのサブセットである。ここで、サブセットにより、限られたストレージリソースを持つ処理ノードがANN805のトレーニングに参加できるようになり得る。
【0089】
トレーニングデータには、単語、記号、他の品詞などのドメインを表す複数の数値が含まれ得る。ANN805がトレーニングされると分類されるトレーニングまたは入力817の各値は、ANN805の第1層または入力層の対応するノード807に提供される。値は層を介して伝播し、目的関数によって変わる。
【0090】
上で述べたように、処理ノードのセットは、ニューラルネットワークをトレーニングしてトレーニングされたニューラルネットワークを作成するように構成される。例えば、トレーニングされると、ANNに入力されたデータは有効な分類820を生成する(例えば、入力データ817はカテゴリに割り当てられる)。処理ノード807のセットによって実行されるトレーニングは反復的である。例では、ニューラルネットワークのトレーニングの各反復は、ANN805の層間で独立して実行される。したがって、2つの異なる層は、処理ノードのセットの異なるメンバーによって並行して処理され得る。例では、ANN805の異なる層が異なるハードウェアでトレーニングされる。処理ノードのセットの異なるメンバーのメンバーは、異なるパッケージ、ハウジング、コンピュータ、クラウドベースのリソースなどに配置され得る。例では、トレーニングの各反復は、ノードのセット内のノード間で独立して実行される。この例は、個々のノード407(例えばニューロン)が独立してトレーニングされる追加の並列化である。例では、ノードは異なるハードウェアでトレーニングされる。
【0091】
図9は、例として、マシンに本明細書に説明される方法の任意の1つ以上を実行させるための命令が実行され得るコンピュータシステム900の例示的な形式のマシンの一実施形態のブロック図を示す。ネットワーク化された配置では、マシンは、サーバ-クライアントのネットワーク環境においてサーバまたはクライアントマシンという立場で、またはピアツーピア(もしくは分散)ネットワーク環境においてはピアーマシンとして動作し得る。マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、パーソナルデジタルアシスタント(PDA)、携帯電話、ウェブアプライアンス、ネットワークルータ、ネットワークスイッチ、もしくはネットワークブリッジ、またはそのマシンが取るべき行動を指定する命令(順次またはそれ以外の方法で)を実行することが可能な任意のマシンであってよい。さらに、単一のマシンのみが示されるが、用語「マシン」はまた、本明細書で説明される方法の任意の1つ以上を実行するための命令の1つのセット(または複数のセット)を個別にまたは共同で実行するマシンの任意の集合体を含むと解釈されるものとする。
【0092】
例示的なコンピュータシステム900は、バス908を介して互いと通信するプロセッサ902(例えば、中央処理装置(CPU)、グラフィックスプロセッシングユニット(GPU)、または両方)、メインメモリ904、及びスタティックメモリ906を含む。コンピュータシステム900は、ビデオディスプレイユニット910(例えば、液晶ディスプレイ(LCD)または陰極線管(CRT))をさらに含み得る。コンピュータシステム900はまた、英数字入力装置912(例えば、キーボード)、ユーザーインターフェース(UI)ナビゲーションデバイス914(例えば、マウス)、大量記憶装置916、信号発生装置918(例えば、スピーカ)、ネットワークインターフェースデバイス920、ならびにブルートゥース(登録商標)、WWAN、WLAN、及びNFCなどの無線930を含み、そのようなプロトコルに対するセキュリティ管理の適用を可能にする。
【0093】
大量記憶装置916は、本明細書に説明される方法または機能の任意の1つまたは複数を具現化するまたはそれらによって利用される命令及びデータ構造(例えば、ソフトウェア)924の1つまたは複数のセットが格納される機械可読媒体922を含む。命令924はまた、コンピュータシステム900によるその実行中に、メインメモリ904内に、及び/またはプロセッサ902内に、完全にまたは少なくとも部分的に常駐し得、メインメモリ904及びプロセッサ902はまた、機械可読媒体を構成する。
【0094】
機械可読媒体922は単一の媒体であると例示的な実施形態には示されているが、用語「機械可読媒体」は、1つまたは複数の命令またはデータ構造を格納する単一の媒体または複数の媒体(例えば、集中型または分散型データベース、及び/または関連するキャッシュ及びサーバ)を含み得る。用語「機械可読媒体」はまた、マシンによる実行のための命令を格納、符号化、または搬送することができ、マシンに本発明の方法の任意の1つ以上を実行させるか、そのような命令によって利用されるか、もしくはそのような命令に関連するデータ構造を格納、符号化、または搬送することができる、任意の有形媒体を含むと解釈されるものとする。用語「機械可読媒体」は、相応して、ソリッドステートメモリ、ならびに光媒体及び磁気媒体を含むが、これらに限定されないと解釈されるものとする。機械可読媒体の具体的な例は、例として、例えば消去可能なプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、及びフラッシュメモリデバイスなどの半導体メモリデバイスを含む不揮発性メモリ、内蔵ハードディスク及びリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROM及びDVD-ROMディスクを含む。
【0095】
命令924は、さらに、伝送媒体を使用して通信ネットワーク926を介して送信または受信され得る。命令924は、ネットワークインターフェースデバイス920及びいくつかの周知の転送プロトコル(例えば、HTTP)のいずれか1つを使用して伝送され得る。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)、インターネット、携帯電話網、従来型の電話サービス(POTS)ネットワーク、及び無線データネットワーク(例えば、WiFiネットワーク及びWiMaxネットワーク)を含む。用語「伝送媒体」は、マシンによる実行のための命令を格納、符号化、または搬送できる任意の無形媒体を含むとして解釈されるものとし、デジタル通信信号もしくはアナログ通信信号またはそのようなソフトウェアの通信を容易にするための他の無形媒体を含む。
【0096】
追加の注記及び例
例1は、バッチ入力を使用してベイジアンニューラルネットワーク(BNN)をトレーニングし、トレーニングされたBNNを操作するための方法であって、各粒子がNNのそれぞれのNNパラメータの点ごとの値を個別に表し、粒子が集合的にBNNのパラメータの分布を表すように粒子を初期化すること、最小バッチトレーニング粒子流を使用して、入力のバッチに基づいて粒子を最適化し、パラメータの最適化された分布を生じること、パラメータの最適化された分布とNNの各々からの予測を使用して予測分布を決定すること、及び予測分布を表す周辺化分布をもたらすことを含む、前記方法を含む。
【0097】
例2では、例1はさらに、ミニバッチトレーニング粒子流が、対数ホモトピーに基づいて前記ネットワークパラメータの値を反復的に進化させることを含むことを含むことができる。
【0098】
例3では、例2はさらに、前記ミニバッチトレーニング粒子流が、前記結合事後確率の対数の平均を進化させることを含むことを含むことができる。
【0099】
例4では、例2~3のうちの少なくとも1つはさらに、前記ミニバッチトレーニング粒子流は、前記トレーニングセット内の各バッチについて、前記バッチ内の各入力の事後確率の幾何平均を決定することを含むことができる。
【0100】
例5では、例3~4の少なくとも1つはさらに、前記平均を進化させることは、前記トレーニングセット内の各バッチについて、前記バッチ内の各入力のヘッセ行列を平均することを含むことができる。
【0101】
例6では、例5は、前記ヘッセ行列を平均することは、前記バッチ内の各入力について、対応するヘッセ行列項及びヤコビアン項を格納することを含むことをさらに含むことができる。
【0102】
例7では、例6はさらに前記ヘッセ行列を平均することは、前記バッチ内の各入力について、ガウスニュートン近似における前記ヘッセ行列の行列項と前記ヤコビアン項の積を決定し、積の結果を生じることを含むことをさらに含むことができる。
【0103】
例8は、処理回路と、処理回路に結合されたメモリとを含むシステムを含み、メモリは、処理回路によって実行されると、処理回路に実施例1~7のいずれかの方法を実行させる命令を含む。
【0104】
例9は、マシンによって実行されると、前記マシンに例1~8の1つの前記方法を実行させる、格納された命令を含む非一時的な機械可読媒体を含む。
【0105】
実施形態は、特定の例示的な実施形態を参照して説明されてきたが、本発明のより広い趣旨及び範囲から逸脱することなく、これらの実施形態に対して様々な修正及び変更を加え得ることが明らかとなるであろう。したがって、明細書及び図面は、限定する意味ではなく例示的と見なされるべきである。本明細書の一部を形成する添付の図面は、本主題が実施され得る特定の実施形態を限定ではなく例示として示す。図示の実施形態は、当業者が本明細書に開示された教示を実践することを可能にするために十分に詳細に説明されている。他の実施形態が利用され、そこから導き出され得るため、構造的及び論理的な置換及び変更が本開示の範囲から逸脱することなく加えられ得る。したがって、本発明を実施するための形態は、限定的な意味で解釈されるべきではなく、様々な実施形態の範囲は、添付の特許請求の範囲によってのみ定義され、そのような特許請求の範囲が権利を与えられている均等物の全範囲と共に定義される。
図1
図2
図3
図4
図5
図6
図7
図8
図9
【国際調査報告】