115

ニューラルネットワークをゼロから構築しようとしています。すべての AI 文献で、ネットワークがより速く収束するためには、重みを乱数に初期化する必要があるというコンセンサスがあります。

しかし、ニューラル ネットワークの初期重みが乱数として初期化されるのはなぜでしょうか?

これは「対称性を破る」ために行われ、これによりニューラルネットワークの学習が速くなるとどこかで読んだことがあります。対称性を破るとどのように学習が速くなるのですか?

重みを 0 に初期化する方がよい考えではないでしょうか? そうすれば、重みは値 (正または負) をより速く見つけることができますか?

初期化時に最適値に近づくことを期待する以外に、重みをランダム化する背後にある他の基本的な哲学はありますか?

4

9 に答える 9

82

類推:

誰かがあなたをヘリコプターから見知らぬ山の頂上に落とし、そこに閉じ込められたと想像してください。どこも曇っている。あなたが知っている唯一のことは、どうにかして海面に降りるべきだということです。可能な限り低い点に到達するには、どの方向に進む必要がありますか?

海面への道を見つけることができなかった場合、ヘリコプターが再びあなたを連れて行き、同じ山の頂上にあなたを降ろします. 自分自身を同じ開始位置に「初期化」しているため、同じ方向に再び進む必要があります。

しかし、ヘリコプターがあなたを山のどこかにランダムに降ろすたびに、あなたは異なる方向と歩みを取るでしょう. したがって、可能な限り低いポイントに到達する可能性が高くなります

これが対称性を破ることの意味です。初期化は非対称(これは異なります) であるため、同じ問題に対して異なる解決策を見つけることができます。

このアナロジーでは、着地する場所は重みです。したがって、重みが異なると、最低点 (またはより低い点) に到達する可能性が高くなります。

また、システムのエントロピーが増加するため、システムはより低いポイント (ローカルまたはグローバル最小値) を見つけるのに役立つ情報をさらに作成できます。

ここに画像の説明を入力

于 2016-11-10T10:53:37.740 に答える
25

答えはとても簡単です。基本的なトレーニング アルゴリズムは本質的に貪欲です。グローバルな最適解を見つけるのではなく、「最も近い」ローカル ソリューションを見つけます。その結果、固定された初期化から開始すると、ソリューションが特定の重みのセットに偏ります。ランダムに (場合によっては何度も) 実行すると、エラー サーフェスの奇妙な部分でスタックする可能性がはるかに低くなります。

同じ議論が他のアルゴリズムにも当てはまり、それらは大域的な最適解 (k-means、EM など) を見つけることができず、大域的な最適化手法 (SVM の SMO アルゴリズムなど) には当てはまりません。

于 2013-11-17T08:52:39.077 に答える
2

もっと数学的にしましょう。実際、私が答える理由は、他の回答にこのビットが欠けていることに気付いたからです。2 つのレイヤーがあるとします。バックプロパゲーション アルゴリズムを見ると、次の計算が行われます。

dZ2 = A2 - Y

dW2 = (1/m) * dZ2 * A2.T

db2 は無視しましょう。(申し訳ありませんが申し訳ありません;))

dZ1 = W2.T * dZ2 .* g1'(Z1)

...

表示される問題は太字で示されています。dZ1 の計算 (dW1 の計算に必要) には、0 である W2 が含まれています。重みを 0 を超える値に変更する機会はありませんでした。基本的に、ニューラル ネットワークは何も学習しません。ロジスティック回帰(単体)より悪いと思います。ロジスティック回帰の場合、X のおかげで異なる入力を取得するため、より多くの反復で学習します。この場合、他のレイヤーは常に同じ出力を提供するため、まったく学習しません。

于 2020-03-09T01:47:19.377 に答える
1

まず第一に、一部のアルゴリズムは初期重みがゼロでも収束します。簡単な例は、線形パーセプトロン ネットワークです。もちろん、多くの学習ネットワークではランダムな初期重み付けが必要です (ただし、これは最速かつ最良の答えを得ることを保証するものではありません)。

ニューラルネットワークはバックプロパゲーションを使用して重みを学習および更新しますが、問題は、この方法では、重みがグローバル最適ではなく、ローカル最適 (ローカル最小コスト/損失) に収束することです。

ランダムな重み付けは、ネットワークが利用可能なスペース内の各方向のチャンスをつかみ、それらを徐々に改善してより良い答えに到達し、1 つの方向または答えに限定されないようにするのに役立ちます。

[下の画像は、収束の様子を一次元で表した例です。初期位置が与えられると、ローカル最適化は達成されますが、グローバル最適化は達成されません。より高い次元では、ランダムな重み付けにより、適切な場所にいる可能性やより適切に開始できる可能性が高くなり、結果として重みがより適切な値に収束する可能性があります。][1]

[1]: https://i.stack.imgur.com/2dioT.png [Kalhor, A. (2020). 分類および回帰 NN。講義。]

最も単純なケースでは、新しい重みは次のようになります。

W_new = W_old + D_loss

ここでは、コスト関数勾配が前の重みに追加されて、新しい重みが取得されます。前の重みがすべて同じである場合、次のステップではすべての重みが等しくなる可能性があります。その結果、この場合、幾何学的な観点から、ニューラル ネットワークは一方向に傾き、重みはすべて同じになります。ただし、重みが異なる場合は、異なる量で重みを更新することができます。(各重みが結果に与える影響係数に応じて、コストと重みの更新に影響します。そのため、最初のランダムな重み付けの小さなエラーでも解決できます)。

これは非常に単純な例ですが、ランダムな重み付けの初期化が学習に与える影響を示しています。これにより、ニューラル ネットワークは一方の側に移動するのではなく、別のスペースに移動できます。その結果、学習の過程で、これらのスペースの最高のものに行きます

于 2020-08-12T11:25:22.970 に答える