Hopfield Network ベクトル化の例

今回はかなり一般的な枠組みの高次元化を例にあげます。

入力和の見直し

入力和に注目して Hopfield Network を見直します。入力和 \( \displaystyle S_j = \sum_k w_{jk} z_k \) は荷重和と見るのが自然でしょう。\( w_{jk} z_k \) の和をとっていますので、和が定義されていなければなりません。また、\( w_{jk} z_k \) も計算できなければなりません。そのため多くは和と積が定義されている代数系を利用して構成されます。しかし、\( w_{jk} \) と \( z_k \) は同じ代数系に属している必要はないのです。\( w_{jk} z_k \) は \( w_{jk} \) が \( z_k \) を変換していると考えることもできます。数学的な表現をしてしまえば、環 \(R\) 上の加群 \(A\) (半群でも可)を考えて、\( w_{jk} \in R,\, z_k \in A \) とすれば入力和は定義できるわけです。だからといって、いたずらに抽象化しても具体的な高次元モデルを考える手助けになるとは限りません。 今回は \(R\) として行列環、\(A\) としてベクトル空間を採用した Rotor Hopfield Network を取り上げます。

Rotor Hopfield Network

2次元ベクトル \( z_j = \left( \begin{array}{c} x_j \\ y_j \end{array} \right) \) でニューロンを定義しましょう。活性化関数の出力値の集合を複素数値化の場合と同じようにして \( V = \left\{ \left( \begin{array}{c} \cos \frac{2k\pi}{K} \\ \sin \frac{2k\pi}{K} \end{array} \right) \right\}_{k=0}^{K-1} \) と定義します。結合荷重を \(2\times 2\) 行列とします。\( z_j = w_{jk} z_k \) を満たす \( w_{jk} \) を求めることで結合荷重の制限を与えよう。\( w_{jk} \) の取り方は1つではありませんが、ここでは \( w_{jk} = z_j\, z_k^{\mathrm{T}} \) を採用します。\( V \) の定義から \( z_k^{\mathrm{T}} \,z_k = |z_k|^2 = 1 \) だから \( w_{jk} z_k = z_j \) を満たします。同様にすると \( w_{kj} = z_k\, z_j^{\mathrm{T}} \) だから、\( w_{kj} = w_{jk}^{\mathrm{T}} \) の関係が得られます。これを結合荷重の制限として採用します。

\( <z,z’> = {}^t\!z \, z’ = z \cdot z’ \) と定義します。これは実質的に複素数の場合と同じです。エネルギーは次のようになります。

\( \begin{eqnarray}
E(\vec{z})
&=& – \frac{1}{2} \sum_{j=1}^N <z_j,S_j>
= – \frac{1}{2} \sum_{j,k} {}^t\! z_j\, w_{jk}\, z_k
\end{eqnarray} \)

ネットワークの収束を保証するために \( <z_j,w_{jk}\,z_k> = <z_k,w_{kj}\,z_j> \) を示します。\( <z_j,w_{jk}\,z_k> = z_j^{\mathrm{T}} \,w_{jk}\,z_k \) は実数 (\(1\times 1\)行列)なので転置によって変化しません。したがって、\( <z_j,w_{jk}\,z_k> = z_k^{\mathrm{T}} \,w_{jk}^{\mathrm{T}}\,z_j = z_k^{\mathrm{T}} \,w_{kj}\,z_j =<z_k,w_{kj}\,z_j> \) となります。

Rotor Hopfield Network に関する文献

  • M. Kobayashi: “Noise Robust Projection Rule for Rotor and Matrix-Valued Hopfield Neural Networks”, IEEE Transactions on Neural Networks and Learning Systems, Vol.33, No.2, pp.567-576 (2022)
  • M. Kobayashi: “Storage Capacity of Rotor Hopfield Neural Networks”, Neurocomputing, Vol.316, pp.30-33 (2018)
  • M. Kitahara, M. Kobayashi: “Projection Rule for Rotor Hopfield Neural Networks”, IEEE Transactions on Neural Networks and Learning Systems, Vol.25, No.7, pp.1298-1307 (2014)

Rotor Hopfield Network としての複素 Hopfield Network

複素 Hopfield Network を Rotor Hopfield Network として表現することが出来ます。\( w_{jk} = a_{jk}+b_{jk}i,\) \( z_j = x_j+y_j i\) とします。このとき、\( w_{jk} = \left( \begin{array}{cc} a_{jk} & -b_{jk} \\ b_{jk} & a_{jk} \\ \end{array} \right),\) \( z_j = \left( \begin{array}{c} x_j \\ y_j \\ \end{array} \right) \) と書き換えると Rotor Hopfield Network の条件 \( w_{jk}={}^t\!w_{kj}\) を満たします。Rotor Hopfield Network の結合荷重を制限したものになっています。特にパラメータ数が半分に減っています。この違いは条件を導くために使ったヘブ則の違いによるものです。

Rotor Hopfield Network の他の部分モデル

Rotor Hopfield Network は大きなフレームワークになっていて、いくつかの高次元 Hopfield Network は Rotor Hopfield Network を制限したモデルになっています。例えば Hyperbolic-Valued Hopfield Network は結合荷重を \( \left( \begin{array}{cc} a & b \\ b & a \end{array} \right) \) の型に制限して得られます。また、対角 Rotor Hopfield Network は \( \left( \begin{array}{cc} a & 0 \\ 0 & b \end{array} \right) \) の型に制限しています。他にも適当な制限を与えれば新しい高次元モデルが得られるかもしれませんが、連想記憶に適用するときに学習則が見つけ辛くなることもあります。代数系から構成されたモデルを Rotor Hopfield Network として表現することで、分析し易くことはあります。特に収束性の判定が容易になります。

Hyperbolic-Valued Hopfield Network や Diagonal Rotor Hopfield Network に関する文献

  • 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)
  • M. Kobayashi: “Storage Capacity of Hyperbolic Hopfield Neural Networks”, Neurocomputing, Vol.369, pp.185-190 (2019)
  • M. Kobayashi: “Hyperbolic Hopfield Neural Networks with Directional Multistate Activation Function”, Neurocomputing, Vol.275, pp.2217-2226 (2018)
  • M. Kobayashi: “Diagonal Rotor Hopfield Neural Networks”, Neurocomputing, Vol.415, pp.40-47(2020)