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

ここからパターン想起の話題から別の話題に移ります。
ホップフィールドネットワークは「ホップフィールドネットワーク理解に向けての準備体操(5)」に述べたようにエネルギーE

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

を等しいままか小さくするように動作します。「ホップフィールドネットワーク(5)」にありますようにエネルギーEの極小値は一般には複数あります。よって、ホップフィールドネットワークは極小値を求めて動作し、極小値にたどり着いて安定します。このことは一種の最適化を行っているとみなすことが出来ます。


一般には最適化ではある評価関数を最大にするか最小にするようなパラメータの組を見つけ出すことを目指します。ここでは最小化に限定して考えましょう。最大化の問題は、評価関数に-1を掛けることによって最小化の問題に変換できます。ホップフィールドネットワークは極小値を求めることは出来ますが、必ずしも最小値を求めるとは限りません。そこで、最小値を求めることが出来るようにニューロンの出力の更新を、ある確率で

  • x_i=1\left(\Bigsum_{j=1}^ns_{ij}x_j\right)・・・・(2)
  • ただし
    • 1(u)=\left\{\begin{array}1&\;&(u{\ge}0)\\-1&\;&(u<0)\end{array}・・・・(3)

から逸脱させて、時にはエネルギーEの値が大きくなるような変化を起こすことにより、極小値から脱出して最小値に向かわせるような仕組みを考えることが出来ます。このようにして考えられたのがボルツマンマシンというものだそうです。

  • 図8

ボルツマンマシンについてはのちに検討することにして、ホップフィールドネットワークに何らかの仕組みを追加することによって最小値を求めることが出来る、という前提で以下の話を進めていきます。


さて、最小になるのは式(14)に示したエネルギーEですが、s_{ij}の値は任意に設定出来るものです。ただし、

  • s_{ii}=0
  • s_{ij}=s_{ji}

という条件は満たさなければなりません。このような条件が課せられていますが、それでもs_{ij}の自由度は大きなものです。そこで、別の形に書ける評価関数であっても、変形すれば式(14)のようになるのであれば、ホップフィールドネットワーク+α=ボルツマンマシンによって最小値を求めることが出来ます。このようにホップフィールドネットワーク(+α)は、ある種の最適化問題を解くことが出来るということが言えます。