より速くまたはより低くなることは相対的な用語であり、それが何と比較されているかという文脈で理解されなければなりません。したがって、これを理解するには、最初に勾配降下法が他のタイプの活性化関数とどのように連携するかを考慮する必要があります。
設定例
サイズが1の非表示層を持つMLPを考えます。n
z1=W1x+b1
a1=f(z1)
...
zn=Wnan−1+bn
y=f(zn)
ここで、はアクティブ化関数です。f
タンとシグモイド-グラデーションの消失
仮定する TANH又はシグモイド活性化関数です。これらの関数の導関数は-1から1の範囲にあり、任意の正式にはです。ff′(x)∈(−1,1)x
これは、「勾配消失問題」として知られるディープラーニングで非常に重要な問題を引き起こします。 wrt導関数を考えてみましょう。連鎖規則により、
yW1
dfdW1=dfdWndWndWn−1...dW2dW1
任意用、通知その
0<i<n
dXidXi−1=f′(Wi−1ai−2+bi−1)×ai−2∈(−1,1)
(第1項は間にあるあるため前述のように囲まれとの間にもあるとしてスカッシュ入力値)。(−1,1)f′ai−2(−1,1)
したがって、は基本的に、それぞれが(0、1)の間にある多くの項の積です。大きいほど(ネットワークが深いほど)、その項は乗算する必要があり、結果として指数関数的に小さくなります。この指数関係のため、勾配は急速に小さくなり、効果的にゼロと見なすことができます。勾配降下がゼロであることの結果は、勾配降下の更新ルールがその勾配に基づいているため、まったく学習できない可能性があります。dfdW1ndfdW1
RELUと死んだニューロン
Reluは、消失勾配問題に対処するために発明されましたこれは、場合、その導関数が常に1であるため、がRELUの場合、ようになります。
ai>0f
dXidXi−1=ai−2
dfdW1=a1a2a3...an−1
場合はすべてうまくいきが、場合は常にバラバラになり。今回は、勾配がゼロに非常に近いだけでなく、純粋なゼロです。ニューロンが到達すると、元に戻る機会はまったくありません。これが「死んだニューロン」問題として知られている理由ですx < 0x>0x<0
漏れのあるRELUとELU
リーキーRELUとELUは、RELUの後の自然な発展です。これらはRELUに似ているため、場合は1に等しい導関数ですが、場合はゼロ微分を回避することで「死んだニューロン」を回避します。x < 1x>0x<1
2つの違いについては、元の論文を引用します。
LReLUとPReLUにも負の値がありますが、ノイズに強い非アクティブ化状態は保証されません。ELUは、入力が小さくなると負の値に飽和するため、前方に伝播する変動と情報が減少します。
直感的な説明は次のようになります。ELUでは、xが十分に小さくなると、勾配は本当に小さく飽和します(TanhとSigmoidの場合と同じように)。小さな勾配は、学習アルゴリズムが、飽和したニューロンとの対話性を心配することなく、他の重みの調整に集中できることを意味します。
3次元空間で滑らかな表面として表すことができる次数2の多項式を考えます。極小値を見つけるために、勾配降下アルゴリズムは、x方向とy方向の両方の勾配を考慮する必要があります。勾配がx方向とy方向の両方で負である場合、どちらの方法が優れているかは明らかではありません。したがって、その間のどこかにパスを選択するのが賢明です。しかし、すべてがx方向にフラット(勾配がゼロ)であることをすでに知っている場合は、y方向に進むのは簡単です。または、言い換えると、検索スペースがはるかに小さくなる。
特記
深層学習では、十分な経験的証拠やそれを裏付ける十分な理解のない主張がたくさんあります。ELUの場合、一部のデータセットの収束が速くなることは事実ですが、学習アルゴリズムが別のデータセットの極大値でスタックすることも事実です。私たちはまだ十分に知りません。