すべての重みを同じ値(たとえば0.5)に初期化すると、逆伝播が機能しないのに、乱数を指定すると正常に機能するのはなぜですか?
重みが最初は同じであるという事実にもかかわらず、アルゴリズムはエラーを計算してそこから機能するべきではないでしょうか?
すべての重みを同じ値(たとえば0.5)に初期化すると、逆伝播が機能しないのに、乱数を指定すると正常に機能するのはなぜですか?
重みが最初は同じであるという事実にもかかわらず、アルゴリズムはエラーを計算してそこから機能するべきではないでしょうか?
回答:
対称性の破れ。
すべての重量が等しい値で始まり、ソリューションで不均等な重量を開発する必要がある場合、システムは学習できません。
これは、エラーが重みの値に比例して重みを介して伝播されるためです。これは、出力ユニットに直接接続されているすべての非表示ユニットが同一のエラー信号を取得することを意味します。また、重量変化はエラー信号に依存するため、これらのユニットから出力ユニットまでの重量は常に同じでなければなりません。システムは、重みを等しく保つ一種の不安定な平衡点から始まりますが、エラーサーフェス上のいくつかの隣接点よりも高く、これらの点の1つに移動すると、戻りません。小さなランダムな重みでシステムを起動することにより、この問題に対処します。これらの条件下では、この種の対称性の問題は発生しません。