用語集 · 機械学習
活性化関数
別名:Activation function、非線形関数、非線形性、ELU、ReLU、tanh
各ニューロンが入力の重み付き和にかける単純な曲線です。これがないと、層を何段重ねても1本の直線的な関数にまとまってしまいます。
ニューラルネットワークの各ニューロンは、入力にそれぞれ重みを掛けて足し合わせ、バイアスを加え、その和を決まった曲線に通します。この曲線が活性化関数です。層全体で書くと次のようになります。
層を深くすることに意味があるのは、この曲線のおかげです。これがなければ、2つの層 は行列 を持つ1つの層と同じで、何層重ねても直線的な(線形な)関数しか表せません。すべてのニューロンに曲がりがあれば、ネットワークはほとんどどんな形でも近似できます。
よく使われるもの:
- ReLU: 。負の入力ではゼロ、正の入力ではその値そのものです。
- ELU(指数線形ユニット):正の値では入力そのもの、負の値では−1に向かってなめらかに近づく曲線です。
ReLUと違って完全に平らになることがないので、入力が負のニューロンでも勾配を後ろへ伝えられます。
- tanh:−1から1のあいだのS字カーブです。ネットワークの出力を範囲内に収めるためによく使われます。
このプロジェクトでは
ファイターの方策とクリティックは、すべての隠れ層でELUを使っています。ネットワークの大きさの実験で、ネットワークの振る舞いを変えずに層を1つ足せたのは、ELUの2つの性質のおかげです。出力が−1を下回ることがないこと、そして正の入力ではちょうど恒等関数になることです。そのため、重みを単位行列、バイアスを+1にした新しい層には正の数しか入ってこず、それをそのまま通します(関数を保つネットワークの拡張を参照)。