日本神経回路学会誌 Vol. 15, No. 2（2008），98–109

研究論文

自己増殖型ニューラルネットワークを用いたノイズのある環境下での追加学習が可能な連想記憶システム∗1
須 藤 明

人∗2 ，佐 藤彰 洋∗2 ，長 谷 川修∗3東京工業大学大学院総合理工学研究科知能システム科学専攻∗2 ，東京工業大学大学院像情報工学研究施設∗3

Associative Memory System for Incremental Learning in Noisy Environment Using
Self-Organizing Incremental Neural Network
Akihito Sudo,∗2 Akihiro Satou∗2 and Osamu Hasegawa∗3
Department of Computational Intelligence and System Science, Tokyo Institute of Technology∗2
Imaging Science and Engineering Laboratory, Tokyo Institute of Technology∗3
We propose a novel associative memory that performs well on incremental learning and is robust to noisy data. Using the proposed method, new associative pairs presented sequentially canbe learned accurately without forgetting previously learned patterns. The memory size of the
proposed method increases adaptively. Therefore, it suﬀers neither redundancy nor insuﬃciencyof memory size, even in an environment where the maximum number of associative pairs to bepresented is unknown before learning. The proposed method deals with two types of noise. No
conventional bidirectional associative memory deals with both types.

1. は じ め には，システムは知識を逐次的に得ることになるため，知識を追加学習できなければならない．また，システ

連想記憶は人間の知的な活動を支える重要な機能である．我々は，実世界で複雑なタスクを実行すること

ムが実世界から取得する情報には多かれ少なかれノイが要求される知能ロボットやエージェントにとっても，連想記憶が重要な役割を果たすと考えている．実際，連想記憶を知能ロボットやエージェントに持たせる研究
1〜4)．ニューラルネットワークをが近年行われている利用した連想記憶の研究の歴史は長く，様々な連想記
憶システムが提案されてきたが，以下に述べる理由で従来のモデルは実世界で活動する知能ロボットやエー
ジェントに用いるためには不十分である．
実世界で自律的に活動する知能ロボットやエージェ

ズが必ず含まれており，ノイズ耐性は必須である．同
じく実世界から得られる情報は 2 値ではなく実数値であるので，実数値をそのまま学習できることが望まし
い．実世界においてシステムに必要な知識が 1 対 1 の連想対だけとは限らないため，1 対多の連想が行えることが必要である．その際，システムが 1 対何の連想を行えるかが事前にユーザーによって固定されてしまうのではなく，任意の整数 a について 1 対 a の連想を単一のシステムで行えることが求められる．

1.1 先行研究

ントに用いるための連想記憶モデルは，追加学習，ノイズ耐性，実数値データの取り扱い，1 対多の連想を

従来の連想記憶システムで追加学習を十分に行える
ものは我々の知る限り存在しない．従来の連想記憶シ行えることが必要である．まず，システムに必要とされる知識を事前に全て列挙することが不可能な環境でステムは 2 種に大別される．すなわちホップフィール∗1 2007 年 12 月 13 日受付，2008 年 2 月 10 日受理∗2 〒 226–8503

神奈川県横浜市緑区長津田町 4259 R2–52∗3 〒 226–8503 神奈川県横浜市緑区長津田町 4259 R2–
52

ネットワークや Bidirectional Associative Memory5)のように知識を複数の結合荷重に分散して記憶するタ
イプと，Self-organizing Map（SOM）を連想記憶が扱えるように拡張したもの6) のように競合学習を利用するタイプである．知識を分散して記憶する前者のタイプは追加学習によって全ての結合荷重が変化するた須藤明人・他：ノイズのある環境下での追加学習が可能な連想記憶システム

99

め，既存の知識が破壊されてしまうという深刻な問題を抱える．French が指摘したように，知識を分散して記憶する連想記憶システムがこの問題を避けることは難しい7) ．
一方，競合学習を利用するタイプはひとつのノードでひとつの知識を記憶するため追加学習に比較的向いている．SOM を利用した連想記憶モデルを追加学習

Fig. 1 The two type of noise.

8)のために拡張した連想記憶システム では，結合荷重が学習データに十分近くなったノードはそれ以降の学習において変化しないため，既存の知識を破壊するこわち，島田らの手法を 1 対多の連想が可能な連想モデとなく新たな知識を学習することが可能である．しかし，この連想記憶システムは，獲得可能な連想対の数されるという状況下で運用すると，(1) 本来同じはずの出力が複数得られてしまう，(2) 同じクラスの学習の上限がユーザーが事前に設定したノードの数に依存

データが繰り返し入ってくるとノードが無限に増え続して決まってしまう．そのため，学習すべき連想対の量が事前にわかっていない環境にはこのシステムは不ける，というふたつの問題が生じてしまう．これにより，(1) については，ロボットに「赤」という連想キー

向きである．もし事前に決めたノードの数が学習すべを与えた際に，「りんご，りんご，りんご，夕日」といき連想対の数に比べて少ないと，途中から連想対を追加することができなくなる（文献8) で示されたアルゴ(2) については，ノードの増加に伴い計算時間が増加

リズムを実装すると，この場合はシステムが無限ループに陥ってしまう）．逆に学習すべき知識に対して多すぎるノードを与えると，本来は不要な計算時間とメモ

ルに拡張し，既知の知識が再度学習データとして入力

う連想結果を出力するといったことが起こってしまい，してしまうため，実用的な応答時間が得られなくなってしまう．

1.2 提案手法の特徴

リを浪費してしまう．このように，学習すべき知識の量を事前に決定することができない環境下で追加学習

本論文では，上述の追加学習の問題を克服し，かつ知
能ロボット等の連想記憶に求められるノイズ耐性，実を行うことは既存の手法では困難である．

数値データの取り扱い，1 対多の連想の機能を併せ持

なお，学習すべき知識の量を事前に決定することができない環境下で追加学習が可能な SOM が島田らにつ連想記憶モデル Associative Memory with SOINN（SOINN-AM）を提案する．提案手法は SOINN10) をよって提案されている9) ．しかし，以下の理由でこの連想記憶モデルに拡張したものであり，ひとつのノードでひとつの連想対を保持するタイプの連想記憶シス

手法を知能ロボットのための連想記憶モデルに拡張するのは難しい．実世界では，以前に学習したデータと同じクラスの学習データが再び入ってくることがありえる．例えば，「赤ならばりんご」という知識を学習した後に，再び「赤ならばりんご」という知識が入力されテムである．また，提案手法は SOINN と同様に学習中に自動的にノードが増殖・消滅するため，ノードの数を事前にユーザーが決めておく必要がない．そのため追加学習を行ったときに既存の知識が破壊されるこるという場合である．そのため，連想記憶システムは再び入ってきた知識が既に学習したデータか否かを判とが無いだけでなく，ノードの不足で知識の追加ができなくなることやノードが多すぎて計算時間やメモリ断できるメカニズムを備えていることが望ましい．そを浪費することを避けることができる．この特徴によのようなメカニズムが無いと，学習済みの知識が再び学習データとして入力された際に，新たな知識と解釈

り，提案手法は学習すべき知識の量を事前に決定することができない環境下における追加学習に適したもの

して再学習してしまうために，「赤」という連想キーにとなっている．
提案手法は追加学習に加えて，高いノイズ耐性を持対して，「りんご，りんご」という冗長な出力を返してしまうことや，使用される記憶容量が無限に増え続け，計算時間とメモリを浪費してしまうことが起こりうる．
島田らの手法は，新たな学習データが入ってきた際に，それが既に学習したデータと同じクラスか否かを判断

ち，実数値データの取り扱いや 1 対多の連想を行うこともできる．上述のとおり，これらは知能ロボットやエージェントに適用する際に必要となる機能である．
実環境におけるノイズには Fig. 1 に示したような 2するメカニズムを備えていない．そのため，既知の知識が再度入力されると未知のデータとして扱ってしま種類がある．Fig. 1(a) の左側のデータはオリジナルのデータにノイズが混じったデータである．Fig. 1(b)い，本来不要なノードを新たに生成してしまう．すな

はオリジナルのデータとは全く無関係なデータを表日本神経回路学会誌 Vol. 15, No. 2（2008）

100

す．Fig. 1(a) の左側のデータが入力されたときには，Fig. 1(a) の右側のデータが入力されたと判断できることが望ましい．Fig. 1(b) が入力されたときには，未知データであると判断できなければならない．提案手法
はこれらを行うための機能を備えている．この 2 タイプのノイズに対応している連想記憶システムとして文献11) で提案されたものがあるが，これは自己想起型連想記憶モデルであるため異なるパターン間の連想を行うことができないほか，ネットワークサイズが固定であるため学習すべき知識の量を事前に決定することができない環境には不向きである．
また，提案手法は実数値データを扱うことができる．
実数値データを扱うことを目的にした連想記憶モデル

Fig. 2 Flowchart of the algorithm of SOINN.

は従来研究にもあるが12)，追加学習を行えないため事前にすべてのデータを列挙できない環境での利用には

つ い て 述 べ る ．SOINN は Growing Neural Gas

適さない．1 対多の連想については，先述のとおり任（GNG）15) を拡張した教師なし追加学習手法である．

意の整数 a について 1 対 a の連想を同時に行えることが望ましいが，提案手法はこれも行える．従来の 1 対

SOINN はひとつの重みベクトルを保持するノードが多の連想記憶モデルは文献13)で提案されているものが自律的に増殖・消滅するニューラルネットワークモデ
ルである．ノードが増殖する際には，必要に応じてエッ代表的であるが，これは事前に 1 対何の連想を行うかを定めておかねばならず，例えば事前に 1 対 3 の連想ジと呼ばれる仮想的な線でノードが結合される．エッジを辿って互いに到達できるノード同士を同じクラスを行うために生成したネットワークで 1 対 5 や 1 対 10の連想を行うことはできない．文献8) で提案されていタと見なすことで，SOINN は入力されるベクトルのるシステムは単一のネットワークで任意の a について

クラスタリングを行う．エッジは年齢と呼ばれるパラメータを持っており，事前に設定した値以上の年齢に1 対多の連想を行うことができるが，連想を行う際に1 対何の連想を行うのかをユーザーがシステムに与える必要がある．提案手法は 1 対何の連想を行うべきかなったエッジは削除される．
以下，Fig. 2 で表される SOINN の学習アルゴリズ
ムを述べる．SOINN にベクトルが入力されると，既をユーザーが与える必要がなく，システムが自動で判断することができる．

存のノードの持つ重みベクトルとの間でユークリッド
距離を計算し，最も近いノード（第 1 勝者）及び 2 番目

さらに，提案手法は，新たに入力された学習データに近いノード（第 2 勝者）を見つける．そして，ノーが，既に学習済みかどうかを判断することができる．
そのため，既知の知識が再度学習データとして入力さドが持つ類似度閾値を用いて，入力ベクトルが第 1 勝
者と同じクラスタに属するか判定される．ノード i のれるという状況下で運用しても，本来同じはずの出力が複数得られることや，同じクラスの学習データが繰り返し入ってくるとノードが無限に増え続けるということを回避することができる．
なお，本手法はレター論文14)で速報されている．レ
ター論文では，紙数の関係でアルゴリズムの記述およ類似度閾値 di は次式で求める．
（本論文では a − bは a と b のユークリッド距離を表す）

8
<

di =

:

max

Wi − Wk 

( Ni = ∅)min

Wi − Wk 

( Ni = ∅)k-th node∈Ni
k-th node∈A(1)

び実験による評価が不十分であった．本論文では，提案手法のアルゴリズムの詳細を述べると共に，実験でここで，Ni はノード i とエッジで結ばれているノード

Precision および Recall を評価尺度として用いることの保持する重みベクトルである．Ic を入力ベクトル，
Wr , Wq を第 1 勝者と第 2 勝者の重みベクトル，dr , dq

で本手法の有効性を示す．

2. SOINN の概要
ここでは提案手法の基となった Self-Organizing

Incremental Neural Network（SOINN）10) の概要に全ての集合，A は全てのノードの集合，Wi はノード i

を第 1 勝者と第 2 勝者の類似度閾値としたとき，

 Ic − Wr > dr ,  Ic − Wq > dq(2)が共に成り立てば同じクラスタに属さないと判定され，

須藤明人・他：ノイズのある環境下での追加学習が可能な連想記憶システム

101

Fig. 3 The structure of SOINN-AM.
入力ベクトルを重みベクトルとして保持する新たなノードを生成する．一方，(2) の不等式のどちらかが成り立たないときには，同じクラスタに属すると判定される．その場合は新たなノードの生成は行わず，第 1 勝
者と第 2 勝者をエッジで結合した後，第 1 勝者の重みベクトルと，第 1 勝者とエッジで結合されているノードの重みベクトルに下式 ΔWr 及び ΔWi をそれぞれ加える．

1(Ic − Wr )
μr
1
ΔWi =
(Ic − Wi )
100μr

ΔWr =

Fig. 4 Flowchart of the learning algorithm.

アルゴリズムは学習フェーズと想起フェーズに分かれている．学習フェーズでは，ノードやエッジを自律的に増殖させることで入力された連想対を学習する．

(3)

想起フェーズでは，連想キーにあたるベクトルひとつ(4)が入力され，その入力に対応するベクトルが想起結果として出力される．

SOINN-AM は SOINN と同様に自律的にノードが数である．同じクラスタに属すると判定された場合は，増殖するため，学習すべき知識の量を事前に決定することができない環境下で追加学習を行う際に，既存のさらに第 1 勝者に結合しているエッジの年齢を増やし，事前に設定した値以上の年齢となったエッジを削除す

知識を破壊しないことはもちろんのこと，ノードの不足や過剰に悩まされない．また，以下で述べるパラメー

る．最後に，入力が一定回数与えられるごとに，エッタ δr とプロトタイプノードにより Fig. 1 に示したふ

ジを持たないノードを削除する．

たつのタイプのノイズへの耐性を持つ．SOINN-AMのノードは 2 値ベクトルだけでなく実数値ベクトルもここで，μr は第 1 勝者がこれまでに勝者になった回

3. 提 案 手 法
3.1 提案手法の概要
ここでは提案手法の概要を述べる．アルゴリズムの
詳細は 3.2 節および 3.3 節で述べる．Fig. 3 に示したとおり，提案手法 SOINN-AM は入力層と競合層を持保持できるため，実数値ベクトルを扱うことができる．
また，連想キーの一度の入力で複数のノードが発火することが可能であるため，1 対多の連想も行うことができる．さらに，SOINN-AM は学習データが既存のノーつニューラルネットワークモデルである．競合層におドと同じクラスタに属するかを判断し，同じクラスタに属さない場合のみノードを追加するという SOINN

いては，SOINN と同様にノードの数を事前に設定する必要がなく，エッジを用いて結合されながら自律的と同様の機能を持っているため，新たな学習データが既に学習済みかどうかを判断し，新しい知識のみを獲にノードが増殖していく．SOINN-AM でも競合層のエッジを辿ってたどり着けるノードを同じクラスタと得するということを行える．それによって，本来同じ見なす．また，エッジが年齢を持ち，事前に設定した値以上になったエッジが削除されることも SOINN と同様である．一方，ひとつのノードがふたつのベクト

はずの複数の出力が連想結果として得られることや，ノードが無限に増え続けることによる計算時間やメモ
リの浪費を避けられる．

3.2 学習フェーズのアルゴリズム

ルを保持するということが SOINN と異なる．このふ

ここでは，Fig. 4 で表される SOINN-AM の学習ア

たつのベクトルは連想対に対応しており，SOINN-AM
はひとつのノードにひとつの連想対を保持することにルゴリズムを述べる．ここで述べるアルゴリズムは 1回の学習についてである．SOINN-AM が連想対を学なる．

習するためにはひとつの連想対について複数回の学習

102

日本神経回路学会誌 Vol. 15, No. 2（2008）

が必要である．その学習回数については事前に設定しておくことが必要である．
学習フェーズにおいて入力層は学習すべき連想対（学習データ）としてベクトルのペア (F, R) を受け取る．

F ∈ Rm ，R ∈ Rn とする．このふたつのベクトルは
"
#
F
X=
(5)
R
のようにひとつのベクトル X に結合された後，Ic = X + nσi

Fig. 5 Flowchart of recall algorithm.
(6)のように平均 0，分散 σi2 のガウス分布 N (0, σi2 ) から発生したベクトルによって摂動を加えられる．すなわ

なお，SOINN-AM の学習データに摂動を加えるのは，学習データに混入したノイズに耐性を持たせるための処置である．学習データに摂動を加えることで競合層にクラスタが形成され，それによって，学習中のち，nσi ∼ N (0, σi2 ) である．このように求めた Ic を競合層へ入力する．

Fig. 1(b) のタイプのノイズを除去するための手順であ競合層に Ic が入力されると，まずは Ic に最も近い
重みベクトルを持つノード（第 1 勝者）と 2 番目に近るエッジを持たないノードを削除する際に，ノイズのみを除去することが可能となる．摂動を加えずに記憶い重みベクトルを持つノード（第 2 勝者）を探す．距するほうが連想精度は向上すると思われるが，摂動がガウス分布から発生させたものという性質がわかって

離尺度はユークリッド距離である．その後，2 章で述べた方法とまったく同じ手順で Ic が第 1 勝者および第 2
勝者と同じクラスタに属するかが判定される．もし同じクラスタには属さないと判定されれば，Ic を重みベクトルとして持つノードを競合層に新たに生成し，その入力データについての処理を終了する．もし同じクラスタに属すると判定されたなら，Ic を重みベクトルに持つノードは生成せずに，次に述べる方法で競合層いる以上は，重心のプロトタイプノードを利用して出力すれば，摂動を加えても連想精度がわずかに落ちるだけで，十分な連想精度は得られる．摂動を加えたことでわずかに連想精度が落ちたとしても，学習中のノイズを除去できるというメリットのほうが大きい．
また，学習させた連想対の数と生成されたプロトタ
イプノードの数が一致しない限り，正しく学習できたとのノードやエッジをアップデートする．まず，第 1 勝
者と第 2 勝者を同じクラスタとするために，それらのは言えない．なぜならば，プロトタイプノードの数が学習させた連想対の数を下回れば，連想できないパター

間に年齢 1 のエッジを生成する．もし既にエッジが存ンが出現し，逆の場合は，連想対によっては連想キー
から本来ならば同一クラスタになるべき連想パターン

在していれば，そのエッジの年齢を 1 に戻す．次に，第1 勝者が第 2 勝者以外のノードとの間にエッジを持っていればそのエッジの年齢を 1 増やす．このとき事前に定めたパラメータ Λedge を越えたエッジは削除される．また第 1 勝者の重みベクトル Wr ，および第 1 勝
者とエッジでつながっているノードの重みベクトル Wiに，それぞれ式 (3) および式 (4) の ΔWr と ΔWi を加える．そして，これまでに入力された学習データのが別クラスタから複数想起されてしまうからである．
生成されたプロトタイプノードの数を確認することは難しいことではないので，実際に SOINN-AM を運用する際にはプロトタイプ数を監視する仕組みをシステムに実装するとよい．
3.3 想起フェーズのアルゴリズム
ここでは Fig. 5 で表される想起フェーズのアルゴリ

総数が事前に設定したパラメータ λ の整数倍であるな
らばエッジを持たないノードを削除する．最後に，各ズムについて述べる．
Fig. 3 の F 部または R 部のみにベクトルが入力されクラスタに属するノードの重みベクトルの平均を重みると，競合層は入力されたベクトルから次式で生成された Ic を受け取る．

ベクトルとして持つノードを，全てのクラスタについて生成する．このノードは想起フェーズでのみ使われる特殊なノードであり以下でプロトタイプノードと呼ぶ．このプロトタイプノードを想起フェーズで用いることで，学習データに加えた摂動をキャンセルした本
来の学習データを想起することができる．

須藤明人・他：ノイズのある環境下での追加学習が可能な連想記憶システム

#
8 "
>
F
>
>
>
>
0
>
<
Ic =

Table 1 Parameter settings.
(if F is presented)
(7)

"
#
>
>
>
0
>
>
>
:
R

(if R is presented)

8Ic −WiF 
>
√
>
<
m
>
R
>

: Ic −W
√ inMethodSOINN-AM
BAM
with PRLAB
KFMAM

競合層が Ic を受け取ると，

dk↔i =

103(if F is presented)(8)(if R is presented)

KFMAM-FW

Values of ParametersΛedge = 50, λ = 100, σi2 =0.02
λ = 1.9, ζ = 0.1
α0 = 0.1, σt = 3.0, σf = 0.5,
T = 2500
α0 = 0.1, σt = 3.0, σf = 0.5,
T = 2500, df = 10−3によって Ic と全てのノード i の重みベクトルの距離を計算する．ここで

"

Wi =

WiF
WiR

#
(WiF ∈ Rm , WiR ∈ Rn )(9)

Fig. 6 Example of facial images employed in theexperiment.

である．この dk↔i と事前に設定したパラメータ δr について dk↔i < δr となるようなノード i が全て発火し，発火したノードの属するクラスタのプロトタイプ
ノードの重みベクトル Wρ を用いて出力 O が次式で生成される．

#
8 "
>
0
>
>
>
>
WρR
>
<

O=

"
#
>
>
>
WρF
>
>
>
:
0

ここで

Wρ =

"

WρF
WρR

Fig. 7 7×7 pixels binary images.

(if F is presented)(10)(if R is presented)

ラメータは文献8, 16) で用いられている値に従った．学習回数については，提案手法はひとつの連想対を 50 回ずつ学習し，BAM with PRLAB，KFMAM は重みベクトルが変化しなくなるまで，また，KFMAM-FW#

は重みベクトルが固定されたノードができるまで学習(WρF ∈ Rm , WρR ∈ Rn )(11)を行った．提案手法の学習回数やパラメータの設定は，試行錯誤によって決定した．むすびの章で詳述するとである．もし，dk↔i < δr となるノード i が複数存在
し，それらが異なるクラスタに属していれば，出力 O

おり，学習回数やパラメータの自動決定は今後の課題

は複数存在する．このとき 1 対多の連想を行っていることになる．逆に発火するノードがひとつも存在しな
ければ，入力された連想キーがこれまでに学習したデー
タとまったく異なるものであると判断し，“Unknown”と出力する．

4. 実

験

として残る．
データは Fig. 6 のような AT&T の顔画像データベースの 92 × 112 ピクセルグレースケール画像を用いたが，追加学習性能とノイズ耐性の実験で従来手法と比較を行う際には，Fig. 7 に示した 7 × 7 ピクセルの 2 値
画像を利用した．これは比較手法が 2 値データしか扱えないためである（KFMAM や KFMAM-FW は原
理的には実数値データを扱えると思われるが，文献6, 8)

追加学習性能，1 対多の連想，ノイズ耐性についてそ
れぞれ評価実験を行った．比較実験に用いた手法は知では 2 値データしか扱っていないため公平性の観点か
ら 2 値データでの比較実験とした）．グレースケール

識を分散して記憶するタイプの BAM with PRLAB16)

画像を入力する際には，各ピクセルの値を区間 [−1, 1]と，競合学習型モデルの KFMAM6) および KFMAM
を追加学習のために拡張した KFMAM-FW8) を用いに規格化した値を要素として持つベクトルとして入力
し，2 値画像は白色を −1，黒色を +1 とした値を要素た．パラメータ設定を Table 1 に示す．比較手法のパとして持つベクトルを入力した．

104

日本神経回路学会誌 Vol. 15, No. 2（2008）

4.1 追加学習性能の確認実験
提案手法が追加学習を適切に行えることを確かめる
ため，逐次的に連想対を与えて学習させ，学習後に想起を行わせた．
4.1.1 グレースケール画像を用いた実験
グレースケール画像を用いて SOINN-AM に連想をTable 2 Recall and precision on sequential learning.
δr (×10−2 ) 0.1 0.14 [0.15, 30
40
60
25]
Recall
0
0.4
1
1
1
1
Precision
1
1
1
0.94 0.22 0.05

行わせた．学習データは 1 対 1 の連想対を 20 組である．この学習データを追加的に学習した．上で学習回
数を 50 回と設定したので，最初の連想対を 50 回学習した後に次の連想対を 50 回学習することになる．

SOINN-AM がこの学習データを学習するのに，Intel
Xeon Processor 3.60 GHz，2 GB RAM のマシンを用いて 27 分 11 秒の時間を要し，101 個のノードが生成された．プロトタイプノードは 20 個生成された．これは学習データの連想対の数と一致している．
学習後，連想対の一方を与えて想起させ，出力を見た．学習させた 20 組の連想対の一方を与えたので，20回の想起を行わせたことになる．評価尺度としては次Fig. 8 (a) The recalled image for noiseless associative key. (b) The original image.

式で求められる Recall と Precision を用いた．

Nα
Nβ
Nα
Precision =NδRecall =

(12)
(13)

という十分に広い範囲であることがわかる．Fig. 8 にSOINN-AM の出力と正解画像の例を示した．この例

ただし，Nα はシステムの出力中の正解の数，Nβ は正解の誤差は 0.126 である．先述の通り，0.3 を下回る誤差の真の数，Nδ はシステムが出力した数を表し，システ
ムが出力した数がゼロの場合は，Recall を 0，Precision

は十分に小さな値であり，実際，Fig. 8(a) および (b)が異なる画像であることは筆者らは目視では判断がつを 1 とする．グレースケール画像を用いた実験では，出力された画像と正解の画像とのユークリッド距離が 0.3

かない．
また，既知の知識が再度学習データとして入力されを下回った場合に正解とみなし，2 値画像を用いた実験

るという状況下で追加学習を行うときに，SOINN-AM

では，出力されたベクトルの各成分を正値ならば +1，
負値ならば −1 として 2 値化したものが正解の画像とが，新たに入力された学習データが既に学習済みかどうかを判断でき，それによって，本来同じはずの出力一致した場合に正解とした．グレースケール画像の画が複数得られてしまったり，ノードが無限に増え続け

素の総数は 10304 なので，ユークリッド距離が 0.3 の場合の画素あたりの誤差は 2.9 × 10−5 と十分小さいこ

るということを避けられるのかを確認する実験を行った．そのため，上述の 1 対 1 の連想対 20 組の全てをとに注意されたい．この Recall と Precision はトレーの値を十分に大きくすると既知の知識のすべてを出力する．この場合，Unknown と出力すべき場合を除き，50 回ずつ学習することを 5 回繰り返すということを
SOINN-AM に行わせた．つまり，1 対 1 の連想対 20
組の全てを 50 回ずつ学習することを 1 セット学習すると呼ぶことにしたとき，SOINN-AM は 5 セット学習したことになる．そのように学習させたところ，1

その出力の中には正解が含まれるため Recall は 1 とな

セット目の学習においては，ノードの数は次第に増加

るが，誤った結果まで出力してしまうため Precision は低下してしまう．逆に δr の値を十分に小さくすると，していったが，2 セット目の学習以降ではノード数は増え続けるということはなく，5 セット目の学習が終ドオフの関係にあるが，提案手法ではパラメータ δr を変化させることで Recall と Precision が上下する．δr

本来出力すべき画像が出力されなくなるため，Recall

わるまで 141 個以下で振動した．また，5 セット学習が低下してしまう．
Table 2 が結果である．Recall-Precision がともに 1後のプロトタイプノードの数は 20 個であり，1 セット
学習後のプロトタイプノード数と変わらなかった．5となるようなパラメータ δr の範囲は，0.0015 から 0.25

セット学習後の SOINN-AM に δr = 0.2 のもとで，20

須藤明人・他：ノイズのある環境下での追加学習が可能な連想記憶システム

個の連想キーを与えたところ，本来同じはずの出力が複数得られてしまうということは生じず，かつ，出力Table 3 Result on sequential learning.
MethodPerfect
RecallSOINN-AM
BAM with PRLAB
KFMAM(64 nodes)
KFMAM(81 nodes)
KFMAM(100 nodes)
KFMAM-FW(16 nodes)
KFMAM-FW(25 nodes)
KFMAM-FW(36 nodes)
KFMAM-FW(64 nodes)

100%
3.8%
31%

された画像と正解の画像とのユークリッド距離は 0.3を下回っていた．以上の結果から，SOINN-AM の持つ，新たに入力された学習データが，既に学習済みかどうかを判断する機能がうまく働いており，それにより，本来同じはずの出力が複数得られてしまったり，ノードが無限に増え続けるということを避けられることがわかる．

4.1.2 2 値画像を用いた実験
Fig. 7 の 2 値画像を用いて追加学習性能について
従来手法と比較実験を行った．学習させた連想対は(A, a), (B, b) のようなアルファベットの大文字と小文字のペア 26 対とし，アルファベットの並び順に逐次的にシステムへ入力し，学習を行わせた．つまり，(A, a)という連想対を学習し終えた後に (B, b) という連想対の学習を開始するといった具合に学習していき，最後に(Z, z) を学習して学習終了とした．SOINN-AM がこれを学習するのに，Intel Xeon Processor 3.60 GHz,
2 GB RAM のマシンを用いて 4 秒の時間を要し，99個のノードが生成された．プロトタイプノードは 26 個

105

38%

Correctly
Recalled Imagesa–zzo, p, r, v – z

100%h, l, o, p, r,v–zd, h, l, o, p,
r, v – z(Inﬁnite
Loop)(Inﬁnite
Loop)
a–z

100%

a–z

42%
–
–

生成された．これは学習データの連想対の数と一致している．
学習後，大文字のアルファベットのみを入力し，対応する小文字が正しく出力されるかを見た．ここでは δr は 0.15 とした．その結果が Table 3 である．

SOINN-AM と，ノードを事前に 36 個または 64 個与えた KFMAM-FW の Recall が 100%だった一方で，それ以外の手法は 50%に満たない．ただし，ノードの数が 16 個または 25 個の KFMAM-FW はノードの数

Fig. 9 Recalled patterns (upper row) and the desired outputs (bottom row).

の不足のため学習中に無限ループに陥ってしまった．
すなわち KFMAM-FW は事前に学習すべき連想対の数がわかっており，それにあわせて事前にノードの数を設定できる状況でないとうまく働かない．以上の結Fig. 10 Examples of training data for one-to-ﬁve
association.

果は，事前に連想対の数がわかっていない環境においては，SOINN-AM 以外の手法は追加学習を適切に行えないことを示している．

て 2 通り用意した．ひとつは，Fig. 10 に例が示されている 1 対 5 の連想対である．この学習データは，正面

参考までに Fig. 9 に BAM with PRLAB 及び KFMAM の想起結果例を示す．これらの手法では，後半に学習させた z は想起できたが，前半に学習させた aや b については大きく誤った結果となっている．これ

顔画像と異なるアングルで撮影された顔画像 5 枚からなる連想対であり，これを 20 人分用意した．つまり 1
対 5 の連想対を 20 ペア用いたということである．も4.2 1 対多の連想の確認実験

うひとつの学習データは Fig. 11 に示す 1 対 5，1 対 4，
1 対 3，1 対 2 の連想対である．これらの学習データ
を別の SOINN-AM に逐次的に与え学習させた．前者の学習データについてプロトタイプノードは 100 個生

SOINN-AM に対して一対多の連想対を学習させ，正成され，後者の学習データについてプロトタイプノー

しい出力を得られるか検証を行った．学習データとし

ドは 14 個生成された．どちらも学習データの連想対は，新たな学習によってそれ以前に学習した記憶が失われるという問題が引き起こした結果である．

106

日本神経回路学会誌 Vol. 15, No. 2（2008）

Fig. 12 Recall and precision when the system recalled from noisy data.
イプのノイズが混入したデータの入力に対しては，そのFig. 11 Training data for one-to-many association.
Table 4 Recall and precision on one-to-ﬁve association.
δr (×10−2 ) 0.1 0.142 [0.15, 35
40
50
30]
Recall
0
0.95
1
1
1
1
Precision
1
1
10.68 0.28 0.06

入力がノイズが混入する前のオリジナルのデータであると判断でき，オリジナルのデータが入力された際に想起すべきデータを出力することがシステムには求められる．また Fig. 1(b) のタイプのノイズの入力に対しては，学習済みの知識ではないと判断でき，“Unknown”と出力することがシステムには求められる．
4.3.1 グレースケール画像を用いた実験
4.2 節の実験で用いた 1 対 5 の連想対 20 人分からなる学習データを SOINN-AM に逐次的に与えて学習

Table 5 Recall and precision on one-to-many association.
δr (×10−2 ) 0.1 0.14 [0.15, 35 40
50
30]Recall
0 0.431
1
1
1
Precision
1
1
1
0.5 0.29 0.07の数と一致している．
学習後，δr を変化させながら，Fig. 10 の 1 対 5 の連想対を学習した SOINN-AM に対しては正面顔を，Fig. 11 の連想対を学習した SOINN-AM に対してはFig. 11 で Associative Keys とされている画像を入力して想起を行わせた．その結果，前者の SOINN-AM については Table 4，後者の SOINN-AM については Table 5 に示す結果を得た．どちらの場合も，SOINN-AM
は δr ∈ [0.0015, 0.3] の場合に Recall および Precision
が 1 となることがわかる．この範囲は十分に広いものである．Table 2，Table 4 および Table 5 を比較すると，Recall と Precision がともに 1 となる δr の範囲はほとんど同じであり，1 対 1 でも 1 対多の連想であっても適したパラメータは変わらないことがわかる．

4.3 ノイズ耐性の確認実験
1.2 節で述べたように，実環境では Fig. 1 に示したふたつのタイプのノイズが存在している．Fig. 1(a) のタ

させた後，2 タイプのノイズに相当する連想キーを入力し，ノイズ耐性を検証した．4.1，4.2 の実験結果をふまえ δr = 0.2 と設定した．
まず，Fig. 1(a) のタイプのノイズに対する耐性を確かめるため，原画像にホワイトノイズが加わった画像
を連想キーとして想起させ，Recall と Precision を算出した．Fig. 12 に結果を示す．Fig. 12 の横軸は下式の SN 比であり，数値が大きいほどノイズが少ないことを意味する．

SN ratio = 10log10

„ «2
S
σ

(14)

ここで S は入力画像の各ピクセルが取りうる値の幅であり，本実験では S = 2 である．

σ は連想キーに加えたノイズが従う正規分布の偏差である．式 (6) の σi とは無関係であることに注意されたい．

Fig. 13(a) は SN 比が 20 の画像であり，提案手法は
このようなノイズあり画像からでも，Fig. 8(a) のようなノイズの無い画像を連想キーとした時と同様の画像を想起できた．また，SN 比 20 前後で Recall が急激に低下しているが，これはノイズの増加にともなって，
連想キーの画像と学習時の画像とのユークリッド距離が δr を超えて大きくなったためである．Fig. 13(b) の
画像は SN 比が 18 の画像であり，ここまでノイズが須藤明人・他：ノイズのある環境下での追加学習が可能な連想記憶システム

Fig. 13 (a) An image whose SN rate is 20. (b) An
image whose SN rate is 18.

107

Fig. 15 Sensitivity to noise added to the originalassociative keys.

るとよい．提案手法は，現時点では同一クラスの未学
習パターンについて，汎用的に利用可能であるとはいえない．むすびの章でも述べるとおり，これは今後の課題である．

4.3.2 2 値画像を用いた実験
他手法との比較のため，2 値画像を用いて 2 タイプのノイズへの耐性を検証した．学習データは，4.1.2 節での実験と同じくアルファベットの大文字から小文字へ

Fig. 14 The output when the associative key was
white noise or unknown image.

の連想対（26 ペア）であり，連想キーはアルファベッ
トの大文字とした．KFMAM 及び KFMAM-FW のノードの数は 100 とし，δr = 0.15 とした．
まず，Fig. 1(a) のタイプのノイズへの耐性を検証す増えると SOINN-AM は既知の画像ではないと判定するため，0%から 26%のバイナリノイズをオリジナル

る．ただし，Recall は低下しているものの Precisionは低下しておらず，誤った解を想起結果として返すこの連想キーに加えたものを，各ノイズレベルについて
100 組ずつ作成して連想キーとして与えた．その結果とはない．

を Fig. 15 に示す．

次に，Fig. 1(b) のタイプのノイズに対する耐性を確認するため，Fig. 14 に Associative Keys と示され図中の Noise Level はバイナリノイズの含有率であり，データの各ビットがノイズによって反転する確率ているホワイトノイズ及び未学習の画像を連想キーとを意味する．また，図中で batch learning と示されてして入力し想起させた．その結果，いずれの連想キーに対しても既知のどの知識とも一致しない未知入力といる正解率は，バッチ学習で連想対を学習させた場合の正解率であり，山田ら8) によって報告された数字とSOINN-AM は判定し “Unknown” と出力した．

ほぼ同じだということに注意されたい．このことは，
本実験が信頼できるものであることの裏づけである．

ここでさらに，提案手法を一般画像認識17)といったタスクに適用することを考える．このタスクでは，学
習データとは異なる画像が入力されたときに，その入力が既学習データと同じクラスに属するかどうかを判別できることが望まれる．例えば，ある場所でネコを写した画像を学習データとしたとき，それとは異なる場所で異なるネコを写した画像に対し，そこにネコという同一のクラスの対象が写っていることが理解でき

Fig. 15 より，ノイズの含有率が 20%の時に SOINNAM が正しく想起できたのは学習した連想対の 92.3%だ
ったが，他手法は 70% 以下となった．さらに，ノイズが24%となると SOINN-AM の正解率は 88.8% であったが，他手法は 49%以下となり，提案手法は，Fig. 1(a)のタイプのノイズに対して代表的な従来手法を越える耐性があることが示された．

日本神経回路学会誌 Vol. 15, No. 2（2008）

108

だけでなく，知能ロボットに適用する際にはロボットの自律的な活動を妨げる要因にもなりかねない．パラメータを試行錯誤によってではなく，学習対象によって自動的に決定する手法を見つけることは課題として残る．

Fig. 16 Recalled patterns when the associative
keys were random patterns. (a)SOINNAM. (b)BAM with PRLAB on bacth
Learning. (c)KFMAM. (d)KFMAM-FW.

今後，上記の課題を解決し，ロボットに提案手法を適用することを予定しているほか，提案手法を拡張して推論などの複雑なタスクを行えるようにする予定である．
また 4.3.1 節で述べたように，提案手法は現時点で次に，Fig. 1(b) のタイプのノイズへの耐性を検証

は一般物体認識17)といったより高度なタスクに適用することはできない．我々はこうしたタスクに適用可能

するため，各画素がランダムに +1，−1 の値をとるとする方向にも，提案手法を拡張することを検討して

2 値画像を連想キーとして入力し想起結果を見た．その結果を Fig. 16 に示す．SOINN-AM はこのようないる．具体的には，提案手法の自己連想機能を大幅に拡充することが鍵になると考えられる．

データが入力された場合，未知の連想キーであって対応する想起結果は存在しないと判定し “Unknown” と出力した．一方，BAM with PRLAB，KFMAM 及び KFMAM-FW は無意味な画像を想起結果として出力した．SOINN-AM は未知のデータに対して，そのデータが未知であることを判断でき “Unknown” と出力することができる一方で，BAM with PRLAB，KFMAM，及び KFMAM-FW は未知の連想キーに対して無意味な想起結果を返してしまうという問題を抱えていることが確認された．

5. む

す

び

自己増殖型ニューラルネットワーク SOINN を拡張した新たな連想記憶システム SOINN-AM を提案した．
提案手法は実験で示したように，逐次的に与えられる連想対を既存の記憶を壊すことなく学習することができる．また，学習中にノードが自律的に増殖・消滅するため，ノードの数を事前に決定する必要が無く，学習すべき連想対の総数が事前にわからない環境に適している．また，実環境に存在する 2 タイプのノイズの両方に対して耐性を持つ．さらには，実数値データを取り扱うことができ，1 対多の連想も行うことができる．
これらの機能は実世界で自律的に活動する知能ロボッ
トやエージェントにとって必要不可欠な機能である．
しかしながら，実験の章で述べたとおり，学習回数やパラメータの設定は現時点では試行錯誤に頼っている．
提案手法が学習を正しく行うためには Λedge ，λ，σi および学習回数を適切に設定する必要があり，想起を正しく行うためにはこれらのパラメータに加えて δr を正しく設定する必要がある．これらのパラメータを試行
錯誤によって定めることは，ユーザーに負担を強いる

参

考 文

献

1) Bisler, A. (2004): An associative memory forautonomous agents, Proc. the Fourth International Conference on Intelligent Systems Design and Applications
2) Rhodes, B.J. (2000): Margin notes: Building a contextually aware associative memory,
Proc. the International Conference on Intelligent User Interface (IUI’00), pp.9–123) Itoh, K., Miwa, H., Nukariya, Y., Zecca, M.,
Takanobu, H., Dario, P., and Takanishi, A.
(2005): New memory model for humanoid
robots—introduction of co-associative memory using mutually coupled chaotic neuralnetworks, Proc. the 2005 International Joint
Conference on Neural Networks (IJCNN’05),
pp.2790–2795
4) Mizutani, K. and Omori, T. (1999): On-line
map formation and path planning for mobile
robot by associative memory with controllable
attention, Proc. the 1999 International Joint
Conference on Neural Networks (IJCNN’99),
pp.2051–2056
5) Kosko, B. (1988): Bidirectional associative
memories, IEEE Trans. Systems, Man, andCybernetics, Vol.18, No.1, pp.49–60
6) Ichiki, H., Hagiwara, M., and Nakagawa, M.
(1993): Kohonen feature maps as a supervised learning machine, Proc. the IEEE International Conference on Neural Networks,
pp.1944–1948
7) French, R.M. (1991): Using semi-distributed
representation to overcome catastrophic forgetting in connectionist networks, Proc. Pm.
of the 13th Annual Cognitive Science Society須藤明人・他：ノイズのある環境下での追加学習が可能な連想記憶システム

Conference, pp.173–178
8) Yamada, T., Hattori, M., Morisawa, M., andIto, H. (1999): Sequential learning for associative memory using Kohonen feature map,
Proc. the 1999 International Joint Conference
on Neural Networks (IJCNN’99), pp.1920–
19239) 島田敬士，谷口倫一郎（2007）：密度可変型自己
組織化マップによる追加学習の実現法, 日本神経回路学会誌, Vol.14, No.2, pp.71–78
10) Shen, F. and Hasegawa, O. (2006): An incremental network for on-line unsupervised classiﬁcation and topology learning, Neural Networks, Vol.19, No.1, pp.90–106
11) 長名優子，萩原将文（1999）：カオスニューラル
ネットワークにおける逐次学習, 信学論（D-II）,
Vol.J82-D-II, No.1, pp.83–90
12) Sussner, P. and Valle, M.E. (2006): Grayscale morphological associative memories,
IEEE Trans. Neural Networks, Vol.17, No.3,

109

pp.559–570
13) Hagiwara, M., Multidirectional associative
memory (1990): Proc. the 1990 International Joint Conference on Neural Networks(IJCNN’90), pp.3–6
14) 須藤明人，佐藤彰洋，長谷川修（2007）：ノイズのある環境下でオンライン学習が可能な自己増殖型ニューラルネットワークを用いた連想記憶モデ
ル, 情報科学技術レターズ, Vol.7, pp.189–192

15) Fritzke, B. (2004): A growing neural gas
network learns topologies, Proc. Advancesin Neural Information Processing Systems(NIPS), pp.625–632
16) Oh, H. and Kothari, S.C. (1994): Adaptationof the relaxation method for learning in bidirectional associative memory, IEEE Trans.
Neural Networks, Vol.5, No.4, pp.576–583
17) 柳井啓司（2006）：一般物体認識の現状と今後, 情報処理学会研究報告［コンピュータビジョンとイ
メージメディア］, No.93, pp.121–134