活性化関数と勾配消失

活性化関数の形と微分 f'(x) を見て、深い層で微分の積が掛かると勾配が 0 に近づく「勾配消失」を体感します。

活性化関数を選ぶ
3.0
6
f(x)
f'(x)(微分)
勾配の積 ≈ f'(x)^L
関数 f(x)(青)と 導関数 f'(x)(緑)
層を 1 段ずつ通すごとの勾配の大きさ ≈ |f'(x)|^層
活性化関数は、各ニューロンの出力に非線形性を加える関数です。これがないと、何層重ねても全体はただの1 次関数になってしまいます。
学習では誤差を出力側から入力側へ伝える「誤差逆伝播」を行い、各層で活性化関数の微分 f'(x) が掛け合わされていきます。
sigmoid や tanh は |x| が大きいと微分がほぼ 0 になるため、深い層では微分の積 f'(x)^L が急速に 0 へ近づきます。これが勾配消失です。関数・入力 x・層数 L を変えて確かめましょう。

いま何が起きている?

ここがポイント