next up previous
次へ: 誤差逆伝搬学習法 上へ: 多層パーセプトロン 戻る: 単純パーセプトロンの学習


多層パーセプトロン

図 3: 多層パーセプトロンの例
\begin{figure}\leavevmode
\begin{center}
\epsfile{file=MLP.ps,width=5cm}
\end{center}\end{figure}

多層パーセプトロンは、図3のように、単純パーセプトロンを層 状に繋ぎ合わせたネットワークである。例えば、中間層が1層のネットワーク では、入力信号 $\mbox{\boldmath$x$}$ に対する出力信号 $\mbox{\boldmath$z$}=(z_1,\ldots,z_K)^T$ は、

$\displaystyle \zeta_{j}$ $\textstyle =$ $\displaystyle \sum_{i=1}^I a_{ij} x_{i} + a_{0j}$  
$\displaystyle y_{j}$ $\textstyle =$ $\displaystyle f_{hidden}(\zeta_{j})$  
$\displaystyle \eta_{k}$ $\textstyle =$ $\displaystyle \sum_{j=1}^J b_{jk} y_{j} + b_{0k}$  
$\displaystyle z_{k}$ $\textstyle =$ $\displaystyle f_{out}(\eta_{k})$ (69)

のように計算される。ただし、$a_{ij}$ は、$i$番目の入力から中間層の$j$ 番目のユニットへの結合荷重であり、$b_{jk}$ は、中間層の$j$番目のユニッ トから出力層の$k$番目のユニットへの結合荷重である。$a_{0j}$ および $b_{0k}$ は、それぞれ、中間層の$j$番目のユニットおよび出力層の$k$番目 のユニットのバイアスである。また、$f_{hidden}$ および $f_{out}$ は、そ れぞれ、中間層のユニットの入出力関数および出力層のユニットの入出力関数 である。中間層のユニットの入出力関数としては、普通、ロジスティック関数 が使われる。出力層のユニットの入出力関数は、利用目的に応じて決められる。 例えば、関数近似のためにネットワークを利用する場合には線形関数が使われ、 パターン認識に利用する場合にはロジスティック関数とすることが多い。

このような多層パーセプトロンの能力、つまり、どのような関数が表現可能か に関して、非常に強力な結果が得られている[16]。それは、中間 層のユニットの入出力関数が

\begin{displaymath}
\sigma(t) = \left\{ \begin{array}{ll}
1 & \mbox{as $t \rig...
...\
0 & \mbox{as $t \rightarrow -\infty$}
\end{array} \right.
\end{displaymath} (70)

のような性質を持つ非線形の連続な単調増加関数(シグモイド関数)であり、 出力層の入出力関数が線形関数のとき、中間層が1層の多層パーセプトロンに よって、任意の連続関数が近似可能であるというものである。もちろん、任意 の連続関数を近似するためには中間層のユニットの数を非常に多くする必要が あるかもしれない。この結果は、多層パーセプトロンを入出力関係を学習する ために使うには、理論的には、中間層が1層のみのネットワークで十分である ことを示している。



平成14年7月19日