next up previous contents
Next: 誤差逆伝播法の導出 Up: 誤差逆伝播法 Previous: 誤差逆伝播法   目次


最急降下法(勾配法)

最急降下法は、関数の極小、あるいは極大値を見つけ出すためのアルゴリズムである。この方法は、山下り法(山登り法)とも呼ばれる[5]。 例えば、登山中に深い霧の中で立ち往生したとき、自分の周囲の傾斜を見て、より低くなっているほうに進む。 すると少なくとも1つの窪み(極小点)に到達できる。原理を図 4.1に示す。

今、ある $x$ についての関数 $E$ の極小値を求めるとする。適当な初期値を設定し、局所探索を繰り返すことによって極小値を求める。 まず $x$ の初期値として $x=a_1$ を与える。このときの $E$ の傾きを調べ、$E$ の値が減少する方向に $x$ を変化させる。

変化した結果 $x$ $=$ $a_2$ となったとする。さらにその時の $E$ の傾きを調べ、$E$ が減少するよう $x$を変化させる。 同様の操作を繰り返すと、極小点に到達する。このとき $x$ $=$ $b$ であるとすると、$E$ の傾きは0であり、$x$ をどちらに移動させても $E$ の値は増加する。 これによって繰り返し行う計算は終了する。関数 $E$ の傾きを $g$とすると、$x$ の更新は式 (4.2)のように表される。


$\displaystyle g$ $\textstyle =$ $\displaystyle f' (x)$ (4.1)
$\displaystyle x$ $\textstyle =$ $\displaystyle x - \alpha g$ (4.2)

式 (4.2)の$\alpha$$x$ を更新する際の更新する度合いを定める定数である。

図 4.1: 勾配法の原理
\includegraphics{eps/06.eps}



Deguchi Lab. 2015年3月4日