3.1.2 ホップフィールドネットワークの動作
ホップフィールドネットワークの動作を詳しく見ていきましょう。 このネットワークの動作は3つの段階に分けることができます。
  • 結合荷重を割り当てる
  • 未知パターンで初期化する
  • 収束するまで繰り返す

まず、1つめの結合荷重の割り当てですが、 これは前のようにランダムな値を割り当てるのではなく ネットワークのエネルギーが最小になるような結合荷重 をここで決めてしまうということなのです。

したがって学習はしないことになりますが、 この段階で出力したいパターンをすべて記憶させることができます。 ただし、正しく記憶できるパターン数は(ニューロンユニット数×0.15)程度です。

では、実際にどのように結合荷重を決めるかというと、

ここで、Xisはs番めのパターンのi番目のユニットの値です。 前に説明した特徴がここでわかりますね。1つは結合が対象であること。 添字のi、jをいれかえても同じ値になることがわかります。 もう1つは自分自身への結合が0であることです。

なぜ、これだけでパターンを記憶できるかは、また少し後で説明します。 ここではこのように決められた結合荷重はネットワークのエネルギーを最小化できること を覚えておきましょう。

このようにしてM個のパターンを記憶させることができたら、次の段階へ進みます。 次は未知パターンでユニットを初期化します。つまりネットワークに入力を与える操作です。

これで、ニューロンユニットμiに初期値を与えることができました。 ここまでできればあとはネットワークを動作させればよいのです。 自分以外のユニットからの入力を得て、ネット値を求め、階段関数に通せばよいのですね。

このようにして、ネットワークが安定するまで状態変化を繰り返します。 ユニットの出力は1度に1つだけ更新されることに注意しましょう。

実際にどのように動作するか次のシミュレーションでみてましょう。



Copyright(c) Iwata-Lab. N.I.T. All rights reserved.