前節で, 素子数49の場合, 相関値に関係なく学習がうまくいかなかった. 連想記憶においては, パターンをネットワーク全体の中に 分散し多重化して貯えるので, ある程度以上多数のパターンを覚えようとすると, パターン同士の相互干渉が起こり, 記憶が崩壊するからと考えられる. いくつまでの事項パターンを平衡状態として記憶させることができるかどうかを 調べ, その最大数Kを記憶容量とよぶ[10].
そこで, 素子数 nのネットワークで, いくつまでのパターンを 記憶させることが出来るかを調べ, その最大数つまり, 記憶容量を調べた. 今回, 記憶容量を調べるため各パターンの成分の 1か-1の割合を半数になるように 割り当てられたものを使用した.
その結果が図5.11から 図5.15のようになった. 結果を見ると, 素子数50の場合は, 40パターンは記憶できている. それ以上のパターン数は覚えることが出来ずに記憶が崩壊してしまっている. また, 素子数100個の場合は, 80パターンは記憶出来ていることが分かる. つまり, 素子数が50から100程度での記憶容量Kは実験結果より, 素子数の7〜8割程度になることがわかる.
しかし, 素子数200では, 記憶したパターン数が約90程度 , 素子数の半分も覚えられないことになる. 素子数300の場合も, 90パターンしか覚えることが出来ておらず, 素子数400では, 素子数300の結果よりも悪くパターンが覚えられず, 記憶が崩壊してしまっている.
本実験において, ニューラルネットワークに素子数の総数が多くなるにつれて 学習出来るパターンも比例して増えていくと考えるのが普通である. しかし今回の実験結果では, 素子数を増やしても学習出来るパターンの数が 純粋に増えていっていない. よって, なにか原因があると考えられる.
そこで, 学習回数が足りないために, 一つのパターンを覚え切らないまま, 次のパターンに切り替わっているのではないかと考え, 学習回数を 増やした結果, 学習はそれほど変わらなかった. よって学習回数は適正値だと考えられる.
次に, 記憶は重みによって行なわれているので,
結合荷重の値を今までより, より細かくとり, 結合荷重の値に幅を持たせて
実験を行なってみる.
そこで, 今まで結合荷重の変化量を半分( )し,
結合荷重の値が今までより細かな値までとれるようにして, 学習を行なった.
その結果が, 図5.16から
図5.19となっている.
この結果を見ると, 先の学習結果, つまり
が0.05での学習よりも
学習がうまくいっていることが分かる.
の学習結果では, 素子数が200において120パターンが想起出来なかったのに対し,
を0.025にしたら120パターンが学習できた.
また,
が0.05の学習での素子数300では120パターンすら想起できなかったのに対し,
が0.025での学習では, 180パターンでも学習がうまくいっている.
よって, ある程度の素子数に達すると結合荷重の変化量を細かく
結合荷重の値に幅を持たせなければ,
多くのパターンを学習できないということがわかった.