ホップフィールドネットワーク(5)

そこで思いついたのは、X軸には図2

  • 図2
  • t

のパターンと一致するニューロンの数を採用するが、その場合になるべく図5

  • 図5

と一致するようなパターンを採用するというものです。

  • 表1


どういうことかと言いますと、たとえば図2と完全に一致するパターンでは図5とは15個のニューロンが一致します。次に図2と1個だけ一致しない(つまり34個が一致する)パターンでは、完全に(つまり35個)一致するパターンに比べて1個のニューロンだけが出力が異なるわけですから、そのようなパターンは35パターンあることになります。その中でなるべく図5との一致が多くなるようなパターンを選びます。図2と完全に一致するパターンでは図5とは15個のニューロンが一致していました。これから1個のニューロンの出力が変わるわけですから一致する数は1個増える(一致していないニューロンが一致するようになる)かまたは1個減る(一致しているニューロンが一致しなくなる)かのどちらかです。そこで一致する数が1個増えるようなパターンを選ぶことにします。すると、この場合16個のニューロンが図5と一致することになります。以下同様に考察すると、図2のパターンに一致する数と図5のパターンに一致する数の間には左の関係が成り立つことが分かります。

  • 表2


表1に示すように図5に完全に(35個)一致するパターンでは図2には15個だけ一致します。では図2に一致する数をさらに少なくした場合はどうなるでしょうか? 図5と図2で出力が一致するマス目が15個あるわけですから、図2に一致する数を15より少なくするためにはこの15個のマス目について出力を変えていかなければなりません。よって図5に一致するニューロンの数も1ずつ減っていくことになります。よって、表1は左のように書き足されます。


X軸をこのように考えてシナプス係数を式(9)

  • s_{ij}=\left\{\begin{array}X_i(3)X_j(3)+X_i(4)X_j(4)&\;&(i\neq{j})\\0&\;&(i=j)\end{array}・・・・(9)

で定めた時のエネルギーEをXの値(=図2のパターンと一致するニューロンの数)をさまざまに変えて求めてみましょう。エネルギーE

  • E=-\frac{1}{2}\Bigsum_{i=1}^n\Bigsum_{j=1}^ns_{ij}x_ix_j・・・・(4)

でしたから、式(4)に(9)を代入して

  • E=-\frac{1}{2}\Bigsum_{i=1}^n\Bigsum_{j=1,j\neq{i}}^n\left[X_i(3)X_j(3)+X_i(4)X_j(4)\right]x_ix_j・・・・(10)

になりますが、ここで、図2のパターンに関するエネルギーE(4)

  • E=-\frac{1}{2}\Bigsum_{i=1}^n\Bigsum_{j=1,j\neq{i}}^nX_i(4)X_j(4)x_ix_j・・・・(11)

図5のパターンに関するエネルギーE(3)

  • E=-\frac{1}{2}\Bigsum_{i=1}^n\Bigsum_{j=1,j\neq{i}}^nX_i(3)X_j(3)x_ix_j・・・・(12)

と定義すると

  • E=E(3)+E(4)・・・・(13)

が成り立ちます。

  • グラフ4


E(4)についてはすでに「ホップフィールドネットワーク(3)」でグラフ2として求めたものと同じグラフになります。

  • グラフ5


E(3)については、図5に一致するニューロンの数を数えて「ホップフィールドネトワーク(2)」の式(7)
E=-2m^2+2nm-\frac{n(n-1)}{2}・・・・(7)
を用いて計算すれば、左のグラフになります。


よって両者の和であるEのグラフは以下のようになります。

  • グラフ6


このグラフから、図2のパターンと一致するニューロンの数がO、15、35の時にEが極小値となることが分かります。ホップフィールドネットワークはEの極小値に到達して安定するので、これらの値のどれかに到達して安定します。そして値0は図2のパターンの逆のパターン、15は図5のパターン、35は図2のパターンに対応します。このどれに収束するかはホップフィールドネットワークに設定する初期パターンが何かによって決まります。つまり、初期パターンに一番近い記憶されたパターンに収束します。これでホップフィールドネットワークが複数のパターンを記憶出来ることが分かりました。