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}} = \frac{\partial E}{\par...
... \frac{dy_j}{du_j} \cdot \frac{\partial u_j}{\partial w_{ji}}
\end{displaymath} (4.4)

と展開できる(添字 $c$ は省略)。 ここで、素子$j$に関する誤差項を $\delta_j$とすれば、
\begin{displaymath}
\delta_j = - \frac{\partial E}{\partial y_j} \cdot \frac{\partial y_j}{\partial u_j}
\end{displaymath} (4.5)

式 4.1を微分して代入すれば、
$\displaystyle \frac{dy_j}{du_j} = f'(u_j)$ $\textstyle =$ $\displaystyle y_j (1 - y_j)$ (4.6)
$\displaystyle \frac{\partial u_j}{\partial w_{ji}}$ $\textstyle =$ $\displaystyle y_i$ (4.7)

式 4.3は、
\begin{displaymath}
\Delta w_{ji} = - \eta \frac{\partial E}{\partial y_j} f'(u_j) y_i
\end{displaymath} (4.8)

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

となり、よって
\begin{displaymath}
\delta_j = y_j (1 - y_j) (\hat{y}_j - y_j)
\end{displaymath} (4.10)

と求めることができるので、式 4.8より、
\begin{displaymath}
\Delta w_{ji} = \eta \delta_j y_i
\end{displaymath} (4.11)

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


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