バックプロパゲーションですべての初期重みをゼロに設定する危険性


30

ウェイトをゼロで初期化するのはなぜ危険なのですか?それを示す簡単な例はありますか?


古典的なXOR 2-1ネットは良い例のように思えますが、いくつかの理論的推論に感謝します。
user8078

1
非常に一般的な答えは、ここで適用できる場合と適用できない場合がありますが、新しいウェイトが古いウェイトの倍数である場合は、ウェイトを変更することはできません。それは学習にとって致命的です。
ニックコックス

重みをゼロに初期化しない理由については、すでに適切な回答があります。リンクをたどると、「初期ウェイトをどのように選択する必要があるか」という点にさらに光が当てられます。staff.itee.uq.edu.au/janetw/cmc/chapters/BackProp/index2.html他の読者の役に立つことを願っています。
doer_uvc

@NickCoxここでの重みは次の重みのレイヤーの倍数であり、最後のレイヤーは他の重みの倍数ではありません-したがって、ここでは適用できません。
デビッドレファエリ

回答:


21

編集は、以下のアルファのコメントを参照してください。私はニューラルネットの専門家ではないので、彼に任せます。

私の理解は、ここに投稿されている他の回答とは異なります。

バックプロパゲーションには、乗算ではなく、既存の重みへの追加が含まれることは間違いありません。追加する金額は、デルタルールで指定されます。wijは方程式の右側に表示されないことに注意してください。

私の理解では、初期重みをゼロに設定しない少なくとも2つの理由があります。

  • まず、ニューラルネットワークは局所的な最小値にとどまる傾向があるため、多くの異なる開始値を指定することをお勧めします。それらがすべてゼロから始まる場合、それはできません。

  • 第二に、ニューロンが同じ重みで始まる場合、すべてのニューロンは同じ勾配に従い、常に互いに同じことを行うことになります。


6
「追加する量はデルタルールによって指定されます。wijは方程式の右側に表示されないことに注意してください。」-これは、隠れ層のないニューラルネットワークにのみ当てはまります!しかし、あなたは他の2つの点に言及しました。それは、同じ重みでANNを初期化することに対する良い議論です。
アルファ

1
私はそれが主に2番目の理由だと思う-例えば、基本的な完全に接続されたフィードフォワードネットワークでは、各レイヤーが同じ重みで初期化されている場合、あなたが示唆するように、すべてのノードが同じパスに従い、冗長です。私の印象では、少数の機能を備えたほとんどのネットワークは、ローカルミニマムと格闘しません。また、ランダム初期化だけではネットワークがスタックするのを防ぐことはできませんが、異なるランダム初期化を繰り返し使用すると、特定の反復に局所的な最小問題があるかどうかがわかります(これは暗黙的ではありますが、明示的ではないと思います)。
ターラー

2番目の理由は偽ですか?open.wolframcloud.com/env/...
user3180

異なる入力が重みの対称性を破る
user3180

導関数を追加すると、導関数はチェーンルールを使用して乗算されます。
デビッドレファエリ

7

ベイジアンネットワークのように、重みを事前確率と考えた場合、これらの入力がシステムに影響を与える可能性がある可能性を排除しました。別の説明は、バックプロパゲーションが、ターゲットと観測値の間の重み付き二乗差を最小化する重みのセットを識別するというものです(E)。それでは、システムの方向を決定する観点から、勾配降下アルゴリズムをどのように方向付けることができますか?パラメータ空間の点に自分を置いています。


1
これが最良の答えです。それは点です。バックプロパゲーションベースの最適化アルゴリズムは、通常すぐに停止します。勾配を計算するために、重みにデルタを掛けると、結果は常にゼロになります。
アルファ

これは、特定の重みを0で初期化するべきではない理由の良い答えだと思います。しかし、デルタはおそらく逆方向に伝播します。最初の更新後。次回の更新後、これらのゼロ以外の重みはデルタとともに使用され、前のレイヤーの重みなどを調整します。ネットワークをすべて0で初期化する場合の最大の問題は、それらがすべて同じ重みであり、基本的な完全接続のフィードフォワードネットワークでは、レイヤーごとに1つのノードを持つことに等しいと思います。
ターラー

6

バックプロパゲーションアルゴリズムの各反復では、バックプロパゲーションによって決定されたデルタを既存の重みに乗算することにより、重みを更新します。初期ウェイト値が0の場合、デルタの値を乗算してもウェイトは変更されません。つまり、各反復は最適化しようとしているウェイトに影響しません。


2
>既存の重みに逆伝播によって決定された値を掛けることで重みを更新します-私はそうは思わない、それは単なる乗算ではありません。
user8078

1
私の一般的なポイントは、初期重みがゼロの場合、逆伝播の各反復後にゼロのままになるということです。
Idr

「逆伝播によって決定される値」はデルタです(元の論文「逆伝播誤差による表現の学習」、式7を参照)。答えは不十分ですが、完全に間違っているわけではありません。
アルファ

1
これは間違った答えです。重みは変化しますが、一緒に変化します。すべての隠されたユニットはトレーニングを通して同一であり、学習が発生しないため、これは悪いです。
アミンサマラ

これはアクティベーション機能に依存すると思います。tanhを選択すると、最終出力は0になります。したがって、最終レイヤーの重みは0になり、他のすべての重みも同様になります。あなたはロジットを選択した場合でも、最終的な出力は次のようになります、したがって、重みの最終勾配は0ではありません、そして最終的には他のすべての重みも0ではありませんでしょうθ(0)=0.5
デヴィッド・ラファエリ

2

重みを同じ値(ゼロだけでなく)に初期化するのが悪い理由の1つは、特定の隠されたレイヤーについて、このレイヤーのすべてのノードがまったく同じ入力を持ち、したがってそれぞれと同じままになるためですその他。


1

これに対する答えは、完全に「ローカルミニマ/マキシマ」ではありません。

1つ以上の非表示レイヤーがあり、すべてのウェイトが0の場合、Weight_iの変化がどれだけ大きくても小さくても、出力は変化しません。

これは、デルタWeight_iが次の非表示レイヤーによって吸収されるためです。

出力に変化がない場合、勾配はなく、したがって方向もありません。

これはローカルミニマ/マキシマと同じ特性を共有しますが、実際には0が原因であり、技術的に異なります


0

すべての重みをゼロに初期化する場合の主な問題は、ニューロン値がゼロ(多層の場合)になるか、デルタがゼロになることを数学的に導きます。上記の回答の@alfaによるコメントの1つでは、すでにヒントが提供されていますが、重みとデルタの積はゼロである必要があることが述べられています。これは基本的に、勾配降下の場合、これはピークのすぐ上の丘の上にあり、対称性を破ることができないことを意味します。ランダム性はこの対称性を破り、極小値に達します。少し重みを乱しても、軌道に乗ることになります。参照:データから学ぶ講義10。


0

次の2つの理由から、これは悪い考えです。

  1. シグモイド活性化、または場合は、ウェイトが「一緒に」移動し、空間全体を検索して損失/コストを下げる最適なウェイトを見つける逆伝播の力を制限します。 。g(0)0

  2. あなたが持っている場合はまたはReLuの活性化、または何か、すべての出力が0になり、重みのための勾配は常に0になります。したがって、あなたは、まったく学習を持っていません。tanhg(0)=0

これを実証しましょう(簡単にするために、1つのニューロンの最終出力層を想定しています):

フォワードフィード:すべての重みが0の場合、2番目のレイヤーへの入力はすべてのノードで同じになります。ノードの出力は同じになりますが、それらは0になる次の重みのセットで乗算されるため、次のレイヤーの入力はゼロなどになります。したがって、すべての入力(最初の実際の入力を受け取るレイヤー)は0になり、すべての出力は同じになります(S字型アクティベーションの場合は0.5、およびReLuアクティベーションの場合は0 )。tanh

バックプロパゲーション:最後のレイヤーだけを調べてみましょう。最終損失()はネットワークの最終出力(、ここでLは最終層を示します)に依存します。これは、アクティベーション前の最終入力()、これは最終層の重み()に依存します。ここで見つけたい: はコスト関数の導関数、は活性化関数の導関数です。に関係なく(LaLzL=WLaL1WL

dWL:=LWL=LaLaLzLzLWL
LaazLaaz)値は、単に前のレイヤーと等しいつまり、に出力されますが、それらはすべて同じであるため、最終結果はすべての要素が等しいベクトルになります。したがって、更新すると、同じ方向に移動します。前のレイヤーについても同じことが言えます。zW L-1つのDWLWL=WL-αDWLaL1dWLWL=WLαdWL

ポイント2は、がゼロに等しいという事実から示すことができます。したがって、ベクトルはゼロでいっぱいになり、学習は達成できません。aL1dWL

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