逆伝播:2次の方法では、ReLUの導関数は0になりますか?トレーニングへの影響は?


7

ReLUは、として定義されるアクティブ化関数です。ここで、a = Wx + bです。h=max(0,a)a=Wx+b

通常、SGD、Adam、RMSprop、Adadelta、Adagradなどの1次の方法でニューラルネットワークをトレーニングします。1次メソッドの逆伝播には、1次導関数が必要です。したがって、x1に導出され1ます。

しかし、2次法を使用する場合、ReLUの導関数は0ますか?なぜならxに誘導される1と再び導かれる0。エラーでしょうか?たとえば、ニュートンの方法では、0で除算します0。(まだヘッセなしの最適化を理解していません。IIRC、それは実際のヘッセの代わりに近似のヘッセを使用することの問題です)。

このh '' = 0の影響は何h=0ですか?二次法のReLUでニューラルネットワークをトレーニングできますか?それとも、トレーニング不可/エラー(nan / infinity)でしょうか?


明確にするために、これはf(x)としてのReLU f(x)です。

f(x)=

0forx<0xforx0

f(x)=

0forx<01forx0

f(x)=0

回答:


5

はい、ReLUの2次導関数は0です。技術的には、ももで定義されてい、無視します-実際には正確なはまれであり、特に意味がないため、これは問題ではありません。ニュートンの方法は、静止点がないため、ReLU伝達関数では機能しません。ただし、他のほとんどの一般的な伝達関数では意味がありません。有限入力に対して最小化または最大化することはできません。dydxd2ydx2x=0x=0

複数のReLU関数をニューラルネットワークなどの構造の行列乗算のレイヤーと組み合わせて目的関数を最小化したい場合、図はさらに複雑になります。この組み合わせには静止点があります。単一のReLUニューロンと平均二乗誤差の目的でさえ、十分に異なる動作をするため、単一の重みの2次導関数が変化し、0であるとは限りません。

複数のレイヤーを組み合わせるときの非線形性は、より興味深い最適化サーフェスを作成します。これはまた、有用な2次の偏微分(またはヘッセ行列)を計算することが困難であることを意味します。伝達関数の2次の微分を取るだけの問題ではありません。

伝達関数のであるという事実は、行列の一部の項をゼロにします(同じニューロンの活性化による2次効果の場合)が、ヘシアンの項の大部分はの形式でEは目的、、はニューラルネットワークの異なるパラメーターです。完全に実現されたヘッセ行列は項を持ち、はパラメータの数です。単純な計算プロセスと多くの項が0の場合でも、大きなニューラルネットワークは100万以上のパラメータを持っています(たとえば、同じレイヤで2つの重み)計算できない場合があります。d2ydx2=02ExixjxixjN2N

一部のニューラルネットワークオプティマイザーで使用される2次導関数の効果を推定する手法があります。RMSPropは、たとえば、2次効果を概算するものと見なすことができます。「ヘッセ行列を含まない」オプティマイザは、この行列の影響をより明確に計算します。


それで大丈夫ですか?エラーではない(nan / infinity)?
リルト

ヘッセ行列のない最適化について聞いたことがありますが、それは本当のヘッセ行列の代わりに近似ヘッセ行列を使用することだと思いましたか?
リルト

1
はい、ほとんどの手法はヘッセ行列をロバストに計算するのではなく推定するものだと思います。理由はわかりませんが、2次効果が項を巻き込むため、バックプロパゲーションの構築が困難または不可能であるため、想定されます。たとえば、ここで、xおよびyはパラメータ別のレイヤーから。2xy
Neil Slater

1
@rilut:ニュートンの方法がReLU伝達関数で機能しないという事実からあなたの混乱が生じたと思うので、私は答えを更新しました。あなたはそれについて正しいです。しかし、ReLUを目的関数(単一のニューロンと平均二乗誤差の目的のような単純なものでさえ)と組み合わせると、それは機能し始めます。
Neil Slater

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