next up previous
次へ: この文書について... 上へ: 多層パーセプトロン 戻る: 多層パーセプトロン


誤差逆伝搬学習法

多層パーセプトロンは任意の連続関数を近似するのに十分な表現能力をもって いるのですが、そうしたネットワークに望みの情報処理をさせるためにはニュー ロン間の結合荷重を適切なものに設定しなければなりません。ニューロンの数 が増えると結合荷重の数も増え、それらをいちいち人手で設定することは非常 に難しいので、一般には、利用可能なデータからの学習によって適切な結合加 重を求めます。そのためのアルゴリズムとして最も有名なものが誤差逆伝搬学 習法です。このアルゴリズムは、これまでにこの講義で話した方法と同様に、 最急降下法を用いて最適なパラメータを求めます。

今、$N$個の学習用のデータを $\{\mbox{\boldmath$x$}_p,\mbox{\boldmath$t$}_p\vert p=1,\ldots,N\}$ と表 すことにします。学習のための評価基準としては、平均2乗誤差を最小とする 基準

\begin{displaymath}
\varepsilon^2 = \frac{1}{N} \sum_{p=1}^N \vert\vert\mbox{\b...
...z$}_p\vert\vert^2
= \frac{1}{N} \sum_{p=1}^N \varepsilon^2(p)
\end{displaymath} (46)

を用いるものとします。最急降下法を適用するために、これまでと同様に平均 2乗誤差 $\varepsilon^2$ の結合荷重に関する偏微分を計算すると、
$\displaystyle \frac{\partial \varepsilon^2}{\partial a_{ij}}$ $\textstyle =$ $\displaystyle \frac{1}{N} \sum_{p=1}^N \frac{\partial \varepsilon^2}{\partial a_{ij}}
= \frac{1}{N} \sum_{p=1}^N -2 \gamma_{pj} \nu_{pj} x_{pi}$  
$\displaystyle \frac{\partial \varepsilon^2}{\partial b_{jk}}$ $\textstyle =$ $\displaystyle \frac{1}{N} \sum_{p=1}^N \frac{\partial \varepsilon^2(p)}{\partial b_{jk}}
= \frac{1}{N} \sum_{p=1}^N -2 \delta_{pk} y_{pj}$ (47)

のようななります。ただし、
$\displaystyle \nu_{pj}$ $\textstyle =$ $\displaystyle y_{pj}(1-y_{pj})$  
$\displaystyle \gamma_{pj}$ $\textstyle =$ $\displaystyle \sum_{k=1}^K \delta_{pk} b_{jk}$  
$\displaystyle \delta_{pk}$ $\textstyle =$ $\displaystyle t_{pk}-z_{pk}$ (48)

です。ここで、$a_{0j}$および$b_{0k}$の計算も統一的に表すために、 $x_{p0}=1$ および $y_{p0}=1$ としています。従って、最急降下法による結 合荷重の更新式は
$\displaystyle a_{ij} \Leftarrow
a_{ij} - \alpha \frac{\partial \varepsilon^2}{\partial a_{ij}}$      
$\displaystyle b_{jk} \Leftarrow
b_{jk} - \alpha \frac{\partial \varepsilon^2}{\partial b_{jk}}$     (49)

のようになります。ここで、$\alpha$は学習率と呼ばれる正のパラメータです。

この学習アルゴリズムは、教師信号とネットワークの出力との誤差 $\delta$ を結合荷重$b_{jk}$ を通して逆向きに伝搬して $\gamma$ を計算していると 解釈できるので誤差逆伝搬法という名前が付けれらています。

すでに何度か書きましたが、最急降下法を用いた学習法では、学習率をどのよ うに決めるかによってアルゴリズムの収束の速さが影響を受けます。そのため 学習率を適切な値に設定することが重要となりますが、ニューラルネットワー クの研究では、それを自動的に設定するための方法もいくつか提案されていま す。また、学習の高速化に関しても多くの方法が提案されています。例えば、 Quick Prop という方法では、多くのヒューリスティックを組み合わせて学習 を高速化しています。その他、ニュートン法的な方法を用いて高速化するアル ゴリズムもいくつか提案されています。



平成14年7月19日