ReLUニューロンはゼロを出力し、すべての負の入力に対してゼロ導関数を持ちます。したがって、ネットワーク内の重みが常にReLUニューロンへの負の入力につながる場合、そのニューロンはネットワークのトレーニングに効果的に寄与していません。数学的には、そのニューロンからの重みの更新に対する勾配の寄与は常にゼロです(詳細については、「数学の付録」を参照してください)。
L(W)LLWL
一般に、何が起こるかは、情報がネットワークをどのように流れるかに依存します。トレーニングが進むにつれて、ニューロンが生成する値がドリフトし、重みがそれらの一部を通るすべてのデータフローを殺すことが可能になることが想像できます。(ただし、ネットワークの初期段階で重みが更新されるため、これらの好ましくない構成が残る場合があります!)この問題は、重みの初期化(この問題の原因となる可能性もあります)およびデータフローとの関係に関するブログ投稿で検討しました。ここでの私のポイントは、その記事のプロットで説明できると思います。
プロットは、異なる初期化戦略でネットワークを1回通過した後、ReLUアクティベーションを使用した5層マルチレイヤーパーセプトロンのアクティベーションを表示します。重みの構成によっては、ネットワークの出力が停止することがわかります。
数学的な付録
Lx(i)jjif(s)=max(0,s)s(i)j(i+1)i(i+1)
∂L∂w(i)jk=∂L∂x(i+1)k∂x(i+1)k∂w(i)jk.
右側の最初の項は再帰的に計算できます。右側の2番目の用語は、重みを直接含む唯一の場所であり、次のように分類できます。w(i)jk
∂x(i+1)k∂w(i)jk=∂f(s(i)j)∂s(i)j∂s(i)j∂w(i)jk=f′(s(i)j)x(i)j.
これから、出力が常に負の場合、ニューロンにつながる重みが更新されず、ニューロンが学習に寄与しないことがわかります。