複素連想記憶の偽記憶

はじめに

連想記憶とは学習パターンを記憶する学習モデルです。記憶するとは学習パターンを安定状態に持つということ、エネルギーの言葉で表せば、学習パターンをエネルギーの極小にすることになります。実数型の Hopfield 連想記憶では、パターンベクトル \( \vec{x} \) を記憶すると(安定させると)自動的に \( -\vec{x} \) も記憶されます。 このような目的外の安定状態を偽記憶と呼びます。偽記憶の存在は連想記憶にとって最も重要な雑音耐性(雑音を除去する性能)を低下させる原因となります。連想記憶の雑音耐性を改善させるためには、偽記憶について出来る限り解明しておく必要があるでしょう。

前回の記事 複素連想記憶の回転不変性 では、複素連想記憶が回転不変性という性質を持つことを解説しました。今回は次の文献のうち複素連想記憶に関する部分を解説します。

M. Kobayashi: “Attractors Accompanied with a Training Pattern of Multi-Valued Hopfield Neural Networks”, IEEJ Transactions on Electrical and Electronic Engineering, Vol.10, No.2, pp.195-200 (2015)

複素連想記憶1パターンを学習した場合、回転不変性により回転パターンも同時に偽記憶として記憶してしまいます。他に偽記憶はあるのでしょうか。上の文献で回転パターン以外に偽記憶が存在しないことを証明しました。結果的には証明は難しくはないのですが、なかなか解くことが出来ませんでした。証明を思いついたのはジムでトレーニングのインターバル中でした。何時でも何処でも考えることが研究にとって必要だと実感する事象でした。

複素連想記憶の偽記憶

\(N\) をニューロン数、\(K\) を resolution factor とします。\( \rho = \exp\left( \frac{2\pi i}{K} \right) \) とおけば、ニューロンの状態は \( \rho^k \) と表されます。唯一の学習パターンを \( \vec{a}= ( a_1,\cdots,a_N ) \) とします。回転パターンは \( \rho^k \, \vec{a} \) です。ヘブ則による結合荷重は \( w_{jk} = a_j\, \overline{a_k} \,(j\neq k) \) となります。任意の状態は \( ( s_1a_1,\cdots,s_Na_N ) \) と表されます。各 \(s_j\) は \( \rho \) の巾です。全ての \(s_j\) が等しい時に回転パターンになります。\( ( s_1a_1,\cdots,s_Na_N ) \) におけるニューロン \(j\) への入力和は次のようになります。

\( \begin{eqnarray}
S_j
&=& \sum_{k\neq j} w_{jk} (s_k\,a_k) = \sum_{k\neq j} a_j\, \overline{a_k}\, s_k\,a_k
= \left( \sum_{k\neq j} s_k \right) a_j
\end{eqnarray}\)

また、入力和を複素数 \(c_j \) を使って \( S_j = c_j \, s_j \, a_j \) と表します。安定状態ならば全ての \(j\) について \( c_j = \exp \left( i \theta_j \right), \, \left| \theta_j \right| \leq \frac{\pi}{K} \) となります。\( \displaystyle c_j \, s_j \, a_j = \left( \sum_{k\neq j} s_k \right) a_j \) の両辺に \( s_j \,a_j \) を加えると、 \( \displaystyle (c_j+1) \, s_j \, a_j = \left( \sum_{k=1}^N s_k \right) a_j \) となります。両辺を \( a_j \) で割って次式を得ます。

\( \begin{eqnarray}
(c_j+1) \, s_j &=& \sum_{k=1}^N s_k
\end{eqnarray}\)

この右辺は \(j\) に依存しないので、左辺も \( j \) に依存しません。\( \left| \arg \left( c_j+1 \right) \right| < \frac{\pi}{K} \) だから、全ての \( s_j \) は等しい。よって、安定するパターンは回転パターンであることが示されました。

一般の高次元連想記憶の場合

1パターンを学習した複素連想記憶では回転パターンのみが偽記憶でした。実数型の Hopfield 連想記憶もその特殊な場合と思えば、反転パターンのみが偽記憶であると分かります。紹介した論文では rotor 連想記憶の偽記憶が反転パターンであることも示しています。反転パターンや回転パターンのような連想記憶モデルの対称性から生じる偽記憶を仮に随伴パターンと呼ぶことにしましょう。他のモデルでも随伴パターンが解明されていますが、随伴パターン以外に偽記憶があるかどうかはあまり解明されていません。随伴パターン以外の偽記憶が多数存在する例が次の論文で指摘されています。

M. Kobayashi: “Fixed Points of Symmetric Complex-Valued Hopfield Neural Networks”, Neurocomputing, Vol.275, pp.132-136 (2018)

学習パターンが複数の場合

学習パターンが複数の場合には偽記憶を理論的に議論するのは難しいと思われます。次の論文では実験的に偽記憶の影響を調べています。

M. Kobayashi: “Pseudomemories of Two-Dimensional Multistate Hopfield Neural Networks”, IEEJ Transactions on Electrical and Electronic Engineering, Vol.12, No.2, pp.269-272 (2017)

随伴パターン以外の典型的な偽記憶としては、複数の随伴パターンを合成した mixture パターンがあります。複素連想記憶の場合、回転パターンの合成が可能です。回転パターンだけでも多いのに、その組み合わせとなると膨大な数になります。一般に、回転パターン以外の偽記憶のエネルギーは回転パターンよりもかなり高いため、個々の出現頻度は少ないですが、数が膨大なため回転パターンよりも出現頻度は高くなるという実験結果が得られています。複素連想記憶の改善方法として、回転パターン以外の偽記憶を避ける方法を考えるのは一案だと思います。