(57)【特許請求の範囲】
【請求項１】
連想記憶装置であって、
前記連想記憶装置が連想の対象とする個々の事物又は概念を表す各事象に対応してそれぞれ設けられた事象ニューロンと、
前記各事象が持つ各特徴ごとに特徴ニューロンを有する特徴層と、
前記各事象に対応してそれぞれ設けられた抽象特徴層と、
を備え、
前記各特徴はそれぞれ当該特徴が属する各領野ごとに分類され、前記各抽象特徴層はそれぞれ、前記各領野に対応する各抽象特徴ごとに抽象特徴ニューロンを備え、
前記各抽象特徴層に含まれる各抽象特徴ごとの各抽象特徴ニューロンは、それぞれ、当該抽象特徴層に対応する事象の事象ニューロンに接続され、
前記各抽象特徴層に含まれる各抽象特徴ごとの各抽象特徴ニューロンは、それぞれ、前記特徴層内の各特徴ごとの特徴ニューロンのうち当該抽象特徴に属する特徴に対応する各特徴ニューロンに対し、当該抽象特徴ニューロンと当該抽象特徴に属さない特徴に対応する特徴ニューロンとの間の結合荷重よりも大きい結合荷重で接続され、
前記各特徴ニューロンの出力を、前記各抽象特徴層の各抽象特徴ニューロンで抽象特徴単位に統合して前記各事象ニューロンに供給することを特徴とする連想記憶装置。
【請求項２】
前記事象が持つ特徴に対応する特徴ニューロンと、当該特徴が属する抽象特徴に対応する抽象特徴ニューロンと、に対して入力を与える学習処理により、前記特徴層内の各特徴ニューロンと前記抽象特徴層内の各抽象特徴ニューロンとの間の各接続の結合荷重が調整されることを特徴とする請求項１記載の連想記憶装置。
【請求項３】
前記抽象特徴ニューロンに対して最小発火閾値と最大発火閾値を設定可能とし、前記抽象特徴ニューロンは、前記各特徴ニューロンからの入力の総和が最小発火閾値以上最大発火閾値以下である場合に発火して、その出力を前記事象ニューロンに供給することを特徴とする請求項１記載の連想記憶装置。
【請求項４】
学習時に、前記抽象特徴ニューロンに対する前記各特徴ニューロンからの入力の総和が最小発火閾値を下回るときはその総和により前記最小発火閾値を更新し、前記総和が最大発火閾値を上回るときはその総和により前記最大発火閾値を更新することを特徴とする請求項３記載の連想記憶装置。
【請求項５】
前記各事象ニューロンごとに、当該事象ニューロンに対応する事象に対して関連のない特徴ニューロンが発火した場合に当該事象ニューロンの発火を抑制する誤連想抑制手段を設けたことを特徴とする請求項１記載の連想記憶装置。
【請求項６】
前記誤連想抑制手段は、前記各抽象特徴ごとに、当該誤連想抑制手段に対応する事象の抽象特徴層と他の各事象の抽象特徴層の各々から当該抽象特徴に対応する抽象特徴ニューロンの出力を受け、この結果当該抽象特徴について当該誤連想抑制手段に対応する事象の抽象特徴ニューロンから発火出力がなく、他のいずれかの事象の抽象特徴ニューロンから発火出力があった場合に、当該事象ニューロンに対して発火抑制信号を供給することを特徴とする請求項５記載の連想記憶装置。
【請求項７】
前記各事象ニューロンごとに、
当該事象ニューロンに対応して設けられた抽象特徴層の各抽象特徴ニューロンからの入力を統合し、その統合結果を前記事象ニューロンに供給する入力統合手段と、
他の各事象の事象ニューロンに対して設けられた前記入力統合手段からそれぞれ前記統合結果を受け取り、これらを当該事象ニューロンに対応する事象の前記入力統合手段の統合結果と各々比較し、他の各事象の前記統合結果のうちいずれか１つでも当該事象ニューロンに対応する事象の前記統合結果より大きいものがあった場合に、当該事象ニューロンに対して発火抑制信号を供給する最適連想制御手段と、
を備えることを特徴とする請求項１記載の連想記憶装置。
【請求項８】
前記事象ニューロンの発火出力を前記抽象特徴層の各抽象特徴ニューロンに入力する手段と、
この入力に応じて発火した各抽象特徴ニューロンの出力を前記特徴層の各特徴ニューロンに入力する手段と、
を有し、それら各抽象特徴ニューロンからの入力に基づく前記各特徴ニューロンの発火により、前記事象ニューロンに対応する事象の持つ特徴を想起できるようにしたことを特徴とする請求項１記載の連想記憶装置。
【請求項９】
前記各抽象特徴ごとの抽象特徴ニューロンは、連想のために前記特徴層の各特徴ニューロンからの入力を統合する連想用ニューロンと、想起のために前記事象ニューロンからの入力から前記各特徴ニューロンに対する入力を生成する想起用ニューロンと、を含むことを特徴とする請求項８記載の連想記憶装置。
【請求項１０】
前記抽象特徴層の各抽象特徴ニューロンごとにその有効・無効をコンテクスト信号で指定可能とし、このコンテクスト信号にて無効と指定された抽象特徴ニューロンの発火を抑制することを特徴とする請求項１又は請求項８に記載の連想記憶装置。
【請求項１１】
事象からその事象に対応する特徴群を想起する動作と、特徴群からそれに適合する事象を連想する動作とを交互に繰り返すことにより、類似する事象を連鎖的に導き出すことを特徴とする請求項８記載の連想記憶装置。
【請求項１２】
前記事象ニューロンの発火の影響が前記抽象特徴層に伝わってから所定時間後に、前記抽象特徴層の各抽象特徴ニューロンの発火を抑制する信号を供給する手段を有することを特徴とする請求項１１記載の連想記憶装置。
【請求項１３】
前記各特徴ニューロンの発火出力は時間の経過に応じて所定の関数に従って減衰するよう設定され、過去に連想された事象の影響による特徴ニューロンの発火が前記関数に従って後の連想動作に影響を与えることを特徴とする請求項８記載の連想記憶装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、連想条件に適合する事象をニューラルネットワークにより連想する連想記憶装置に関するものである。
【従来の技術】
アソシアトロンと呼ばれる連想記憶モデル (K. Nakano,"Associatron-A model of Associative Memory", IEEE Trans. Sys. Man & Cybernetics, Vol.SMC-2, No.3, 1972) がよく知られている。このようなアソシアトロンは、記憶するパターンの数が増加すると、似たものを混同しやすくなるという問題が生じ、適切な回答を得ることが困難となることが知られている。似たものを混同しやすくなるという問題を除去するために、例えば特開平8-161415号公報では、人間並の思考を行うことができる人工知能装置を提案したと主張されている。この人工知能装置は図１０に示すように複数の領野Ｐkiに分けられた属性層Ｐと事象層Ｓ、連想制御部１、属性層Ｐと事象層Ｓとの間のニューラルネットワーク、から構成されている。この装置は、入力された事象と事象の属性に基づいた学習と、入力された属性に基づいた事象の認識、事象から事象の属性への想起、事象から他の事象への連想、２つ事象の比較操作を行うことができると説明されている。
【０００２】
【発明が解決しようとする課題】
しかし、この従来の人工知能装置は次の４つのことを考慮していなかった。
【０００３】
1.事象と事象の属性の関係について、人間の脳に事象という概念を形成するメカニズムはまだ明らかになっていないが、複数の具体的な事象を学習してある抽象的な事象概念を形成している可能性は高いと考えられる。例えば、"赤いリンゴ"、"青いリンゴ"、"黄色いリンゴ"などを学習した後、リンゴという抽象的な概念が形成される。そのとき、リンゴの"色"属性は"赤い"、"青い"、"黄色い"という３つの特徴量を持つ。認識・連想するときに、それら３色を表すニューロンの中のどれが発火しても（場合によってはその内の複数個発火しても）、それはリンゴの"色"属性を満たす（すなわちリンゴの"色"であることには変わりがない）。つまり、"リンゴ"事象を表すニューロンが受ける信号の強さは、例えば"赤いリンゴ"を見たときと、"黄色いリンゴ"を見たときと、"赤いリンゴと黄色いリンゴ"を見たときとで、すべて同じであるべきである。ところが上記従来の人工知能装置では、このような抽象概念レベルの観点が考慮されていなかった。すなわち、従来装置では、入力値が"赤い"である場合、"青い"である場合、"赤いと青い"である場合のそれぞれで、"リンゴ"事象のニューロンに対する刺激の大きさが異なっていた。
【０００４】
2.事象のある属性或いは特徴量の値は一定の範囲内に連続値で変化する。例えば、事象の大きさ(長さ、高さ、面積、体積など)は、一定の範囲内に連続値で変化するものである。人間の連想操作においては、入力された値が、想定している属性或いは特徴量の値の変化範囲内に収まれば、対応している事象が認識・連想される可能性が高くなる。逆に、入力された値が、想定している属性或いは特徴量の値の変化範囲内に収まれられなければ、対応している事象が認識・連想される可能性が低くなり、場合によっては認識・連想の対象から外される。上記従来の人工知能装置では、属性或いは特徴量の入力が「ある」か「ない」かの２状態しか想定しておらず、一定の範囲内で連続的に変化する属性・特徴量に対応できないという問題がある。
【０００５】
3.人間は、"白い"ものを見たとき、それが"リンゴ"であるとは認識しないだろう。つまり、事象が持つべきではない属性或いは特徴が入力されたら、その事象を認識・連想の対象から外すはずである。ところが、上記従来装置は、入力された特徴に応じて認識・連想の対象を制御しておらず、その事象が持つべきでない特徴が入力された場合（他の特徴の入力値がその事象によく適合するものであれば）、その事象が誤って連想されてしまう可能性があった。
【０００６】
4.事象から別の類似事象へと、次々に事象を連想する連想操作では、外部から入力された特徴はもちろんのこと、以前に連想した事象も後の連想操作に影響を与えると考えられる。すなわち、人間の連想操作は、連想履歴を考慮した連想操作と言える。ところが前記従来の人工知能装置は、このような連想履歴について配慮していなかった。
【０００７】
本発明は、上述した問題に鑑みてなされたものであり、事象がもつ各特徴の抽象概念レベルを扱うことができる連想記憶装置を提供することを目的とする。更に、本発明は、一定の範囲内で連続的に値が変化する特徴量を処理することができるようにすることを目的とする。また本発明は、事象が持つはずがない特徴が入力された場合に、その事象が誤って連想されてしまうことを防ぐ仕組みを提供することを目的とする。また、本発明は、繰り返し行われる連想の履歴を考慮した連想操作を実現することのできる連想記憶装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記の課題を解決するため、本発明は、連想記憶装置であって、前記連想記憶装置が連想の対象とする個々の事物又は概念を表す各事象に対応してそれぞれ設けられた事象ニューロンと、前記各事象が持つ各特徴ごとに特徴ニューロンを有する特徴層と、前記各事象に対応してそれぞれ設けられた抽象特徴層と、を備え、前記各特徴はそれぞれ当該特徴が属する各領野ごとに分類され、前記各抽象特徴層はそれぞれ、前記各領野に対応する各抽象特徴ごとに抽象特徴ニューロンを備え、前記各抽象特徴層に含まれる各抽象特徴ごとの各抽象特徴ニューロンは、それぞれ、当該抽象特徴層に対応する事象の事象ニューロンに接続され、前記各抽象特徴層に含まれる各抽象特徴ごとの各抽象特徴ニューロンは、それぞれ、前記特徴層内の各特徴ごとの特徴ニューロンのうち当該抽象特徴に属する特徴に対応する各特徴ニューロンに対し、当該抽象特徴ニューロンと当該抽象特徴に属さない特徴に対応する特徴ニューロンとの間の結合荷重よりも大きい結合荷重で接続され、前記各特徴ニューロンの出力を、前記各抽象特徴層の各抽象特徴ニューロンで抽象特徴単位に統合して前記各事象ニューロンに供給することを特徴とする。
【０００９】
この構成によれば、各事象ごとに抽象特徴層を設けたことにより、特徴層の各特徴ニューロンの出力を、当該事象の持つ抽象特徴の観点から統合することができる。これにより、ある事象が持つ特徴であって同じ抽象特徴に属するものであれば、そのうちのどれが発火しても、またそのうちのどの複数個が発火しても、それらは同じ抽象特徴ニューロンで統合された上で事象ニューロンに供給されることになる。したがって、同じ抽象特徴に属する各特徴の事象ニューロンに対する影響を制御することが可能になる。
【００１０】
また、好適な態様では、抽象特徴ニューロンに対して最小発火閾値と最大発火閾値を設定可能とし、前記抽象特徴ニューロンは、前記各特徴ニューロンからの入力の総和が最小発火閾値以上最大発火閾値以下である場合に発火して、その出力を前記事象ニューロンに供給することを特徴とする。
【００１１】
この態様によれば、重さや長さ、面積など、事象によって決まる一定の範囲内で連続的に変化する量的な特徴を、連想条件として取り扱うことが可能になる。
【００１２】
また別の好適な態様では、各事象ニューロンごとに、自事象に対して関連のない特徴ニューロンが発火した場合に当該事象ニューロンの発火を抑制する誤連想抑制手段を設けた。
【００１３】
この態様によれば、その事象が持つはずのない特徴が入力された場合に、他の特徴群に対する当該事象の適合度合いにかかわらず、その事象の事象ニューロンが発火することを抑制できる。
【００１４】
また別の好適な態様では、前記各事象ニューロンごとに、当該事象ニューロンに対応して設けられた抽象特徴層の各抽象特徴ニューロンからの入力を統合し、その統合結果を前記事象ニューロンに供給する入力統合手段と、他の各事象の事象ニューロンに対して設けられた前記入力統合手段からそれぞれ前記統合結果を受け取り、これらを自事象の前記入力統合手段の統合結果と各々比較し、他の各事象の前記統合結果のうちいずれか１つでも自事象の前記統合結果より大きいものがあった場合に、当該事象ニューロンに対して発火抑制信号を供給する最適連想制御手段とを備えることを特徴とする。
【００１５】
この態様によれば、連想条件の特徴群に最も適合する事象の事象ニューロンのみを発火させることができる。
【００１６】
また別の好適な態様では、抽象特徴層の各抽象特徴ニューロンごとにその有効・無効をコンテクスト信号で指定可能とし、このコンテクスト信号にて無効と指定された抽象特徴ニューロンの発火を抑制することを特徴とする。
【００１７】
この態様によれば、特定の１又は複数の抽象特徴のみを注目して連想や想起を行うことができる。
【００１８】
また別の好適な態様では、各特徴ニューロンの発火出力は時間の経過に応じて所定の関数に従って減衰するよう設定され、過去に連想された事象の影響による特徴ニューロンの発火が前記関数に従って後の連想動作に影響を与えることを特徴とする。
【００１９】
この態様によれば、過去の連想履歴を反映した事象連想が実現できる。
【００２０】
【発明の実施の形態】
図１は、本発明の連想記憶装置の実施の一形態を示すブロック図である。
【００２１】
図中、事象層１１は、複数のニューロン集団１〜３を含む。１つのニューロン集団１、２又は３が、１つの「事象」に対応する。「事象」は、この連想記憶装置が連想の対象とする事物、概念のことであり、簡単な例で言えば、リンゴ、蜜柑、梨、犬、猫などである。１つのニューロン集団には、各々役割が決められた複数のニューロンが含まれ、それら各ニューロンは所定の相手と接続されている。このようなニューロン集団の内部構造は図４に示すが、この詳細については後に改めて説明する。ニューロン集団１、２、３には、それぞれ、外部から入力信号７ａ、７ｂ、７ｃを与えることができる。また、各ニューロン集団１〜３は、相互に信号を入出力している。これら信号の入出力についても、後に改めて説明する。
【００２２】
特徴層１２は、複数の特徴ニューロン４〜６を含む。事象層１１のニューロン集団１〜３が各々複数のニューロンを含むのに対し、特徴層１２の特徴ニューロン４〜６は各々１つのニューロンでよい。１つの特徴ニューロンが１つの「特徴」に対応する。「特徴」は、個々の「事象」が持つ属性であり、例えば人間の各種感覚器官で認識される赤い、青い、甘い、臭い、丸い等である。各特徴ニューロン４、５、６には、それぞれ、外部から入力信号８ａ、８ｂ、８ｃを与えることができる。特徴層１２の特徴ニューロン４〜６は、事象層１１の事象ニューロン集団１〜３と、ニューラルネットワーク１３で相互接続されている。
【００２３】
図２は、図１に示した事象層１１の１つのニューロン集団１〜３の構成を更に詳細に示した図である。図から分かるように、各ニューロン集団１〜３は、それぞれ、事象ニューロン２０、想起制御部２１、連想制御部２２、抽象特徴層２３を含む。
【００２４】
事象ニューロン２０は、事象が連想されるか否かを判断する１つのニューロンである。例えば、"リンゴ"という事象を考えた場合、本実施形態のニューラルネットワーク装置では、その事象"リンゴ"に対して１つのニューロン集団が設けられ、そのニューロン集団の中に、"リンゴ"であるか否かを判定する事象ニューロン２０が１個設けられる。事象ニューロン２０は、学習によって当該事象に該当するか否かを判断する機能を得る。事象ニューロン２０は、学習した事象の名前（事象名）に対応しており、連想処理においてその事象に該当すると判断された場合に発火し、この発火によりその事象名が連想されることになる。事象ニューロン２０の出力は、その事象に該当するか否かを示す信号である。この信号は、想起制御部２１と抽象特徴層２３に供給される。
【００２５】
抽象特徴層２３には、各抽象特徴に対応する複数のニューロンが含まれる。例えば、特徴層１２に"赤い"、"青い"、"黄色い"の３つの「特徴」に対応するニューロンがあったとした場合、抽象特徴層２３には、それら３つの「特徴」の抽象概念である"色"のニューロンが設けられる。この他に、"甘い"、"酸っぱい"などの味の特徴が特徴層１２にある場合には、抽象特徴層２３には抽象特徴"味"のニューロンが設けられる。すなわち、事象の「特徴」は、その属性によって幾つかの領野(例えば、色、味、匂い、形状等)に分類できるが、本実施形態では、その各領野を、図２に示す抽象特徴層２３の各ニューロンで表現している。
【００２６】
この抽象特徴層２３は、各事象ごとに個別に設けられる。例えば、事象"リンゴ"と事象"みかん"の２つの事象があった場合、抽象特徴"色"や"味"を示す抽象特徴ニューロンは、"リンゴ"と"みかん"のどちらのニューロン集団にも設けられる。基本的に、各事象のニューロン集団は、同じ抽象特徴群を含む抽象特徴層２３を有する。これに対し、特徴層１２はすべての事象に対して共通である。すなわち、例えば"赤い"や"甘い"などの個々の特徴に対して、特徴ニューロンは１つしかない。
【００２７】
事象のニューロン集団１〜３では、この抽象特徴層２３のニューロンが特徴層１２の各ニューロンと相互接続される。事象ニューロン２０は、特徴層１２のニューロンと直接には接続されない。すなわち、本実施形態では、従来装置と異なり、特徴層１２のニューロンと事象ニューロン２０との間に抽象特徴層２３を介在させている。
【００２８】
この抽象特徴層２３は、次のような考えに基づき設けたものである。すなわち、「事象」と「事象の特徴」との関係について考えると、人間の行う学習の一形式として、複数の「具体的な事象」を学習し、これに基づいてある「抽象的な事象概念」を形成することが考えられる。例えば、"赤いリンゴ"、"青いリンゴ"、"黄色いリンゴ"などを学習した後、"リンゴ"という抽象的な概念（事象概念）が形成される。そのとき、"リンゴ"の"色"属性は"赤い"、"青い"、"黄色い"という３つの特徴量を持つ。認識又は連想するときに、これら３色を表す特徴層１２のニューロンの中のどれが発火したとしても、或いはその内の複数個が発火したとしても、"リンゴ"の"色"であることには変わりない。つまり、事象"リンゴ"を表す事象ニューロン２０が受けるべき信号は、"赤いリンゴ"を見たときと、"黄色いリンゴ"を見たときと、"赤いリンゴと黄色いリンゴ"を見たときとで、同じ強さであるはずである。また、人間の想起・連想操作は、１つ或いは複数の属性に注目して行うと考えられる。これら観点からみて妥当な装置を実現するため、本実施形態では、事象層１１の各ニューロン２０の中に抽象特徴層２３を設けることにした。
【００２９】
例えば、特徴層１２の特徴"赤い"、"黄色い"に対応する各ニューロンは、事象"リンゴ"のニューロン集団の抽象特徴層２３の"色"ニューロンに接続され、"赤い"、"黄色い"のどちらが発火しても、あるいは両方が発火しても、その発火はいったん"色"ニューロンに入力される。そして、抽象特徴"色"のニューロンは、それら発火した「特徴」が事象"リンゴ"の色である場合には発火する。元の入力特徴が"赤い"であろうが、"赤い"と"黄色い"の両方であろうが、それらが共に"リンゴ"の色であれば、事象"リンゴ"の抽象特徴層２３の"色"ニューロンが発火して、同じ値を出力する。このように、本実施形態では、同じ領野の各特徴の入力を、抽象特徴層２３で１つの抽象特徴に統合することにより、同一領野の入力特徴が、事象の連想に与える影響を均一化している。
【００３０】
図２において、抽象特徴層２３は、このように特徴層１２から入力を受けるとともに、事象ニューロン２０からも入力を受ける。特徴層１２からの入力は、特徴から事象を連想する連想操作のためのものであり、事象ニューロン２０からの入力は、想起操作のためのものである。ここで、想起操作は、入力された事象から「その事象が持つ特徴群」を想起する処理である。すなわち、"リンゴ"という事象から、"赤い"や"甘い"、"丸い"などの特徴を導き出してくるのが「想起」操作である。これに対して、"赤い"や"甘い"、"丸い"などの特徴群から、それらに該当する例えば"リンゴ"という事象を導き出してくる操作が、ここでいう「連想」操作である。連想は、日常的な意味では、"リンゴ"という事象から、それに似ている事象、例えば"梨"、を思いつくことであるが、このような日常的な連想も、突き詰めてみれば、"リンゴ"の持つある特徴群に対し、"梨"が同様の特徴を持つというところから来るものなので、ここでは特徴群から事象を導き出す操作を取り出してそれを「連想」と呼ぶことにする。したがって、日常的な意味での連想は、ここでは「想起」と「連想」の組合せで表される。
【００３１】
特徴層１２から入力があった場合（連想プロセス）、抽象特徴層２３の各ニューロンは、その入力に応じて動作し、その入力が発火条件を満足する場合にはその出力を連想制御部２２に入力する。逆に、事象ニューロン２０から入力があった場合（想起プロセス）、抽象特徴層２３の各ニューロンは、その入力に応じて動作し、入力が発火条件を満たす場合には、その出力を特徴層１２に対して出力する。なお、抽象特徴層２３は、他のニューロン集団にも出力信号を供給する。
【００３２】
連想制御部２２は、複数のニューロンから構成されており（図４参照。詳細は後述）、自己のニューロン集団の抽象特徴層２３と、他の事象のニューロン集団の連想制御部２２及び抽象特徴層２３とからそれぞれ信号を受け、それらの信号を基に事象ニューロン２０に対する信号を生成する。連想制御部２２の各ニューロンは、その役割に応じ、抽象特徴層２３からの入力に応じて、事象ニューロン２０への興奮性又は抑制性の信号を生成する。連想制御部２２は、抽象特徴層２３からの入力を統合することにより、特徴層１２に与えられた「特徴」群が、自己の事象が持つ各「抽象特徴」をどの程度満足しているかをいわば判断し、これを基に事象ニューロン２０に対する興奮性の信号を生成する。このとき、他のニューロン集団（他事象）から抽象特徴の満足度の信号を受け、これらを基に入力特徴に対し自分よりも満足度の高い事象があるかどうかを判別し、そのような事象があれば、事象ニューロン２０の発火を抑える抑制性の信号を生成する。これにより、入力特徴群に対して最も適合する事象を表すニューロン集団の事象ニューロン２０を発火させることができる。また、連想制御部２２は、入力特徴が自己事象の持つはずのない特徴である場合には、抑制性の信号を生成し、事象ニューロン２０に供給する。この処理は、自ニューロン集団の抽象特徴層２３及び他のニューロン集団（他事象）の抽象特徴層２３からの信号に基づき行う。事象ニューロン２０は、これら連想制御部２２からの興奮性及び抑制性の入力に基づき、出力を生成する。また、連想制御部２２は、他のニューロン集団の連想制御部２２に供給する出力も生成する。
【００３３】
想起制御部２１は、事象から、その事象の持つ特徴群を想起する処理を制御するための機構である。ここでの想起の制御は、事象から事象へ連鎖的な連想の際に、一度連想された事象が再び連想されることを防ぐため（すなわち重複防止のため）に行われる。その詳しい機構及び動作については、後に図４を参照して説明する。
【００３４】
事象層１１は、このような構成のニューロン集団を複数個並列に備えており、それら各ニューロン集団が共通の特徴層１２に対してニューラルネットワーク１３により相互接続されている。
【００３５】
この連想記憶装置を学習する際には、事象名と、これに対応する特徴群を与える。特徴群を与えるときには、各特徴ごとに、その特徴が属する抽象特徴名を明示する。すなわち、「赤くて甘くて重さ１８０ｇのリンゴ」という事例を学習させる場合、「事象名＝"リンゴ"、抽象特徴"色"＝"赤い"（これが「特徴」）、抽象特徴"味"＝"甘い"、抽象特徴"重さ"＝"１８０ｇ"」などという情報を連想記憶装置に与える。このとき、事象名は、その事象名を表す事象ニューロン２０に入力を与えることにより指定し、抽象特徴は、当該事象ニューロン２０に対応する抽象特徴層２３の中の該当ニューロンに入力を与えることにより指定する。特徴は、特徴層１２の該当ニューロンに入力を与えることにより指定する。例えば上記の例では、事象"リンゴ"、抽象特徴"色"、特徴"赤い"の一連の系列に入力があることにより、それら相互間の結合荷重が修正され、「赤い色を持つリンゴがある」ことが学習される。もちろん、他の特徴についても並列的に同様の結合荷重修正がなされる。
【００３６】
新たな事象について学習したい場合は、事象層１１内の一つ未使用のニューロン集団を選択し、このニューロン集団の事象ニューロン２０に事象名を格納する。そして、その事象に該当する事例の（抽象特徴，特徴）の情報を前述のようにして与える。これにより、そのニューロン集団の抽象特徴層２３の各ニューロンと特徴層１２の各ニューロン間の結合重みが、入力された特徴と抽象特徴の組によって順次修正されていき、学習が実現される。
【００３７】
この連想記憶装置で連想操作を行う場合、特徴層１２に対して入力を行う。例えば、「赤くて甘くて重さ１８０ｇ」の事象を求めたい場合は、特徴"赤い"、"甘い"を表す各ニューロンに信号を与えて発火させると共に、特徴"重さ"を表すニューロンに「１８０ｇ」に対応する大きさの信号を与える。これにより、それらニューロンが発火し、その出力が事象層１１の各ニューロン集団の抽象特徴層２３に供給される。これを受けた各ニューロン集団ではそれぞれ、抽象特徴層２３の各ニューロンがその入力（及び学習によって得た結合荷重）に応じて発火する。例えば、事象"リンゴ"のニューロン集団では、特徴"赤い"が"リンゴ"の抽象特徴"色"であることを学習済みであれば、抽象特徴層２３の"色"ニューロンが発火する。そして、連想制御部２２は、これら抽象特徴層２３の各ニューロンの出力と、他のニューロン集団からの出力を総合し、事象ニューロン２０に対する入力信号を生成する。事象ニューロン２０は、この入力に基づき、特徴層１２に入力された特徴群に対し自事象が最も適合する場合に発火する。このような流れにより、入力した特徴群に最も適合する事象が導き出されることになる。
【００３８】
想起操作の場合は、事象層１１の複数のニューロン集団のうち、対象とする事象のニューロン集団の事象ニューロン２０に入力信号を与える。例えば"リンゴ"の特徴を想起したい場合は、"リンゴ"のニューロン集団の事象ニューロン２０に入力を与える。これにより、その事象ニューロン２０が発火し、その出力が抽象特徴層２３に与えられる。この結果、"リンゴ"の抽象特徴層２３の各ニューロンが発火し、それらの出力が特徴層１２に入力されることになる。特徴層１２では、各ニューロンが、"リンゴ"の抽象特徴層２３の各ニューロンからの入力を受け、それらニューロン間の結合荷重に応じて発火する。"リンゴ"の抽象特徴"色"のニューロンは、特徴層１２の特徴"赤い"や"白い"のニューロンに接続されているが、学習により特徴"赤い"に対する結合荷重は大きく、特徴"白い"に対する結合荷重はほとんど０になっているはずなので、特徴"赤い"のニューロンは発火し、特徴"白い"のニューロンは発火しない。同様にして、"黄色い"や"丸い"など、事象"リンゴ"の他の特徴群も同時に発火する。このようにして、入力された事象の持つ特徴群が想起される。
【００３９】
事象からそれに類似する他の事象を連想するという日常的な意味での連想作業は、前述の「想起」と「連想」の組合せによりなされる。このプロセスは次のようになる。まず連想の出発点の事象の事象ニューロン２０に入力を与える。すると、その事象が持つ特徴群（すなわち学習作業でその事象の属性であると学習された特徴群）の各ニューロン（特徴層）が上述の「想起」プロセスに従って発火する。次に、これら発火した特徴層ニューロン群を起点として、特徴から事象への前述の「連想」プロセスが行われ、発火している特徴群に最も適合する事象が「連想」される。このような流れにより、入力された事象と似た特徴を持つ事象が導き出される。ここで処理を止めなければ、連想された事象を出発点として「想起」及び「連想」が行われ、新たな事象が連想される。これを繰り返せば、次から次へと事象を連鎖的に連想することができる。なお、本実施形態では、このような連鎖的な連想の各段階において、前回連想された事象の特徴群だけでなく、それ以前に連想した各事象の特徴群も考慮した連想を行う仕組みを設けている。これについては、後に改めて説明する。
【００４０】
以上、本実施形態の連想記憶装置（ニューラルネットワーク装置）における「連想」及び「想起」の処理プロセスの概要を説明した。本実施形態では、さらに「コンテクスト」を指定した連想や想起を行うことができる。ここでいうコンテクストとは、連想や想起の際に注目する抽象特徴（群）のことである。例えば、特徴層１２で発火している特徴群のうち、抽象特徴"色"に注目して連想したり、抽象特徴"味"と"重さ"の２つにに注目して連想したり、などである。また、想起の場合も、事象"リンゴ"の数ある特徴のうち、抽象特徴"色"に関する特徴が知りたい場合は、コンテクストとして抽象特徴"色"を指定して、事象"リンゴ"を入力すればよい。
【００４１】
コンテクストの指定は、抽象特徴層２３へコンテクスト信号を供給することにより行う。コンテクスト信号は、抽象特徴層２３の各抽象特徴ごとに、それに注目するか否かを示す信号である。この信号により、注目すると指定された抽象特徴に対応する抽象特徴ニューロンは活性化されて連想・想起動作を行い、注目しないと指定された抽象特徴ニューロンは不活性化されて連想・想起動作に寄与しなくなる。なお、以上の例では、コンテクスト信号は、各抽象特徴の有効・無効を示す２値の信号であったが、この代わりに、各抽象特徴ごとにその注目度をコンテクスト信号として与えることも可能である。この場合、抽象特徴層２３からの各抽象特徴の出力をその注目度に従って強度調節し、これにより連想や想起に対する各抽象特徴の寄与度を調節することができる。これにより、例えば「抽象特徴"色"に最も注目し、"味"及び"形状"には少し注目し、"重さ"はまったく注目しない」など、多彩なコンテクストを指定可能になる。
【００４２】
なお、図１における事象のニューロン集団１〜３への外部からの入力信号７ａ〜７ｃは、「想起」の際の事象の指定のための事象ニューロン２０への入力信号と、コンテクスト指定のための抽象特徴層２３へのコンテクスト信号の両方を統一して表したものである。
【００４３】
上記連想記憶装置は、例えば、図３に示すハードウエア構成を用いて実現することができる。図中、キーボート３１は、ユーザが操作指示及び事象情報入力を行うための入力装置である。マウスその他の入力装置が付加されていてもよい。外部記憶装置３２は、学習するための事象の情報を格納するハードディスク装置などの記憶装置である。ディスプレイ３３は、ユーザに対するメッセージの表示や、連想・想起結果の表示などのための出力装置である。これに加え、音声出力その他の出力装置が付加されていてももちろんよい。連想記憶回路３４は、上述した連想・想起動作を実行するニューラルネットワーク構造を実現した装置である。具体的には、ニューラルネットワークプロセッサなどの電子回路で構成することができる。また、この連想記憶回路３４は、プログラムを用いて実現してもよい。
【００４４】
次に、図２に示した事象のニューロン集団１〜３のニューラルネットワーク構成の一例及びその動作を、図面を参照して説明する。なお以下の例では、事象の数がＮ個（すなわち事象層１１のニューロン集団数がＮ）、特徴の数がＭ個（すなわち特徴層１２のニューロン数がＭ）、抽象特徴の種類がＰ種類（各事象ごとにＰ種類ずつ）であるとして説明する。
【００４５】
図４は、図２に示した事象のニューロン集団１（又は２又は３）の具体構成の一例を示している。この図では、Ｅi等の符号を中に含んだ丸印が個々のニューロンを示し、ニューロン間の結合は線で示す。一端に白丸を付けた結合は興奮性結合を示し、一端に黒丸を付けた結合は抑制性結合を表す。白丸及び黒丸がニューロンの入力端を示し、白丸も黒丸もついていない端部がニューロンの信号出力端を示す。
【００４６】
図４には、事象層１１のｉ番目（ｉは整数かつ１≦ｉ≦Ｎ）の事象に対応するニューロン集団が示される。このニューロン集団には、その事象を表す事象ニューロン２０（Ｅi）が１つ設けられ、抽象特徴層２３、連想制御部２２及び想起制御部２１が設けられている。以下、これら各部の詳細を説明する。
【００４７】
＜抽象特徴層２３＞
抽象特徴層２３は、２Ｐ個（Ｐは抽象特徴の種類数）のニューロンで構成される。すなわち、各抽象特徴ｊ（ｊは整数かつ１≦ｊ≦Ｐ）ごとに、ニューロンＡij1とニューロンＡij2の２つのニューロンが設けられる。ニューロンＡij1は、事象ニューロン２０から入力を受け、特徴層１２の各ニューロンに対する出力を生成する想起用ニューロンである。一方、ニューロンＡij2は、特徴層１２からの入力を受け付け、連想制御部２２等への出力を生成する連想用ニューロンである。なお、Ａij1、Ａij2における先頭のインデックスｉは事象の番号であり、３番目のインデックスはニューロンの種類（１が想起用、２が連想用）を示している。このように各抽象特徴ごとに想起用と連想用の２つのニューロンを設けたのは、次のような理由による。
【００４８】
本実施形態では、特徴群からそれに適合する事象を連想するとき、ある抽象特徴に対応している特徴ニューロン（特徴層のニューロン）の内の一つが発火したら、その抽象特徴を表すニューロンが発火する。ここで、抽象特徴のニューロンが１つしかないと、特徴ニューロンの発火に応じて抽象特徴ニューロンが発火すると、その抽象特徴ニューロンに対して結合の強い特徴ニューロン群がその発火に応じてすべて発火してしまう。例えば、リンゴが"赤い"、"青い"、"黄色い"三つの"色"特徴を持つ場合、特徴"赤い"を入力して連想を始めると、リンゴの"色"を表す抽象特徴ニューロンが発火するが、この発火に応じて特徴層の"青い"、"黄色い"のニューロンも発火する。これら特徴ニューロン"青い"、"黄色い"の発火が全事象ニューロン集団に伝わることにより、当初想定していた"赤い"以外の特徴も連想に作用することになり、正しい連想が行われなくなる。本実施形態では、このような問題を防ぐため、抽象特徴層２３の各抽象特徴を、特徴から事象への向きに信号を流す事象連想用のニューロンＡij2と、事象から特徴の向きに信号を流す特徴想起用のニューロンＡij1との２つのニューロンで構成した。事象連想用のニューロンＡij2は特徴層１２から興奮性信号を受け、連想制御部２２への興奮性結合を持ち、事象を連想するときに働く。一方、特徴想起用のニューロンＡij1は事象ニューロンＥiから信号を受け、特徴層１２への興奮性結合を持ち、特徴を想起するときに働く。
【００４９】
この構成によれば、入力特徴に応じて連想用ニューロンＡij2が発火したとしても、その出力は、自ニューロン集団の連想制御部２２に入力され、特徴層１２には伝わらない。このため、連想時の抽象特徴ニューロンの発火が特徴層１２に戻って連想に無関係の特徴ニューロンが連鎖発火してしまうことを防ぐことができる。
【００５０】
さて、抽象特徴層２３の連想用ニューロンＡij2は、想定範囲内において連続値で変化する重さや長さ、高さ、面積などの特徴量に対応するために、最大発火閾値θmaxと最小発火閾値θminの２つの閾値（θmin≦θmax）を設定することが可能となっている。連想するとき、特徴層１２の各ニューロンからの入力値を統合した結果Ｖjがθmin以上θmax以下のであれば連想用ニューロンＡij2が発火し、それ以外であればＡij2は発火しない。
【００５１】
この連想用ニューロンＡij2の閾値θmax及びθminは、学習によって修正される。すなわち、ある事例を学習した時に、特徴層１２からの入力の統合結果Ｖjがθmaxより大きければθmax＝Ｖjとなるようにθmaxを修正し、Ｖjがθminより小さければθmin＝Ｖjとなるようにθminを修正する。Ｖjがθmin以上θmax以下である場合は、閾値θmaxとθminの値は修正されない。なお、閾値θmaxとθminは、学習開始時には所定の初期値（定数、例えば０）に設定しておく。
【００５２】
なお、"赤い"や"甘い"など、該当するか否かの２値しかない特徴に対応する抽象特徴では、連想用ニューロンＡij2の閾値に上限値θmaxと下限値θminを設ける必要がない。この場合は、θmaxは閾値がとりうる最大の値とし、θminのみを実質的な閾値として用いる。すなわち、特徴層１２から入力の統合結果Ｖｊがこのθminを越えた場合にＡij2が発火するようにする。
【００５３】
連想用ニューロンＡij2(j=1，2，…，P)の発火条件は次式（１）、出力値Ｏ(Ａij2)は次式（２）で表される。
【００５４】
【数１】
θmin ≦ Σ( コンテクスト入力信号＊g(抑制性入力＊結合荷重)＊
(興奮性入力＊結合荷重) ) ≦ θmax                …(1)
【数２】
Ｏ(Ａij2) = f(g(抑制性入力＊結合荷重)＊Σ(興奮性入力＊結合荷重)−θmin)＊f(θmax−g(抑制性入力＊結合荷重)＊Σ(興奮性入力＊結合荷重))   …(2)
ここで、 演算子“＊”は掛け算を表す。また、関数g( )は、g(u) = 1(u=0)、かつ g(u) = 0（u>0）である。抑制性結合（入力）がないニューロンＡij2に対しては、g( ) =1とする。θは、ニューロンの発火閾値である。また、関数f( )は、f(u) = 1（u≧0）、かつf(u) = 0（u＜0） である。
【００５５】
図４から分かるように、連想用ニューロンＡij2には特徴層１２の各ニューロンＦ1〜ＦMからの合計Ｍ個の興奮性入力Ｏ（Ｆk）と、想起制御部２１からの１つの抑制性入力とがある。発火条件の式（１）の総和演算Σは、Ｍ個の興奮性入力に関する総和である。また、コンテクスト入力信号は、Ａij2に直接入力され、その抽象特徴を有効とする場合には１、無効とする場合には０である。
【００５６】
式（１）の発火条件のg(抑制性入力＊結合荷重)の値は、抑制性入力があれば（すなわち信号値＞０）、基本的に０となる。したがって、想起制御部２１から抑制性入力があれば、発火条件により、基本的にＡij2は発火しない（もちろん、抑制性入力についての結合荷重の学習によって、そのような場合でも発火させるようにすることは可能である）。また、コンテクスト入力信号が０の場合も、式（１）からＡij2が発火しないことが分かる。ニューロンＡij2が発火するのは、基本的には、コンテクスト入力信号が１であり、抑制性入力がない状態で、興奮性入力の総和がθmin以上θmax以下の範囲に入るときである。
【００５７】
Ａij2の出力Ｏ（Ａij2）は、上式（２）から分かるように、１又は０の値をとり、発火条件式（１）を満足するときは１、満足しないときは０となる。Ａij2の出力は、連想制御部２２に入力される。また、図では省略しているが、Ａij2の出力は、最も適合する事象のみを連想するための制御のために、他事象の各ニューロン集団の連想制御部２２にも供給される。
【００５８】
学習によってＡij2と特徴層の各ニューロンとの間に、非零結合荷重の結合が複数できる場合がある。このような場合、Ａij2に対して非零結合を持つ特徴ニューロンのうちの少なくとも１つニューロンが発火したら、Ａij2が発火する。このとき、非零結合のどの特徴ニューロンが発火したとしても、またそれらのうちのいくつのニューロンが発火したとしても、Ａij2の出力の値は変わらない。これは、「ある事象が持つ抽象特徴に属する特徴であれば、どの特徴（又は特徴群）が入力されても、事象の連想に寄与する程度は変わらない」という特性を満足する。
【００５９】
このような発火条件をとる連想用ニューロンＡij2を用いたことにより、特徴が連続的に変化する値をとる場合に、その値を連想に反映させることが可能になる。１つの事象について、例えば事象の大きさ(長さ、高さ、面積、体積など)などは連続的に変化し、とりうる値の範囲はその事象に応じて限定されたものになる。人間の連想操作において、入力された特徴量の値が、予め想定している特徴量の値の変化範囲内に収まれば、対応している事象が連想される可能性が高くなる。逆に、入力された特徴量の値が、想定される変化範囲内に収まられなければ、対応している事象が認識・連想される可能性が低くなるか、場合によっては連想の対象から外される。これは、いわゆる「常識」を反映した連想操作と言える。したがって、上記のような連想用ニューロンＡij2の入出力特性は、「常識」を反映した人間の連想特性を実現するものと言える。
【００６０】
一方、想起用ニューロンＡij1(j=1，2，…，P)の発火条件と出力値Ｏ(Ａij1)は、それぞれ次式（３）、（４）で定義される。
【００６１】
【数３】
Σ( コンテクスト入力信号＊g(抑制性入力＊結合荷重)＊
(興奮性入力＊結合荷重) ) ＞θ                          …(3)
【数４】
Ｏ(Ａij1) = h(g(抑制性入力＊結合荷重)＊Σ(興奮性入力＊結合荷重)−θ)  …(4)
ここで、関数h（  ）は、h（u）＝１（u＞０），かつh（u）＝０（u≦０）である。図４から分かるように、想起用ニューロンＡij1は、事象ニューロンＥiから興奮性入力を、想起制御部２１から抑制性入力を、それぞれ受ける。また、コンテクスト入力信号として０（無効）又は１（有効）の入力を受ける。式（３）及び（４）から分かるように、想起用ニューロンＡij1は、コンテクスト入力信号が１（当該抽象特徴が有効）であり、抑制性入力がない状態で、かつ興奮性入力の総和が発火閾値θ以上となった場合に発火し、出力値Ｏ（Ａij1）＝１となる。Ａij1の出力は、特徴層１２の各ニューロンに入力される。
【００６２】
ニューロンＡij1から特徴層１２の各ニューロンへの結合荷重は、ニューロンＡij2の２つの閾値θminとθmaxの平均値とする。これにより、上記出力Ｏ（Ａij1）が特徴層１２の各ニューロンに入力される際、当該ニューロンＡij1の属する抽象特徴の代表的な値（平均値）が各特徴ニューロンに入力されることになる。例えば、事象"リンゴ"の抽象特徴"重さ"が１００ｇ〜３００ｇであると学習された場合、θmin＝１００ｇ、θmax＝３００ｇとなり、その"重さ"抽象特徴ニューロンから、特徴層１２での重さを表すニューロンには、それらの平均値である２００ｇを表す信号が"リンゴ"の代表的な重さとして入力されることになる。これにより、リンゴの特徴として重さ約２００ｇという特徴が想起されることになる。
【００６３】
なお、以上では、想起用ニューロンＡij1から特徴層１２の対応ニューロンへの結合の荷重について説明したが、その他の結合の結合荷重は定数（例えば定数＝１）に設定すればよい。
【００６４】
＜連想制御部２２＞
図４に示す連想制御部２２は、（３Ｐ＋４）個（Ｐは抽象特徴の種類数）のニューロンから構成されている。
【００６５】
これらニューロンのうちＣi4は、抽象特徴層２３の各ニューロンからの興奮性入力を統合し、事象ニューロンＥiに対する興奮性入力を生成するニューロンである。すなわち、抽象特徴層２３の各ニューロンは、特徴層１２から入力された各特徴が当該事象Ｅiの各抽象特徴の条件に適合しているかどうかをそれぞれ判定し、適合している場合に値１を出力するが、このニューロンＣi4は、それら各抽象特徴の適合度を総合して、事象Ｅiのそれら入力特徴の組合せへの適合度を算出し、出力する。このニューロンＣi4と事象ニューロンＥiとの間には、ニューロンＣi3が設けられているが、このＣi3は、事象ニューロンＥiに対する抑制性入力群（後述）とのタイミング合わせのために設けられたものである。
【００６６】
ニューロンＣi6は、他事象の中に自事象よりも入力特徴群に対する適合度（関連度）の高いものがある場合に、事象ニューロンＥiの発火を抑制する抑制性信号を生成する。Ｃi6は、自事象ｉの適合度に関する信号はニューロンＣi5から受け取り、他の各事象ｋの適合度に関する信号（Ｏ（Ｃk4）：k=1,2,...N、ただしk≠i）は、他の各ニューロン集団の連想記憶部２２のＣk4ニューロンから受けとる。Ｃi5は、Ｃi4と同じ入力を受け、それら入力に対して同じ動作を行う。Ｃi5とＣi4との違いは、Ｃi4が興奮性の信号を出力するのに対し、Ｃi5が抑制性の信号を出力するという点であり、発火条件と出力値に関してはＣi4とＣi5は同じである。このようにＣi4とＣi5を分けたのは、生体の神経系（興奮性信号を生成する神経と抑制性信号を生成する神経とが別になっている）との整合性をとるためである。したがって、電気回路としてニューラルネットワークを構成する場合、必ずしもこのようにＣi4とＣi5とに分ける必要はない。
【００６７】
Ｃi6は、他の各ニューロン集団からの適合度出力Ｏ（Ｃk4）と、Ｃi5からの抑制性入力（自事象の適合度Ｏ（Ｃi5）＝Ｏ（Ｃi4））との差分をそれぞれ求め、その結果に基づき自事象よりも適合度の高い事象が他にあるかどうかを判別する。そして、他事象のうち１つでも自事象より適合度の高いものがあれば、抑制性信号を出力する。このような場合、他事象の方がより入力特徴に適合しているので、自事象の連想を抑制するのである。これにより、最も適合度の高い事象が連想されることになる。
【００６８】
すなわち、Ｃi5の出力Ｏ(Ｃi5)が、他の各ニューロン集団からのＯ(Ｃk4) (k=1，2，…，N，k≠i)のすべてより大きければ、事象ニューロンＥiと特徴層１２で発火しているニューロンとの関連度（すなわち事象Ｅiの入力特徴群に対する適合度）が、他の事象Ｅk(k=1，2，…，N，k≠i)の関連度より高いので、Ｃi6の発火が抑制される。この場合、Ｅiに対する抑制性入力が０になるので、抽象特徴層２３からの興奮性入力によりＣi4が発火すれば、これに応じて事象ニューロンＥiも発火することになる。
【００６９】
逆に、Ｏ(Ｃi5)がＯ(Ｃk6) (k=1，2，…，N，k≠i)の中のいずれか一つより小さければ、入力特徴群に対して事象Ｅiよりも高い関連度（適合度）を持つ事象Ｅk(k=1，2，…，N，k≠i)が存在するということであり、Ｃi6が発火する。この場合、事象ニューロンＥiに０より大きい抑制性出力Ｏ（Ｃi6）が入力され、この結果Ｃi4が発火していたとしても、事象ニューロンＥiの発火は抑制される。
【００７０】
このような動作により、全事象の中で入力特徴群に最も適合するものに対応する事象ニューロンが発火することになる。
【００７１】
ニューロンＣi6の発火条件は、次式（５）で表される。
【００７２】
【数５】
Σ( h(興奮性入力＊結合荷重−抑制性入力＊結合荷重) ) −θ ＞ 0 …(5)
ここで、興奮性入力は他事象のニューロン集団からのＯ（Ｃk4）であり、抑制性入力はＯ（Ｃi5）である。θは発火閾値である。
【００７３】
また、ニューロンＣi6の出力値Ｏ（Ｃi6）は、上記発火条件式（５）が満足される場合は例えば１、満足されない場合は０とする。
【００７４】
なお、抑制性出力Ｏ（Ｃi6）はＣi4及びＣi5にも入力される。このため、Ｏ（Ｃi6）が０より大きい場合は、Ｃi4及びＣi5が仮に発火していたとしても次の時刻（所定単位時間の後）にはその発火が抑制される。
【００７５】
Ｃi4は、以上の動作のために、その出力Ｏ（Ｃi4）を他の各ニューロン集団のニューロンＣk6に対しても出力している。
【００７６】
なお、Ｃi4及びＣi5の発火条件は、次式（６）で表される。
【００７７】
【数６】
g(抑制性入力＊結合荷重)＊Σ(興奮性入力＊結合荷重) −θ ＞ 0  …(6)
ここで、θは発火閾値である。なお、この発火条件式は、Ｃi4及びＣi5以外にも、既に説明済みのＣi6と抽象特徴層２３のニューロンＡij1及びＡij2とを除くすべてのニューロンにも用いられる。
【００７８】
Ｃi4及びＣi5の出力値Ｏ(Ｃij)は次式(７)で表される(j=4,5)。
【００７９】
【数７】
Ｏ(Ｃij )
= Σ( g(抑制性入力＊結合荷重)＊(興奮性入力＊結合荷重) )−θ  …(7)
これに対し、これらＣi4，Ｃi5と既に説明済みの抽象特徴層２３のニューロンとを除く残りの各ニューロンｓの出力値Ｏ(s)は、次式(8)で定義される。
【００８０】
【数８】
Ｏ(s) = h(g(抑制性入力＊結合荷重)＊Σ(興奮性入力＊結合荷重)−θ) …(8)
さて、連想制御部２２におけるニューロンＣij1、Ｃij2及びＣij3(j=1，2，…，P)は、自事象が持つべきではない特徴ニューロンが発火したときに、自事象を連想対象の集合から排除するための機構である。例えば、人間は、"白い"ものをみたときそれが"リンゴ"であると認識しないだろう。このような場合、人間は自然にリンゴを連想対象から外している。これと同様の処理を実現するのがＣij1、Ｃij2及びＣij3の三つ組である。この三つ組は、１番目からＰ番目の各抽象特徴ごとに１つずつ、合計Ｐ組設けられる。
【００８１】
この三つ組のうち、Ｃij1には抽象特徴層２３の各連想用ニューロンＡij2の出力が入力され、この入力に基づきＣij3に対する抑制性入力を生成する。一方、Ｃij2には他事象の各ニューロン集団の連想用ニューロンＡkj2（k=1,2,...N、ただしk≠i）からの出力を受け、これらに基づきＣij3に対する興奮性入力を生成する。Ｃij3は、Ｃij1からの抑制性入力とＣij2からの興奮性入力とに基づき、事象ニューロンＥiに対する抑制性入力を生成する。これら三つ組の各ニューロンＣij1、Ｃij2、Ｃij3は前述の式（６）に従って発火し、式（７）に応じた出力値を出力する。以下、この三つ組の働く原理を説明する。
【００８２】
発火している特徴層ニューロンＦtと関係のない事象Ｅiを考えた場合、この事象Ｅiのニューロン集団の抽象特徴層２３では、その特徴層ニューロンＦtに対応する連想用ニューロンＡij2は発火しないはずである。したがって、この場合、三つ組のうちのＣij1に対するＡij2からの興奮性入力は０であり、Ｃij1は発火しない。したがって、Ｃij2からＣij3に対する抑制性入力は０となる。一方、Ｆtと関係のある他の事象Ｅwを考えた場合、この事象Ｅwの抽象特徴層２３における特徴Ｆtに対応する連想用ニューロンＡwj2は発火しているはずである。このニューロンＡwj2の出力は、事象Ｅiの三つ組のＣij2に入力されている。したがって、Ｃij2は発火し、その出力が興奮性入力としてＣij3に入力される。ここで、Ｃij3は、Ｃij1から抑制性入力が０なので、Ｃij2からの興奮性入力に従って発火する。このＣij3の出力が、事象ニューロンＥiの発火を抑制する。
【００８３】
このように、三つ組Ｃij1、Ｃij2、Ｃij3によれば、自事象のＡij2が発火せず、他のいずれかの事象のＡwj2が発火すれば、事象ニューロンＥiの発火が抑制されることになる。例えば、入力特徴群の中に抽象特徴"色"に関して特徴"白い"のみが含まれていた場合、事象"リンゴ"の抽象特徴層２３の"色"ニューロンと特徴"白い"との結合は（「白いリンゴ」を学習していない限り）０であるはずだから、その"色"ニューロンは発火しない。一方、他の事象（例えば"犬"）で特徴"白い"を有する事例を学習していれば、その事象の"色"ニューロンは発火する。したがって、"リンゴ"のニューロン集団の連想記憶部２２の"色"に関する三つ組のＣij3は発火し、これにより"リンゴ"の事象ニューロンＥiの発火が抑制される。この場合、他の抽象特徴の適合度が如何に高く（したがってＣi4の出力が大きく）ても、事象ニューロンＥiは発火しない。
【００８４】
"リンゴ"の"色"抽象特徴ニューロンが発火しない場合には、"色"に属する特徴自体がまったく指定されていない場合も含まれる。したがって、単に"色"ニューロンが発火しないことのみをもって、入力特徴群が事象"リンゴ"に適合しないと決めるわけにはいかない。これに対し、上記の手法では、他事象における"色"抽象特徴ニューロンの発火を監視しているので、自事象に関連のない"色"に関する特徴が入力されたことが分かる。
【００８５】
本実施形態では、このようなメカニズムにより、事象が持つはずのない特徴が入力された場合に、その事象が誤って連想される可能性を低減している。
【００８６】
＜事象ニューロン２０＞
事象ニューロン２０（Ｅi）は、連想制御部２２からのそれら興奮性入力と抑制性入力とを受け、これらの値に応じて発火したりしなかったりする。事象ニューロン２０は、Ｃi6又はＣij3からの抑制性入力が全て０であり、Ｃi3からの興奮性入力があった（発火閾値より大きい）場合に発火する。事象ニューロン２０が発火した場合は、その事象が連想されたことになる。
【００８７】
また事象ニューロン２０は、連想により発火した場合、または想起時の外部からの指定入力により発火した場合は、その出力を想起制御部２１及び抽象特徴層２３の各想起用ニューロンＡij1に供給する。この信号を受けた想起用ニューロンＡij1は、学習結果に応じて発火し、その出力信号を特徴層１２の各ニューロンに伝送する。これにより想起が行われる。
【００８８】
＜想起制御部２１＞
事象から別の事象へと、次々と１つずつ事象を連想してく場合、以前連想された事象を再び連想してしまったので、無限ループに陥るおそれがある。これを避けるためには、一度連想した事象は連想対象の集合から削除しなければならない。想起制御部２１は、これを実現するために設けられている。
【００８９】
図４に示す想起制御部２１は、二つのニューロンＣi1、Ｃi2を含み、これらは事象ニューロンＥiから入力を受け、抽象特徴層２３の全ニューロンＡij1及びＡij2へ抑制性の信号を供給する。ニューロンＣi1は自己ループ興奮性入力を持つため、事象ニューロンＥiがいったん発火すると、Ｃi1は発火し続け、このＣi1の出力を興奮性入力として受けるＣi2も発火し続ける。この発火は、想起制御部２１にリセット信号が与えられるまで止まらない。このＣi2の出力が抽象特徴層２３の全ニューロンＡij1、Ａij2に抑制性入力として供給される。したがって、Ｃi2が発火すると、抽象特徴層２３の全ニューロンの発火が抑制されることになり、これ以降（リセット信号が与えられるまでは）事象Ｅiが連想されることもなければ、事象Ｅiのニューロン集団から特徴層１２に興奮性信号が供給されることもなくなる。
【００９０】
タイミング関係に着目すると、ある事象を表すニューロン集団の事象ニューロンＥiが発火した場合、そのＥiの出力が抽象特徴層２３の想起用ニューロンＡij1に入力されるのと、想起制御部２１のＣi1、Ｃi2に入力されるのとは実質上同時である。Ａij1もＣi2も発火に１単位時間要するとすれば、Ａij1が発火して１単位時間の後、Ｃi2からＡij1に抑制性信号が入力され、その発火が抑制されることになる。このＡij1の発火が発生してから抑制されるまでの１単位時間の間に、Ａij1の出力が特徴層１２に伝わり、事象Ｅiの特徴が想起されることになる。
【００９１】
以上、事象のニューロン集団の構造について説明した。次に、図５を参照して、特徴層１２の構成例について説明する。図に示すように、特徴層１２には、特徴Ｆ1〜ＦMのＭ個の各特徴ごとに、ニューロンが１つずつ設けられている。特徴層１２の各ニューロンは、事象層１１の各ニューロン集団の抽象特徴層２３の各ニューロンから興奮性入力を受ける。また、特徴層１２の各ニューロンは、外部から連想条件の指定のための入力を受けることができる。外部入力を受けたニューロンは発火する。
【００９２】
事象から別の類似な事象へと連鎖的に事象を連想する作業を考えた場合、人間は直前に思いついた事象だけでなく、それ以前に連想した事象も考慮して次の事象を連想している。すなわち、連想には以前の連想履歴が影響する。そして、最近に連想したものほど、新たな事象の連想に与える影響は強いはずである。本実施形態では、このような連鎖的連想の特性を実現するために、特徴層１２の各ニューロンＦj(j=1，2，…，M)に、次式（９）に示す発火条件を満たし、式（１０）に定義する出力値Ｏ(Ｆj)を出力する特性を持たせた。
【００９３】
【数９】
Σ(興奮性入力)−θ ＞ 0                                 …(9)
【数１０】
Ｏ(Ｆj) = q( Σ(興奮性入力)−θ,t )                     …(10)
ここで、θは発火閾値であり、q( )は次式で定義された関数である。
【００９４】
【数１１】
q(x,t) ＝ x + g(x)＊x＊exp(-t/T)                        …(11)
ここで、tは時間を表し、Tは時定数を表す。この式から分かるように、ニューロンＦjがいったん発火すると、その出力の値Ｏ(Ｆj)は、図６に示すように時間とともにすこしずつ減少して行く。すなわち、本実施形態では、特徴層１２のニューロンは、発火した後すぐにその出力を０にするのではなく、徐々に値を低減しながらしばらくの間出力を維持する。この間に、次に連想された事象を起点として新たな特徴が想起されると、この新たな特徴の出力と、それ以前の各事象の特徴の出力とが、それぞれの信号レベルに応じて次の事象の連想に影響を与えることになる。こうすることにより、いったん発火した特徴が、時間とともに徐々に影響力を弱めつつも後の連想操作にある程度の影響を残すことになり、連想履歴を考慮した連想操作を実現できる。
【００９５】
次に具体的な事象例を用いて、本実施形態の連想記憶装置における連想操作と想起操作を説明する。
【００９６】
この例では、以下に示すような事象例を学習したとする。
【００９７】
1.事象：リンゴ
特徴：赤色，甘い，丸い，面積＝78.5cm2， 重さ＝200g；
2.事象：リンゴ
特徴：青色，酸，  丸い，面積＝28.26cm2，重さ＝96g；
3.事象：リンゴ
特徴：黄色，甘い，丸い，面積＝50.24cm2，重さ＝145g；
4.事象：蜜柑
特徴：黄色，酸，  丸い，面積＝63.58cm2，重さ＝185g；
5.事象：蜜柑
特徴：黄色，酸，  丸い，面積＝35.83cm2，重さ＝100g；
6.事象：西瓜
特徴：青色，甘い，楕円，面積＝3768cm2，重さ＝1750g；
7.事象：西瓜
特徴：青色，甘い，楕円，面積＝2748cm2，重さ＝950g；
8.事象：犬
特徴：黄色， ×，犬の形，面積＝7536cm2， 重さ＝12000g；
9.事象：犬
特徴：白色， ×，犬の形，面積＝3768cm2， 重さ＝7045g；
これら各事象を学習した後事象層にリンゴ、蜜柑、西瓜、犬を表すニューロン群の番号をそれぞれ1、2、3、4とする。つまり、事象ニューロンＥ1がリンゴ、Ｅ2が蜜柑、Ｅ3が西瓜、Ｅ4が犬を表すとする。
【００９８】
図７は、これら事象例を学習した後の特徴層１２の様子を示す。特徴層１２には、(赤色，青色，黄色，白色，甘い，酸っぱい，丸，楕円，犬の形、面積，重さ)の各特徴に対応する特徴ニューロン１２０がある。図８は、学習後の事象層１１の各ニューロン集団内の抽象特徴層２３の様子を示す。抽象特徴層２３には、(色，味，形状，面積，重さ)の各抽象特徴ごとに、それぞれ想起用ニューロン２３０−１と連想用ニューロン２３０−２がある。
【００９９】
図９は、特徴層１２の各ニューロン１２０と、事象"リンゴ"を表すニューロン集団の抽象特徴層２３の各ニューロン２３０−１，２３０−２との間のニューラルネットワークを示している。結合荷重が０の結合は連想や想起に寄与しないので、この図ではわかりやすくするため、結合荷重が非零の結合だけ示している。
【０１００】
事象"リンゴ"の抽象特徴"色"は、上記事象例の学習により、"赤色"、"青色"、"黄色"の３つの特徴と結合する。このため、赤いリンゴを提示しても、青いリンゴを提示しても、或いは赤いリンゴと黄色いリンゴの２つを提示しても、"色"抽象特徴の連想用ニューロン２３０−２（Ａij2）が発火し、前述の式（２）に示すように同じ値の信号を出力する。従ってリンゴの連想制御部２２のニューロンＣ14とＣ15に対する"色"抽象特徴の連想用ニューロンからの刺激は、入力された特徴が"リンゴ"の"色"であれば、それがどの色であっても、また複数であっても、同じになる。
【０１０１】
上記学習した連想記憶装置において、"黄色"、"甘い"、"丸い"、"重さ＝149g"三つの特徴を特徴層に入力して連想操作を行う場合を説明する(図４も参照)。なお、以下では、前述の事象の番号に加え、抽象特徴の色、味、形状、面積、重さに対しても、この順に１〜５の番号を付与する。
【０１０２】
ステップ１：上記四つの特徴が入力されると、リンゴの抽象特徴層２３の色を表す連想ニューロンＡ112、蜜柑の抽象特徴層の色を表す連想用ニューロンＡ212、犬の抽象特徴層の色を表す連想用ニューロンＡ412、リンゴの抽象特徴層の味を表す連想用ニューロンＡ122、西瓜の抽象特徴層の味を表す連想用ニューロンＡ322、リンゴの抽象特徴層の形状を表す連想用ニューロンＡ132、蜜柑の抽象特徴層の形状を表す連想用ニューロンＡ232、リンゴの抽象特徴層の重さを表す連想用ニューロンＡ152、蜜柑の抽象特徴層の重さを表す連想用ニューロンＡ252が発火する。
【０１０３】
ステップ２：リンゴ、蜜柑、西瓜、犬の抽象特徴層２３の連想用ニューロンの発火により、リンゴの連想制御部２２のＣ14、Ｃ15ニューロンが発火し、出力値は共に４である（式（７）参照。なおθ＝０としている。リンゴに該当する抽象特徴が４つである）。また、蜜柑の連想制御部２２のＣ24、Ｃ25ニューロンが発火し、出力値は共に３である。西瓜の連想制御部２２のＣ34、Ｃ35ニューロンが発火し、出力値は共に１である。犬の連想制御部２２のＣ44とＣ45ニューロンが発火し、出力値は共に１である。また、リンゴの連想制御部２２のＣ111，Ｃ112，Ｃ121，Ｃ122，Ｃ131，Ｃ132，Ｃ151，Ｃ152と、蜜柑の連想制御部２２のＣ211，Ｃ212，Ｃ222，Ｃ231，Ｃ232，Ｃ251，Ｃ252と、西瓜の連想制御部２２のＣ312，Ｃ321，Ｃ322，Ｃ332，Ｃ352と、犬の連想制御部２２のＣ411，Ｃ412，Ｃ422，Ｃ432，Ｃ452が発火する。
【０１０４】
ステップ３：リンゴのＣ13と、蜜柑のＣ23，Ｃ26，Ｃ223と、西瓜のＣ36，Ｃ313，Ｃ333，Ｃ353と、犬のＣ43，Ｃ46，Ｃ423，Ｃ433，Ｃ453が発火する。
【０１０５】
ステップ４：各事象の各ニューロン集団の連想制御部２２のＣi6，Ｃij3(i=1，2，3，4；j=1，2，3，4，5)は抑制性ニューロンであるので、それらの内一つ或いは複数が発火したら、対応している事象ニューロンＥiの発火が抑制される。従って、ここではリンゴの事象ニューロンＥ1だけが発火でき、リンゴが連想される。
【０１０６】
次に上記の事象例を学習した連想記憶装置において、"リンゴ"を事象層に与えるか或いは上記の連想操作で"リンゴ"が連想されるなどして、"リンゴ"の事象ニューロンＥ1が発火したときの、その"リンゴ"の特徴の想起操作を説明する(図4も参照)。
【０１０７】
ステップ１：リンゴの事象ニューロンＥ1が発火する。
【０１０８】
ステップ２：リンゴの想起制御部２１のＣ11とＣ12、抽象特徴層２３の想起用ニューロンＡij1(j=1，2，…，P)が発火する。
【０１０９】
ステップ３：Ｃ11は自己ループを持っているので、Ｃ11とＣ12は外部から新しい入力を与えるまで発火状態を続ける。図９に示すように、リンゴの抽象特徴層２３のニューロンが発火すると、特徴層１２の赤色、青色、黄色、甘い、酸っぱい、丸い、面積、重さを表す各特徴ニューロン１２０が発火し、リンゴの特徴が想起される。ここで、抽象特徴層２３の面積の想起用ニューロンから特徴層１２の面積を表すニューロンへの入力は、リンゴの抽象特徴層の面積のニューロン（連想用）の最大発火閾値と最小発火閾値の平均値となる。同様に、抽象特徴層から特徴層の重さを表すニューロンへの入力値は、リンゴの抽象特徴層の重さを表す連想用ニューロンの最大発火閾値と最小発火閾値の平均値となる。したがって、面積、重さの特徴については、学習したリンゴの平均値が出力されることになる。
【０１１０】
上記の連想操作と想起操作を交互に繰り返すことにより、類似な事象が次々と連想されることができる。
【図面の簡単な説明】
【図１】  本発明に係る連想記憶装置の実施形態の概略構成を示すブロック図である。
【図２】  実施形態の連想記憶装置の構成を示すブロック図である。
【図３】  本発明に係る連想記憶装置を実現するためのハードウエア構成の一例を示すブロック図である。
【図４】  実施形態の連想記憶装置における事象層のニューロン集団の構成の一例を示す図である。
【図５】  実施形態の連想記憶装置における特徴層の構成の一例を示す図である。
【図６】  実施形態の連想記憶装置における特徴層の各ニューロンの出力特性を示す図である。
【図７】  事象例を学習した後の特徴層の様子を示す図である。
【図８】  事象例を学習した後の事象層の各ニューロン集団の抽象特徴層の様子を示す図である。
【図９】  事象例を学習した後における事象"リンゴ"を表す事象層のニューロン集団の抽象特徴層と特徴層の各ニューロンとの間の結合の様子を示す図である。
【図１０】  従来の連想記憶装置の構成を示す図である。
【符号の説明】
１〜３  事象層のニューロン集団、４〜６  特徴層のニューロン、１１  事象層、１２  特徴層、１３  ニューラルネットワーク、２０  事象ニューロン、２１  想起制御部、２２  連想制御部、２３  抽象特徴層。
【図１】
0004300639.tif 000002
【図２】
0004300639.tif 000003
【図３】
0004300639.tif 000004
【図４】
0004300639.tif 000005
【図５】
0004300639.tif 000006
【図６】
0004300639.tif 000007
【図７】
0004300639.tif 000008
【図８】
0004300639.tif 000009
【図９】
0004300639.tif 000010
【図１０】
0004300639.tif 000011