高次相関連想記憶
機能の計算機
システム構成

琉球大学 工学部
電子・情報工学科
大保 明広

研究テーマ: 高次相関連想記憶機構の計算機システム構成
目次

第1章 序論

現在、知的情報処理への接近をはかるために脳を実在の手本として、 その機能の一部をモデル化した装置がいくつか提案されている。 その中で、脳の記憶が連想形式になっていることに注目してモデル化した 装置が連想記憶装置(アソシアトロン)である。

連想記憶とは、情報を装置の広い範囲に分散して記憶する形式のもので、 装置の一部が故障しても特定の情報が失われることはなく、 全体の記憶が少し不正確になるだけである。 また、分散記憶であることから記憶の混同が生じるが、ある程度以下なら 似たものを同一視することにより大きな間違いをしない。 従って、高信頼性や概念形成など人間の脳に近い能力を持つことが 可能になる。

連想記憶の形式としては、内容読み出し型、ホログラフィー型、相関行列型など が提案されている。 その中でも相関行列型は、記名・想起のアルゴリズムが簡単でかつ、 概念形成、学習機能の実現と関連づけられるなどの特徴を持っており、 有望な形式の一つとされている。

しかし、相関行列型には、記憶情報の属性により記憶容量が制約されるという ことや画像・言語などの自然情報に存在する高次の規則性を抽出できない という欠点がある。 そこで、このような欠点を克服するために、従来の相関行列型を相関の次数において 一般化した高次相関連想記憶が提案されている。

本論文においては、高次相関連想記憶のうち、比較的構成の容易な 3次相関連想記憶の自己相関形モデルを計算機でシミュレーションし、 入力ベクトルの破壊特性を調べるとともに、理論式を用いて特性解析を行った。 さらに、記憶行例の正規化・学習による記憶行例の重み付けを行い 想起特性の改善を試みた。

なお、本論文は、第2章では高次相関連想記憶、第3章では入力ベクトルの破壊特性、 第4章では記憶行列の正規化、第5章では学習による想起特性の改善について 述べる。

第2章 高次相関連想記憶

相関行列型連想記憶は、記名・想起のアルゴリズムが簡単で、連想の構造が柔軟で 概念形成など学習機能の実現と関連づけられるなどの特徴を有しており、有望な 形式の一つとされている。

しかし、相関行列型連想記憶にも改善すべき点がある。 それは、記憶情報の属性により、記憶容量が制約され、記憶素子の増加に意味がない ということや、情報のもつ規則性のうち2次相関のみを抽出し、言語・画像などの 自然情報に存在するより高次の規則性を抽出できないということなどがある。

そこで、これまでの相関行列型連想記憶に、高次の相関を取り扱える能力を付加する 必要があり、相関の次数を一般化した高次相関連想記憶が提案されている。

本論文では、高次相関連想記憶の中で比較的構成が容易である 3次の自己相関形モデルについて述べる。

記憶情報は、記憶ベクトル \(\bm{x}^{(k)}\) として表現し、 入力情報は、入力ベクトル \(\bm{y}^{(y)}\)として表現する。 記憶ベクトル \(\bm{x}^{(k)}\)、入力ベクトル \(\bm{y}^{(k)}\)は、 成分が 1 または -1 の2値をとる \(n\)次元ベクトルで、その個数を \(K\) とする。

\begin{align} \bm{x}^{(k)} = (x_{1}^{(k)}, x_{2}^{(k)}, \dots, x_{n}^{(k)}) \tag{2.1} \label{eq:2.1} \end{align} \begin{align} \bm{y}^{(k)} = (y_{1}^{(k)}, y_{2}^{(k)}, \dots, y_{n}^{(k)}) \tag{2.2} \label{eq:2.2} \end{align} \begin{align} ただし、k = 1 〜 K \end{align}

自己相関形モデルなので、\(\bm{x}^{(k)} = \bm{y}^{(k)}\) となる。

記憶ベクトルは、 \begin{align} M(l_1, l_2) = \sum_{k=1}^{K} x_{l_1}^{(k)} x_{l_2}^{(k)} \tag{2.3} \label{eq:2.3} \end{align} \begin{align} M(l_1, l_2, l_3) = \sum_{k=1}^{K} x_{l_1}^{(k)} x_{l_2}^{(k)} x_{l_3}^{(k)} \tag{2.4} \label{eq:2.4} \end{align} \begin{align} M(l_1, l_2, \dots, l_N) = \sum_{k=1}^{K} x_{l_1}^{(k)} x_{l_2}^{(k)} \dots x_{l_N}^{(k)} \tag{2.5} \label{eq:2.5} \end{align} として記憶される。 この過程は、記銘と呼ばれる。 なお、(2.3)式は2次相関、(2.4)式は3次相関、(2.5)式は\(N\)次相関の場合の式で、 \(M\)は記憶行列である。

入力ベクトル \(\bm{y}^{(i)}\) によって読み出される 出力ベクトル \(\bm{z}^{(i)}=(z_{1}^{(i)}, z_{2}^{(i)}, \dots, z_{n}^{(i)}) \) は、 \begin{align} z_{l_1}^{(i)} = \phi \left\{ \sum_{l_2=1}^{n} M(l_1, l_2) y_{l_2}^{(i)} \right\} \tag{2.6} \label{eq:2.6} \end{align} \begin{align} z_{l_1}^{(i)} = \phi \left\{ \sum_{l_2=1}^{n} \sum _{l_3=1}^{n} M(l_1, l_2, l_3) y_{l_3}^{(i)} y_{l_2}^{(i)} \right\} \tag{2.7} \label{eq:2.7} \end{align} \begin{align} z_{l_1}^{(i)} = \phi \left\{ \sum_{l_2=1}^{n} \sum _{l_3=1}^{n} \dots \sum_{l_N=1}^{n} M(l_1, l_2, \dots, l_N) y_{l_N}^{(i)} y_{l_{N-1}}^{(i)} \dots y_{l_2}^{(i)} \right\} \tag{2.8} \label{eq:2.8} \end{align} \begin{align} ただし、l_1, l_2, \dots, l_N = 1 〜 n \end{align} として与えられる。 この過程は、想起と呼ばれる。

ここで、\(\phi(x)\)は、 \[ \phi(x) = \begin{cases} 1 & (x \gt 0)\\ 0 & (x = 0)\\ -1 & (x \lt 0) \end{cases} \] なる量子化関数である。

なお、(2.6)式は2次相関、(2.7)式は3次相関、 (2.8)式は\(N\)次相関の場合の式である。

第3章 入力ベクトルの破壊特性

3.1 計算機シミュレーション

3次の自己相関形モデルをシミュレーションするので、記銘は (2.4)式を、 想起は(2.7)式を用いる。

記憶ベクトル \(\bm{x}^{(k)}\) としては、 図3-1のような文字パターンおよびランダムパターンを、 次元数 \(n=7 \times 7=49\) のベクトルとして用いた。 なお、ランダムパターンの \(+1\) の発生確率は、 文字パターンに合わせて \(0.35\) とした。

入力ベクトル \(\bm{y}^{(k)}\) としては、 記憶ベクトル \(\bm{x}^{(k)}\) のランダムな場所の成分に ノイズをかけたものを用いた。 このとき、\(\bm{y}^{(k)}= \bm{x}^{(k)}\) となる成分の個数 \(S (0 \leqq S \leqq n) \) を有効次元数と呼ぶ。 また、\( (n-s)/n \times 100 [%]\) をノイズレベルとし、 \( Prob(\bm{z}_{l_1}^{(i)} = \bm{x}_{l_1}^{(i)}) \)を想起率として評価した。

入力ベクトル \(\bm{y}^{(k)}\) の破壊モデルとしては、

以上の三種類のノイズを用いた。

\(\bm{y}^{(k)}\) は一般性を失うことなく次のように表される。

\begin{align} 平均化ノイズをかけた場合 \\ \bm{y}^{(k)} = (x_1^{(k)}, x_2^{(k)}, \dots, x_s^{(k)}, 0, 0, \dots, 0) \tag{3.1} \label{eq:3.1} \end{align} \begin{align} 反転ノイズをかけた場合 \\ \bm{y}^{(k)} = (x_1^{(k)}, x_2^{(k)}, \dots, x_s^{(k)}, -x_{s+1}^{(k)}, \dots, -x_n^{(k)}) \tag{3.2} \label{eq:3.2} \end{align} \begin{align} ランダノイズをかけた場合\\ \bm{y}^{(k)} = (x_1^{(k)}, x_2^{(k)}, \dots, x_s^{(k)}, e_{s+1}, \dots, e_{n}) \\ ただし、e_{i} \in \{-1, 1\} \tag{3.3} \label{eq:3.3} \end{align}

以下に実験方法を示す。

実験(3-1)
ランダムパターンを用い、記銘数を10〜100個まで変化させたときの 想起特性を求める。 パラメータとして、ノイズレベル 0, 10, 20, 30 [%]をとる。 ノイズは、平均化ノイズ、反転ノイズ、ランダムノイズを用いる。
実験(3-2)

実験(3-1)の結果を表3-1, 3-2, 3-3に、グラフを図3-2, 3-3, 3-4に示す。

実験(3-2)の結果を表3-4, 3-5に、グラフを図3-5, 3-6に示す。

3.2 理論解析

入力ベクトルの破壊モデルとして、平均化ノイズを用いた場合の理論解析を行う。

第2章で述べたように記銘は、 \begin{align} M(l_1, l_2, l_3) = \sum_{k=1}^{K} x_{l_1}^{(k)} x_{l_2}^{(k)} x_{l_3}^{(k)} \tag{3.4} \label{eq:3.4} \end{align} として行い、想起は \begin{align} z_{l_1}^{(i)} = \phi \left\{ \sum_{l_2=1}^{n} \sum _{l_3=1}^{n} M(l_1, l_2, l_3) y_{l_3}^{(i)} y_{l_2}^{(i)} \right\} \tag{3.5} \label{eq:3.5} \end{align} として行う。

(3.5)式より、 \begin{align} z_{l_1}^{(i)} x_{l_1}^{(i)} = \phi \left\{ \sum_{l_2=1}^{n} \sum _{l_3=1}^{n} M(l_1, l_2, l_3) y_{l_3}^{(i)} y_{l_2}^{(i)} x_{l_1}^{(i)} \right\} \tag{3.6} \label{eq:3.6} \end{align} ここで、確率変数 \(L\) を次のように定義する。

\begin{align} L = \sum_{l_2=1}^{n} \sum _{l_3=1}^{n} M(l_1, l_2, l_3) y_{l_3}^{(i)} y_{l_2}^{(i)} x_{l_1}^{(i)} \tag{3.7} \label{eq:3.7} \end{align}

(3.7)式に(3.1), (3.4)式を代入すると、 \begin{align} L &= \sum_{l_2=1}^{S} \sum _{l_3=1}^{S} (\sum_{k=1}^{K} x_{l_1}^{(k)} x_{l_2}^{(k)} x_{l_3}^{(k)}) x_{l_3}^{(i)} x_{l_2}^{(i)} x_{l_1}^{(i)} \\ &= S^{2} + \sum_{l_2=1}^{S} \sum _{l_3=1}^{S} \sum_{\substack{k=1\\ \neq i}}^{K} x_{l_1}^{(k)} x_{l_2}^{(k)} x_{l_3}^{(k)} x_{l_2}^{(i)} x_{l_1}^{(i)} \tag{3.8} \label{eq:3.8} \end{align} 確率変数 \(L\) を用いると、想起率 \(P = Prob\{z_{l_1}^{(i)} x_{l_1}^{(i)}\}\) は、 \begin{align} P = Prob\{z_{l_1}^{(i)} x_{l_1}^{(i)} > 0 \} = Prob\{L>0\} \tag{3.9} \label{eq:3.9} \end{align} として求めることができる。 いま、 \(x_{l_1}^{(i)}=+1\)のときの \(L\) を \(L_{+}\)、\(P\)を\(P_{+}\)、 \(x_{l_1}^{(i)}=-1\)のときの\(L\)を\(L_{-}\),\(P\)を\(P_{-}\)、とすると、 \(L_{+}\)および\(L_{-}\)の分布のパラメータ(期待値および分散)を求め、 分布を正規分布で近似することにより、\(P_{+}\)および\(P_{-}\)を求めることができる。

(3.8)式より、 \begin{align} L_{\pm} = &= S^{2} \pm \sum_{l_2=1}^{S} \sum _{l_3=1}^{S} \sum_{\substack{k=1\\ \neq i}}^{K} x_{l_1}^{(k)} x_{l_2}^{(k)} x_{l_3}^{(k)} x_{l_2}^{(i)} x_{l_1}^{(i)} \hspace{10pt} (複号同順) \tag{3.10} \label{eq:3.10} \end{align} ここで、 \(+1\) の発生確率 \(P_{x} = Prob(x_{i}^{(k)}=+1)\) とおくと、 期待値 \(E\{P_{x}\}\) は、 \begin{align} PX = E\{P_{x}\} = 2P_{x} - 1 \tag{3.11} \label{eq:3.11} \end{align} となる。 これを用いて、\(L_{\pm}\)の期待値を求めると、 \begin{align} \eta_{\pm} = E\{L_{\pm}\} = S^{2} \pm S(K-1)\{PX + (S - 1)PX^{5}\} \hspace{10pt} (複号同順) \tag{3.12} \label{eq:3.12} \end{align} また、\(L_{\pm}\)の分散の2乗は、 \begin{align} \delta_{\pm}^{2} &= E\{L_{\pm}^{2}\} - \eta_{\pm}^{2} \\ &= S^{2}(K-1)\{1 + 2(S-1) PX^{4}\} \\ & + (K-1)(K-2)PX^{2}\{S^{2}+2S(S-1)PX^{4} \\ & + 2S(S-1)(S-2)(S-3)PX^{8}\} \\ & - S^{2}(K-1)^{2}\{PX-(S-1)PX^{5}\}^{2} \hspace{10pt} (複号同順) \tag{3.13} \label{eq:3.13} \end{align} (3.13)式の導出は後述する。

これらの各パラメータを用いて、\(P\pm\)は次のように求めることができある。 \begin{align} P_{\pm} &= Prob\{L_{\pm}>0\} \\ &= \frac{1}{\sqrt{2\pi} \delta_{\pm}} \int_{0}^{\infty} \exp\left\{- \frac{(x-\eta_{\pm})^{2}}{2\delta_{\pm}^{2}} \right\}dx \\ &= \Phi(\eta_{\pm} / \delta_{\pm}) \hspace{10pt} (複号同順) \tag{3.14} \label{eq:3.14} \end{align} ただし、 \begin{align} \Phi(x) = \frac{1}{\sqrt{2\pi}} \int_{-x}^{\infty} \exp(- \frac{t^{2}}{2}) dt \tag{3.15} \label{eq:3.15} \end{align} \begin{align} P = Prob\{z_{l_1}^{(i)} = x_{l_1}^{(i)} \} = P_{+} P_{x} + P_{-}(1 - P_{x}) \tag{3.16} \label{eq:3.16} \end{align} 式(3.12), (3.13), (3.14), (3.15), (3.16)を用いて計算した 結果を表3-6に、グラフを図3-7, 3-8に示す。

なお、ここで \(P_{x}=0.35\) とし、ノイズは 0, 10, 20, 30 [%] について 計算を行った。 また、記銘数 \(K\) は、10〜100までとした。

3.3 比較検討

実験(3-1)について

シミュレーションの結果得られたグラフ図3-2, 3-3, 3-4を見ると、 平均化ノイズ・反転ノイズ・ランダムノイズのうちどのノイズをかけたときも、 記銘数が増加するにつれ、ノイズレベルが高くなるにつれ、 想起率が低下している。 低下の度合は、平均化ノイズをかけたときが最も小さく、 次にランダムノイズをかけたときである。 反転ノイズをかけたときは、低下率が最も高くなっており、 想起率 70[%] 程度で低下しなくなっている。

実験(3-2)について

図3-5, 3-6を見ると、ランダムパターン・文字列パターンいずれの場合も、 ノイズが増加するにつれ、想起率が低下している。 また、平均化ノイズをかけたときの想起率の低下は小さく、 ノイズの増加に対する頑健性も高い。 一方、反転ノイズをかけたときの低下は最も大きく、ランダムノイズをかけいた ときは、平均化ノイズと反転ノイズの中間程度の低下となっている。 これは、平均化ノイズはノイズのかかる成分を不明な成分として 0に置換するので、元の成分との差は1となるが、 反転ノイズは符号が逆になるので、元の成分との差は2となり、 平均化ノイズに比べて、ノイズの影響が大きくなるためである。 さらに、ノイズレベルが低いときは、文字パターンに比べてランダムパターンの 想起率が高くなっている。 これは、ランダムパターンが文字パターンに比べて、パターン同士の直交性が 高いためである。

しかし、ノイズが増加するにつれて、ランダムパターンと文字パターンの想起率の 差は小さくなり、ノイズレベル 30[%] 程度で逆転している。 これは、文字パターンにおいて +1 の要素はある部分に連続して存在しており、 ランダムな場所にかかるノイズが +1 の要素を破壊する確率が低いためである。

理論値について

理論値によるグラフ図3-7, 3-8を見るとシミュレーション値は、 理論値と比べて想起率が低くなっている。 理論値とシミュレーション値との差は、記銘数が増加するにつれ、ノイズレベルが 高くなるにつれ大きくなっている。 これは、理論値では確率変数 \(L\) が正規分布していると仮定したのに対し、 シミュレーションではパターン同士の直交性が高くなく、 \(L\)の分布が正規分布になっていないためである。 特に、文字パターンの場合は +1 の要素がある部分に集中して存在するため、 正規分布とのずれが大きくなっている。

第4章 記憶行列の正規化

4.1 計算機シミュレーション

記憶行列の成分の平均値を求め、各成分から平均値を引くことにより、 記憶行列の正規化を行い、記銘行列の正規化が想起特性に どう影響するかを解析する。

\begin{align} \mu = \frac{1}{n^{3}} \sum_{l_1=1}^{n} \sum_{l_2=1}^{n} \sum_{l_3=1}^{n} M(l_1, l_2, l_3) \tag{4.1} \label{eq:4.1} \end{align} \begin{align} M'(l_1, l_2, l_3)=M(l_1, l_2, l_3) - \mu \tag{4.2} \label{eq:4.2} \end{align}

実験方法

ランダムパターンおよび文字列パターンをそれぞれ 100パターン用い、 記憶行列を正規化し、入力ベクトルに0〜30[%]のノイズをかけたときの 想起率を求める。

なお、ノイズは平均化ノイズ、反転ノイズ、ランダムノイズの三種類を用いる。

シミュレーションの結果を表4-1, 4-2に、グラフを図4-1, 4-2に示す。

4.2 正規化の効果

図4-1, 4-2を見ると、正規化を行った場合は正規化を行わなかった場合に 比べて最高で 6[%] 程度想起率が高くなっており、記憶行列の正規化により、 想起率が改善されていることがわかる。

ノイズによる正規化の効果の違いを比べてみると、平均化ノイズ、ランダムノイズ、 をかけた場合は、正規化の効果はノイズが増加しても同程度または少しばかり 大きくなっている。 それに対して、反転ノイズをかけた場合は、ノイズが増加するについれて 正規化の効果が小さくなっている。 また、パターンによる違いを比べて見ると、文字パターンの場合に比べて、 ランダムパターンの方が正規化の効果が大きい。

いずれにせよ、記憶行列の正規化は、想起率の改善に効果があることがわかる。

4.3 理論解析

ここでは、4.2で述べたように正規化の効果がどうして現れるかを解析する。

(2.7)式に(2.4)式を代入すると、 \begin{align} z_{l_1}^{(i)} &= \phi \{ \sum_{l_2=1}^{n} \sum_{l_3=1}^{n} \sum_{k=1}^{n} x_{l_1}^{(k)} x_{l_2}^{(k)} x_{l_3}^{(k)} y_{l_3}^{(i)} y_{l_2}^{(i)} \} \\ &= \phi \{ \sum_{l_2=1}^{n} \sum_{l_3=1}^{n} x_{l_1}^{(i)} x_{l_2}^{(i)} x_{l_3}^{(i)} y_{l_3}^{(i)} y_{l_2}^{(i)} \\ &+ \sum_{l_2=1}^{n} \sum_{l_3=1}^{n} \sum_{\substack{k=1\\ \neq i}}^{K} x_{l_1}^{(k)} x_{l_2}^{(k)} x_{l_3}^{(k)} y_{l_3}^{(i)} y_{l_2}^{(i)} \} \tag{4.3} \label{eq:4.3} \end{align} ここで、ノイズを平均化ノイズに限定し、第2項を \begin{align} \alpha = \sum_{l_2=1}^{n} \sum_{l_3=1}^{n} \sum_{\substack{k=1\\ \neq i}}^{K} x_{l_1}^{(k)} x_{l_2}^{(k)} x_{l_3}^{(k)} x_{l_3}^{(i)} x_{l_2}^{(i)} \tag{4.4} \label{eq:4.4} \end{align} とおくと、(4.3)式は \begin{align} z_{l_1}^{(i)} &= \phi \{ S^{2} + \alpha \} \tag{4.5} \label{eq:4.5} \end{align} と表すことができる。

(4.5)式の第1項は正解を表す成分で、\(\alpha\)はそれを妨げる働きをしている。 ここで、量子化する前の \(z_{l_1}^{(i)}\) を \(\hat{z}_{l_1}^{(i)}\) とおき、 その確率分布を図4-3に示す。 図4-3を見てわかるように、想起は有効次元数 \(S\) の大きさと \(\alpha\)の分布に影響されることがわかる。

パターン同士が完全に直交しているときは、 \begin{align} \alpha_{ik} = \sum_{l=1}^{n} x_{l_1}^{(k)} x_{l_1}^{(i)} = 0 \tag{4.6} \label{eq:4.6} \end{align} \(\bm{x}^{(k)}\) と \(\bm{x}^{(i)}\) の内積は 0 で、 \(\alpha = 0\) となり、常に正しい想起が得られる。 しかし、実際にはパターン同士が、完全に直行することはなく、 \(\alpha\)はある程度の広がりを持つ。 また、(4.4)式からわかるように、\(\alpha\)の分布は、 記銘数 \(K\)の影響を受ける。 だから、3章で見たように、記銘数の増加につれて想起率が低下する。

一方、記銘数 \(K\) が大きいときは、 \begin{align} M(l_1, l_2, l_3) \doteqdot \sum_{\substack{k=1\\ \neq i}}^{K} x_{l_1}^{(k)} x_{l_2}^{(k)} x_{l_3}^{(k)} \tag{4.7} \label{eq:4.7} \end{align} と近似でき、(4.4)式は、 \begin{align} \alpha = \sum_{l_2=1}^{S} \sum_{l_3=1}^{S} M(l_1, l_2, l_3) x_{l_2}^{(i)} x_{l_3}^{(i)} \tag{4.8} \label{eq:4.8} \end{align} と表すことができ、\(\alpha\)の分布は 記憶行列 \(M\) の成分の分布の影響を うけることがわかる。

図4-4からもわかるように、記憶行列の成分の平均値が 0 からずれている 場合は、\(\alpha\)の広がりは大きくなる。 そこで、記憶行列を正規化することにより、 \(\alpha\)の広がりを小さくすることができる。

実際の記憶行列の成分の分布を図4-5に示す。

第5章 学習による想起特性の改善

5.1 学習

学習とは、”知覚過程とその痕跡が複雑な構造の中に体制化される知覚的再体制化” または”過去の経験と環境の変化に応じてその系の組織あるいは行動様式を 変化させること”である。 要するに、系が合目的的に組織化されることである。 ゆえに、学習機械は情報、環境に応じて適応できるような可変組織を有していなければ ならない。 本論文で述べる学習は、教師ありの学習で、現在の入力データを利用して逐次的に 識別関数を修正しつつ、組み立てていくノンパラメトリック方法を用いる。

以下に一般的な学習機械について述べる。

いま、\(n\)次元パターンを二つのクラスに分類する場合を考えると、 入力パターンの各成分 \(x_{i}\), 荷重 \(w_{i}\), 閾値\(\theta\)によってパターン \(X\)は二つのクラス \(A\), \(B\)に次のように分類される。

\begin{align} \begin{cases} \sum_{i=1}^{n} w_{i} x_{i} > 0 ならば X \in A \\ \sum_{i=1}^{n} w_{i} x_{i} < 0 ならば X \in B \end{cases} \tag{5.1} \label{eq:5.1} \end{align}

ここで、 \(x_{n+1}=1\), \(w_{n+1}=-\theta\)なる変数を導入すれば、 式(5.1)は、 \begin{align} \begin{cases} WX > 0 ならば X \in A \\ WX < 0 ならば X \in B \end{cases} \tag{5.2} \label{eq:5.2} \end{align} \begin{align} ただし、& 荷重ベクトル W =(w_1,w_2,\dots,w_n, w_{n+1}) \\ & パターンベクトル X = (x_1, x_1,\dots,x_n, x_{n+1}) \end{align} のように書くことができる。 このとき、識別関数 \(f(X)\)は、 \begin{align} f(X) = WX \tag{5.3} \label{eq:5.3} \end{align} で与えられ、明らかに線形である。

識別関数を求めるために、\(w_{i}\)を見出さねばならないが、 これはパターンを順次与えることにより学習的に行われる。 学習に使われるパターンを一般に教育パターンと呼び、 識別関数が得られるまでの期間を教育期間という。

教育パターンの集合を \(X_{S}\) と書くとき、 二つのクラス\(A\),\(B\)に 属しているそれぞれの教育パターンを \(X_{A}\), \(X_{B}\)とし、 教師はこれを知っているものとする。

ここで教育パターンは線形分離可能であるとすれば、 クラス\(A\)に属しているパターンに対し、 \begin{align} WX > 0 \hspace{10pt} X \subset A \tag{5.4.a} \label{eq:5.4.a} \end{align} また、クラス\(B\)に属しているパターンに対し、 \begin{align} WX < 0 \hspace{10pt} X \subset B \tag{5.4.b} \label{eq:5.4.b} \end{align} となるような荷重ベクトルが存在し、この荷重ベクトルをとくに 解荷重ベクトルと呼ぶ。 解荷重ベクトルは、荷重空間において任意の初期点を与え、 これを何らかの手順によって正解領域に入るように 各荷重を調節してやることにより求めることができる。 この調節方法を教育方法と呼び、種々な方法が考えられているが、 重要なことは有限回数の手順によって、任意の初期点を出発した 荷重点が必ず正解領域に入るような教育方法でなければならない ということである。 また、できるだけ少ない手順回数で速やかに正解領域に入る 方法が望ましい。

5.2 計算機シミュレーション

3次自己相関形連想記憶モデルでは、(5.1)式は、 \begin{align} \begin{cases} z_{l_1} = \sum_{l_2=1}^{n} \sum_{l_3=1}^{n} M(l_1,l_2,L_3) > 0 \hspace{10pt} & ならば \hspace{10pt} z_{l_1} \in 1 \\ z_{l_1} = \sum_{l_2=1}^{n} \sum_{l_3=1}^{n} M(l_1,l_2,L_3) < 0 \hspace{10pt} & ならば \hspace{10pt} z_{l_1} \in -1 \end{cases} \tag{5.5} \label{eq:5.5} \end{align} と表すことができ、入力ベクトル \(\bm{y}^{(i)}\) に対して、 記憶行列 \(M(l_1,l_2,l_3)\) の成分を調節してやることにより、学習を行うことができる。

以下に学習方法を述べる。

まず、 \(\bm{y}^{(i)}\) による出力 \(\hat{z}_{l_1}^{(i)}\) を求める。 \begin{align} \hat{z}_{l_1}^{(i)} = \sum_{l_2=1}^{n} \sum_{l_3=1}^{n} M(l_1,l_2,l_3) y_{l_3}^{(i)} y_{l_2}^{(i)} \tag{5.6} \label{eq:5.6} \end{align} 教師が与える正解を \(x_{l_1}^{(i)}\) とすると \begin{align} x_{l_1}^{(i)} &= 1 & \hspace{10pt} のとき \hspace{10pt} \hat{z}_{l_1}^{(i)} > 0 \\ x_{l_1}^{(i)} &= -1 & \hspace{10pt} のとき \hspace{10pt} \hat{z}_{l_1}^{(i)} < 0 \end{align} であれば正解であるが、4.3節で述べたように正解を表す成分は \(S^{2} x_{l_1}^{(i)}\) であり、 学習に用いる入力ベクトルにはノイズをかけないことにすると、 \(\hat{z}_{l_1}^{(i)}\) は \(n^{2} x_{l_1}^{(i)}\) になるべく近い値になることが望ましい。 \(\hat{z}_{l_1}^{(i)}\) と \(n^{2}x_{l_1}^{(i)}\) の差を \begin{align} \Delta Z = n^{2} x_{l_1}^{(i)} - \hat{Z}_{l_1}^{(i)} \tag{5.7} \label{eq:5.7} \end{align} と表すと \(|\Delta Z| < n^{2}\) のとき正解が得られる。 ここで、変数 \(\theta (0<\theta \leqq1)\)を導入し、 \(|\Delta Z| < n^{2} \theta\) を正解とし、 を小さくすることにより、 正解の範囲を狭くする。

\(|\Delta Z| \geqq n^{2} \theta\) のときは、 \begin{align} M'(l_1,l_2,l_3) = M(l_1,l_2,l_3) +\frac{\Delta Z}{n^{2}} y_{l_3}^{(i)} y_{l_2}^{(i)} \tag{5.8} \label{eq:5.8} \end{align} で、記憶行列の成分を修正する。

以上の過程を全ての入力ベクトル \(\bm{y}^{(1)}, \bm{y}^{(2)},\dots,\bm{y}^{(K)}\) に対して \(|\Delta Z| < n^{2} \theta\) となるまで繰り返す。

以上の学習方法で、ランダムパターンを100パターン用いて、 ノイズレベル 0, 10, 20, 30 [%] をパラメータとして、 \(\theta\) を 0.2〜1.0 まで変化させたときの想起率を求め、 結果を表5-1, 5-2, 5-3にグラフを図5-1, 5-2, 5-3に示す。

さらに、文字およびランダムパターンを100パターン用い、 \(\theta=0.2\) で学習したときのノイズレベル-想起特性を表5-4, 5-5に、 グラフを図5-4, 5-5に示す。

5.3 比較検討

図5-1, 5-2, 5-3を見ると、平均化ノイズ、反転ノイズ、ランダムノイズ のうちどのノイズをかけたときも、\(\theta\)を小さくするにつれて想起率が 高くなっている。 このとき、ノイズレベルが高いほど\(\theta\)を小さくすることによる想起率の 向上が大きくなっている。 これは、ノイズレベルが低いときはほぼ 100[%]に近い想起率となっており、 それ以上の向上は望めないためである。

図5-4, 5-5を見ると学習により想起率がかなり改善されたことがわかる。 また、平均化ノイズおよびランダムノイズをかけたときは、 ノイズの増加による想起率の低下は小さく、ノイズに対する頑健性は 高くなっている。 さらに、文字パターンとランダムパターンの想起率の差はほとんどなく、 学習を行うことによりパターン同士の直交性に関係なく高い想起率が 得られている。

5.4 理論解析

ここでは、5.2節で述べた学習方法により想起率が改善されたことを 説明する。 (5.8)式で修正された記憶行列 M による想起は、 \begin{align} & \sum_{l_2=1}^{n} \sum_{l_3=1}^{n} M'(l_1,l_2,l_3) y_{l_3}^{(i)}y_{l_2}^{(i)} \\ =& \sum_{l_2=1}^{n} \sum_{l_3=1}^{n} \{ M(l_1,l_2,l_3) + \frac{\Delta Z}{n^{2}} y_{l_3}^{(i)}y_{l_2}^{(i)} \} y_{l_3}^{(i)}y_{l_2}^{(i)} \\ =& \sum_{l_2=1}^{n} \sum_{l_3=1}^{n} M(l_1,l_2,l_3) y_{l_3}^{(i)}y_{l_2}^{(i)} + \sum_{l_2=1}^{n} \sum_{l_3=1}^{n} \frac{\Delta Z}{n^{2}} (y_{l_3}^{(i)}y_{l_2}^{(i)})^{2} \\ =& \hat{Z}_{l_1}^{(i)} + \Delta Z = \hat{Z}_{l_1}^{(i)} + n^{2} x_{l_1}^{(i)} - Z_{l_1}^{(i)} \\ =& n^{2} x_{l_1}^{(i)} \tag{5.9} \label{eq:5.9} \end{align} となり、(5.8)式による修正で記憶行列は正解領域に入る。

また、 \(| n^{2} x_{l_1}^{(i)} - \hat{Z}_{l_1}^{(i)}| < n^{2}\theta \)は \( \hat{Z}_{l_1}^{(i)} = n^{2} x_{l_1}^{(i)} + \alpha \) より、 \( |\alpha| < n^{2} \theta \)と表すことができ、 \(\theta\) を小さくすることにより \(\alpha\) の広がりを小さくすることができ、 想起率は改善される。

第6章 考察

以上までに、3次自己相関形連想記憶モデルの想起特性を調べ、 記憶行列の正規化および学習による想起特性の改善を行った。

これにより、次のようなことがわかった。

(1) 3次自己相関形連想記憶モデルにおいては、記銘数が多いほど、 また、ノイズレベルが高いほど想起率は低下する。 想起率の低下の度合は、平均化ノイズをかけたときが最も小さく、 反転ノイズをかえたときが最も大きくなる。 ランダムノイズをかけたときは、平均化ノイズと反転ノイズの中間程度の 低下となっている。 いずれにせよ、特定の情報が失われることはなく、ノイズに対する 頑健性は存在する。

(2) 記憶行列の正規化を行った場合は、正規化を行わなかった場合に 比べて最高で 6[%] ほど想起率が高くなっており、記憶行列の 正規化により想起率が改善されている。

(3) 学習を行うことにより、ノイズに対する頑健性は高くなり、 パターン同士の直交性に関係なく高い想起率が得られ、 想起特性が改善される。

第7章 結論

シミュレーションの結果、3次自己相関連想記憶モデルにおいては、 記憶行列の正規化および学習を行うことにより想起特性が改善される ことがわかった。 特に、学習を行った場合は、パターン同士の直交性に関係なく 高い想起率が得られ、相関行列型連想記憶のもつ欠点を克服している。

今後の課題

3次自己相関形連想記憶モデルは、記憶行列が記憶ベクトルの次元数 \(n\) の3乗と大きいため多数の記憶素子を必要とし、記憶素子の利用効率が悪く 有効に働く成分だけを利用し、記憶素子の利用効率を改善するとともに 処理時間を短縮することが考えられる。

謝辞

日頃、ご指導いただきました鉢嶺元助先生に深く感謝いたします。 また、同じ研究室の伊良波朝賞君、喜納勝広君、平口浩二君の協力に 感謝します。

参考文献

  1. 中野 馨:
    「アソシアトロン - 連想記憶のモデルと知的情報処理」
    昭晃堂 (昭和 54)
  2. 志村 正道:
    「パターン認識と学習機械」
    昭晃堂 (昭和 45
  3. T.コホネン著、中谷 和夫訳:
    「システム論的連想記憶」
    サイエンス社 (昭 55)
  4. 市川、小林、八木:
    「高次関行列を用いる連想記憶」
    計測自動制御学会論文集 第17巻 第8号 PP. 813-818 (昭 56)

付録