ホップフィールドネットワーク理解に向けての準備体操(3)

s_{12}=s_{21}=-1のネットワークには(x_1,x_2)=(-1,1)(x_1,x_2)=(1,-1)の2つの安定な状態があるということが分かりました。このことを念頭におくと最初に考えたs_{12}=s_{21}=1のネットワークも

  • 図1
  • (x_1,x_2)=(1,1)

の安定状態のほかに

  • 図12
  • (x_1,x_2)=(-1,-1)

の安定状態が存在することが分かります。ここから、ある安定状態の個々のニューロンの出力で「1」と「−1」を入れ替えたものも安定状態になることが推測されます。この推測を確かめるのはのちに行います。


次にニューロンが3個のホップフィールドネットワークを調べてみます。最初は全てのシナプス係数が1であるようなネットワークを考えます。この時は(x_1,x_2,x_3)=(1,1,1)が安定状態になります。

  • 図13

各々のニューロンの入力を考え、u_i=\Bigsum_j^3s_{ij}x_jx_i=1(u_i)を計算すれば、上の状態が安定していることが分かります。さて、上の状態の1とー1を入れ替えた

  • 図14

も、やはり安定状態であることが分かります。ホップフィールドネットワークのおもしろいところは、安定でない状態を初期状態として設定して動作させた場合に、それがやがて安定状態のいずれかに到達するというところです。例として初期状態として(x_1,x_2,x_3)=(1,-1,1)を設定した場合を考えてみます。

  • 図15

まずニューロン1の出力を計算します。u_1=1\times{1}+(-1)\times{1}=0になります。u{\ge}0の時は1(u)=1と定義しましたのでx_1=1(赤色)となります。

  • 図16


次にニューロン2の出力を計算します。詳細は省略しますがx_2=1(赤色)となります。

  • 図17

もうこれで安定状態になりました。安定であることを確かめるために、もう少し計算を進めてみます。


ニューロン3の出力を計算します。するとx_3=1となります。

  • 図18


次にニューロン1の出力を計算します。するとx_1=1となります。

  • 図19

次は図17と同じになりますから、以下、計算を進めても状態は(x_1,x_2,x_3)=(1,1,1)のままになります。


もう一つ別の例を考えます。