Yan LeCunと他の人々は、Efficient BackPropで次のように主張しています。
δxδxδ与えられた入力パターンに対して。したがって、重みベクトルの方向を変更する必要がある場合、ジグザグによってのみ変更できますが、これは非効率的であるため非常に遅くなります。
これが、平均がゼロになるように入力を正規化する必要がある理由です。
同じロジックが中間層に適用されます:
このヒューリスティックはすべてのレイヤーに適用する必要があります。つまり、これらの出力は次のレイヤーへの入力であるため、ノードの出力の平均をゼロに近づけます。
Postscript @craqは、この引用符がReLU(x)= max(0、x)に対して意味をなさないことを指摘しています。これは広く普及しているアクティベーション関数になりました。ReLUはLeCunが言及した最初のジグザグの問題を回避しますが、平均をゼロにプッシュすることが重要であると言うLeCunによるこの2番目のポイントを解決しません。LeCunがこれについて何と言っているか知りたいです。いずれにせよ、バッチ正規化と呼ばれる論文があります。これは、LeCunの作業の上に構築され、この問題に対処する方法を提供します。
入力が白色化された場合、つまり平均値と単位分散がゼロになるように線形変換され、無相関化された場合、ネットワークトレーニングはより速く収束することが長く知られています(LeCun et al。、1998b; Wiesler&Ney、2011)。各レイヤーは下のレイヤーによって生成された入力を監視するため、各レイヤーの入力の同じホワイトニングを達成することが有利です。
ちなみに、Sirajによるこのビデオでは、10分でアクティベーション機能について多くのことを説明しています。
@elkoutは、「tanhがシグモイド(...)に比べて好まれる本当の理由は、tanhの微分係数がシグモイドの微分係数より大きいことです」と述べています。
これは問題ではないと思います。私はこれが文学の問題であることを見たことはありません。1つの導関数が他の導関数よりも小さいことに気がついた場合は、単にスケーリングすることができます。
σ(x)=11+e−kxk=1k
Nitpick:tanhはシグモイド関数でもあります。S形状の関数はS字型です。あなたがシグモイドと呼んでいるのはロジスティック関数です。ロジスティック関数がより人気がある理由は歴史的な理由です。統計学者によって長い間使用されてきました。それに、生物学的にもっともらしいと感じる人もいます。