読者です 読者をやめる 読者になる 読者になる

ウォンツテック

技術的な話や会社設立に関わる話などを適当にしていきます

Deep Learning

Deep Learning 勉強 3

勾配法

前回勉強した損失関数は訓練データが如何にテストデータ(正解)に近づいたかを示す関数で、2乗和誤差や交差エントロピー誤差などは0に近いほどテストデータに近いと定義されている。

最終的な目標は認識精度を上げる事なので、3.6.2 ニューラルネットワークの推論処理でやった最終的な正解の割合(accuracy)を指標としても良さそうですが、これだとパラメータ(重みとバイアス)の微小な変化に対してほとんどが変化しない事が問題となるそうです。

言い換えるとパラメータを入力、推論結果(accuracy)を出力とする関数を考えるとほとんどの入力で微分が0となり、0に近いパラメータをさがす事が事実上出来なくなる。

これらを解消するため損失関数という入力に対して連続な(微分可能な)関数を選んでいます。

勾配法はこの損失関数を入力で微分偏微分)し、最小となる入力パラメータを探す方法の一つで
4.4.1では最急降下法というアルゴリズムが用いられていて

 x_(n+1) = x_n - \eta \frac{\partial f}{\partial x_n}

となってます。
この方法は極小値を探すのには向いてますが、最小値を探す場合は様々な初期値で試す必要があるとの事。