制限付きボルツマンマシン(RBM)が非常に類似した重みを学習する傾向があるのはなぜですか?


8

ここに画像の説明を入力してください

これらは、制限されたボルツマンマシン(RBM)を〜4kの可視単位と96の隠れた単位/重みベクトルだけでトレーニングした後に得た4つの異なる重み行列です。ご覧のとおり、重みは非常に似ています。顔の黒いピクセルも再現されています。他の92個のベクトルも非常によく似ていますが、まったく同じ重みはありません

これを克服するには、重みベクトルの数を512以上に増やします。しかし、この問題は、RBMの種類(バイナリ、ガウス、畳み込みさえも)、隠しユニットの数(かなり大きいものを含む)、ハイパーパラメータの違いなどで数回前に発生しました。

私の質問は、重みが非常に類似した値を取得する最も可能性の高い理由は何ですか?それらはすべて局所的な最小値に到達するだけですか?それとも、過剰適合の兆候ですか?

私は現在、ガウスベルヌーイRBMの一種を使用しています。コードはここにあります

UPD。私のデータセットはCK +に基づいており、327人の1万を超える画像が含まれています。ただし、かなり重い前処理を行います。まず、顔の輪郭の内側のピクセルのみをクリップします。次に、各面を(区分的アフィンラッピングを使用して)同じグリッドに変換します(眉、鼻、唇などはすべての画像で同じ(x、y)位置にあります)。前処理後の画像は次のようになります。

ここに画像の説明を入力してください ここに画像の説明を入力してください

RBMをトレーニングするとき、私はゼロ以外のピクセルのみを取るため、外側の黒い領域は無視されます。


あなたが見ているデータに関するいくつかの情報を共有してください。
バイエル2014

@bayer:私のアップデートをチェックしてください。
ffriend 2014

これは貧弱な訓練手順のように見えます。CDのステップ数、学習率/運動量、バッチサイズなどの情報を追加できますか?
バイエル2014

@bayer:これらの実験の時点で、私はCD-1を使用しました。バッチサイズは10画像、学習率は0.01(0.1 / batch_size)で、勢いはまったくありません。また、重みの初期化にはいくつかの影響があることに気づきました。N(0、0.01)から重みを初期化すると、説明されている問題はほとんど見たことがありませんが、N(0、0.001)からの重みでは、ほぼ毎回問題が発生します。
ffriend 2014

1
学習率が高すぎる場合、最初のサンプル(またはバッチの平均)がRBMに適合しすぎます。「ニューロン」(つまり、p(h | v))が飽和すると、学習ストールが発生します。これらのニューロンの勾配はゼロに近くなります。これは、これが発生する1つの方法です。
バイエル2014

回答:


1

制限付きボルツマンマシン(RBM)は、元の入力の不可逆圧縮、つまり確率分布を学習します。

これらは4つの異なる重み行列であり、すべて元の顔入力の次元を縮小した表現です。重みを確率分布として視覚化した場合、分布値は異なりますが、元の画像再構成からの損失量は同じになります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.