Select Language

AI Technology Community

Leaky ReLU関数(PReLU)

PReLU(パラメトリック整流線形ユニット)、名前の通り:パラメータ付きのReLUです。二者の定義と違いは以下の図の通りです:

もしai = 0であれば、PReLUはReLUに退化します;もしaiが非常に小さい固定値(例えばai = 0.01)であれば、PReLUはLeaky ReLU(LReLU)に退化します。 実験により、ReLUと比較して、LReLUは最終結果にほとんど影響を与えないことが証明されています。
PReLUに関するいくつかの説明

(1) PReLUは極少量のパラメータを追加するだけです。つまり、ネットワークの計算量と過学習の危険性も僅かに増加するだけです。特に、異なるチャネルで同じaiを使用する場合、パラメータはさらに少なくなります。

(2) BPによってaiを更新する際には、モーメンタムを持った更新方式を採用しています。以下の図の通りです:

上式の二つの係数はそれぞれモーメンタムと学習率です。
特に注意すべきは、aiを更新する際には重み減衰(L2正則化)を適用しないことです。なぜなら、これによってaiが大幅に0に近づけられてしまうからです。実際、正則化を加えなくても、実験ではaiが1を超えることはほとんどありません。

(3) 論文全体で、aiは0.25に初期化されています。

post
活性化関数
2021-05-14 15:55:39join communtity
  • 22

    item of content
活性化関数(Activation Function)とは、人工ニューラルネットワークのニューロン上で動作する関数であり、ニューロンの入力を出力にマッピングする役割を担います。活性化関数は、人工ニューラルネットワークモデルが非常に複雑で非線形の関数を学習し理解することにおいて極めて重要な役割を果たします。これらはネットワークに非線形特性を導入します。図1のように、ニューロン内で入力(inputs)が重み付けされ、合算された後、さらにある関数によって処理されます。この関数こそが活性化関数です。活性化関数を導入することで、ニューラルネットワークモデルに非線形性が追加されます。活性化関数を使用しない場合、各層の出力は単なる行列の乗算と同等になります。たとえ複数の層を積み重ねても、結局のところそれは行列の乗算以上のものではありません。

活性化関数を使わない場合、各層の出力は前層の入力の線形関数となり、ニューラルネットワークがどれだけ多くの層を持っていたとしても、出力は常に入力の線形結合となります。これは最も原始的なパーセプトロン(Perceptron)の状況です。

一方、活性化関数を使用すると、ニューロンに非線形な要素が導入され、ニューラルネットワークは任意の非線形関数に近似することが可能になります。これにより、ニューラルネットワークは多くの非線形モデルに応用できるようになります。