(57)【特許請求の範囲】
【請求項１】
ニューラルネットワークを含む複数の機能モジュール間の競合的学習で実現される自己組織化マップを構築する装置であって、
前記各機能モジュールは、制御対象を制御するニューラルネットワークからなる制御器と制御対象の次時刻状態を予測するニューラルネットワークからなる予測器とを含み、
前記制御器が、前記制御対象の理想状態と前記制御対象の現在状態とを入力されることで、前記制御対象を制御する制御信号を出力し、
前記予測器が、前記制御対象の現時刻の制御信号と前記制御対象の現在状態とを入力されることで、次時刻の前記制御対象の予測状態を出力し、
前記制御対象の現在状態を最も近く予測した予測器を具備する前記機能モジュールを最適合機能モジュールとして特定し、
前記最適合機能モジュールに係る制御器から出力された制御信号で前記制御対象を実際に制御し、
前記制御信号を採用された機能モジュールを最適合機能モジュールとして前記自己組織化マップを更新する装置。
【請求項２】
前記制御対象の現在状態を最も近く予測した予測器を具備する機能モジュールを候補機能モジュールとし、当該候補機能モジュールと前回の最適合機能モジュールとなった機能モジュールとが異なる場合に、
前記候補機能モジュールの現在状態の予測が前回の最適合機能モジュールとなった機能モジュールの現在状態の予測よりも所定以上制御対象の現在状態に近くないときには、前回の最適合機能モジュールとなった機能モジュールを最適合機能モジュールとして維持する
前記請求項１に記載の装置。
【請求項３】
前記制御器毎に用意され、前記制御対象の現在状態と理想状態との偏差を入力されることで前記制御信号を前記制御対象に出力すると共に、前記制御信号を前記制御器にも出力して前記制御器のフィードバック学習を行う線形フィードバック制御器を新たに含む
前記請求項１又は２に記載の装置。
【請求項４】
前記予測器毎に用意され、前記予測器が出力した前記制御対象の予測状態を、少なくとも予測した次時刻が到来するまで保持する遅延器を新たに含む
前記請求項１ないし３のいずれかに記載の装置。
【請求項５】
制御対象の現在状態が入力された場合に、当該現在状態に対応する自己組織化マップ上の前記機能モジュールの位置を特定する手段を新たに含み、
自己組織化マップ上の位置に対応する機能モジュールを用いて現時刻の制御対象を制御する
前記請求項１ないし４のいずれかに記載の装置。
【請求項６】
ニューラルネットワークを含む複数の機能モジュール間の競合的学習で実現される自己組織化マップを構築する装置を用いる方法であって、
前記各機能モジュールに含まれ、制御対象を制御するニューラルネットワークからなる制御器が、前記制御対象の理想状態と前記制御対象の現在状態とを入力されることで、前記制御対象を制御する制御信号を出力するステップと、
前記各機能モジュールに含まれ、前記制御対象の次時刻状態を予測するニューラルネットワークからなる予測器が、前記制御対象の現時刻の制御信号と前記制御対象の現在状態とを入力されることで次時刻の前記制御対象の予測状態を出力するステップと、
前記制御対象の現在状態を最も近く予測した予測器を具備する前記機能モジュールを最適合機能モジュールとして特定するステップと、
前記最適合機能モジュールに係る制御器から出力された制御信号で前記制御対象を実際に制御するステップと、
前記制御信号を採用された機能モジュールを最適合機能モジュールとして前記自己組織化マップを更新するステップを含む方法。
【請求項７】
ニューラルネットワークを含む複数の機能モジュール間の競合的学習で実現される自己組織化マップを構築するようにコンピュータを機能させるためのプログラムであって、
前記各機能モジュールに含まれ、前記制御対象の理想状態と前記制御対象の現在状態とを入力されることで、前記制御対象を制御する制御信号を出力するニューラルネットワークからなる制御器と、
前記各機能モジュールに含まれ、前記制御対象の現時刻の制御信号と前記制御対象の現在状態とを入力されることで、次時刻の前記制御対象の予測状態を出力するニューラルネットワークからなる予測器と、
前記制御対象の現在状態を最も近く予測した予測器を具備する前記機能モジュールを最適合機能モジュールとして特定する手段と、
前記最適合機能モジュールに係る制御器から出力された制御信号で前記制御対象を実際に制御する手段と、
前記制御信号を採用された機能モジュールを最適合機能モジュールとして前記自己組織化マップを更新する手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自己組織化マップを用いる装置であり、特に、即時性を要する制御に最適な装置に関する。
【背景技術】
【０００２】
本発明の背景技術として、特開２０００−３５９５６号公報に開示されるエージェント学習装置がある。
【０００３】
この背景技術のエージェント学習装置は、環境に対して働きかけ、その結果得られる報酬を最大化するための行動出力を決定する強化学習システムと、環境の変化を予測する環境予測システムとの組によりなる学習モジュールが複数備えられ、各学習モジュールの環境予測システムの予測誤差が少ないものほど大きな値を取る責任信号が求められ、この責任信号に比例して強化学習システムによる行動出力が重み付けされて、環境に対する行動が与えられる構成である。
【０００４】
この背景技術のエージェント学習装置によれば、非線形性／非定常性を持つ制御対象やシステムなどの環境で、具体的な教師信号は与えられず、様々な環境の状態や動作モードに最適な行動の切り替えや組み合わせを行い、また先見知識を用いることなく柔軟に行動
学習を行なうことができる。
【特許文献１】特開２０００−３５９５６号公報
【非特許文献１】Wolpert, D.M., Kawato, M.: Multiple paired forward and inverse models for motor control. Neural Networks 11, 1317-1329, 1998
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前記背景技術のエージェント学習装置は、教師付き学習の枠組みを適用することができない、何が正しい出力であるかは未知であるという実世界の問題を解決するものであった。
しかしながら、背景技術のエージェント学習装置であっても、トレーニングケースの少ない場合にあっては迅速に問題を適切に解決することができない場合があるという課題を有する。特に、環境１、環境２、環境３を仮定した場合に、環境２が環境１と環境３を折衷した環境である場合に、環境１を十分にトレーニングさせ、環境３を十分にトレーニングさせた後に、環境２をトレーニングさせた時には、環境１に対応した学習モジュールと、環境３に対応した学習モジュールとが環境２に歩み寄る形で対応するため、環境２に十分に対応するためには相当の時間がかかる。すなわち、既に学習した環境を利用して新規環境に対する即時性のある対応をできないという課題を有する。
【０００６】
本発明は前記課題を解決するためになされたものであり、数少ないトレーニングケースから汎化性の高い制御を実現することができる装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
すなわち、制御対象の特性の突然の変化に対応し、且つ、できるだけ少ない標本数から汎化的な制御能力を獲得することができる装置を実現することを目標としている。そこで自己組織化マップの考え方を導入した自己組織化適応制御器（Self-Organizing AdaptiveController : SOAC）を提案する。ＳＯＡＣの開発は制御工学における適応制御のテーマに関連するが、適応制御では基本的に、制御対象の特性が時間とともにゆっくり変化することを前提としており、その点相違する。
【０００８】
ＳＯＡＣは制御器を自己組織的に構成することを目的に考案されたものであり、大きく２つの特徴を持つ。第１の特徴は、自己組織化マップ（SOM）とモジュラーネットワークの双方の特徴を併せ持つｍｎＳＯＭ(modular network SOM)を元にしたアーキテクチャを用いていることである。すなわちＳＯＡＣはニューラルネットの機能モジュールが多数集まった構造を持ち、それらはＳＯＭのアルゴリズムに従って学習が行われる。第２の特徴は、ＳＯＡＣの各機能モジュールが制御器と予測器のペアから構成されることである。すなわちＳＯＡＣは、特性の異なる制御器と予測器が多数並んだ構造をしている（図１）。ここで、図１は本発明のＳＯＡＣの基本構成を示す図である。
【０００９】
まず第１の特徴であるｍｎＳＯＭであるが、これは従来型ＳＯＭの各ベクトルユニットをニューラルネットワークの機能モジュールに置き換えたものである。たとえばｍｎＳＯＭでは、ＭＬＰ（Multi-Layer Perceptron）やＲＮＮ（RecurrentNeural Network）などのモジュールをＳＯＭのベクトルユニットの代わりとして使うことができる。こうすることで従来型ＳＯＭでは扱えなかったデータベクトルの集合や、時系列データをマッピングすることができる。なおｍｎＳＯＭの機能モジュールとしてヘブ学習ニューロンを選べばｍｎＳＯＭは通常のＳＯＭになることから、ｍｎＳＯＭはＳＯＭの一般化とみることができる。ｍｎＳＯＭの機能モジュールはユーザーが自由にデザインできるので、ＳＯＭの応用範囲を大きく拡げることができる。そこで発明者は鋭意努力の末、ニューラルネットワークを用いた制御器を機能モジュールとするｍｎＳＯＭを想到した。これがＳＯＡＣの第１の特徴である。すなわちＳＯＡＣは、ニューラルネットの制御器が多数集合したものであり、それらはＳＯＭのアルゴリズムによって機能の分業・協調が行われる。ある制御対象が与えられたとき、制御対象をもっとも良く制御するモジュールが最適合制御器（Best Matching Controller : BMC）として選ばれ、ＢＭＣモジュールを用いて対象が制御される。もし制御対象の特性が突然変化した場合は、ＢＭＣも直ちに別のモジュールへと変わるため適応的に制御を行うことができる（図２）。ここで、図２は本発明のモジュール切り替えの説明図である。
【００１０】
ＳＯＡＣの第２の特徴は、制御器と予測器がペアになったモジュール構造である。その必要性は制御タスクを実時間で行わなければなならないことから生じる。制御対象の特性が変化したとき、それに対応して最適な制御器、すなわちＢＭＣをただちに切り替えなければならない。そこでＳＯＡＣでは、すべての制御器とペアになる予測器を用意しておき、制御対象の次時刻の状態をもっとも良く推定した予測器とペアの制御器が、その時刻におけるＢＭＣであるとした。すなわち予測器はシステム同定器として働き、ペアとなる制御器は同定したシステムに対して最適な制御器になるよう事前に学習しておく。こうすることで、制御対象の突然の変化に対しても瞬時にＢＭＣを切り替えることができるようになる。
より体系的には本発明は次のように説示できる。
【００１１】
（１）  本発明に係る装置は、ニューラルネットワークを含む複数の機能モジュール間の競合的学習で実現される自己組織化マップを構築する装置であって、前記各機能モジュールは、制御対象を制御するニューラルネットワークからなる制御器と制御対象の次時刻状態を予測するニューラルネットワークからなる予測器とを含み、前記制御器が、前記制御対象の理想状態と前記制御対象の現在状態とを入力されることで、前記制御対象を制御
する制御信号を出力し、前記予測器が、前記制御対象の現時刻の制御信号と前記制御対象の現在状態とを入力されることで、次時刻の前記制御対象の予測状態を出力し、前記制御対象の現在状態を最も近く予測した予測器を具備する前記機能モジュールを最適合機能モジュールとして特定し、前記最適合機能モジュールに係る制御器から出力された制御信号で前記制御対象を実際に制御し、前記制御信号を採用された機能モジュールを最適合機能モジュールとして前記自己組織化マップを更新するものである。
【００１２】
このように本発明によれば、装置内に複数存するニューラルネットワークのモジュールからなるユニットのうち、最も次時刻の制御対象の予測状態を正しく予測した予測器を含むユニットに係る制御器の制御信号を採用して制御対象を制御するので、即時性の高い制御を実現することができると共に、自己組織化マップを形成することができる。
なお、前記「ニューラルネットワークのモジュールからなるユニット間の競合的学習から実現される自己組織化マップを構築する装置」は、下位概念として「ニューラルネットワークのモジュールからなるユニット間の競合的学習と近傍関数による平滑化から実現される自己組織化マップを構築する装置」とすることもできる。
【００１３】
（２）  本発明に係る装置は必要に応じて、前記制御対象の現在状態を最も近く予測した予測器を具備する機能モジュールを候補機能モジュールとし、当該候補機能モジュールと前回の最適合機能モジュールとなった機能モジュールとが異なる場合に、前記候補機能モジュールの現在状態の予測が前回の最適合機能モジュールとなった機能モジュールの現在状態の予測よりも所定以上制御対象の現在状態に近くないときには、前回の最適合機能モジュールとなった機能モジュールを最適合機能モジュールとして維持するものである。
【００１４】
このように本発明によれば、最適合ユニットが他のユニットに移行する可能性がある場合に、前回の最適合ユニットの予測状態と制御対象の現在状態との差が、候補ユニットの予測状態と制御対象の現在状態との差よりも所定閾値よりも大きくない場合に、前回の最適合ユニットを継続して採用するので、最適合ユニットの交代が頻繁になされることがなく、安定した制御対象の制御を実現することができる。すなわち、候補ユニットがいくら正確に制御対象の予測状態を予測していた場合であっても現状の最適合ユニットでもさほど変わらず十分制御することができる場合にはユニットの切換を抑制している。ユニットの切換の乱発で不安定な制御系にならないように配慮している。
【００１５】
（３）  本発明に係る装置は必要に応じて、前記制御器毎に用意され、前記制御対象の現在状態と理想状態との偏差を入力されることで前記制御信号を前記制御対象に出力すると共に、前記制御信号を前記制御器にも出力して前記制御器のフィードバック学習を行う線形フィードバック制御器を新たに含むものである。
このように本発明によれば、各制御器に線形フィードバック制御器を配しているので、制御器であるニューラルネットワークが十分に学習していない場合であっても線形フィードバックが制御信号を補間して適切な制御を実現することができると共に、線形フィードバック制御器が出力する信号が制御器にも入力されて学習も補間することができる。
【００１６】
（４）  本発明に係る装置は必要に応じて、前記予測器毎に用意され、前記予測器が出力した前記制御対象の予測状態を、少なくとも予測した次時刻が到来するまで保持する遅延器を新たに含むものである。
このように本発明によれば、予測器が予測状態を出力するタイミングが予測した時刻でなかった場合であっても遅延器が調整し、適切に最適合ユニットを特定することができる。
【００１８】
（５）  本発明に係る装置は必要に応じて、制御対象の現在状態が入力された場合に、当該現在状態に対応する自己組織化マップ上の前記機能モジュールの位置を特定する手段を新たに含み、自己組織化マップ上の位置に対応する機能モジュールを用いて現時刻の制御対象を制御するものである。
【００１９】
このように本発明によれば、入力された制御対象の条件が対応する自己組織化マップ上の位置を特定し、この特定した位置に対応するユニットに係る制御器を用いて制御するので、入力された制御対象の条件に関して直接的に学習がなされていない場合であっても、比較的安定して制御することができる。例えば、制御対象の条件Ａと制御対象の条件Ｂがあり、これらの条件に関しては学習がなされている場合に、制御対象の条件Ａと制御対象の条件Ｂの中間の制御対象の条件Ｃが入力されたとき、自己組織化マップ上で制御対象の条件Ａと制御対象の条件Ｂとの間の位置に対応するユニットを用いて制御対象を制御することでかかる条件に関して学習がない場合であっても当初からおおよそ適切に制御を行うことができる。
【００２０】
（６）  本発明に係る方法は、ニューラルネットワークを含む複数の機能モジュール間の競合的学習で実現される自己組織化マップを構築する装置を用いる方法であって、前記各機能モジュールに含まれ、制御対象を制御するニューラルネットワークからなる制御器が、前記制御対象の理想状態と前記制御対象の現在状態とを入力されることで、前記制御対象を制御する制御信号を出力するステップと、前記各機能モジュールに含まれ、前記制御対象の次時刻状態を予測するニューラルネットワークからなる予測器が、前記制御対象の現時刻の制御信号と前記制御対象の現在状態とを入力されることで次時刻の前記制御対象の予測状態を出力するステップと、前記制御対象の現在状態を最も近く予測した予測器を具備する前記機能モジュールを最適合機能モジュールとして特定するステップと、前記最適合機能モジュールに係る制御器から出力された制御信号で前記制御対象を実際に制御するステップと、前記制御信号を採用された機能モジュールを最適合機能モジュールとして前記自己組織化マップを更新するステップを含むものである。前記装置は方法としても把握することができる。
【００２１】
（７）  本発明に係るプログラムは、ニューラルネットワークを含む複数の機能モジュール間の競合的学習で実現される自己組織化マップを構築するようにコンピュータを機能させるためのプログラムであって、前記各機能モジュールに含まれ、前記制御対象の理想状態と前記制御対象の現在状態とを入力されることで、前記制御対象を制御する制御信号を出力するニューラルネットワークからなる制御器と、前記各機能モジュールに含まれ、前記制御対象の現時刻の制御信号と前記制御対象の現在状態とを入力されることで、次時刻の前記制御対象の予測状態を出力するニューラルネットワークからなる予測器と、前記制御対象の現在状態を最も近く予測した予測器を具備する前記機能モジュールを最適合機能モジュールとして特定する手段と、前記最適合機能モジュールに係る制御器から出力された制御信号で前記制御対象を実際に制御する手段と、前記制御信号を採用された機能モジュールを最適合機能モジュールとして前記自己組織化マップを更新する手段としてコンピュータを機能させるためのものである。前記装置はプログラムとしても把握することができる。
これら前記の発明の概要は、本発明に必須となる特徴を列挙したものではなく、これら複数の特徴のサブコンビネーションも発明となり得る。
【発明を実施するための最良の形態】
【００２２】
（本発明の第１の実施形態）
［１．基本構成］
ＳＯＡＣの構成を図1に示す。基本的なＳＯＡＣのアーキテクチャはｍｎＳＯＭと同じであり、ｍｎＳＯＭの機能モジュールが予測器ブロックと制御器ブロックから構成されたものである。
ｋ−ｔｈモジュールの制御器ブロックは、制御対象の現在の状態ｘ（ｔ）と目標状態＾ｘ（ｔ）を入力とし、制御信号ｕｋ（ｔ）を出力とする。すなわち
【００２３】
【数１】
0004734639.tif 000002
【００２４】
と表されるとする。一方、ｋ−ｔｈモジュールの予測器ブロックは、制御対象の現在の状態ｘ（ｔ）と制御信号ｕ（ｔ）を入力とし、Δｔ秒後の制御対象の状態の予測値〜ｘk（ｔ＋Δｔ）を出力する。すなわち
【００２５】
【数２】
0004734639.tif 000003
【００２６】
と表されるとする。
ＳＯＡＣは、学習モードと実行モードの２つのモードを持つ。学習モードでは、全モジュールの予測器と制御器をｍｎＳＯＭのアルゴリズムに従って学習する。実行モードでは学習の完了したモジュールを用いて実際に制御対象を制御する。
【００２７】
［２．実行モード］
学習モードについて説明する前に、まずＳＯＡＣを実際に運用する実行モードについて説明する。制御対象の挙動と予測器が予想した挙動との誤差を次式で定義する。
【００２８】
【数３】
0004734639.tif 000004
【００２９】
pｅk(ｔ)は予測誤差の指数減衰平均である。すなわち実行モードにおいては、ごく近い過去から現在までの予測誤差の時間平均を取る。時間平均を取る区間の長さはεで決まり、εが小さいほど時間平均の区間は長くなり、逆にε=1のときはその瞬間の予測誤差のみでpｅk(ｔ)が決まる。そしてpｅk(ｔ)をもっとも小さくするモジュールが時刻tにおけるＢＭＣとなる。εの値は制御対象に加わる外乱やノイズの大きさによって決まり、一般に外乱やノイズが大きいほどεは小さくとる方がよい。ＢＭＣの添字を＊とすれば、
【００３０】
【数４】
0004734639.tif 000005
【００３１】
【数５】
0004734639.tif 000006
となり、ＢＭＣの出力が実際の制御信号となり制御対象へ入力される。
【００３２】
［３．学習モード（予測器ブロック）］
本節では、予測器ブロックの学習について説明し、制御器ブロックの学習は次節で説明する。今、事前にＩ個の既知な制御対象があり、これらを学習に使用するものとする。従って、これらを制御する制御器もＩ個用意する。よってＩ個の時系列データ[（ｘi(ｔ)，ｕi(ｔ)）]（ｉ=１,...,Ｉ）が得られる。
【００３３】
予測器ブロックの学習アルゴリズムはｍｎＳＯＭのアルゴリズムと等しい。したがって、予測器ブロックのアルゴリズムはｍｎＳＯＭと同様に(1)評価過程(2)競合過程(3)協調過程(4)適応過程の４過程から成る。ここで、予測器はＭＬＰモジュールであると仮定し、重みベクトルをpｗkとする。
【００３４】
［３．１  評価過程］
まず、教師パターンとの予測誤差をＩ個全てに対して求める。
【００３５】
【数６】
0004734639.tif 000007
【００３６】
ここで、〜ｘｋｉ(t)とｐＥｋｉはそれぞれｉ番目の教師に対するｋ−ｔｈ予測器の出力と平均予測誤差である。また、Ｔは時系列の長さを表す。
【００３７】
［３．２  競合過程］
予測誤差を求めた後、全ての教師パターンについてＢＭＣを決める。ＢＭＣは次式に示すように平均予測誤差を最小としたモジュールにより決定される。
【００３８】
【数７】
0004734639.tif 000008
【００３９】
［３．３  協調過程］
近傍関数を用いて学習分配率を決定する。
【００４０】
【数８】
0004734639.tif 000009
ここで、ξk、ξ*iはｋ−ｔｈモジュールとＢＭＣのマップ空間における座標を表す。
【００４１】
［３．４  適応過程］
予測器の重みベクトルは学習分配率｛ψki｝を用いて次式のように表される。
【００４２】
【数９】
0004734639.tif 000010
【００４３】
これら４過程をネットワークが定常状態になるまで繰り返す。その結果、近い性質を持つモジュールはマップ空間上の近い位置に配置される。
なお、この学習分配率に応じてマップが更新される。
【００４４】
［３．５  学習モード（制御器ブロック）］
ＳＯＡＣの制御器としてフィードバック誤差学習を用いる。フィードバック誤差学習を用いることの利点は、制御器として従来型の線形フィードバック制御器を用いて訓練することができ、事前に最適な制御器を決定する必要がないこと、従って追加学習も可能になることである。
【００４５】
ＳＯＡＣの１モジュールのブロック線図を図３に示す。閉ループ適応制御系にフィードバック誤差学習を導入したモデルである。このモデルは、制御器が従来型の線形フィードバック制御器（Conventional FeedbackController : ＣＦＣ）とニューラルネット制御器（NeuralNetwork Controller : ＮＮＣ）から構成される。ＣＦＣとＮＮＣを並列にすることで、単にＮＮＣをＣＦＣで学習できることのみならず、ＣＦＣによって制御系を安定させられること、ＮＮＣが非線形な補償を実現することができることなどの長所が生じる。今、多入出力系のフィードバック係数行列をcfcＷとし、ｋ−ｔｈモジュールのフィードバック係数行列を添字をつけてcfcＷkとする。このとき、ＳＯＡＣの制御則は以下のように表される。
【００４６】
【数１０】
0004734639.tif 000011
【００４７】
【数１１】
0004734639.tif 000012
【００４８】
【数１２】
0004734639.tif 000013
【００４９】
また、ＮＮＣの誤差信号nncＥはＣＦＣの出力を用いて次式で定義する。
【数１３】
0004734639.tif 000014
【００５０】
最後に、フィードバックcfcＷkと重みベクトルnncＷkは以下の式に従って更新される。ここで、学習分配率ψkiは予測器の学習で得られた値を用いる。すなわち制御器はペアになっている予測器が同定したシステムを正しく制御するように学習する。
【００５１】
【数１４】
0004734639.tif 000015
【００５２】
【数１５】
0004734639.tif 000016
以上がSOACのアーキテクチャと学習アルゴリズムである。
【００５３】
［４．ハードウェア構成図］
図４は本実施形態に係る装置の構成要素のハードウェア構成図である。本装置は汎用的なコンピュータを用いることができる。ハードウェアの構成としてはＣＰＵ(Central Processing Unit)１１、ＤＲＡＭ(Dynamic Random Access Memory)１２等のメインメモリ、外部記憶装置であるＨＤ(hard disk)１３、表示装置であるディスプレイ１４、入力装置であるキーボード１５及びマウス１６、ネットワークに接続するための拡張カードであるＬＡＮカード１７、ＣＤ−ＲＯＭドライブ１８等からなる。
例えば、ＣＤ−ＲＯＭに格納されているプログラムがＨＤ１３上に複製（インストール）され、必要に応じてプログラムがメインメモリ１２に読み出され、ＣＰＵ１１がかかるプログラムを実行することで装置を構成する。
【００５４】
［５．動作］
図５は本実施形態に係る装置の実行モードの動作のフローチャートの一例である。
ＣＰＵ１１（予測器２）は制御対象の現時刻の制御信号と制御対象の現在状態を用いて次時刻の制御対象の状態を予測する（ステップ１００）。ここでの予測は全ユニットの予測器２が実施する。
ＣＰＵ１１（遅延器４）は予測した次時刻の制御対象の実際の状態が入力されるまで待機させる（ステップ２００）。ここでの待機は全ユニットの遅延器４が実施する。
ＣＰＵ１１は予測した次時刻の制御対象の実際の状態と予測された状態とを比較し、最も近い予測を行った予測器２を特定する（ステップ３００）。ここで特定された予測器２を含むユニットが最適合ユニットとなる。
【００５５】
ＣＰＵ１１（制御器１）は制御対象の理想状態と制御対象の現在状態を用いて制御信号を求め、モータ等の駆動源に制御信号を出力する（ステップ４００）。
ＣＰＵ１１は最適合ユニットに基づき自己組織化マップを更新する（ステップ５００）。
ここで、最適合ユニットと判明した後に最適合ユニットに係る制御器１が制御信号を求めているが、最適合ユニットと判明する前に全ユニットの制御器１が制御信号を求める構成にすることもできる。
【００５６】
（その他の実施形態）
［自己組織化マップを用いた制御対象の条件推定］
例えば、ある制御対象の条件を制御した場合に最適合ユニットが図６（ｂ）に示すマップ上で真中に位置する場合には、制御対象の条件は振り子の重心までの距離が「Ｌｏｎｇ」で振り子の質量が「Ｈｅａｖｙ」であることが推測される。
すなわち、制御対象を制御することで自己組織化マップ上での位置を特定し、かかる位置に対応付いている従前の制御対象の条件から現制御対象の条件を推定することができる。
【００５７】
［自己組織化マップを用いたユニットの特定］
ある制御対象の条件が入力された場合に、かかる制御対象の条件と同一条件の学習がなされていなかった場合であっても、類似する制御対象の条件が対応付いている自己組織化マップ上で近い位置と対応付いているユニットを用いることで初動時の制御の乱れを抑制することができる。
【００５８】
また、制御対象の条件により自己組織化マップ上で画定することも可能であり、各画定領域の中で新たに入力された制御対象の条件と最も合致する画定領域内のユニットを用いることで同様に初動時の制御の乱れを抑制することができる。また、選択可能なユニットを制限することで、制御に用いるユニットの選択にかかる労力を低減することができる。
【００５９】
［その他］
もし制御対象のダイナミクスが隠れパラメータによって連続的に変化するような場合、それに対応したマップができると考えられ、かように生成された特徴マップを有効に活用することができる。
また、実行モードにおいても未学習の対象を制御しながら各モジュールの特性を修正する、追加学習の機能を加えることもできる。
以上の前記各実施形態により本発明を説明したが、本発明の技術的範囲は実施形態に記載の範囲には限定されず、これら各実施形態に多様な変更又は改良を加えることが可能である。そして、かような変更又は改良を加えた実施の形態も本発明の技術的範囲に含まれる。このことは、特許請求の範囲及び課題を解決する手段からも明らかなことである。
【実施例】
【００６０】
［ＳＯＡＣを倒立振子の制御に適用した例］
ＳＯＡＣの性能を調べるために倒立振子系を用いてシミュレーション実験を行った。実験で使用した振子のパラメータを表１に示す（図６（ａ）参照）。
【００６１】
【表１】
0004734639.tif 000017
【００６２】
ＳＯＡＣのモジュールとしては図３と同様のものを用いた。シミュレーションでは振子の長さおよび重さは可変であるものとし、パラメータの異なる9組のパラメータセットを学習用パターンとして用意した。学習用パターンは表1に示すように振子の長さが“Ｌｏｎｇ”、“Ｈａｌｆ”、“Ｓｈｏｒｔ”の３種類と、振子の重さが“Ｈｅａｖｙ”、“Ｍｉｄｄｌｅ”、“Ｌｉｇｈｔ”の３種類の組み合わせで生成した。ＣＦＣのフィードバック係数行列（ベクトル）は状態フィードバック制御法により求めた。ＮＮＣは３層ＭＬＰを用い、予測器は線形ニューラルネットを用いた。また、台車には外乱としてガウス白色ノイズを与えた。
【００６３】
学習終了後、ネットワークを固定して制御実験を行った。図６（ｂ）にＳＯＡＣの学習により得られたマップを示す。マップは“Ｓｈｏｒｔ”、“Ｍｉｄｄｌｅ”、“Ｌｏｎｇ”の３つのクラスタを形成した。図６（ｂ）中は倒立振子制御モジュールのマップを示し、マップ中のグレースケールは予測器とその近傍の距離を示す。
【００６４】
ＳＯＡＣの適応能力を調べるために、３０秒間隔で振子の長さと重さを変化させた。ただし最初の３０秒は学習のときに与えたパラメータ（Ｈａｌｆ−Ｍｉｄｄｌｅ）を用い、その後は未学習のパラメータとした。また制御器の切り替えを行う場合と行わない場合、使用する制御器としてＣＦＣのみを用いた場合、ＮＮＣのみを用いた場合の４通りについてそれぞれ実験を行った。実験結果を図７に示す。図をみてわかるように、学習したパラメータについては、すべてのケースにおいて振子を倒すことなく制御できた。しかし、未学習のパラメータを与えた場合で、制御器の切り替えをおこなわなかった場合（non-adaptive）に予告なく変えると、ＣＦＣ、ＮＮＣどちらの場合も開始から75秒付近で振子は倒れてしまった。一方、制御器の切り替えをおこなった場合（adaptive）、ＣＦＣ、ＮＮＣどちらの場合も振子を倒すことなく制御可能であった。特にＮＮＣを用いた場合はＣＦＣの場合よりも振動の少ない制御が可能であった。
【００６５】
シミュレーションの結果、ＳＯＡＣは倒立振子のパラメータ変化に対し適応的にＢＭＣを切り替え、安定した制御が可能であった。このことからＳＯＡＣは高い適応能力を持つことが分かった。さらに、ＳＯＡＣは適応制御器としての機能のみならず、制御対象の特徴マップを自己組織的に獲得することもできた。
【図面の簡単な説明】
【００６６】
【図１】本発明のＳＯＡＣの基本構成を示す図である。
【図２】本発明のモジュール切り替えの説明図である。
【図３】本発明の実施形態に係るＳＯＡＣの１モジュールのブロック線図である。
【図４】本発明の実施形態に係る装置で用いるハードウェア構成図である。
【図５】本発明の実施形態に係る装置の実行モードの動作のフローチャートの一例である。
【図６】実施例に係るＳＯＡＣの学習により得られたマップの例である。
【図７】実施例に係る実験結果である。
【符号の説明】
【００６７】
１  制御器
２  予測器
３  ＣＦＣ
４  遅延器
１０  コンピュータ
１１  ＣＰＵ
１２  ＤＲＡＭ
１３  ＨＤ
１４  ディスプレイ
１５  キーボード
１６  マウス
１７  ＬＡＮカード
１８  ＣＤ−ＲＯＭドライブ
【図２】
0004734639.tif 000018
【図３】
0004734639.tif 000019
【図４】
0004734639.tif 000020
【図５】
0004734639.tif 000021
【図６】
0004734639.tif 000022
【図７】
0004734639.tif 000023
【図１】
0004734639.tif 000024