連想記憶の双曲数化(2)

はじめに

前回は連想記憶の双曲数化の試みについて解説しました。今回は連想記憶として実用的なモデルを解説します。原型は [1] で発表しました。このままではプロジェクションルールを適用するために不十分で、若干の拡張を [2] で行いました。[2] が話題の中心になります。


[1] M. Kobayashi: “Hyperbolic Hopfield Neural Networks with Directional Multistate Activation Function”, Neurocomputing, Vol.275, pp.2217-2226 (2018)
[2] M. Kobayashi: “Noise Robust Projection Rule for Hyperbolic Hopfield Neural Networks”, IEEE Transactions on Neural Networks and Learning Systems, Vol.31, No.1, pp.352-356 (2020)

モデル

ニューロン \(a\) の状態を \( z_a=x_a+y_a j \)、ニューロン \(b\) から \(a\) への結合荷重を \( w_{ab}=u_{ab}+v_{ab}j \) で表します。活性化関数の値域は複素連想記憶の場合をまねて、\( V=\left\{ \cos \frac{2k\pi}{K} + j \sin \frac{2k\pi}{K} \right\} \) とします。入力和 \( z=x+yj \) に対して、活性化関数は次のように定義されます。

\( \begin{eqnarray}
f(z) &=& \mathop{\rm arg~max}\limits_{v\in V} \, \mathrm{Re}\left( v z \right)
\end{eqnarray}\)

\( v = v_x + v_y j \) とすれば \( \mathrm{Re}(vz) = v_x x +v_y y \) ですので、2次元ベクトルとしての内積と見なせます。

安定性のために、結合荷重に対称性 \( w_{ab}=w_{ba} \) を要求します。[1] では自己結合について \( w_{aa} = 0 \) としていますが、プロジェクションルールを適用するためには不十分で、[2] で条件を \( u_{aa} \geq |v_{aa}| \) と緩和しました。\(w_{aa}=0\) はその特別な場合になります。

エネルギーと安定性

エネルギーは次式で定義されます。 複素の場合と違って実数にするために Re が必要です。

\( \begin{eqnarray}
E &=& – \frac{1}{2} \sum_{a,b} \mathrm{Re} \left( z_a w_{ab} z_b \right)
\end{eqnarray} \)

\(z_c\) が \( \displaystyle z_c’ = \mathop{\rm arg~max}\limits_{v\in V} \, \mathrm{Re}\left( v \sum_{a} w_{ca}z_a \right) (\neq z_c )\) に更新された時のエネルギーの変化を見ます。このとき \( \mathrm{Re}\left( z_c’ \sum_{a} w_{ca}z_a \right) > \mathrm{Re}\left( z_c \sum_{a} w_{ca}z_a \right) \) に注意しましょう。また、結合荷重の条件 \( w_{ca}=w_{ac} \) にも注意しましょう。

\( \begin{eqnarray}
\Delta E &=&
-\ \frac{1}{2}\sum_{a\neq c}\mathrm{Re}\left( z_c’ w_{ca}z_a + z_a w_{ac} z_c’ \right)
\ -\ \frac{1}{2} \mathrm{Re}\left( z_c’ w_{cc} z_c’ \right) \\ &&
+ \frac{1}{2}\sum_{a\neq c}\mathrm{Re}\left( z_c w_{ca}z_a + z_a w_{ac} z_c \right)
+ \frac{1}{2} \mathrm{Re}\left( z_c w_{cc} z_c \right) \\
&=& -\ \sum_{a\neq c}\mathrm{Re}\left( z_c’ w_{ca} z_a \right) \ -\ \frac{1}{2} \mathrm{Re}\left( z_c’ w_{cc} z_c’ \right) \\&&
+ \sum_{a\neq c}\mathrm{Re}\left( z_c w_{ca} z_a \right) + \frac{1}{2} \mathrm{Re}\left( z_c w_{cc} z_c \right) \\
&=& -\ \mathrm{Re}\left( z_c’ \sum_{a} w_{ca} z_a \right) + \mathrm{Re}\left( z_c \sum_{a} w_{ca} z_a \right) \\&&
– \ \frac{1}{2}\mathrm{Re}\left( z_c’ w_{cc} z_c’ \right) + \mathrm{Re}\left( z_c’ w_{cc} z_c \right)
+ \frac{1}{2} \mathrm{Re}\left( z_c w_{cc} z_c \right) \ -\ \mathrm{Re}\left( z_c w_{cc} z_c \right) \\
&<& – \frac{1}{2} \mathrm{Re} \left( (z_c’-z_c)w_{cc}(z_c’-z_c) \right) \\
\end{eqnarray} \)

ここで \( \Delta_x = x_c’-x_c,\ \Delta_y = y_c’-y_c \) とおく。

\( \begin{eqnarray}
&=& – \frac{1}{2} \mathrm{Re} \left( (u_{cc} + v_{cc} j) (\Delta_x + \Delta_y j)^2 \right) \\
&=& – \frac{1}{2} \left( u_{cc} (\Delta_x^2 + \Delta_y^2 )+ 2 v_{cc} \Delta_x \Delta_y \right) \\
&=& – \frac{1}{2} \left( \left( u_{cc} \ -\ |v_{cc}| \right)\left( \Delta_x + \Delta_y \right)^2+ |v_{cc}| \left ( \Delta_x +\frac{v_{cc}}{|v_{cc}|}\Delta_y \right)^2 \right)
\end{eqnarray} \)

\( u_{cc} \geq |v_{cc}|\) より \( \Delta E < 0 \) となり、状態が更新されるたびエネルギーが減少し、ネットワークの状態数は有限なので更新の停止が保証されます。

おわりに

証明過程からは結合の安定性条件が見つけ辛いのではないかと感じた読者もおられると思います。実は Rotor Associative Memory (RAM) の特殊な場合として考えると見通しが良くなります。RAM の論文を先に掲載できれば良かったのですが、不採録になってしまって双曲連想記憶に適用した論文を投稿したら採録されて、こちらが先になってしまいました。IEEE と雖も、査読基準の一貫性の無さと査読者割り当ての運を実感させられました。次回はプロジェクションルールを解説します。