CourseraのGeoff HintonのNeural Networksコースを受講し、制限付きボルトマンのマシンを紹介しましたが、RBMの背後にある直感を理解していませんでした。
このマシンでエネルギーを計算する必要があるのはなぜですか?そして、このマシンでの確率の使用は何ですか?このビデオも見ました。ビデオでは、計算ステップの前に確率とエネルギーの方程式を書いただけで、どこでも使用するようには見えませんでした。
上記に加えて、尤度関数が何のためにあるのか分かりませんか?
CourseraのGeoff HintonのNeural Networksコースを受講し、制限付きボルトマンのマシンを紹介しましたが、RBMの背後にある直感を理解していませんでした。
このマシンでエネルギーを計算する必要があるのはなぜですか?そして、このマシンでの確率の使用は何ですか?このビデオも見ました。ビデオでは、計算ステップの前に確率とエネルギーの方程式を書いただけで、どこでも使用するようには見えませんでした。
上記に加えて、尤度関数が何のためにあるのか分かりませんか?
回答:
RBMは興味深い獣です。あなたの質問に答え、それらについての私の記憶をジョギングするために、RBMを導出し、その導出を通して話をします。あなたは可能性について混乱していると述べたので、私の導出は可能性を最大化しようとする観点からのものになります。それでは始めましょう。
RBMには、可視と非表示の2つの異なるニューロンのセットが含まれています。それぞれと示します。と特定の構成が与えられた場合、確率空間にマッピングします。h v h
さらに定義することがいくつかあります。特定の構成から確率空間にマッピングするために使用するサロゲート関数は、エネルギー関数と呼ばれます。定数は、私たちが実際に確率空間にマッピングすることを確保するための正規化係数です。それでは、私たちが本当に探しているものに取り掛かりましょう。可視ニューロンのセットの確率、言い換えれば、データの確率。 Z Z = Σ V ∈ V Σ H ∈ H E - E (V 、H )、 P (V )= Σ H ∈ H P (V 、H )= Σ H ∈ H E - E (V 、h )
この方程式には多くの用語がありますが、正しい確率方程式を書くだけです。うまくいけば、これまでのところ、確率を計算するためにエネルギー関数が必要な理由、またはより一般的には正規化されていない確率を行う必要があることを理解するのに役立ちました。パーティション関数は計算に非常にコストがかかるため、非正規化確率が使用されます。Z
次に、RBMの実際の学習フェーズに進みましょう。尤度を最大化するには、すべてのデータポイントについて、勾配ステップを実行してます。勾配式を取得するには、数学的アクロバットが必要です。最初に行うことは、ログを取得することです。数学を実行可能にするために、これから対数確率空間で操作します。p (v )
P (V )
今、私は紙の上でこれを行い、このサイトで多くのスペースを無駄にしないように準最終的な方程式を書き留めました。これらの方程式を自分で導出することをお勧めします。次に、導出を継続するのに役立ついくつかの方程式を書き留めます。なお:、及びその、P (V )= Σ H ∈ H P (V 、H )、P (H | V )= P (V 、H )
さらに、RBMの最尤推定値を導き出しました。必要に応じて、それぞれの用語(条件付き確率と結合確率)を期待して最後の2つの用語を記述できます。
ニューロンのエネルギー関数と確率論に関する注意。
上記の説明からわかるように、エネルギー関数の定義はかなり曖昧なままにしました。それを行う理由は、RBMの多くの異なるバージョンがさまざまなエネルギー機能を実装しているためです。ヒントンが上記のリンクの講義で説明し、@ Laurens-Meeusが示したものは
期待値フォームを介して上記の勾配項について推論する方が簡単かもしれません。
最初の項の予想は実際に計算するのが本当に簡単で、それがRBMの背後にある天才でした。接続を制限することにより、条件付き期待値は、表示されているユニットが固定されたRBMの前方伝播になります。これは、ボルツマンマシンのいわゆるウェイクフェーズです。現在、2番目の項の計算ははるかに難しく、通常はモンテカルロ法が使用されています。モンテカルロ実行の平均を介して勾配を書く:
上記のように、第1項の計算は難しくないため、モンテカルロは第2項で行われます。モンテカルロ法では、分布のランダムな連続サンプリングを使用して、期待値(合計または積分)を計算します。古典的なRBMでのこのランダムサンプリングは、確率に基づいて確率を0または1に設定すること、つまり、ニューロンの確率が1に設定されている場合、ランダムな均一数を取得することとして定義されています0に設定するよりも大きい。
既存の答えに加えて、このエネルギー関数と、その背後にある直感についてお話したいと思います。これが少し長くて物理的な場合は申し訳ありません。
エネルギー関数は、いわゆるイジングモデルを記述します。これは、統計力学/量子力学の観点から強磁性のモデルです。統計力学では、いわゆるハミルトニアン演算子を使用して、量子力学的システムのエネルギーを記述します。そして、システムは常にエネルギーが最も低い状態になろうとします。
現在、Isingモデルは基本的に、外部磁場存在下で、+ 1または-1のスピンを持つ電子間の相互作用を記述しています。2つの電子と間の相互作用は、係数によって記述されます。このハミルトニアン(またはエネルギー関数)は で、はハミルトニアンを表します。エネルギー関数から確率に到達するための標準的な手順。システムが所定の状態にあること(つまり、ここで:スピンの構成、例えば
RBMは、強磁性のこの量子力学的モデルと何の関係がありますか?
エントロピーという最終的な物理量を使用する必要があります。熱力学からわかるように、システムは最小エネルギーの状態に落ち着きます。これは最大エントロピーの状態にも対応します。
1946年にシャノンによって導入されるように、情報理論的には、エントロピーまたにおける情報内容の尺度として見ることができるの全ての可能な状態の上、以下の和によって与えられる、: ここで、の情報コンテンツをエンコードする最も効率的な方法は、エントロピーを最大化する方法を使用することです。
最後に、ここでRBMに戻ります。基本的に、このRBMでできるだけ多くの情報をエンコードするようにします。したがって、RBMシステムで(情報理論的な)エントロピーを最大化する必要があります。1982年にホップフィールドが提案したように、物理理論エントロピーとまったく同じように情報理論エントロピーを最大化できます。上記のIsingモデルのようにRBMをモデリングし、同じ方法を使用してエネルギーを最小化します。それが、RBMでこの奇妙なエネルギー関数が必要な理由です!
Armen Aghajanyanの答えの素敵な数学的導出は、エネルギーを最小限に抑え、エントロピーを最大限にし、RBMにできるだけ多くの情報を保存/保存するために必要なすべてを示しています。
PS:親愛なる物理学者、この技術者の派生の不正確さを許してください。不正確(または間違い)についても、コメントしたり修正したりできます。
@Armenの答えは、私に多くの洞察を与えました。ただし、1つの質問には答えられていません。
目標は、確率(または尤度)を最大化することです。これは、および関連するエネルギー関数の最小化と相関しています。
変数は、、およびであり、これらはトレーニングする必要があります。このトレーニングがRBMの究極の目標になると確信しています。
h_bin = (rand() < h_val) ? 1 : 0
h
かv
、あなたがしている- サンプリングバイナリの値のベクトルh
またはv
の代表であることの高い統計チャンスがある、すなわち例-ネットワークが存在している「と考えている」という例を生成するためには、トレーニングセット。トレーニング中に、既存のトレーニング例とどれだけ一致するかを判断し、それに応じて重みを調整します。