重みを同じ値に初期化すると、逆伝播が機能しないのはなぜですか?


20

すべての重みを同じ値(たとえば0.5)に初期化すると、逆伝播が機能しないのに、乱数を指定すると正常に機能するのはなぜですか?

重みが最初は同じであるという事実にもかかわらず、アルゴリズムはエラーを計算してそこから機能するべきではないでしょうか?

回答:


26

対称性の破れ。

すべての重量が等しい値で始まり、ソリューションで不均等な重量を開発する必要がある場合、システムは学習できません。

これは、エラーが重みの値に比例して重みを介して伝播されるためです。これは、出力ユニットに直接接続されているすべての非表示ユニットが同一のエラー信号を取得することを意味します。また、重量変化はエラー信号に依存するため、これらのユニットから出力ユニットまでの重量は常に同じでなければなりません。システムは、重みを等しく保つ一種の不安定な平衡点から始まりますが、エラーサーフェス上のいくつかの隣接点よりも高く、これらの点の1つに移動すると、戻りません。小さなランダムな重みでシステムを起動することにより、この問題に対処します。これらの条件下では、この種の対称性の問題は発生しません。


NNの初期重みは、トレーニングの速度を決定するだけでなく、学習または学習しない原因にもなりますか?
user1724140

2
はい、たまに、たった1組の重みでトレーニング(ニューラルネットワークなど)を行うのではありません。時間があれば、よくあることの1つは、いくつかの異なる開始ウェイト構成を作成し、その上でネットワークをトレーニングすることです。場合によっては、1つの構成が局所的な最適状態になるか、残念ながら重みが実際にはランダム化されないことがあるためです。
ThiS

間違った入力は、異なる入力がまだ対称性を壊す可能性があるためです。参照:open.wolframcloud.com/env/...を
user3180

12

RnR

あなたはそれをグローバルな最小値にしたいが、それを見つける保証された方法はありません。表面に複数の極小値がある場合、問題が発生している可能性があります。

しかし、数が少ない場合は、Thierryの戦略が機能します。ランダムに選択されたポイントから開始してローカルミニマムの複数の検索を実行すると、グローバルミニマムを見つける可能性が高くなります。

そして、最小値が1つしかない幸福な場合には、初期の重みベクトルがあればそれを導きます。

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