CELUレイヤー(Concatenated ELU活性化関数)
説明
CELUは入力信号と、入力信号の符号を反転したものに対してそれぞれELU処理を行い、それぞれの結果をAxisプロパティの示す軸で結合して出力します。
CReLU(Concatenated ReLU)と考え方は同じで、CReLUがReLUを用いるのに対し、CELUはELUを用います。
ELUの替わりにCNNの中間層にCReLUを用いることで画像解析の精度が向上する場合もあります。
活性化関数の位置づけ
活性化関数は単純パーセプトロンによる線形近似を非線形近似に変換します。
活性化関数の用途は大きくは2つあります。
- 中間層(隠れ層)の表現範囲を広げること
- 出力層の結果を求める答えににあった形式に変換すること
詳しくは以下の記事を参照ください。
数式
f(x)=(ELU(x),ELU(−x))
考え方は、CReLUとELUの記事を参照ください。
CReLU
https://piyonekochannel.com/entry/2019/12/19/115938
ELU
https://piyonekochannel.com/entry/2019/12/19/120131
プロパティ
Alpha
負の出力の係数alphaを指定します。
デフォルト値 = 1
Axis
結合する軸。
デフォルト値 = 0
利用用途
CNNで利用する場合があります。
出力サイズ
第一要素 = 入力サイズ×2
第一要素以外 = 入力サイズ
例)
- 入力サイズが(20)の場合、出力サイズは(40)
- 入力サイズが(10, 30)の場合、出力サイズは(20, 38)
- 入力サイズが(3, 28, 28)の場合、出力サイズは(6, 28, 28)
サンプル構成
CNN
誤差関数の使い分けについて
中間層
PReLuなどのReLu系の関数を使うのが一般的です。
Sigmoid関数、Tanh関数は勾配消失問題があり、層が深くなると重みの調整が巧くいかなくなります。
出力層
回帰問題の場合
- 恒等関数(=出力層に関数を挟まない)が一般的です。
- 出力値を0~1の範囲に納めたい場合はシグモイド関数も使われる。
分類問題の場合
- 二値分類問題を解く場合はSigmoid関数が使われることが多い。
- 多値分類問題を解く場合はSoftmax関数が使われることが多い。
こちらのサイトが参考になりましたので、リンクを掲載いたします。
https://thinkit.co.jp/article/14103
![]() |
【送料無料】 ソニー開発のNeural Network Console入門 増補改訂・クラウド対応版--数式なし、コーディングなしのディープラーニング / 足立悠 【本】 価格:2,592円 |