制限付きボルツマンマシンに関する記事をいくつか読みました。これらのマシンは、再構築機能についてテストされました。トレーニングがどのように機能するかは理解していますが、この再構築がどのように行われるかは理解していません。誰かが私にいくつかのヒントを与えることができますか?
4 に答える
ジェフ・ヒントンによる講演:
連想メモリネットワークのように、入力をリコールするためのオートエンコーダーのコンテキストで使用される RBM を意味していると思います。
学習段階では、入力ユニットと出力ノード (ユニット) はトレーニング セットで見つかった値にクランプされます。その後、繰り返されるボルツマン サンプリング (たとえば、Metropolis Hastings と Simulated Annealing の組み合わせによる) が勾配降下法と組み合わせて使用され、最適化されます。入力ノード、非表示ノード、および出力ノード間のすべての接続に対する重み。トレーニング後、制限されたボルツマン ネットワークを使用して、1) 分類/予測、または 2) フリー ランニング モードでメモリを生成できます。
分類/予測モードでは、入力ユニットの一部またはすべてがクランプされ、非表示ノードと出力ノードはボルツマン サンプリングでサンプリングされます。出力ノードの統計的特性 (本質的には平均) は、予測または分類です。RBM が単層オートエンコーダーのように構成され、出力層に似た入力層とスパースまたはより小さい隠れ層がある場合、トレーニング入力の完全な回復をもたらす限られた数の入力は「再構築」を構成します。
Hinton の 2006 年の Science 論文では、これらのアイデアのいくつかについて説明しています。
http://www.cs.toronto.edu/~hinton/science.pdf
ただし、この論文はRBMとニューラルネットワークのかなり特殊なアプリケーションです。この論文では、彼は RBM を使用して、深い (多層の) ニューラル ネットワークを事前トレーニングします。
ヒントンのアルゴリズムでは、初期の重みが勾配降下の収束を保証する適切な解に近づくように、事前トレーニングに RBM を使用します。
次のステップでは、初期ネットワーク (たとえば、[1000 500 100 2]) が展開されて、自動エンコーダー ネットワーク ([1000 500 100 2 100 500 1000]) が得られます。エンコーダー ([1000 500 100 2]) とデコーダー ([2 100 500 1000]) の部分は、最初は同じ重みを使用します。
最後の段階は微調整です。最適な再構成のために、(入力とその再構成の差であるエラーを最小化することによって) 重みを微調整するために、自動エンコーダー全体 ([1000 500 100 2 100 500 1000]) による逆伝播を使用します。自動エンコーダーの出力は、入力の再構成です。