next up previous
次へ: 隠れ部分を含む画像からの元画像の想起 上へ: 自己連装メモリ 戻る: 自己連装メモリ

自己連想メモリを実現する3層パーセプトロン

入力層と出力層に$M$個の素子を持ち、中間層に$H( < M)$個の線形のニューロ ンを持つ3層のパーセプトロン(図9)に、入力と出力が なるべく同じになるように学習させると、中間層には主成分分析と等価な特徴 が自己組織化されることが知られている[13]。

図 11: MLP for auto-associative memory.
\begin{figure}\begin{center}
\psfig{file=image/mlp_y.eps, width=50mm}\vspace*{-2mm}
\end{center}\vspace*{-5mm}
\end{figure}

今、このネットワークに学習させる訓練データ集合を $\{ \mbox{\boldmath {$x$}}_j =
(x_{j1},\ldots,x_{jM})^T \in \mbox{\boldmath {$R$}}^M \}^N_{j=1}$とする。また、 入力ベクトル $\mbox{\boldmath {$x$}}_j$に対する中間層のニューロンの出力をならべたベク トルを $\mbox{\boldmath {$y$}}_j = (y_{j1},\ldots,y_{jH})^T \in \mbox{\boldmath {$R$}}^H$、ネットワー クの出力ベクトルを $\mbox{\boldmath {$z$}}_j = (z_{j1},\ldots,z_{jN})^T \in
\mbox{\boldmath {$R$}}^M$とする。さらに、入力から中間層への結合荷重を $U =
[\mbox{\boldmath {$u$}}_1,\ldots,\mbox{\boldmath {$u$}}_H]$、中間層から出力層への結合荷重を $W =
[\mbox{\boldmath {$w$}}_1,\ldots,\mbox{\boldmath {$w$}}_M]$とする。このとき、中間層のニューロンの 出力および出力層のニューロンの出力は、それぞれ、

$\displaystyle y_{jh}$ $\textstyle =$ $\displaystyle \mbox{\boldmath {$u$}}_h^T \mbox{\boldmath {$x$}}_j \ \ \ \ \ \ (h=1,\ldots,H)$  
$\displaystyle z_{jm}$ $\textstyle =$ $\displaystyle \mbox{\boldmath {$w$}}_m^T \mbox{\boldmath {$y$}}_j \ \ \ \ \ \ (m=1,\ldots,M)$ (88)

のように計算される。

このネットワークの学修では、入力と出力がなるべく同じになるように、すなわ ち、二乗誤差

\begin{displaymath}
\varepsilon^2 = \frac{1}{2} \sum^N_{j=1} \varepsilon^2_j = ...
...rt \mbox{\boldmath {$x$}}_j - \mbox{\boldmath {$z$}}_j \Vert^2
\end{displaymath} (89)

が最小となるようなパラメータ(結合荷重)が求められる。

これを、最尤推定の観点から解釈するために、入力ベクトルと出力ベクトルとの誤差 $\varepsilon^2_j$が平均$0$、分散$\sigma$に従うと仮定すると、その対数尤度 は、

\begin{displaymath}
-\frac{J}{2}\log\left(2\pi\sigma^2\right) -
\frac{1}{2\sigma^2}\sum^{J}_{j=1}\varepsilon^2_j
\end{displaymath} (90)

となる。これを最大化することは、第2項の $\sum^{J}_{j=1}\varepsilon^2_j$ を最小化することと同値になる。 そこで、
\begin{displaymath}
l_{1} = -\frac{1}{2} \sum^{N}_{j=1}\varepsilon^2_j
\end{displaymath} (91)

とおき、これを最大化する結合荷重を最急降下法で求めることを考える。その ために、$l_{1}$ の結合荷重に関する偏微分を求めると、
$\displaystyle \frac{\partial l_{1}}{\partial w_{mh}}$ $\textstyle =$ $\displaystyle \sum_{p=1}^P (x_{pm} - z_{pm}) y_{ph}$  
$\displaystyle \frac{\partial l_{1}}{\partial u_{hn}}$ $\textstyle =$ $\displaystyle \sum_{p=1}^P \sum_{m=1}^N (x_{pm} - z_{pm}) w_{mh} x_{pn}$  

となる。従って、学習則は、
$\displaystyle \Delta w_{mh}$ $\textstyle =$ $\displaystyle \alpha \sum_{j=1}^N (x_{jm} - z_{jm}) y_{jh}$  
$\displaystyle \Delta u_{hn}$ $\textstyle =$ $\displaystyle \alpha \sum_{j=1}^N \sum_{m=1}^M (x_{jm} - z_{jm}) w_{mh} x_{jn}$ (92)

となる。ここで、$\alpha$ は学習係数である。このような学習により、$N$次元 の入力画像を情報をなるべく保持したままで$H$ 次元に圧縮し、圧縮した情報か ら画像を再構成するような恒等写像が構成できる。このネットワークに学習した 画像と同じ画像を入力すると、その画像に近い画像を出力することができるよう になる。つまり、このネットワークにより自己連想メモリが実現できる。


next up previous
次へ: 隠れ部分を含む画像からの元画像の想起 上へ: 自己連装メモリ 戻る: 自己連装メモリ
平成14年11月18日