Neural Network Consoleレイヤーリファレンス~SELU~

SELUレイヤー(Scaled Exponential Linear 活性化関数)

説明

入力値のSELU(Scaled Exponential Linear Unit)による処理結果を出力します。
SELUはELUに係数を掛けて算出します。

SELUレイヤー

活性化関数の位置づけ

活性化関数は単純パーセプトロンによる線形近似を非線形近似に変換します。

活性化関数の用途は大きくは2つあります。

  • 中間層(隠れ層)の表現範囲を広げること
  • 出力層の結果を求める答えににあった形式に変換すること

詳しくは以下の記事を参照ください。

Tanhレイヤー(Tanh活性化関数) 説明 入力値のTanhによる処理結果を出力する活性化関数です。 活性化関数の位置づけ 活性化関数は...

数式

o=lambda{max(0, i) + alpha(exp(min(0, i)) – 1)}
これは、
o=lambda(ELU(i)) と置き換えられます。つまりSELUはELUに係数lambdaを掛けたものです。

ELU

https://piyonekochannel.com/entry/2019/12/19/120131

プロパティ

Scale

全体のスケールlambdaを指定します。

デフォルト値 = 1.05070098735548

Alpha

負の出力の係数alphaを指定します。

デフォルト値 = 1.673263242354377

利用用途

CNNで利用する場合があります。

出力サイズ

入力サイズと同じ

サンプル構成

CNN

SELU

誤差関数の使い分けについて

中間層

PReLuなどのReLu系の関数を使うのが一般的です。
Sigmoid関数、Tanh関数は勾配消失問題があり、層が深くなると重みの調整が巧くいかなくなります。

出力層

回帰問題の場合

  • 恒等関数(=出力層に関数を挟まない)が一般的です。
  • 出力値を0~1の範囲に納めたい場合はシグモイド関数も使われる。

分類問題の場合

  • 二値分類問題を解く場合はSigmoid関数が使われることが多い。
  • 多値分類問題を解く場合はSoftmax関数が使われることが多い。

こちらのサイトが参考になりましたので、リンクを掲載いたします。
https://thinkit.co.jp/article/14103

【送料無料】 ソニー開発のNeural Network Console入門 増補改訂・クラウド対応版--数式なし、コーディングなしのディープラーニング / 足立悠 【本】

価格:2,592円
(2019/6/26 22:40時点)
感想(0件)

広告




スポンサーリンク
広告




広告




シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
広告