以前、ホップフィールドネットワークを検討した際には、各ニューロンの値は1か−1であるとしていました。これを通常のニューラルネットワークのように1か0の値を取るとしても、ニューロンの状態更新によってエネルギー
- ・・・・(1)
が増加しない、ということ言うことが出来るでしょうか?
ただし、ここで は 番目のニューロンの出力であり、は 番目のニューロンにおける、 番目のニューロンの出力を入力とした時の重みです。
- ・・・・(2)
は成り立つとし、各ニューロンのしきい値をゼロとします。つまり、 番目のニューロンの出力は
- ・・・・(3)
で
- ・・・・(4)
となります。ここでは
- の時、
- の時、
となるような関数です。
以下、議論をホップフィールドネットワーク理解に向けての準備体操(5)に沿って進めます。
今、番目のニューロンの出力を計算して更新したとします。は0か1の値しかとらないので、の変化の仕方は次の4通りです。
- 0→0・・・・(a)
- 0→1・・・・(b)
- 1→0・・・・(c)
- 1→1・・・・(d)
更新によるの変化をで表すことにします。すると
- の場合は・・・・(a)
- の場合は・・・・(b)
- の場合は・・・・(c)
- の場合は・・・・(d)
となります。次にを使ってエネルギーの変化を表してみます。式(1)でが現れる項を区別して書くと
- ・・・・(5)
ここで
- ・・・・(2)
でしたので式(5)は
よって
- ・・・・(6)
となります。ここから
- ・・・・(7)
となります。ところで
- ・・・・(4)
でしたので式(7)は
- ・・・・(8)
となります。このはニューロンの更新後の値であることに注意して下さい。よって
- ならば
- ならば・・・・(9)
です。以上のことから上の(a)〜(d)の場合のの正負を調べてみます。
- (a)と(d)の場合は式(8)からです。
- (b)の場合、更新後になっているので(9)から。また。よって式(8)からになります。
- (c)の場合、更新後になっているので(9)から。また。よって式(8)からになります。
以上から、どのような場合でもになります。これで、ニューロンの出力値が0または1の場合でもが増加しないことが分かりました。