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

ReLUレイヤー(正規化線形関数)

説明

入力値のReLU(Rectified Linear Unit)による処理結果を出力する活性化関数です。
中間層の活性化関数として使用します。2019年5月現在、中間層で用いる活性化関数として最も優れている関数の一つです。
なお、ReLUは出力層で用いられることは殆どありません。

ReLUレイヤー

活性化関数の位置づけ

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

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

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

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

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

数式

y=max(0, x)
上記は0かxの大きい方をyとする意味です。
すなわち、xが0未満ならyは常に0、xが0以上であればy = x となります。
シグモイド

グラフ

プロパティ

InPlace

入力バッファと出力バッファの共有設定。

デフォルト値 = *AutoInPlaceOnce

本家マニュアルには以下の様に記載されていますが、現時点は*AutoInPlaceOnce以外は選べない様です。(私の知識不足かもしれませんが・・・)

Trueの場合、入力バッファと出力バッファを共有することにより学習に要するメモリを節約します。
InPlace可能な場合に自動でInPlaceするには、*AutoInPlaceOnceを指定します。

利用用途

ReLU関数は中間層の活性化関数として現在最も多く用いられる関数の一つです。
理由はReLU関数は x > 0 の部分では微分値が常に1であるため勾配消失の心配が無いためです。
なお、ReLU関数は出力層の活性化関数に用いられることはあまりありません。

出力サイズ

入力サイズと同様

サンプル構成

多層パーセプトロン

LSTM

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

中間層

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件)

広告




スポンサーリンク
広告




広告




シェアする

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

フォローする

スポンサーリンク
広告