あなたは正しいです。ためにn>1、誘導体の乗算はない必ずしも各誘導体があり得るので、ゼロに潜在的に 1つ(最大よりも大きいですn)。
しかし、実際的な目的のために、この状況を維持するのがいかに簡単であるか(導関数の乗算をゼロから遠ざけること)を自問する必要がありますか?これは、微分爆発 = 1を与えるReLUと比較して非常に難しいことが判明しました。特に、勾配爆発の可能性もあるときです。
前書き
私たちが持っていると仮定します K 導関数(深さを表す) K)以下のように乗算されます
g=∂f(x)∂x∣∣∣x=x1⋯∂f(x)∂x∣∣∣x=xK
それぞれ異なる値で評価 x1 に xK。ニューラルネットワークでは、それぞれxi前のレイヤーからの出力重み付き合計です。たとえば、です。hx=wth
増加、我々はそれがの消失を防止するために必要なものを知ってほしい。たとえば、場合、を除いて各導関数は1より小さいため、これを防ぐことはできませんつまり、
ただし、提案に基づいて新しい希望があります。以下のために、誘導体まで行くことができる、すなわち
Kgf(x)=tanh(x)
x=0∂f(x)∂x=∂tanh(x)∂x=1−tanh2(x)<1 for x≠0
f(x)=tanh(nx)n>1∂f(x)∂x=∂tanh(nx)∂x=n(1−tanh2(nx))<n for x≠0.
力のバランスはいつですか?
さて、これが私の分析の中核です:
可能な最大の導関数であるをキャンセルするために、がからどれだけ離れてよりも小さい導関数を持つ必要がある
か?x01nn
をから遠ざける必要があるほど、未満の導関数を生成することが難しくなるため、乗算の消失を防ぐのが容易になります。この質問は、良いがゼロに近いことと悪いがゼロから遠いことの間の緊張を分析しようとするものです。たとえば、良いと悪いのバランスが取れていると、ような状況が発生します。
とりあえず、1任意にゼロに近づけることができるので、任意に大きい考慮しないことで、楽観的になるようにしています。x01n x xxg=n×n×1n×n×1n×1n=1.
xig
特別な場合のために、任意、導関数はになります。したがって、深さが増加しても、バランスを保つ(が消えないようにする)ことはほぼ不可能です。たとえば、
n=1|x|>0<1/1=1gKg=0.99×0.9×0.1×0.995⋯→0.
の一般的なケースでは、次のように進めます
したがって、、導関数はより小さくなります。したがって、1より小さいという点では、およびでの2つの導関数の乗算 n>1∂tanh(nx)∂x<1n⇒n(1−tanh2(nx))<1n⇒1−1n2<tanh2(nx)⇒1−1n2−−−−−−√<|tanh(nx)|⇒x>t1(n):=1ntanh−1(1−1n2−−−−−−√)or x<t2(n):=−t1(n)=1ntanh−1(−1−1n2−−−−−−√)
|x|>t1(n)1nx1∈R|x2|>t1(n)n>1任意の導関数に相当しつまり、
言い換えると、n=1(∂tanh(nx)∂x∣∣∣x=x1∈R×∂tanh(nx)∂x∣∣∣x=x2,|x2|>t1(n))≡∂tanh(x)∂x∣∣∣x=z,z∈R∖{0}.
K言及した微分のペアは
、微分と同じくらい問題があります。n>1Kn=1
がいかに簡単(または難しい)かを確認します、とプロットしましょう(しきい値は連続に対してプロットされます)。|x|>t1(n)t1(n)t2(n)n
ご覧のとおり、導関数を持つために、最大の間隔はまだ狭いで達成されます!この間隔は、意味します 場合、導関数はより小さくなります。注:連続にできる場合は、少し大きい間隔を実現できます。≥1/nn=2[−0.658,0.658]|x|>0.6581/2n
この分析に基づいて、結論を出すことができます。
が消えないようにするには、の約半分以上がような間隔の中にある必要がありますgxi[−0.658,0.658]
したがって、それらの導関数が他の半分とペアになっている場合、各ペアの乗算はせいぜい 1 より大きくなります(が大きな値に遠く離れていないことが必要です)。つまり、
しかし、実際には、それは可能性の半分以上有することの外側またはいくつ '大きな値とS、原因ゼロに消える。また、ゼロに近いが多すぎるという問題があります。x(∂f(x)∂x∣∣∣x=x1∈R×∂f(x)∂x∣∣∣x=x2∈[−0.658,0.658])>1
x[−0.658,0.658]xgx
以下のために、あまりにも多くのゼロの近くには、大きな勾配につながる(潜在的に最大)に移動(爆発)大きな値に重み()、をさらに大きな値に移動します()良いを(非常に)悪い変換する。n>1xg≫1nKwt+1=wt+λgxxt+1=wtt+1ht+1x
大きすぎますか?
ここでは、同様の分析を実行して、
どのくらいから離れて移動する必要がより誘導体小さい有すること
他相殺するのは、それらは非常にゼロに近いされていると仮定し、取得しました可能な最大勾配?x01nK−1K−1 x
この質問に答えるために、以下の不平等を導き出します
∂tanh(nx)∂x<1nK−1⇒|x|>1ntanh−1(1−1nK−−−−−−√)
たとえば、深さおよび場合、外の値は導関数を生成します。この結果は、いくつかの 5〜10程度であれば、良いの大部分をキャンセルするのがいかに簡単かを直感させます。K=50n=2[−9.0,9.0]<1/249xx
一方通行のアナロジー
以前の分析に基づいて、次のように勾配動的な振る舞いを大まかにモデル化する2つの状態とマルコフ連鎖を使用して定性的なアナロジーを提供できます[g≫0][g∼0]g
システムが状態になるとき、値を状態に戻す(変更する)ための勾配はあまりありません。これは、トレーニングの収束が発生しない場合に十分な時間(十分なエポック)を与えれば最終的に通過する一方通行の道路に似ています(そうでない場合、勾配の消失を経験する前に解決策を見つけました)。[g∼0][g≫0]
勾配の動的挙動のより高度な分析は、実際のニューラルネットワーク(損失関数、ネットワークの幅と深さ、データ分布などの多くのパラメーターに依存する可能性がある)でシミュレーションを実行することで可能になり、
- 勾配分布または結合分布(、)または(、)に基づいて消失が発生する頻度を示す確率モデルgxgwg
- どの初期点(重みの初期値)が勾配消失につながるかを示す決定論的モデル(マップ)。初期値から最終値までの軌跡を伴う可能性があります。
グラデーション問題の爆発
の「消失勾配」の側面について説明しました。逆に、「勾配の爆発」の場合、ゼロに近いが多すぎると、周りに勾配が生じ、数値が不安定になる可能性があるので、心配する必要があります。この場合、不等式基づく同様の分析
は、場合、の約半分以上がtanh(nx)xnK∂tanh(nx)∂x>1⇒|x|<1ntanh−1(1−1n−−−−−√)
n=2xi[−0.441,0.441]gO(1)O(nK)。これにより、にさらに小さな領域が、関数がうまく機能します(消失も展開もされません)。その思い出させる爆発勾配問題はありません。RKK tanh(nx)tanh(x)