- @ThothChildren
- 2017.9.13
- PV 180
SGD最適化関数
ー 概要 ー
学習の更新を行うときに適当に一つ選択した訓練データを用いて誤差を計算していく確率的勾配降下法(Stochastic Gradient Descent).
この章を学ぶ前に必要な知識
ポイント
- バッチ勾配降下法よりも局所極小値にはまりにくい
- バッチ勾配降下法よりも処理時間が早い
解 説
ニューラルネットワークにおいて学習をするときに、
どのようにパラメータを更新するかを決める必要があります。
最もシンプルなパラメータの更新方法にバッチ勾配降下法があります。
これは訓練データ全てを使ってどのように更新するか決めるため、
計算に時間がかかる点が一つ欠点です。
また、全体を考慮した平均的な勾配の方へ移動していくので局所最適解に陥りやすい(一度最適だと思った値から変われない)のも欠点です。
それに対してSGDの特徴は、
・ランダムに一つのデータを選ぶため、計算が早い
・ランダムにデータを選ぶため、例え局所解に入っても抜け出せる可能性が高くなる
・逆に値が選ぶデータによるので不安定にもなり変動が激しくなる
などがあげられる. | SGD勾配降下法 |
$$w_{t+1} = w_t - \eta_t \nabla f(w_t) $$ | wtが現在のパラメータ
f(wt)は現在のパラメータを使った時の評価関数 |
上記の式は、現在のパラメータwtを更新する式を表しています。
現在の評価関数の最も変化する方向を求め、その値に学習係数ηを掛け合わせてどれほどパラメータを更新するかを調整しています。
SGDでは上記のパラメータは固定になっていますが、その値を決めるのは難しく
値によっては最後まで収束しない | 上記式の意味 |
この章を学んで新たに学べる
Comments