このテキストを読んで、1 つの隠しユニットのみをアクティブにし、Gibbs が隠しユニットから見えるものをサンプリングすることで、人々が「再構築」と呼ぶものを作成できることを学びました。
しかし今、私はいくつかの畳み込み制限ボルツマン マシンを Python で実装しようとしています。私の計画は、セクション 3.2 で提示されたバージョンに固執し (したがって、 Convolutional Deep Belief Network をまだ実装するつもりはないことに注意してください)、その部分が機能するようになったら、Probabilistic Max-Pooling のみを挿入することです。
機能していることを確認するために、記事で紹介したような「機能」を作成したいと考えました (図 3 など)。第 1 層で学習された機能は、他のタイプのネットワークで学習された機能によく似ています。しかし、彼らがそれらの機能をどのように作成しているかはわかりません。これらの学習された「機能」がフィルターの重みなのか、それとも特定のフィルターのすべての隠れたユニットをオンにして再構成を作成する必要があるのか は明確ではありません。また、そのセクション 3.6 が私の単純なバージョン (Probabilistic Max-Pooling さえ持っていないバージョン) にどの程度関連しているかはわかりません。
(私は両方を試してみましたが、私の結果はまだ完全に異なって見えます。それが私のコードのバグなのか、それとも単に何か間違ったことをしているのかわかりません)
何か助けはありますか?(私はこのコードをインターネットでランダムに見つけましたが、私はまだ Matlab 構文に不慣れであり、再構成を作成するために何をするのかをまだ見つけることができませんでした。