相互結合型のネットワーク
浅川伸一
相互結合型のネットワークの更新方法として、同期的更新と非同期的更新の2種類
が存在する。後述するホップフィールドのモデルは非同期更新であり、アソシアト
ロンは同期更新である。離散的時間変化(
)を考えて話を進めると、
同期的更新とは時刻 から 時刻 へ移るとき全ユニットの状態が同時
に更新されることを意味し、非同期的更新とは任意の時刻では一つのユニットの
状態が変化することをいう。
簡単のため図1のような 3 つのユニット
が相互に
結合している場合を考える。
と との結合が互いに抑制性() であ
り、他は結合は興奮性()である。
任意の2つのユニット A, B を考えて、A
B の結合係数の大きさが
B
A と同じであるとき、対象結合という。対象結合でないユニット
の組が一つでもあれば非対称結合のネットワークと言う。図1の
結合係数は
|
(1) |
のように行列表現が可能である。
の 行 列目の要素 は
番目のユニットから 番目のユニットへの
結合強度である。
時刻 における つのユニットの状態を
とすれば
時刻 における各ユニットの状態は
と表現できる。
対象結合であれば
が成り立つ。
の対格要素がゼロ である
ことは自己結合が無いことを表している。
ユニットは 0 か 1 の 2 状態を取る節のマッカ
ロック・ピッツの形式ニューロンとする。このとき、ネットワークの状態は表
1のとおり全部で 8 とおり存在する。
表 1:
図1の全状態
|
状態 |
|
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
|
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
|
|
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
|
各ユニットの状態が 0, 1 のような離散量で、かつ離散時間で表現された相互結
合型のネットワークは、一般的な計算機モデルであるセルオートマトン
(cellular automata) と類似の構造を持っていることが指摘できる。
図1で、同期的更新の場合には、(1)式に図
1の行列を右から掛ければ得られる。仮にしきい値が だとす
れば結果は以下のようになる。
表 2:
図1のネットワークの同期的更新。(しきい値を 0.1 にし
た場合)
時刻 |
素子 |
状態 |
|
|
|
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
|
t |
|
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
|
|
|
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
|
|
|
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
|
t+1 |
|
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
|
|
|
0 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
|
ユニットの状態を
と表記し、すべての状態変化を矢印で
表した状態遷移図を図2に示す。
図2中の
,, はこの状態から動かないので不動点、または固定点
(fixed point) ということもある。
状態 と状態 との間では循環するこ
とを意味し、このような状態をリミットサイクル (limit cycle) という。
これらの状態は、一旦この状態になると他の状態を取
ることができなくなるので、安定であるという。
また、
,, は状態へ引き込まれるといいこれらの状態はリ
ミットサイクルへの引き込み領域または流域 (basin) であるという。
また、引き込まれる点 (または状態) をアトラクタ
(attractor) という。アトラクタには固定点、リミットサイクルの他に、複雑な挙
動を示すカオスアトラクタと呼ばれるものも存在する。
図1でしきい値を に設定した場合の非同期的更新の状態遷移
図を図3に示す。非同期更新では1度に1つの素子しか変化
しないため、矢印で繋がっている状態間では0個または1個の素子だけが変化して
いることが分かる。図2と比較して大きな特徴は、全ての状
態が矢印で結ばれていることと、矢印が右から左へと繋がっていることである。
このことから、どのような状態から出発しても、元の状態に留まるか、もしくは右
側の状態へと遷移することがわかる。一旦より右側の状態へと遷移すると左側へと
戻ることはない。あたかも地形図のように左側の状態は高く、右側は最も低いかの
ごとくであり、すべての状態は、最も低い状態 へ向かって転がり落ちてい
くかのようなアナロジーを用いることができる。ホップフィールドモデルでエネ
ルギー関数を導入する際に、この類推が正しいことを示すことにする。
, のような状態は、初期値が または でない限
りこれら状態へ遷移することがないという意味で``エデンの園''と呼ばれる。
私たちは「梅干し」から「すっぱい」を連想する。
こうした連想をネットワークに記銘させる場合を考える。
ベクトル
で「梅干し」を表し、
で「すっ
ぱい」を表すとする。ここで
は ベクトルの転置である。
このとき
をみたす行列
が見つ
かれば連想記憶と呼ぶことができる。ニューラルネットワークでは図4のように
表現される。4次元ベクトルによって表現された入力パタン
から想起す
べき3次元ベクトル
を取り出す過程と捉えることができ、記銘すべきパ
タンは入力層から出力層への結合強度として表現されていると見なすことができる。
いま記名すべきパタンが 個あるとして連想パタン対を
と表現すれば、 番目の
入力から 番目の出力素子への結合強度は
|
(2) |
と表現できる。
実際に
|
(3) |
のような刺激-反応対を記憶する結合強度行列 (あるいは結合係数行列という) は
|
(4) |
となる。
自己想起の場合には、結合係数行列 行 列の正方行列になり、この行列の
ことを自己相関行列と呼ぶ。先の例では刺激ベクトルが直交していたために正しく
想起できたが、互いに似通った記銘パタンが複数存在する場合には、似通ったパタ
ンどうして誤想起が生じる。誤想起のことを雑音、またはクロストークと呼ぶ。
連想記憶の数学的な解析については甘利(1978)に詳しい。
想起を工夫して「りんご」
「まるい」
「すいか」
「あまい」
「チョコレート」のように想起を連続的に
行なうことも可能である。このことを連鎖的想起あるいは動的想起と呼ぶ。連鎖的
想起を応用すれば自由連想法などの心理モデルとなり得るだろう。
中野(1979)のアソシアトロンは結合強度 (結合係数行列) が自己相関行列であり、
自己想起、連想記憶、
のどちらにも用いることができる記憶装置である。
比較的単純な数学的構造をもっているため実現が簡単で実用性が高い。
記憶のモデル、概念学習のモデルとしての応用が研究されている。
記銘すべき項目を 次元列ベクトル
で表
現する。
の各要素は の 3 値をとり、 と とが意味
を持ち、0 は中立あるいは無意味なパターンとして扱われる。記名されるべき項
目を表すニューロン間の結合係数は、 個のパターンを埋め込むとして
前節の(2)式で表される。
この式と
の各要素は しか取らないことから
の各要素も または 0 となる。
想起されるパターン
は相関行列
を用いて
|
(5) |
と表される。関数 は以下のようなしきい値関数である。
|
(6) |
自己想起の場合には、記銘されているパタンと類似した入力に対して記銘パタンが
想起されることに対応し、一方連想想起では、入力パタンを手がかり(キーワード
)と想起すべき内容(ボディー)に分けてキーワードとボディー部分をすべてゼロに
した入力ベクトルをアソシアトロンに入力し、ボディー部分に現われる情報を
想起内容として取り出せば良い。
ホップフィールド(Hopfield)1モデルの特徴は、
- ユニット間の結合係数が対称。
ただし すなわち自己結合係数は存在しない
- ユニットの状態変化は非同期的、一回に任意の一つのユニットしか状態
変化しない。
n 個の 2 値ユニットを考える
。
このネットワークの状態は 個存在し、
幾何学的には 次元超立方体の頂点に対応する。
時刻
における
ユニット への入力を , 出力を とすれば
時刻 での出力 は、結合荷重
としきい値
を用いて次のように表現される
|
(7) |
|
(8) |
すなわち、各ユニットの は、他のユニット からの入力 の
重み付き和
がしきい値
より大きければ 1 を出力し、小さければ 0 を出力する。
ホップフィールドモデルでは、一回に一個のユニットしか変化しないことに注意。
ホップフィールドは、ネットワークの状態を表す次のエネルギー関数を
導入し、
|
(9) |
式(7) と式(8) で定義される状態変化規則に従ってネッ
トワークを動作させたとき式(9)で定義されるエネルギー関数が
必ず減少することを示した。
このことを確かめるために、ネットワークの状態が変化したときにエネルギー関数
がどのように変化するかを調べてみる。
エネルギー関数を k 番目のユニットに関する項とそれ以外の項に分けて、変形す
ると
|
(10) |
いま、ある時刻 t から t+1 の間に k 番目のユニットの出力が
|
(11) |
に変化したものとする。このとき
は 1 か -1 である。このような
の変化による状態変化に伴うエネルギー関数の変化
は、非同期的変化の仮定により k 番目のユニット以外は
変化しないので
|
(12) |
となる。
であることに注意して
|
(13) |
と表される。右辺のカッコ内は であるから
|
(14) |
と書くことができる。式(7) の状態変化規則から
のときは が
に変化したことを表し
ているので であるから
である。反対に
のときは が
に変化したことになるので
だから
である。
のときは
なので、全ての場合について
|
(15) |
となる。
巡回セールスマン問題(Traveling salesman problem:TSP)とは、あるセールスマン
が、いくつかの都市を順番に一度ずつ訪問し、最後に出発点に戻って来るときに
最短の距離で各都市を訪問するための順路を決定する問題である。
訪問すべき都市の数を N とすると、すべての組合せ数は
になるので訪問すべき都市数が増加すると極端に難しい問題とな
る。
いま A,B,C,D,E の 5 都市を訪問する TSP を考える。まず都市の数の 2 乗
25 個のニューロンを用意する。行方向に都市、列方向に訪問順序をとるとすれ
ば、
|
訪問順序 |
|
都市 |
1 |
2 |
3 |
4 |
5 |
A |
0 |
1 |
0 |
0 |
0 |
B |
1 |
0 |
0 |
0 |
0 |
C |
0 |
0 |
1 |
0 |
0 |
D |
0 |
0 |
0 |
0 |
1 |
E |
0 |
0 |
0 |
1 |
0 |
のような表は BACED の順序で都市を訪問することを表している。
X 行 i 列のニューロンの出力を と表し、都市 X と 都市 Y との
距離を と表すことにすると、
- 同じ都市を2度訪問しない条件(同一行に 1 は一つしかない)
|
(16) |
- 同時に2都市を訪問できない条件(同一列に 1 は一つだけ)
|
(17) |
- 全ての都市を訪問する条件(すべての 1 を足し合わせると都市数に一致
する)
|
(18) |
という条件のもとで、次の目的関数(経路の総距離にあたる)
|
(19) |
を最小にする問題となる。エネルギー関数は、これらの制約条件のもとで
目的関数を最小にする制約付最小化の問題になる。
|
(20) |
ホップフィールドは
として
計算している。
|
(21) |
と比較すれば、
|
(22) |
となる。ここで
はクロネッカーのデルタ
|
(23) |
である。
実際に programing するときには
|
(24) |
を十分に小さい
, で近似して
|
(25) |
という近似差分を用いて を
|
(26) |
の漸化式で更新すればよい。
ホップフィールドは彼のモデルが連想記憶に適用できることを示しました。
ネットワークが記名すべきパターンベクトルを ではなく
をとるものとする2。
ネットワークに記憶させたいパターン数を P 個、s 番目のパターンを
とする。
パターン s を記憶するとは、そのパターンに対するエネルギー関数を最小化す
ることに相当する。しきい値を 0 としたときパターン
に関するエ
ネルギー関数
|
(27) |
を最小化するもっとも簡単な方法は、
が
に依存するように を設定するばよい3。
とすれば
|
(28) |
となる(相関行列)。
すべてのパターンについての結合係数は、
|
(29) |
によって近似的に求めるめることができる。
記憶すべきパターンが似ていたり、パターンベクトルの次元数 n に対して
パターン数 P の数が多すぎると正しき記憶できないことがある。
このパターン間の相互干渉のことをクロストークという。
ホップフィールドは記憶できるパターン数はユニット数の 15 % 程度である
ことを示した。
相関行列を用いてホップフィールドネットの結合強度を決定する方法に対し、
一般化逆行列 generalized inverse matrix の概念を導入し、クロ
ストークを生じさせないようパターンを直交化して記憶する方法が提案されてい
る。一般化逆行列にはいくつかの定義があるが、ムーア-ペンローズ
Moore-Penrose の定義を用いることにすれば、
|
(30) |
記名するパターンを
のように並べて
できる
行列を
としたとき
は一般化逆行列を
用いて以下のように求められる。
なおネットワークの状態変化を行なうには、 を結合強度行列として
7 を用いればよい。
ホップフィールドネットの結合強度をエネルギー関数から求める方法。
この方法は与えられた問題が最適化問題に置き換えられるときに有効で、
最小化する目的関数とネットワークのエネルギー関数を比較することで結合強度
を求める。
説明を簡単にするために、ホップフィールドネットに与えられたアナログ値を4
ビットのディジタル値に変換する A/D 変換問題を考える。
ネットワークは 4 ユニットで構成され、それらの状態
は変換
後のディジタル値 (0 or 1) を表すものとする。また、変換するアナログ値はネッ
トワークの外部入力として提示される。このようなネットワークが A/D 変換器
として機能を持つためには、入力されるアナログ値 a とすると、以下のエネル
ギー関数を最小化すればよい。
|
(32) |
ここで
は 0 から 3 までで に等しく
ない添字 に関して加え合わせることを意味する。
で外部入力 考慮したネットワークのエネルギー関数は
|
(33) |
式(32) と式(33) とを比較すると
与えれたエネルギー関数がリアプノフ関数 Lyapunov function の条件を満たす
ように、エネルギー関数から直接的にネットワークダイナミックスを求める方法
もある。これは、まず式(32) の時間微分を求めて
|
(36) |
ネットワークのエネルギーが時間とともに減少するためには
の関係が常に満たされればよい。このためには、以下に示すように
を式(36)の[ ]内の式に等しくすればよい
|
(37) |
|
(38) |
このとき
|
(39) |
となり を単調増加関数とすれば
が満たされるこ
とがわかる。
この結果は先の式と一致する。
脚注
- ...
ホップフィールド(Hopfield)1
- http://dope.caltech.edu/
- ... をとるものとする2
- 0, 1 の値をとる n 次元ベクトルは
にすればよい。
- ...3
- は -1 か 1 だが、 は常に正