next up previous contents
Next: バックプロパゲーション Up: 学習法 Previous: 学習法の分類   目次

一般化デルタルール [1]

本研究におけるニューラルネットワークの学習は、 バックプロパゲーション法(back-propagation、誤差逆伝搬法)を用いた。 まずバックプロパゲーションについて説明する前に、一般化デルタルールについて説明する。 ある素子 $j$ の入力総和 $u_j$ は、 他の素子 $i$ の出力 $y_i$ と、重み $w_{ji}$ をかけて加えたものである。 また、出力 $y_j$ は入力の総和を単調増加関数 $f$ に代入したもので表されることにする。即ち、
\begin{displaymath}
u_j = \sum_i w_{ji} y_i
  ,   y_j = f(u_j)
\end{displaymath} (4.1)

と表せる。ただし、閾値は重みの一つとして含まれていると考える。 ここで、出力関数 $f$ はシグモイド関数を用いることにする。

次に、神経回路における学習を一般化して考える。 $\hat{y}_{j,c}$ はある入力 $c$ に対して出力素子 $j$ が出すべき望ましい出力、 $y_{i,c}$ はその時の出力素子が実際にした出力である。 この時の学習評価として、次のような「誤差関数 $E$

\begin{displaymath}
E = \frac{1}{2} \sum_{j,c} (y_{j,c} - \hat{y}_{j,c})^2
\end{displaymath} (4.2)

を考える。このような形の誤差関数を最小にする手続きを一般に 「最小2乗平均誤差法」(least mean square、LMS)という。 $y_{j,c}$ はその時の素子間の結合の強さ、 すなわち重み $w_{ji}$ で決まるため、 誤差関数も重みに関して陰(implicit)に定義された関数となる。 したがって、各重みの値を軸としてできる空間を考え、さらにこの誤差関数 $E$ によって定義される値を高さと考えれば、 $E$ は重み空間上の超曲面として「誤差曲面」を与えることになる。 任意の重み状態から、この誤差曲面の極小値に達するには、 例えば各重みを、 $\partial E / \partial w_{ji} $ に比例した量
\begin{displaymath}
\Delta w_{ji} = - \eta \frac{\partial E}{\partial w_{ji}}   (\eta > 0)
\end{displaymath} (4.3)

ずつ変化させていけばよいことになる。 ここで$\eta$は学習定数である。 これは誤差曲面上を最も急な傾斜方向に進んでいくことに相当し、 このような学習則を一般に「最急降下法」(gradient decent method)という。

さて、式(4.1)のように素子の性質が定義されていれば、 式(4.3)は合成関数の微分公式により、

\begin{displaymath}
\frac{\partial E}{\partial w_{ji}} = \sum_c \frac{\partial ...
... \frac{dy_j}{du_j} \cdot \frac{\partial u_j}{\partial w_{ji}}
\end{displaymath} (4.4)

と展開できる(添字 $c$ は省略)。 式(4.1)を微分して代入すれば、
$\displaystyle \frac{dy_j}{du_j}$ $\textstyle =$ $\displaystyle f'(u_j)$ (4.5)
$\displaystyle \frac{\partial u_j}{\partial w_{ji}}$ $\textstyle =$ $\displaystyle y_i$ (4.6)

であるので、結局式(4.3)は、
\begin{displaymath}
\Delta w_{ji} = - \eta \sum_c \frac{\partial E}{\partial y_j} f'(u_j) y_i
\end{displaymath} (4.7)

となる。中間層が学習しない場合、 $\partial E / \partial y_j$ の項は 式(4.2)を微分することにより簡単に
\begin{displaymath}
\frac{\partial E}{\partial y_j} = (y_j - \hat{y}_j)
\end{displaymath} (4.8)

と求めることができるので、式(4.7)より、
\begin{displaymath}
\Delta w_{ji} = - \eta \sum_c (y_j - \hat{y}_j) f'(u_j)y_i
\end{displaymath} (4.9)

という学習則が得られる。 これを一般化デルタルールと呼ぶ。


next up previous contents
Next: バックプロパゲーション Up: 学習法 Previous: 学習法の分類   目次
Deguchi Lab. 2011年3月3日