用語集 · 機械学習

活性化関数

別名:Activation function、非線形関数、非線形性、ELU、ReLU、tanh

各ニューロンが入力の重み付き和にかける単純な曲線です。これがないと、層を何段重ねても1本の直線的な関数にまとまってしまいます。

ニューラルネットワークの各ニューロンは、入力にそれぞれ重みを掛けて足し合わせ、バイアスを加え、その和を決まった曲線に通します。この曲線が活性化関数です。層全体で書くと次のようになります。

h=f(Wx+b)h = f(W x + b)

層を深くすることに意味があるのは、この曲線のおかげです。これがなければ、2つの層 W2(W1x+b1)+b2W_2 (W_1 x + b_1) + b_2 は行列 W2W1W_2 W_1 を持つ1つの層と同じで、何層重ねても直線的な(線形な)関数しか表せません。すべてのニューロンに曲がりがあれば、ネットワークはほとんどどんな形でも近似できます。

よく使われるもの:

  • ReLU: f(z)=max⁡(0,z)f(z) = \max(0, z) 。負の入力ではゼロ、正の入力ではその値そのものです。
  • ELU(指数線形ユニット):正の値では入力そのもの、負の値では−1に向かってなめらかに近づく曲線です。
ELU(z)={zz>0 ez−1z≤0\mathrm{ELU}(z) = \begin{cases} z & z > 0 \ e^{z} - 1 & z \le 0 \end{cases}

ReLUと違って完全に平らになることがないので、入力が負のニューロンでも勾配を後ろへ伝えられます。

  • tanh:−1から1のあいだのS字カーブです。ネットワークの出力を範囲内に収めるためによく使われます。

このプロジェクトでは

ファイターの方策とクリティックは、すべての隠れ層でELUを使っています。ネットワークの大きさの実験で、ネットワークの振る舞いを変えずに層を1つ足せたのは、ELUの2つの性質のおかげです。出力が−1を下回ることがないこと、そして正の入力ではちょうど恒等関数になることです。そのため、重みを単位行列、バイアスを+1にした新しい層には正の数しか入ってこず、それをそのまま通します(関数を保つネットワークの拡張を参照)。

関連用語

この用語が出てくる記事

← すべての用語