これらは、制限されたボルツマンマシン(RBM)を〜4kの可視単位と96の隠れた単位/重みベクトルだけでトレーニングした後に得た4つの異なる重み行列です。ご覧のとおり、重みは非常に似ています。顔の黒いピクセルも再現されています。他の92個のベクトルも非常によく似ていますが、まったく同じ重みはありません。
これを克服するには、重みベクトルの数を512以上に増やします。しかし、この問題は、RBMの種類(バイナリ、ガウス、畳み込みさえも)、隠しユニットの数(かなり大きいものを含む)、ハイパーパラメータの違いなどで数回前に発生しました。
私の質問は、重みが非常に類似した値を取得する最も可能性の高い理由は何ですか?それらはすべて局所的な最小値に到達するだけですか?それとも、過剰適合の兆候ですか?
私は現在、ガウスベルヌーイRBMの一種を使用しています。コードはここにあります。
UPD。私のデータセットはCK +に基づいており、327人の1万を超える画像が含まれています。ただし、かなり重い前処理を行います。まず、顔の輪郭の内側のピクセルのみをクリップします。次に、各面を(区分的アフィンラッピングを使用して)同じグリッドに変換します(眉、鼻、唇などはすべての画像で同じ(x、y)位置にあります)。前処理後の画像は次のようになります。
RBMをトレーニングするとき、私はゼロ以外のピクセルのみを取るため、外側の黒い領域は無視されます。