(57)【要約】【課題】  遺伝的アルゴリズムによるマルチエージェントを用いた学習により概念を基礎とした情報処理を実行することが可能な概念型情報処理装置を提供する。【解決手段】  概念型情報処理装置は、エージェント２２０をコロニー２１０に離隔しており、各コロニー２１０は，それぞれ一つの概念素子２２２を持つ。この結果、一つのコロニー２１０が一つの概念を表す。学習手法としては、コロニーを選択単位とした動的離隔型遺伝的アルゴリズム（ＤＳ−ＧＡ）を用いることができる。【選択図】        図４
2006323657.tif 000002
【特許請求の範囲】
【請求項１】
入力データに対する出力値の生成を学習により行なうための概念型情報処理装置であって、
前記入力データを取得するための複数の入力素子と、
前記複数の入力素子に入力されたデータに基づいて内部出力信号を各々算出するための相互に接続された複数のエージェントとを備え、
前記複数のエージェントは、複数のコロニーに離隔されており、
各前記コロニーごとに設けられ、前記エージェントからの前記内部出力信号に応じて活性化する概念素子と、
前記概念素子のうち対応する概念素子の活性化に応じて、各々の入力が所定のしきい値を超えることに応じて活性化する複数の出力素子と、
各前記エージェントまたは各前記コロニーの評価値を格納するための記憶手段と、
前記概念型情報処理装置の学習処理を制御するための学習処理手段とをさらに備え、
前記学習処理手段は、
前記入力手段に入力された学習データに基づき現れる前記出力素子の活性化パターンに応じて、各前記エージェントまたは各前記コロニーの前記評価値を更新する評価値更新手段と、
前記更新された評価値に基づいて、前記コロニーを選択的に残存させる処理を行うコロニー選択処理手段とを含む、概念型情報処理装置。
【請求項２】
前記コロニー選択処理手段は、
前記コロニーの評価値が所定のしきい値を超えることに応じて、前記コロニーを分裂させることにより動的に離隔させる動的離隔手段を含む、請求項１記載の概念型情報処理装置。
【請求項３】
前記コロニー選択処理手段は、
前記コロニーの評価値に応じて、より高い評価値を有する前記コロニーを選択的に残存させるコロニー優先選択手段を含む、請求項１記載の概念型情報処理装置。
【請求項４】
前記学習処理手段は、
前記エージェントの評価値が所定のしきい値を超えることに応じて、前記エージェントを分裂させるエージェント分裂手段をさらに含み、
前記コロニー選択処理手段は、
前記コロニー内のエージェント数が所定のしきい値を超えることに応じて、前記コロニーを分裂させることにより動的に離隔させる動的離隔手段を含む、請求項１記載の概念型情報処理装置。
【請求項５】
前記学習処理手段は、
前記エージェントの評価値に応じて、より高い評価値を有する前記エージェントを選択的に残存させるエージェント優先選択手段をさらに含み、
前記コロニー選択処理手段は、
前記コロニー内のエージェント数が所定のしきい値を超えることに応じて、前記コロニーを分裂させることにより動的に離隔させる動的離隔手段を含む、請求項１記載の概念型情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遺伝的アルゴリズムによるマルチエージェントを用いた学習により出力を生成することが可能な情報処理装置、より特定的には概念に対応した情報処理による出力が可能な概念型情報処理装置に関する。
【背景技術】
【０００２】
従来、砂時計型ニューラルネットワーク(Neural Network:以下、「ＮＮ」と略す)では、中間層の少数ノードに高度に概念化された空間が現れる事が知られている。
【０００３】
図８は、このような従来の砂時計型ＮＮの構成を示す概念図である。入力素子の個数に比べて第１中間層のニューロ素子の個数が少なく、さらに、第１中間層のニューロ素子の個数よりも第２中間層のニューロ素子（中央）の個数がさらに少ない。一方、第２中間層のニューロ素子の個数よりも第３中間層のニューロ素子の個数は増加して、最終的に出力素子に出力が与えられる構成である。各ニューロン素子は、接続先と接続強度、しきい値という属性をそれぞれ有している。
【０００４】
たとえば、１６×１６次元からなる顔画像入力を、砂時計型ＮＮの学習を用いて感情抽出する研究（非特許文献１を参照）では、５層ＮＮにおける中間層の２つのノード値で、“喜び”，“悲しみ”，“嫌悪”，“怒り”，“恐れ”，“驚き”，“ニュートラル”の７つの分布が現れることが確認されている。
【０００５】
さらに、特許文献１には、いわゆる「ニューラルネット」を用いて、特徴を表す信号群からなる概念を生成し、関連のある概念間を結びつけて連想を可能とし、処理系が外界に対して行なう動作を概念をベースとして学習する反応型情報処理装置について開示がある。
【０００６】
ここで、人間の頭脳の働きをコンピュータ上で実現する人工知能（ＡＩ）研究において、人間の頭脳の働きはさまざまに分類され、さまざまな視点から研究されている。なかでも、知識の表現方法や論理構造モデルを自己組織的に構築していく研究や、概念や感情など表現が難しい問題に対する研究がひとつの流れをつくりつつある。
【０００７】
従来の学習手法の一つであるＱ学習では、予め状態空間を分割したＱテーブルを用いる。このとき、環境からの入力が、どの分割されたテーブルであるかによって入力を同類と認識する。しかし、状態空間の分割を自律的に再構成する研究は少ない（たとえば、非特許文献２を参照）。
【０００８】
また、学習分類システム(クラシファイアシステム)では、予め入力が区分される候補が設定されており、その組み合わせの変更はできる。しかし、予め設定していない入力区分を新たに設定する研究は始まったばかりである。
【０００９】
このように、環境からの入力を同類と認識して新たな概念を生成し、その概念に基づき学習を進めていく手法の研究は少ない。概念を生成できない手法では、予め全ての概念やその候補を設定する必要があり、高度な知能の実現を目指す上でボトルネックになる可能性がある。なぜなら、人が用いる全ての概念を予め定義することは困難であるからである。
【００１０】
一方で、個々のエージェントが、システムの大域的目的やその達成度などの一部しか知覚できないため、エージェントが知覚できる範囲に基づく学習を、いかにシステム全体の大域的目的と整合させるかという問題に関しては、たとえば、エージェントが知覚できる範囲の情報である利得や報酬、評価などを個体最適性と定義し、システムの大域的目的として、すべてのエージュントがそれぞれの行動から得る利得の総和をシステム最適性とそれぞれ定義したときに、エージェント学習によるシステム最適性の向上をシミュレート可能な「動的離隔型遺伝的アルゴリズム（Dynamically Separating Genetic Algorithms、以下、ＤＳ−ＧＡと記す）」の提案がなされている（たとえば、非特許文献３を参照）。
【００１１】
このＤＳ−ＧＡは、個体数に応じて個体を「コロニー」と呼ぶグループに動的に離隔する遺伝的アルゴリズム（以下、ＧＡ）である。個体を離隔する遺伝的アルゴリズムとしては、他に島モデルＧＡなどがあるが、ＤＳ−ＧＡは離隔状態が個体数に応じて動的に変化する点で異なる。
【００１２】
ただし、非特許文献３に記載されるようなＤＳ−ＧＡについては、エージェントをコロニーに並列に離隔することを前提としており、このような遺伝的アルゴリズムをいかにして、概念を用いた情報処理に対して適用するかについては開示がない。
【特許文献１】特開２００２−３０４６１７号公報明細書
【非特許文献１】石田与志，市村匠，寺内睦博，高濱徹行，磯道義典:「砂時計型ニューラルネットワークを用いた表情画像の分類」，日本ファジィ学会第１０回インテリジェント・システム・シンポジウム講演論文集，ｐｐ．２０１−２０４（２０００．１０）
【非特許文献２】浅田稔，野田彰一，細田耕：「ロボットの行動獲得のための状態空間の自律的構成」日本ロボット学会誌，Vol. 15, No. 6, pp. 886-892(1997)
【非特許文献３】中山  功一、松井博和、野村由司彦著：動的離隔型ＧＡ（ＤＳ−ＧＡ）の提案、情報処理学会誌：数理モデル化と応用，Vol.43， No.SIG10(TOM7), pp.95-109， Nov.2002
【発明の開示】
【発明が解決しようとする課題】
【００１３】
したがって、従来は、概念を情報処理の基礎として、遺伝的アルゴリズムを用いたマルチエージェントの学習をいかに実施して情報処理装置を実現するかという点が必ずしも明らかでない、という問題があった。
【００１４】
本発明は、上記のような問題を解決するためになされたものであって、その目的は、遺伝的アルゴリズムによるマルチエージェントを用いた学習により概念を基礎とした情報処理を実行することが可能な概念型情報処理装置を提供することである。
【課題を解決するための手段】
【００１５】
このような目的を達成するために、本発明の概念型情報処理装置は、入力データに対する出力値の生成を学習により行なうための概念型情報処理装置であって、入力データを取得するための複数の入力素子と、複数の入力素子に入力されたデータに基づいて内部出力信号を各々算出するための相互に接続された複数のエージェントとを備え、複数のエージェントは、複数のコロニーに離隔されており、各コロニーごとに設けられ、エージェントからの内部出力信号に応じて活性化する概念素子と、概念素子のうち対応する概念素子の活性化に応じて、各々の入力が所定のしきい値を超えることに応じて活性化する複数の出力素子と、各エージェントまたは各コロニーの評価値を格納するための記憶手段と、概念型情報処理装置の学習処理を制御するための学習処理手段とをさらに備え、学習処理手段は、入力手段に入力された学習データに基づき現れる出力素子の活性化パターンに応じて、各エージェントまたは各コロニーの評価値を更新する評価値更新手段と、更新された評価値に基づいて、コロニーを選択的に残存させる処理を行なうコロニー選択処理手段とを含む。
【００１６】
好ましくは、コロニー選択処理手段は、コロニーの評価値が所定のしきい値を超えることに応じて、コロニーを分裂させることにより動的に離隔させる動的離隔手段を含む。
【００１７】
好ましくは、コロニー選択処理手段は、コロニーの評価値に応じて、より高い評価値を有するコロニーを選択的に残存させるコロニー優先選択手段を含む。
【００１８】
好ましくは、学習処理手段は、エージェントの評価値が所定のしきい値を超えることに応じて、エージェントを分裂させるエージェント分裂手段をさらに含み、コロニー選択処理手段は、コロニー内のエージェント数が所定のしきい値を超えることに応じて、コロニーを分裂させることにより動的に離隔させる動的離隔手段を含む。
【００１９】
好ましくは、学習処理手段は、エージェントの評価値に応じて、より高い評価値を有するエージェントを選択的に残存させるエージェント優先選択手段をさらに含み、コロニー選択処理手段は、コロニー内のエージェント数が所定のしきい値を超えることに応じて、コロニーを分裂させることにより動的に離隔させる動的離隔手段を含む。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照して本発明の実施の形態について説明する。
本明細書においては、「概念」を人間の知能の基礎と捉え、ＡＩシステムにおいても、「概念」を生成・操作することに適した知能ネットワークシステム(ＩＮＳ: Intelligence Network System)による概念型情報処理装置の実現のための手法を以下説明する。
【００２１】
ここで、「概念」とは、（１）複数のものを同類と認識することにより、同類のもののそれぞれについての表象から共通部分をぬき出して得た表象、及び（２）複数のものを同類と認識する基準、または基準となる集団や集合、と定義する。
【００２２】
（本発明の概要）
図１は、本発明の概念型情報処理装置の概念を説明するための概念図である。
【００２３】
図１を参照して、本発明の概念型情報処理装置は、従来のニューラルネットワークと同様に、入力層と中間層、出力層を持つ。ただし、従来のニューラルネットワークとは、中間層の構造が異なる。
【００２４】
本発明の概念型情報処理装置では、中間層ニューロンはコロニーに離隔され、コロニー内でエージェントがネットワークで接続される。各コロニーは、それぞれ一つの概念素子を持つ。
【００２５】
また、学習手法は、学習単位がエージェントまたはコロニーであり、エージェントが分裂しコロニーが離隔する上述したＤＳ−ＧＡを用いることができる。
【００２６】
すなわち、概念型情報処理装置では、主として以下のような点が特徴的である。
１）エージェントをコロニーに離隔する。
【００２７】
２）各コロニーは，それぞれ一つの概念素子を持つ。
３）一つのコロニーが一つの概念を表す。
【００２８】
４）各コロニーが個々に概念を学習する。
５）ある入力に対して複数の概念が同時に発火する。
【００２９】
なお、コロニー内のネットワークは、階層がないワイヤレスネットワークを用いることもできる。
【００３０】
さらに、学習手法としては、主として以下のような点が特徴的である。
Ａ）コロニーを選択単位としたＧＡ、またはＤＳ−ＧＡを用いることもできる。
【００３１】
Ｂ）エージェントを選択単位としたＤＳ−ＧＡを用いることもできる。
［発明の実施の形態］
（実施の形態１）
以下では、本発明の概念型情報処理装置をコンピュータ１０上で動作するソフトウェアにより実現する場合について説明する。しかしながら、本発明は、必ずしもこのような構成に限定される訳ではなく、その機能の少なくとも一部を専用のハードウェア等により実現することも可能なものである。
【００３２】
まず、本発明の概念型情報処理装置を実現するためのコンピュータシステムの概要について説明する。
【００３３】
図２は、このコンピュータ１０の外観を示す図である。
図２を参照して、このコンピュータ１０は、ＣＤ−ＲＯＭ（Compact Disc Read-Only Memory ）上の情報を読込むためのＣＤ−ＲＯＭドライブ１０８およびフレキシブルディスク（Flexible Disk、以下ＦＤ）１１６に情報を読み書きするためのＦＤドライブ１０６を備えたコンピュータ本体１０２と、コンピュータ本体１０２に接続された表示装置としてのディスプレイ１０４と、同じくコンピュータ本体１０２に接続された入力装置としてのキーボード１１０およびマウス１１２とを含む。なお、学習用の入力データは、コンピュータ１０内で仮想的に作成してもよいし、コンピュータ１０に接続されたセンサ（図示せず）により現実の観測データを入力することとしてもよい。
【００３４】
図３は、このコンピュータ１０の構成をブロック図形式で示す図である。
図３に示されるように、このコンピュータ１０を構成するコンピュータ本体１０２は、ＣＤ−ＲＯＭドライブ１０８およびＦＤドライブ１０６に加えて、それぞれバスＢＳに接続されたＣＰＵ（Central Processing Unit ）１２０と、ＲＯＭ（Read Only Memory) およびＲＡＭ （Random Access Memory）を含むメモリ１２２と、直接アクセスメモリ装置、たとえば、ハードディスク１２４と、外部の装置、たとえばセンサとデータの授受を行なうための通信インタフェース１２８とを含んでいる。ＣＤ−ＲＯＭドライブ１０８にはＣＤ−ＲＯＭ１１８が装着される。ＦＤドライブ１０６にはＦＤ１１６が装着される。
【００３５】
なお、ＣＤ−ＲＯＭ１１８は、コンピュータ本体に対してインストールされるプログラム等の情報を記録可能な媒体であれば、他の媒体、たとえば、ＤＶＤ−ＲＯＭ（Digital Versatile Disc）やメモリカードなどでもよく、その場合は、コンピュータ本体１０２には、これらの媒体を読取ることが可能なドライブ装置が設けられる。
【００３６】
本発明の概念型情報処理装置の主要部は、コンピュータハードウェアと、ＣＰＵ１２０により実行されるソフトウェアとにより構成される。一般的にこうしたソフトウェアはＣＤ−ＲＯＭ１１８、ＦＤ１１６等の記憶媒体に格納されて流通し、ＣＤ−ＲＯＭドライブ１０８またはＦＤドライブ１０６等により記憶媒体から読取られてハードディスク１２４に一旦格納される。または、当該装置がネットワークに接続されている場合には、ネットワーク上のサーバから一旦ハードディスク１２４にコピーされる。そうしてさらにハードディスク１２４からメモリ１２２中のＲＡＭに読出されてＣＰＵ１２０により実行される。なお、ネットワーク接続されている場合には、ハードディスク１２４に格納することなくＲＡＭに直接ロードして実行するようにしてもよい。
【００３７】
図２および図３に示したコンピュータのハードウェア自体およびその動作原理は一般的なものである。したがって、本発明の最も本質的な部分は、概念型情報処理装置をソフトウェアで構成する場合、ＦＤ１１６、ＣＤ−ＲＯＭ１１８、ハードディスク１２４等の記憶媒体に記憶されたソフトウェアである。
【００３８】
なお、一般的傾向として、コンピュータのオペレーティングシステムの一部として様々なプログラムモジュールを用意しておき、アプリケーションプログラムはこれらモジュールを所定の配列で必要な時に呼び出して処理を進める方式が一般的である。そうした場合、当該概念型情報処理装置を実現するためのソフトウェア自体にはそうしたモジュールは含まれず、当該コンピュータでオペレーティングシステムと協働してはじめて概念型情報処理装置が実現することになる。しかし、一般的なプラットフォームを使用する限り、そうしたモジュールを含ませたソフトウェアを流通させる必要はなく、それらモジュールを含まないソフトウェア自体およびそれらソフトウェアを記録した記録媒体（およびそれらソフトウェアがネットワーク上を流通する場合のデータ信号）が実施の形態を構成すると考えることができる。
【００３９】
なお、メモリ１２２は、ＲＯＭおよびＲＡＭを含んでおり、ＲＯＭには上述した概念型情報処理装置を実現するためのプログラムの少なくとも一部が記憶されており、ＲＡＭは、このプログラムの動作のための一時記憶メモリとして動作する。したがって、後に説明する各エージェントまたは概念素子の属性や評価値、各コロニーの属性や評価値は、このＲＡＭ（または必要に応じてハードディスク１２４）に格納される。より厳密には、ＲＯＭには、制御プログラムを走らせるためのＯＳ（Operating System）が記憶されており、概念型情報処理装置を実現するためのプログラムは、ハードディスク１２４からＲＡＭに読み込まれて実行される。
【００４０】
［概念獲得ネットワークを用いる概念型情報処理装置］
図４は、概念獲得ネットワークを用いる概念型情報処理装置の構成を説明するための概念図である。
【００４１】
図４を参照して、概念型情報処理装置は、ＮＩ個の入力素子２００を備える。たとえば、入力素子２００は、外界の状態を知覚するセンサと同数とする。
【００４２】
さらに、概念型情報処理装置は、ＮＣ個のコロニー２１０に分けられたＮＮ個のエージェント２２０を備える。ここで、各コロニーには、１個ずつの概念素子２２２が存在する。
【００４３】
加えて、概念型情報処理装置は、ＮＯ個の出力素子２３０を備える。例えば、出力素子２３０は、外界に対する行動数と同数とする。
【００４４】
各入力素子は、外界からのセンサ入力が反映された内部状態ＵＩ（スカラー量）を持つ。
【００４５】
各コロニーには、それぞれ多数の中間層エージェント２２０が存在する。
なお、後に説明するように、学習手法として中間層エージェントを選択単位とする遺伝的アルゴリズムを用いる場合、各コロニーは、限界個体数（動的離隔が起こる基準）を持つ。または、学習手法として、コロニーを選択単位とする遺伝的アルゴリズムを用いる場合、コロニー自らの累積評価値ＵＣを持つ。
【００４６】
中間層エージェント２２０は、１）入力素子、２）同一コロニー内の他のエージェント、３）他のコロニーの概念素子の３つを参照できる。一般のＮＮにおけるニューロンと同様に、各中間層エージェント２２０は、その属性として、接続先と接続強度、しきい値ＶＴＡを持つ。参照先の値と重み（接続強度）、自らのしきい値に応じて自らの発火（励起，活性化，興奮と同義）の有無が決定される。各中間層エージェント２２０は、自らの所属するコロニーの概念素子に、発火に対応する出力値を出力できる。各中間層エージェント２２０は、さらに、その属性として、内部状態ＵＡ（発火の有無を示すビット量）を有する。また、後に説明するように、学習手法として中間層エージェントを選択単位とする遺伝的アルゴリズムを用いる場合、中間層エージェント２２０は自らの累積評価Ｕｅを持つ。
【００４７】
概念素子２２２は、発火するしきい値ＶＴＣと、コロニー内の中間層エージェントの出力が反映された内部状態ＵＯ（発火の有無を示すビット量）を持つ。
【００４８】
出力素子２３０は、発火するしきい値ＶＴＯと、接続される概念素子２２２の出力が反映された内部状態ＵＯ（発火の有無を示すビット量）を持つ。出力素子２３０が発火することで出力とする．
［学習のアルゴリズム］
従来のＮＮのバックプロパゲーション（ＢＰ）学習では、教師信号（入力に対する正しい出力）に基づいて差分を減らすようにネットワークの荷重やニューロンのしきい値を変更する事で学習する。これに対して、以下に説明するとおり、遺伝的アルゴリズム（ＧＡ）やＤＳ−ＧＡによる学習では、入出力に対して評価（例えば、その出力が正解か不正解か）をするのみで、教師信号は必要ない。
【００４９】
（コロニーを選択単位としたＤＳ−ＧＡによる学習）
図５は、概念型情報処理装置に対するコロニーを選択単位としたＤＳ−ＧＡによる学習手法を説明するためのフローチャートである。
【００５０】
図５を参照して、まず、以下のような初期設定の処理が行われる（ステップ１００）。
すなわち、ＣＰＵ１２０は、各コロニーの評価値ＵＣ（ｉ；ｊ）（ｉは、コロニーを識別し、ｊは処理経過を示すステップ数を表す）等の値を初期化する。ＵＣ（ｉ；０）がコロニーｉに対する初期値を表す。
【００５１】
さらに、コロニーの個数ＮＣは、初期値Ｎ１に設定され、総数ＮＮ個のエージェントが、各コロニーに分配される（ステップＳ１０２）。なお、特に限定されないが、各エージェントの属性（接続先と接続強度、しきい値ＶＴＡ）については、この際にランダムに生成させることができる。ｉ番目のコロニーに含まれる中間エージェントの組の個数をＮagnt（ｉ）と表す。
【００５２】
さらに、初期設定として、変数ＮＬの値が、１に設定される（ステップＳ１０４）。
続いて、各エージェントは、以下に説明するような行動と相互作用を行なう。
【００５３】
まず、学習データが入力素子２００に与えられる（ステップＳ１０６）。
続いて、出力素子２３０に出力された値が正解であるか否かが判断される（ステップＳ１０８）。
【００５４】
出力素子２３０に出力された値が正解（正の評価）である場合には、正解である出力素子ｋに、正の荷重で出力する概念素子を持つコロニーｉ（正の評価）と、負の荷重で出力する概念素子を持つコロニーｊ（負の評価）との評価値を以下のとおり減衰率αで更新する（ステップＳ１１０）。
【００５５】
Uc(i;NL)=Uc(i;NL-1)+αV1  （正の評価）
Uc(j;NL)=Uc(j;NL-1)-αV2  （負の評価）
ここで、Ｖ１，Ｖ２は所定の定数である。
【００５６】
一方、出力素子２３０に出力された値が不正解（負の評価）である場合には、不正解である出力素子ｋに、負の荷重で出力する概念素子を持つコロニーｉ（正の評価）と、正の荷重で出力する概念素子を持つコロニーｊ（負の評価）との評価値を、ステップＳ１１０と同様に以下のとおり減衰率αで更新する（ステップＳ１２０）。
【００５７】
Uc(i;NL)=Uc(i;NL-1)+αV1  （正の評価）
Uc(j;NL)=Uc(j;NL-1)-αV2  （負の評価）
続いて、変数ｍの値を２とした（ステップＳ１１２）後に、以下の処理を行なう（ステップＳ１１４）。
【００５８】
１）直前のステップで正の評価を受けたコロニーに、正の荷重で出力する概念素子を持つコロニーp（正の評価）と、負の荷重で出力する概念素子を持つコロニーq（負の評価）との評価値の更新、または、
２）直前のステップで負の評価を受けたコロニーに、負の荷重で出力する概念素子を持つコロニーp（正の評価）と、正の荷重で出力する概念素子を持つコロニーq（負の評価）との評価値の更新を以下の式により減衰率αmで行なう。
【００５９】
Uc(p;NL)=Uc(p;NL-1)+αmV1（正の評価）
Uc(q;NL)=Uc(q;NL-1)-αmV2（負の評価）
続いて、全てのコロニーについて、評価値の更新が行われた否かの判断が行われ（ステップＳ１１６）、未更新のコロニーがある場合は、ｍの値を１だけインクリメントして（ステップＳ１１８）処理はステップＳ１１４に復帰する。一方、全てのコロニーについて評価値の更新が行われている場合、処理はステップＳ１３０へ移行する。
【００６０】
（コロニーの動的離隔）
ステップＳ１３０においては、ＣＰＵ１２０は、コロニーのうちで評価の累積が第１の基準値を超えたものがあるか否かを判断し、基準値を超えたコロニーがある場合は、そのコロニーについて動的離隔処理を行なう（ステップＳ１３２）。動的離隔処理では、コロニーが分裂（同じコロニーの複製）することにより、２つのコロニーに離隔される。
【００６１】
さらに、ステップＳ１３４においては、ＣＰＵ１２０は、コロニーのうちで評価の累積が第２の基準値を下回るものがあるか否かを判断し、基準値を下回るコロニーがある場合は、そのコロニーを消滅させる（ステップＳ１３６）。
【００６２】
なお、コロニーの総数が一定となるような制約（例えば，評価の合計をコロニー数に反比例させるなど）を加えても良い。
【００６３】
さらに、変数ＮＬの値が、１だけインクリメントされ（ステップＳ１３８）、変数ＮＬの値が、試行回数Ｎ以下の場合は（ステップＳ１４８）、処理はステップＳ１０６に復帰する。一方、変数ＮＬの値が、試行回数Ｎを超える場合は、処理は終了する。
【００６４】
以上のような処理により、１つのコロニー内のエージェントは、１つの概念素子からの出力に基づいて評価値が更新されることになるため、外部からの学習データについて、各コロニー（各概念素子）が、１つの概念に相当するように動的離隔が行われていく。
【００６５】
（実施の形態１の変形例１）  
以上の説明では、各コロニーは動的に離隔されるようなＤＳ−ＧＡにより学習が行われるものとした。ただし、コロニーの選択については、従来の遺伝的アルゴリズムを用いることも可能である。
【００６６】
図６は、このような実施の形態１の変形例１の学習手法を説明するためのフローチャートである。
【００６７】
図６においては、ステップＳ１００〜ステップＳ１１６までの処理については、原則として、図５に示した実施の形態１と同様の処理が行われる。ただし、ステップＳ１０４では、変数ＮＬの他に、時間変数ｔについても初期化される。
【００６８】
その上で、ステップＳ１１６の後に行われるステップＳ１４０では、変数ＮＬの値が、１だけインクリメントされ、かつ時間ｔがｔｃだけインクリメントされる。
【００６９】
時間ｔが所定の時間Ｔ０以上である場合は、コロニーは、ルーレット選択などの一般的なＧＡのアルゴリズムを用いて、より高い評価を受けるコロニーのみが選択されるように選択され（ステップＳ１４４）、時間ｔがリセットされて（ステップＳ１４６）処理はステップＳ１４８に移る。
【００７０】
一方、時間ｔが所定の時間Ｔ０未満である場合は、変数ＮＬの値が、試行回数Ｎ以下の場合は（ステップＳ１４８）、処理はステップＳ１０６に復帰する。一方、変数ＮＬの値が、試行回数Ｎを超える場合は、処理は終了する。
【００７１】
（実施の形態１の変形例２）
実施の形態１では、各コロニーが評価値を有し、学習の各ステップでこの各コロニーの評価値が更新されることで、コロニーが動的離隔・消滅をするという構成であった。
【００７２】
しかしながら、各中間エージェントが評価値を有し、学習の各ステップでこの各中間エージェントの評価値が更新されることで、中間エージェントが分裂または消滅し、各コロニーは、コロニー内の中間エージェントの個数に応じて動的離隔・消滅をするという構成も可能である。
【００７３】
図７は、このような実施の形態１の変形例２の学習手法を説明するためのフローチャートである。
【００７４】
図７を参照して、まず、以下のような初期設定の処理が行われる（ステップ１００）。
すなわち、ＣＰＵ１２０は、各中間エージェントの評価値Ｕｅ（ｉ；ｊ）（ｉは、中間エージェントを識別し、ｊは処理経過を示すステップ数を表す）等の値を初期化する。Ｕｅ（ｉ；０）が中間エージェントｉに対する初期値を表す。
【００７５】
さらに、中間エージェントの個数ＮＣは、初期値Ｎ１に設定され、総数ＮＮ個の中間エージェントが、各コロニーに分配される（ステップＳ１０２）。この場合も、特に限定されないが、各エージェントの属性（接続先と接続強度、しきい値ＶＴＡ）については、この際にランダムに生成させることができる。ｉ番目のコロニーに含まれる中間エージェントの組の個数をＮagnt（ｉ）と表す。
【００７６】
さらに、初期設定として、変数ＮＬの値が、１に設定される（ステップＳ１０４）。
続いて、各中間エージェントは、以下に説明するような行動と相互作用を行なう。
【００７７】
まず、学習データが入力素子２００に与えられる（ステップＳ１０６）。
続いて、出力素子２３０に出力された値が正解であるか否かが判断される（ステップＳ１０８）。
【００７８】
出力素子２３０に出力された値が正解（正の評価）である場合には、出力素子と結合する各コロニーで、正解である出力素子ｋに、正の荷重で出力する概念素子に正の荷重で出力するエージェントｉ（正の評価）と、負の荷重で出力するエージェントｊ（負の評価）との評価値が減衰率αで以下のとおり更新される（ステップＳ１１０）。
【００７９】
Ue(i;NL)=Ue(i;NL-1)+αV3  （正の評価）
Ue(j;NL)=Ue(j;NL-1)-αV4  （負の評価）
ここで、Ｖ３，Ｖ４は所定の定数である。
【００８０】
一方、出力素子２３０に出力された値が不正解（負の評価）である場合には、出力素子と結合する各コロニーで、不正解である出力素子ｋに、負の荷重で出力する概念素子に正の荷重で出力するエージェントｉ（正の評価）と、負の荷重で出力するエージェントｊ（負の評価）との評価値が減衰率αで以下のとおり更新される（ステップＳ１２０）。
【００８１】
Ue(i;NL)=Ue(i;NL-1)+αV3  （正の評価）
Ue(j;NL)=Ue(j;NL-1)-αV4  （負の評価）
続いて、変数ｍの値を２とした（ステップＳ１１２）後に、以下の処理を行なう（ステップＳ１１４）。
【００８２】
１）直前のステップで各コロニーで正の評価を受けたエージェントに、正の荷重で出力するエージェントp（正の評価）と、負の荷重で出力するエージェントq（負の評価）との評価値の更新、または、
２）直前のステップで各コロニーで負の評価を受けたエージェントに、負の荷重で出力するエージェントp（正の評価）と、正の荷重で出力するエージェントq（負の評価）との評価値の更新を以下の式により減衰率αmで行なう。
【００８３】
Ue(p;NL)=Ue(p;NL-1)+αmV3（正の評価）
Ue(q;NL)=Ue(q;NL-1)-αmV4（負の評価）
続いて、全ての中間エージェントについて、評価値の更新が行われた否かの判断が行われ（ステップＳ１１６）、未更新の中間エージェントがある場合は、ｍの値を１だけインクリメントして（ステップＳ１１８）処理はステップＳ１１４に復帰する。一方、全ての中間エージェントについて評価値の更新が行われている場合、処理はステップＳ１３０へ移行する。
【００８４】
（エージェントの分裂と消滅）
ステップＳ１３０においては、ＣＰＵ１２０は、中間エージェントのうちで評価の累積が第３の基準値を超えたものがあるか否かを判断し、基準値を超えた中間エージェントがある場合は、その中間エージェントについて分裂を行なう（ステップＳ１３２）。このとき、各エージェントは、分裂前の評価値を半分ずつ持つ２個体に分裂し、それぞれ遺伝子を引き継ぐ。
【００８５】
さらに、ステップＳ１３４においては、ＣＰＵ１２０は、中間エージェントのうちで評価の累積が第４の基準値を下回るものがあるか否かを判断し、基準値を下回る中間エージェントがある場合は、その中間エージェントを消滅させる（ステップＳ１３６）。
【００８６】
なお、中間エージェントの総数が一定となるような制約（例えば，評価の合計を中間エージェント数に反比例させるなど）を加えても良い。
【００８７】
（コロニーの動的離隔）
続いて、コロニーの動的離隔処理が行われる（ステップＳ１３７）。動的離隔処理では、コロニー内の中間エージェント数が所定の限界数を超えていた場合には、コロニーが分裂することにより、１つのコロニー内に存在するエージェントは、２つのコロニーに離隔される。ただし、２つのコロニーの個体数の差は、たとえば、１以下とする。なお、このときコロニーをランダムに消滅させてもよい。
【００８８】
さらに、変数ＮＬの値が、１だけインクリメントされ（ステップＳ１３８）、変数ＮＬの値が、試行回数Ｎ以下の場合は（ステップＳ１４８）、処理はステップＳ１０６に復帰する。一方、変数ＮＬの値が、試行回数Ｎを超える場合は、処理は終了する。
【００８９】
以上のような処理によっても、１つのコロニー内のエージェントは、１つの概念素子からの出力に基づいて評価値が更新されることになるため、外部からの学習データについて、各コロニー（各概念素子）が、１つの概念に相当するように動的離隔が行われていく。
【００９０】
さらに、図７に示した実施の形態１の変形例２において、ステップＳ１３０〜ステップＳ１３６までのエージェントの分裂・消滅の代わりに、一般的な遺伝アルゴリズムと同様に、一定の単位時間毎に、中間層エージェントは、より高い評価を受ける中間層エージェントのみが選択されるように、ルーレット選択などの一般的なＧＡのアルゴリズムを用いて選択される構成としてもよい。
【００９１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【００９２】
【図１】本発明の概念型情報処理装置の概念を説明するための概念図である。
【図２】コンピュータ１０の外観を示す図である。
【図３】コンピュータ１０の構成をブロック図形式で示す図である。
【図４】概念獲得ネットワークを用いる概念型情報処理装置の構成を説明するための概念図である。
【図５】概念型情報処理装置に対するコロニーを選択単位としたＤＳ−ＧＡによる学習手法を説明するためのフローチャートである。
【図６】な実施の形態１の変形例１の学習手法を説明するためのフローチャートである。
【図７】な実施の形態１の変形例２の学習手法を説明するためのフローチャートである。
【図８】従来の砂時計型ＮＮの構成を示す概念図である。
【符号の説明】
【００９３】
１０  コンピュータ、１０２  コンピュータ本体、１０４  ディスプレイ、１０６  ＦＤドライブ、１０８  ＣＤ−ＲＯＭドライブ、１１０  キーボード、１１２  マウス、１１８  ＣＤ−ＲＯＭ、  １２０  ＣＰＵ、  １２２  メモリ、１２４  ハードディスク、１２８  通信インタフェース。
【図１】
2006323657.tif 000003
【図２】
2006323657.tif 000004
【図３】
2006323657.tif 000005
【図４】
2006323657.tif 000006
【図５】
2006323657.tif 000007
【図６】
2006323657.tif 000008
【図７】
2006323657.tif 000009
【図８】
2006323657.tif 000010