混沌系工学特論 配布資料 #1
担当 : 井上 純一 (情報科学研究科棟 8-13)
URL : http://chaosweb.complex.eng.hokudai.ac.jp/˜j inoue/

平成 16 年 10 月 25 日
❍
❏❍
❍
❏✱

〜 全般的な注意事項 〜• この講義ではレポート問題を出します. 講義ノート中に出てくる 問 # がその問題です.
これらの問題を各自考えてレポートにて提出して下さい. 何題解いて提出するかは自由です. 提出期限は最終講義まで. 最終講義終了時に回収します. 解答例は最終講義時に配布します.

• 講義ノート中に現れる 付録 (興味のある者は自習せよ) は講義時間の関係で説明を省略する可能性の高い部分です.

• 各週に配布する講義ノートは必ずしもその週の講義分とは限りません. 説明の終わらなかった部分は翌週に回しますので, 講義ノートは忘れずに持参してください.

目次
1

1

脳の高次機能 — 連想記憶 —

1

1.1
1.2

ノイマン型コンピュータとの比較 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2
3

1.3
1.4

単一ニューロンモデルの性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.5
1.6

1 つだけパターンを記憶した場合の想起 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
計算機シミュレーションで「感じ」をつかもう . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.7
1.8

多数のパターンを埋め込んだ場合の連想記憶 . . . . . . . . . . . . . . . . . . . . . . . . . . 13

生理学から数理モデルへ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
連想記憶とは何か ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

67

クロストーク項の統計的性質と最大記憶パターン . . . . . . . . . . . . . . . . . . . . . . . 14

脳の高次機能 — 連想記憶 —この講義でははじめに「連想記憶」と呼ばれる脳の高次機能を簡単な数理モデルを用いて解析し, その動作を調べていくことにする. この題材自体は比較的古いものではあるが, 当講義の主題である簡単な構成要
素が多数集まったときに, どのような機能が生じ, それがどのように情報処理に役立つのかということを説明する好例としてまずはこれを取り上げる.

1

大学院 混沌系工学特論 2004

1.1

連想記憶の数理 part1 (担当 : 井上 純一)

ノイマン型コンピュータとの比較

ここでは脳の数理モデルを扱うわけであるから, ともあれ従来のコンピュータ (ノイマン型) と計算機としての脳の処理様式の比較をすることから始めよう. 次に両コンピュータの仕様を載せる.

ノイマン型コンピュータ

脳

単位: プロセッサ

単位: ニューロン

8

演算速度: ∼10 Hz

演算速度: ∼102 Hz

シグナル/ノイズ ∼∞シグナル/ノイズ ∼1

8

シグナルスピード ∼10 m/sec

シグナルスピード ∼1 m/sec

コネクション数 ∼10

コネクション数 ∼104

特徴：直列演算

特徴: 並列演算

プログラム & データ

シナプス結合, ニューロン, 閾値

外部プログラミング

自己プログラミング (自己組織化), 適応

ハードウエアの欠陥が致命的

ハードウエアの欠陥に対してロバスト

以上をまとめると, 脳 (型コンピュータ) の利点は

• ノイズ, 欠陥に対してロバスト ( 脳の神経細胞は毎日死滅しているのに, 我々の情報処理能力はさほど変わらない).

• 外部から, C, Fortran, Pascal 等の言語を用いてプログラミングする必要なし ⇒ 「学習」(後述) によって外部に適応する能力あり.
• ファジー, 確率的, あるいはノイズを含む情報に対処することができる.
(例)
科学史上の重要人物とそのキーワードの対応表を覚え, それに答えるという状況を考えよう (例えばダーウィン ↔ 進化論, ニュートン ↔ 万有引力). このとき E = mc3 と提示されたら, 皆さんはどう答えるだろうか? 多くの人は「アインシュタイン」と答えるに違いない. E = mc2 と正しくキーワー
ドが提示されていないにも関わらず, である. これは我々の脳が E = mc3 は何かの間違いで, 出題者
は E = mc2 のことを言っているに違いないと類推することができるからである.

• 高度な分散処理• コンパクトである
一方, 不利な点は• 一つの素子の処理速度は早くない.
• 一つ一つの素子レベルでみると非常に誤差動が大きい.
などが挙げられるが, 脳全体としてみると, これらの不利な点を高度に分散化した情報表現と並列演算によって補っていると言える.
こうして見ると通常のコンピュータとはかなりの部分で異なっており, 工学的な応用という立場で見た場合には非常に魅力的な対象であることがわかる. そこで, 次に神経細胞を生理学的に概観し, それをどのように「数理モデル」化するかを見て行くことにしょう.

ここは 2 ページ目

大学院 混沌系工学特論 2004

1.2

連想記憶の数理 part1 (担当 : 井上 純一)

生理学から数理モデルへ

脳における実際の神経細胞の写真を図 1 に示す.

図 1: 実際の神経細胞.
これに対して, この神経細胞の模式図と各部位の名称を図 2 に載せる.

図 2: ニューロンの構成要素とその電圧特性.「神経細胞が行なう情報処理とそのメカニズム」松本元, 大津展之共編, 培風館 (1991)
p. 41 の図 2.1 から抜粋.

これらからわかることを要約すると, 各ニューロンはシナプスを介して他のニューロンに結合しており, 各
ニューロンは信号を電気的なパルスとして伝える. 電気的なパルスの生成過程は次の様式に従う. 各シナ
プスはその結合部分に K + , N a+ 等の正のイオンを透過させるチャンネルと Cl− 等の負のイオンを透過させるイオンチャンネルを有し, このチャンネルを調節することにより, シナプス内部と外部の電位差 (通常は −70 mV 程) を調節することができる. 一般的には, 図のようにこの電位差がある値 (約 −55 mV) を越えると高さ 100 V 幅 1 ms の大きさのパルスが生成され, このパルスは軸索上を電気的な信号 (イオンの流れ) として伝わっていく. その後, パルスを生成したニューロンは約 10 ms の「不応期」を経て, また, 電位
ここは 3 ページ目

大学院 混沌系工学特論 2004

連想記憶の数理 part1 (担当 : 井上 純一)差がある閾値を越えるとパルスを生成する.
これを素朴に数理モデル化すると図 3 のようになる.

S1
w1

S

wN
SN
図 3: 神経素子 (ニューロン) の数理モデル. 各素子 Si (i = 1, · · ·, N ) は Si =
1(発火) あるいは Si = 0(静止) のどちらかの状態を
w S がある閾値 θ を越えれば S = 1 越えなけれとる. 注目するニューロン S の状態はこれらのニューロンからの重みつき和i i i
ば S = 0 として決定される.
ここで, 各ニューロンは Si = 1(発火) か Si = 0(静止) の 2 つの状態のいずれかをとり, それぞれの値は注目するニューロンに重みつき和h ≡ w1 S1 + w2 S2 + · · · + wN SN(1)として入力される. S はこの入力和 h に対して

h>θ

:S→1

(2)

h<θ

:S→0

(3)

で決定される.
さて, ここでは注目する一つのニューロンの状態の決定がどのように行なわれるのかについて見たわけであるが, 図 4 のように, 他数のニューロンがつながっている場合にはどうなるであろうか ?
この場合には, 任意のニューロン i, j 間の結合 (シナプス結合) を wij とし, また i 番目のニューロンに関する閾値を θi とすると, 時刻 t + 1 での i 番目のニューロンの状態が, 時刻 t でのニューロン Sj (j = i) の状
態を用いて

wi1 S1 + wi2 S2 + · · · + wiN SN > θi

: Si (t + 1) = 1(4)

wi1 S1 + wi2 S2 + · · · + wiN SN < θi

: Si (t + 1) = 0(5)で決定されるとして自然に拡張される. ところで, ここで何も断りを入れずに「時刻」というものを導入したが, これはニューロン集団の状態変化が 1 ステップだけのものではなく, 上記のルールに従って
ここは 4 ページ目

大学院 混沌系工学特論 2004

連想記憶の数理 part1 (担当 : 井上 純一)

neuronsynapse

図 4: ニューロン同士をつなげる.

Si (0) → Si (1) → Si (2) → Si (t) → Si (t + 1) → · · · と変遷して行くものであるためである. 後に詳しく述べるが, 実はこのダイナミックスの固定点が「記憶」に相当する.
このように各ニューロンが時間的に変化するものであるとすると, その集団の時間変化の様式には大きく分けて次の 2 通りが考えられる.

• 状態変更則 (4),(5) が全てのニューロンに同時に適用される・・・同期式状態変更 (paralell dynamics).

• ある時刻に 1 つだけのニューロンが状態更新の対象となる
・・・非同期式状態変更 (sequential dynamics).

現実の脳では各ニューロンが互いに「申し合わせて」状態を一斉に更新するとは考えづらいので後者の様式に従っているのではないかと予想される. 一方, 工学的な応用では前者をとる場合が比較的多い.
こうして, 例えばある時刻でのニューロン集団の状態 {Si (t)} はニューロン数が 9 の場合

S1

S2

S3

S4

S5

S6

S7

S8

S9

t=0
t=1

1
1

1
0

0
0

1
1

0
0

0
1

1
1

0
1

0
1

t=2
t=3

0
1

0
0

1
0

1
1

1
1

0
1

0
1

0
0

1
1

t=4

0

1

1

1

0

0

1

0

1

となり, これを● (発火; Si = 1), ○ (静止; Si = 0) で表し, ニューロンの番地を

123
456
789
で表せば

ここは 5 ページ目

大学院 混沌系工学特論 2004

連想記憶の数理 part1 (担当 : 井上 純一)

t=0

t=1

t=2

t=3

t=4

●●○

●○○

○○●

●○○

○●●

●○○

●○●

●●○

●●●

●○○

●○○

●●●

○○●

●○●

●○●

のように表現される.

1.3

単一ニューロンモデルの性能

次の節からいよいよ「連想記憶」に入るが, この節ではその前に単一ニューロンの数理モデル — パーセ
プトロンの素子としての性能について少し触れておきたい. つまり, 「構成要素が多数集まって実現される情報処理」の中の「構成要素」について調べてみようというわけである. ここでは簡単のため, 2 入力 1 出
力閾値ありの神経素子=

S

Θ(w1 x + w2 y − θ)Θ(x) =

1
0

(6)

x>0
x<0

(7)

このとき, 問題は w1 , w2 , θ を適当に選ぶことにより, 論理命題 AND,OR,NOT が実現できるかどうか, という点である. 答えを言ってしまうとこれらは可能である. 下の表を参照されたい.

AND : w1 = w2 = 1, θ = 32 とすればよい.
x

y

x∧y

x + y − 32

S

0

0

0

-3/2

0

0

1

0

-1/2

0

1
1

0
1

0
1

-1/2
1/2

0
1

x

y

x∨y

x + y − 12

S

0
0

0
1

0
1

-1/2
1/2

0
1

1
1

0
1

1
1

1/2
1/2

1
1

OR : w1 = w2 = 1, θ = 12 とすればよい.

NOT : w1 = −1, θ = 12 とすればよい.
xx̄

x̄ + 12

S

0

1

1/2

1

1

0

-1/2

0
ここは 6 ページ目

大学院 混沌系工学特論 2004

連想記憶の数理 part1 (担当 : 井上 純一)

なお, 排他的論理和 (XOR) は一つのパーセプトロンでは実現できないことがわかっているが, 中間層を導入した層状パーセプトロンにより実現できる.

1.4

連想記憶とは何か ?

この節からはいよいよ連想記憶の話題に入る.
まず,「連想記憶」というのは先の例でいうと「進化論」と聞いたときに「ダーウイン」と答えるようなものである. あるいは, 友人の写真を見せられたときにその友人の名前を答えるという状況を考えても良い. これらの各状況をもう少し一般的に言うと☛✟「ヒント」が与えられたときにそのヒントを足掛かりに正解を見つけ出すこと✡

✠と言えそうである. ところで, この「ヒント」とか「正解」とかいうことを数式を用いて表すにはどうしたらよいのだろう?
我々は神経回路網を用いたいわけであるから, N 次元超格子空間内の一点(ξ1 , ξ2 , · · ·, ξN )(8)を思い出すべき事項 — パターン — としょう. すると, 記憶すべき事項が p 個あった場合には上つきの添
え字 µ を用いてµ(ξ1µ , ξ2µ , · · ·, ξN)µ = 1, · · ·, p(9)とそれぞれのパターンを区別すればよい. このとき, パターン µ = 1 に対する「ヒント」はパターン
1(ξ11 , ξ21 , · · ·, ξN) から少し離れた配列(S1 , S2 , · · ·, SN )(10)を選べばよい.

(注) この節から, ξi = ±1, Si = ±1 のバイナリ表現を用いることに注意されたい. 1
次に問題となるのはこの「ヒント」がどれだけ良いヒントであるかということである. これは簡単で, 上記

2 つのベクトルの内積
N

m

≡

1  1
ξ Si
N i=1 i(11)を調べ, これが限りなく 1 に近ければ限りなく良いヒントになるだろうし, 逆にこれが限りなくゼロに近い
場合にはヒントとしては意味のないものになるであろう. これで大まかな問題設定はできたので, 後は全節
1 こうする理由は後に説明する「磁石」では +1, −1 を「小磁石」の N,S 極に対応させて数理モデル化するので, ここでもそれに倣っているに過ぎない. 深く考えず, 単に各ニューロン i で Si → (Si + 1)/2 なる変換を施しただけと思えばよい.

ここは 7 ページ目

大学院 混沌系工学特論 2004

連想記憶の数理 part1 (担当 : 井上 純一)

1までで説明された神経回路網を用いて (S1 , S2 , · · ·, SN ) → (ξ11 , ξ21 , · · ·, ξN) という正しい「連想の流れ」が実現できるかどうかという点が問題となる. つまり, 全ての i に対して
NSi (t + 1) = sgn
wij Sj (t)

(12)

i=1

というダイナミックスを考えた場合, 十分に時間が経過した後に (t→∞ の極限で)

ξi1

=

sgn

N



wij ξj1

(13)

i=1
1
となり, 我々の欲している (ξ11 , ξ21 , · · ·, ξN) がダイナミックスの固定点になりうるかどうかというところが

1) が無事に固定点になるならば, 我々の目論みは成功したことになる.
ポイントである. もし (ξ11 , ξ21 , · · ·, ξN

では, 何がこの成功・不成功をきめるのであろう? (12) で自由に変えることのできそうなのは結合 wij である. 実際この結合の選び方こそが, この神経回路網が連想記憶装置として機能するかどうかの鍵を握っている. 次節ではこの wij の選び方 — Hebb 則 — を紹介しこの方法で果たして連想記憶が成り立つかどうかに関し, 1 つのパターンを記憶させるもっとも簡単な場合を例にとり, 調べてみることにする.

1.5

1 つだけパターンを記憶した場合の想起

ここでは一つのパターンを記憶した場合, そのパターンがダイナミックスの固定点にらるような wij の選び方について話しを進める. 結論から先に言うと, 任意の神経素子間の結合を

wij

=

1 1 1
ξ ξ
N i j

(14)

のように選べば良い. 実際にこのように選んだ場合, 各 i に対して


N

1
ξi1 = sgn ξi1 ξj1 ξj1 
N
j=1

=

sgn(ξi1 )(15)となるが, これは成立しているのは明らかであろう. 従って, (14) 式のように結合を選べば少なくとも一つのパターンの記憶に関しては神経回路網は連想記憶装置として機能することがわかった.

ここは 8 ページ目

大学院 混沌系工学特論 2004

連想記憶の数理 part1 (担当 : 井上 純一)✬✩

問 1 : 1 個のパターンを記憶することができることが示せたわけであるが, 2 個のパターンはどうだ
ろうか ? 1 個のパターンの場合を拡張して数理的に議論せよ.

(ヒント)(14) 式を 2 個のパターンに拡張して
wij

=

1 1 1
(ξ ξ + ξi2 ξj2 )N i jとしてみる. これを (13) 式に代入して, 各 i に対して


ξi1

=



N
ξ2  2 1 
sgn ξi1 + iξ ξ
N j=1 i jが成立すれば, 2 個のパターンを記憶し, その内のパターン ξ 1 を想起することができることになる. しかし, これが成立するかどうかは上式右辺括弧内の第 2 項の大きさを評価しなければわからない. 各

ξi1 , ξi2 は独立かつ等確率に ±1 をとる確率変数だから, この右辺括弧内第 2 項も確率変数となり,

この変数の平均値の回りの揺らぎ — 標準偏差 —を評価し, それが N → ∞ の極限でゼロになるかどうかを調べればパターン ξ1 が想起できるかどうかが判定できる.
✫✪

ここは 9 ページ目

大学院 混沌系工学特論 2004

1.6

連想記憶の数理 part1 (担当 : 井上 純一)

計算機シミュレーションで「感じ」をつかもう

1 つのパターンの記憶が可能であることがわかったわけであるから, 2 つ以上のパターンを記憶させた場
合に任意のパターンが想起できるか否かが知りたくなる. しかし, 2 個程度ならともかく, 例えば思い切って 1000 個ではどうなのか ? 等, 多数個のパターンを Hebb 則でネットワークに埋め込んだ場合にシステムがどう動くのか, を解析的な議論に乗せるにはまだいくらかのギャップがありそうだ. このようなとき, 計算機を用いた簡単な数値シミュレーションを行うとシステムの振る舞いを大雑把にではあるが把握することができる. もちろん, 十分慎重にシミュレーションを行えば, 解析計算に劣らないほどの信頼度で答えを出すこともできるが, 以下に示すシミュレーションの目的は後に行う解析計算を始める前にある程度の「察し」をつける, 「感じ」をつかむことであることに注意しておこう.
さて, ここで行うシミュレーションは具体的に (12) 式でみた状態更新式 :Si (t + 1)

=

sgn

N



wij Sj (t)

(16)

i=1

を結合が次で与えられる 一般化 Hebb 則 :

wij

=

p
1 1 1
1  µ µ(ξi ξj + ξi2 ξj2 + · · · + ξip ξjp ) =ξ ξNN µ=1 i j

(17)に選んで, 全ての神経素子 Si に対し, 同時に上記の更新 (16) を行うことである (「同期的状態更新」). このとき, 時刻 t での回路網の状態 : S(t) = (S1 (t), S2 (t), · · · , SN (t)) と, 今思い出そうとしているパターン1: ξ 1 = (ξ11 , ξ21 , · · · , ξN
) との内積を回路網の神経素子数 N で割ったものを

m(t) ≡N
1
1 
1
S(t) · ξ =Si (t)ξi1
N
N i=1

(18)

として定義し, これを重なり (overlap) と呼ぶことにしょう. この重なりを状態更新 (16) の各ステップで観察し, 重なりが 1 に収束すればパターン : ξ 1 が想起できたとみなすわけである. ここで, 今想起しょうとするパターン ( 以下, 「想起パターン」と略記する) : ξ 1 としては何でもよいのであるが, ここでは図 5に示すような 2 次元の画像を選ぶことにする. このパターンは画像処理の分野で良く知られた「標準画像図 5: ここで思い出そうとするパターン 1 . サイズはやや小さめで 64 × 50.

ここは 10 ページ目

大学院 混沌系工学特論 2004

連想記憶の数理 part1 (担当 : 井上 純一)

レナ」を閾値を用いて 2 値化したものである. しかし, パターン ξ 1 としては画像に限らず, 何でも良いのであり, 極端に言えば ξ 1 = (1, 1, · · · , 1) と選んでも良いのである. ここでは視覚的に解りやすくするためにこのような特定の画像を選んだにすぎない.
さて, ξ 1 以外の p − 1 個のパターン ξ µ (µ ≥ 2) はどのように選ぶかであるが, ここでは各成分にランダ
ムに ±1 を割り当てたものを採用することにしょう. すると, 素子数 N が十分に大きければ任意の 2 つのパターン・ベクトル ξ α , ξβ は統計的にみて直交していることに注意されたい (ξα · ξ β = 0. なぜこれが言えるか, 各自考えてみるように).
また, 神経回路網の初期条件をどのように選ぶのかも重要であるが, ここでは想起パターン ξ1 の各成分を確率 p で反転させたものを S(0) に選ぶことにしょう. 図 6 に 1 つのパターンを埋め込んだ場合の想起
1
0.9
0.8

m 0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0

2

4

6

8

10

12

t

図 6: 1 つのパターンを埋め込んだ神経回路網の想起過程.
過程を示す. このシミュレーションでは神経素子数を 64 × 50 = 3200 と選んでいる. この図から明らかなように, たとえどんなに想起パターンから離れた初期状態から状態更新を始めても最後には想起パターンに収束していることがわかる. これは先に我々が見たとおりである. 次に, p = 300 個のパターンを埋め込んだ場合の結果を図 7 に載せる. この場合には想起パターンにある程度近い初期状態からスタートすれば想起パターンに収束するが, 想起パターンから遠い初期状態から出発すると想起パターンとは異なる状態(偽記憶と呼ぶ) に収束してしまうという特性が見られる.
図 8 に初期状態を m(0) = (1/N )S(0) · ξ 1 = 0.6 に選んだ場合の想起過程における画像の変遷を載せる.
図 9 には初期状態を m(0) = (1/N )S(0) · ξ 1 = 0.2 に選んだ場合の想起過程における画像の変遷を載せる.
図 9 の場合, 時間が経過しても想起パターンには近づかず, 全く関係の無い状態に収束することがわかる.
初期状態の選び方がまずかったというわけである.
最後に, p = 1000 個のパターンを埋め込んだ場合の想起過程を図 10 に載せる. この図より, 明らかにどんなに想起パターンに近い初期状態からスタートしたとしても, 神経回路の状態は想起パターンには近づかないことがわかる. あまりにも多くの情報を詰め込んだために, 任意の想起パターンを回復できなくなってしまったわけである. このように Hebb 則に基づいて神経素子を多数つなげたシステムを構成しても, いくらでもパターンが記憶できるというわけではなく, ある限界が存在する. このような限界を詳細に調べる
ことはシステムの設計上意味があることであろう. 次節以降ではこの評価法について詳しくみていくことにしょう.

ここは 11 ページ目

大学院 混沌系工学特論 2004

連想記憶の数理 part1 (担当 : 井上 純一)

1
0.9
0.8
0.7

m 0.6
0.5
0.4
0.3
0.2
0.1
0
0

2

4

6

8

10

12

t

図 7: 300 個のパターンを埋め込んだ神経回路網の想起過程.

図 8: p = 300, 初期状態を m(0) = (1/N)S (0) · 1 = 0.6 に選んだ場合の想起過程. 左から t = 0, 1, 12 の時刻での回路網の状態.

✬✩

問 2 : ここで示したシミュレーションを実行せよ. 特に, 埋め込むパターン数 p と神経素子数 N の比p/N と想起可能性との関係を明らかにせよ. なお, 当問題を解いて提出する際にはプログラムソースも添付すること.

(参考)
想起パターンとして, ここで用いたレナの 2 値化画像を用いる者は

http://chaosweb.complex.eng.hokudai.ac.jp/˜j inoue/KONTON2004/konton2004.html
からダウンロードできるので用いても良い (もちろん, 自分の好きな画像を用いて良い). また, 画像のフォーマット, 及び, xv, GIMP 等の画像処理ソフトの用い方は

http://chaosweb.complex.eng.hokudai.ac.jp/˜j inoue/LEC/ENS/inf ens 2004.html
からの情報を参考にするとよい.
✫✪
ここは 12 ページ目

大学院 混沌系工学特論 2004

連想記憶の数理 part1 (担当 : 井上 純一)

図 9: p = 300, 初期状態を m(0) = (1/N)S (0) · 1 = 0.2 に選んだ場合の想起過程. 左から t = 0, 1, 12 の時刻での回路網の状態.
1
0.9
0.8
0.7

m 0.6
0.5
0.4
0.3
0.2
0.1
0
0

2

4

6

8

10

12

t

図 10: 1000 個のパターンを埋め込んだ神経回路網の想起過程.

1.7

多数のパターンを埋め込んだ場合の連想記憶

前々節では一つのパターンをネットワークに埋め込んだ (記憶させた) 場合に, そのパターンの想起の可能性を調べた. この節では, 多数個のパターンをネットワークに埋め込んだ場合どうなるかについて考察する.
前々節では Hebb 則 (14) を用いて神経回路網の「結合」に記憶を埋め込んだわけであるから, 前節の計算機シミュレーションの際に採用した拡張 Hebb 則 :

wij

=

p
1 1 1
1  µ µ(ξi ξj + ξi2 ξj2 + · · · + ξip ξjp ) =ξ ξNN µ=1 i j(19)νをここでもやはり用いて自然な拡張を図ろう. この場合, 注目するパターン ξ ν = (ξ1ν , ξ2ν , · · ·, ξN) の想起が安定である条件2

ξiν
hνi

=
≡

sgn(hνi )N

wij ξjν

(∀i )

(20)
(21)

j=1
2 前小節では注目するパターン (想起パターン) を 1 番目のパターンとしたが, ここでは ν 番目のパターンとしている. しかし, こ

れを選んだ理由は特にない. 重要なのは, 注目するパターンとそれ以外のパターンを分離することであり, それ以外のパターンからの寄与が大きくなると, 注目しているパターンの想起が妨害されるというところがポイントである.

ここは 13 ページ目

大学院 混沌系工学特論 2004

連想記憶の数理 part1 (担当 : 井上 純一)が成立するかどうかを確かめてみよう. まず, hνi に (19) を代入してみると
N

hνi

=

=

p

1  µ µ ν
1  µ µ νξi ξj ξj = ξiν +ξi ξj ξjN j=1 µ=1
N j
µ=ν




ν 
ξ
ξiν 1 + i
ξiµ ξjµ ξjν


N
j

(22)

µ=ν

となる. ここで, (22) の最右辺第 2 項3 がゼロならば, 前節で調べたものと全く同じになり, パターン ν は安定である.
従って, 想起が成功か失敗かに関して問題になるのは, 第 2 項の第 1 項へ及ぼす影響であり, 多数のパターンを埋め込んだ際にはこの項を何らかの方法で評価する必要がある.
そこで

Ciν

≡

−ξiν

1  µ µ νξi ξj ξj
N j

(23)

µ=ν

とおき, この Ciν について詳しく調べてみることにする.
すぐにわかることは, もし, この Ciν が

Ciν

> 1

(24)

= −aξiν(25)sgn(−aξiν )(26)を満たすならば (22) 式より, a を正の定数としてhiが成り立ち, 結局, パターン ξiν の安定条件は

ξiν=となるので満たされない. 従って, 条件 (24) が想起に失敗する条件と言えそうだ. しかし, 多少厄介な問題として, この Ciν はただの数ではなくて「確率変数」であるという点がある. 従って, 我々が以下にできることと言えば, この確率変数 Ciν の統計的性質 (どのような分布に従う確率変数なのか) を調べ, この変数のとる値が Ciν > 1 を満たす確率を具体的に求めていくことである.

1.8

クロストーク項の統計的性質と最大記憶パターン

この節では Ciν を精密に評価する.
まず, 各 ξiµ がランダムに ±1 をとるランダムパターンを考えると, Ciν はこれらの和であるから, 中心極

限定理より, 平均がゼロ, 分散 σ 2 が

σ

2

=

 ν 2  ξ− i(ξiµ ξjµ ξν )2
N
j
µ=ν

=

1 
1
p
1 = 2 ×N × (p − 1) 
N2 j
N
N

(27)

µ=ν

3 この項をクロストーク項 (cross talk term) あるいはクロストークノイズ (cross talk noise) と呼ぶ

ここは 14 ページ目

大学院 混沌系工学特論 2004

連想記憶の数理 part1 (担当 : 井上 純一)であるガウス分布 (正規分布) に従う.
つまり, Ciν ≡ x とおくと, x はx2
1√e− 2σ22πσ

P (x) =

(28)に従う確率変数である. 従って, ξiν が安定な固定点ではなくなる確率 (想起に失敗する確率)Perror はPerror=Prob (Ciν > 1)=

Prob (x > 1)
 ∞
x2
1
√
e− 2σ2 dx
2πσ 1
 
N
H
p

=
=

(29)

となる.
ただし,

H(x) =

1
√
2π

 ∞
x

u2

du e− 2(30)で補誤差関数を定義した (図 11 参照). 従って, 例えば Perror = 0.01 を満たすような p, つまり,
0.5

0.4

0.3

H(x)
0.2

0.1

0
0

1

2

x

3

4

5

図 11: 補誤差関数 H(x) の形状.


H

N
p


=

0.01

(31)

を満たす p を求めれば, 想起に失敗する確率が 0.01 以内に収まるような最大の埋め込みパターン数 pmaxが求まるわけである.
実際に補誤差関数の数値テーブルを用いて求めた pmax をいくつかの Perror について算出したものを表にしておく.

ここは 15 ページ目

大学院 混沌系工学特論 2004

連想記憶の数理 part1 (担当 : 井上 純一)

Perrorpmax /N

0.001

0.105

0.036
0.01

0.138
0.185

0.05
0.1

0.37
0.61

この表より, 許容度を Perror = 0.01 に選ぶと☛✟最大記憶パターン数 : pmax = 0.185N✡

✠

までのパターンが安定に埋め込めることになる (つまり, 全素子数の 2 割ほどのパターンが記憶できる).

付録 (興味のある者は自習せよ)
ところで, 以上の議論は i 番目のビット ξiν にのみ着目し, そのビットの安定性を調べたわけであるが, 実際νには ξ ν = (ξ1ν , · · ·, ξN) の N ビット全てに関する安定性を調べるべきではないだろうか ? つまり, この場合


(1 − P (Ciν > 1)) = (1 − Perror )N

(32)

i

が 1 − 0.01 = 0.99 より大きい, すなわち, 不等式(1 − Perror )N

0.99

>

(33)

が許容度 0.01 での最大埋め込みパターン数 pmax を決定する.
ここで, 2 項定理を用いると(1 − Perror )N=N

r N −rN Cr (−Perror ) 1

r=0



N C0 1 + N C1 (−Perror ) = 1 − N Perror(34)となるので, 条件 (33) はPerror

<0.01
Nと書き直せる.
さて, p のオーダーが N より小さく, N →∞ の極限で

(35)

N/p → ∞ となる場合を考えよう. このとき,

x→∞ で誤差関数が2

1 − erf(x) 

e−x
√
πx

(36)

で振舞うことに注意すると, 条件 (35) は−log2 −

1
1
N
− logπ − log(N/2p)
2p 2
2

<

log(0.01) − logN(37)

ここは 16 ページ目

大学院 混沌系工学特論 2004

連想記憶の数理 part1 (担当 : 井上 純一)となるから, N →∞ のときの主要項のみ残すとp<N= pmax2logN(38)となり, この場合の最大記憶パターン数 pmax は✎N
最大記憶パターン : pmax = 2logN✍✌となる4 .

4 p のオーダーが N より小さく, N →∞ の極限で

N/p→∞ であるとした我々の仮定は正しかったことに注意されたい.

ここは 17 ページ目