讃岐小僧のEngineering×Techメモ

未経験から挑戦中のプログラミングや、趣味の野球や狩猟について、その他、ビジネスやテクノロジーをテーマに様々なことをつぶやく場所です。

【JDLA】G検定受験に向けたメモ ~part6~

G検定とは

一般社団法人日本ディープラーニング協会(JDLA)が実施する資格試験。

小僧が受験するのはG検定で合格できたものはJDLAより下記の認定を受け取ることができる。

ディープラーニングの基礎知識を有し、適切な活用方針を決定して事業応用する能力を持つ人材

www.jdla.org

今回も前回~part5~に引き続きG検定受験にむけた内容をメモしていきたいと思います。

tanh(ハイパボリックタンジェント)関数

シグモイド関数を線形変換したもので、シグモイド関数が0~1を範囲を取るのに対して、tanh関数は-1~1の範囲をとる

f:id:keisuke8925gdk:20190307213055p:plain
tanh関数

シグモイド関数微分の最大値は0.25
tanh関数の微分の最大値は1
tanh関数の微分の最大値は1あるため勾配が消失しにくくなる

ReLU(Rectified Linear Unit)関数

tanh関数に変わり、現在最もよく利用される活性化関数

f:id:keisuke8925gdk:20190307213802p:plain
ReLU関数

ReLU関数はxが0より大きい限り微分値は常に1が得られることになるため誤差逆伝播する際に勾配が小さくなりにくい

Leaky ReLU関数

ReLU関数との違いは、x < 0においてわずかな傾きをもっている
これにより微分値が0 になることがなくなるためReLU関数よりさらに勾配が消失しにくい

Parametric ReLU

Leaky ReLUのx < 0の部分の直線の傾きを学習によって最適化しようとする活性化関数

Randomized ReLU

複数の傾きをランダムに試す活性化関数

f:id:keisuke8925gdk:20190307214925p:plain
活性化関数のまとめ

学習率を最適化するとは

機械学習はモデルの予測値と実際の値の誤差をなくすために利用するものである
この誤差をなくすために様々な手法があり機械学習では数学的にアプローチする
数学的にはこの誤差を誤差関数と定義しこれを最小化できれば誤差がないということになる

勾配降下法

勾配とは微分値のことで、微分の表す接線の傾きを坂道に見立てて、その傾斜に沿って降りていけば傾きゼロの地点(誤差0)に行き着くという考えのもとのアプローチ。

f:id:keisuke8925gdk:20190307232428p:plain
勾配降下法のイメージ

ニューラルネットワークでは各パラメータ(重み)に対して勾配降下法を適用することで最適解を求める
ニューラルネットワークでの「学習」とは勾配降下法を用いて繰り返し計算を行うこと

勾配降下法の課題

勾配降下法では勾配が0になる点を求めることが課題であるため、その地点が正しくないものが求まってしまう可能性がある

下図の局所最適解では勾配は0になるが更に小さい値が存在するのが問題

f:id:keisuke8925gdk:20190307233639p:plain
局所最適解と大域最適解

局所最適解を防ぐ方法

  • 学習率の値を大きく設定する
    →学習率とは勾配に沿ってどれくらい進むかを調整するもの

  • 適切なタイミングで学習率の値を小さくしていくこと
    →学習率が大きいままだと、最適解を飛び越えて探索を続けてしまう問題が起こる

鞍点(あんてん)

3次元以上の勾配降下法では鞍点に行き着いてしまう可能性がある
ある次元から見れば極小であるものの、別の次元からみると極大となってしまっているもののこと
一度鞍点付近に陥ると抜け出すことが難しくなる、またこうした停留状態になることをプラトーとよぶ

f:id:keisuke8925gdk:20190307235146p:plain
鞍点

モーメンタム

完成の考え方を適用したもので、最適化の進行方向に学習を加速させることで、学習の停滞を防ぐもの

モーメンタムより効率的な手法

  • Adadelta
  • RMSprop
  • Adam

現在ではRMSprop、Adamが用いられるケースがほとんど