ホップフィールドネットワーク理解に向けての準備体操(2)
今度は図2のようにの値を「−1」にしてみます。するとこのネットワークはどう動作するでしょうか? このネットワークは、まずニューロン1の出力を計算して更新し、次にニューロン2の出力を計算して更新し、それを繰り返す、というふうに動作するとします。まずニューロン1の出力を考えます。
説明の都合で
- ・・・・(5)
とします。ニューロン1への入力は1で、対応するシナプス係数が1なのでになります。よって(赤色)になります。
次にニューロン2の出力を考えます。
ニューロン2への入力は1で、対応するシナプス係数が−1なのでになります。よって(青色)になります。
再びニューロン1の出力を考えます。
ニューロン1への入力は−1で、対応するシナプス係数が1なのでになります。よって(青色)になります。
再びニューロン2の出力を考えます。
ニューロン2への入力は−1で、対応するシナプス係数が−1なのでになります。よって(赤色)になります。
以下、この繰り返しになります。ここから分かるようにこのネットワークの状態は安定しておらず振動しています。これはこれでおもしろい現象なのですが、ホップフィールドネットワークの関心事は別にあります。ホップフィールドネットワークでは状態が最終的には安定になるようなネットワークしか扱いません。今回、状態が振動した原因は、であったことにありそうなことは上の様子から推測がつきます。ホップフィールドネットワークでは
- ・・・・(6)
でなければならない、としています。なぜこの条件が必要なのかはのちに説明します。
では、今度は式(6)を満たすように
のシナプス係数の設定を考えてみます。まずニューロン1の出力を考えます。
ニューロン1への入力は1で、対応するシナプス係数が−1なのでになります。よって(青色)になります。
次にニューロン2の出力を考えます。
ニューロン2への入力は−1で、対応するシナプス係数が−1なのでになります。よって(赤色)になります。
再びニューロン1の出力を考えます。すると図8と同じことが分かります。つまり、このネットワークはの状態で安定しています。
ところで、図9を見てみるとシナプス係数の設定は対称なのでニューロン1と2を入れ替えても安定した状態になることが分かります。つまりのネットワークには
と
の2つの安定な状態があるということが分かります。