JP3946562B2 - 行動制御装置及び方法 - Google Patents
行動制御装置及び方法 Download PDFInfo
- Publication number
- JP3946562B2 JP3946562B2 JP2002105773A JP2002105773A JP3946562B2 JP 3946562 B2 JP3946562 B2 JP 3946562B2 JP 2002105773 A JP2002105773 A JP 2002105773A JP 2002105773 A JP2002105773 A JP 2002105773A JP 3946562 B2 JP3946562 B2 JP 3946562B2
- Authority
- JP
- Japan
- Prior art keywords
- output
- class
- pattern vector
- input pattern
- learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Feedback Control In General (AREA)
Description
【発明の属する技術分野】
本発明は、ニューラルネットワークを使用した行動制御装置及び方法に関し、より具体的には、制御対象において取得される入力から制御出力を計算する行動制御装置及び方法に関する。
【0002】
【従来の技術】
制御対象を安定制御するために、入力と出力の関係を学習により獲得し、この学習結果に基づいて制御対象に出力を与える方法が広く行われている。このために、入出力関係を適切に表現する関数を作成し、制御に利用することが一般的であり、この関数の作成には、例えば、パーセプトロン等の階層型ニューラルネットワークやRBFネットワーク、及びCMAC(小脳モデルアルゴリズム)などが用いられる。
【0003】
パーセプトロンでは、一般に入力層、中間層、出力層の3層を設け、入力をパーセプトロンに入れて得られた出力を、教師信号である実際の出力と比較して、この誤差を結合荷重としきい値に反映させることによって学習を行う。ニューラルネットワークを用いた制御装置としては、例えば特開平9-245012号公報等がある。
【0004】
一方、RBFネットワークは、中間層の基底関数の出力を線形結合することによって、入力と出力の関係である非線形関数をネットワークの出力として計算する。中間層の基底関数としては、普通、ガウス関数が用いられる。
【0005】
【発明が解決しようとする課題】
しかし、パーセプトロンでは、入力と出力の関係をそのまま学習するだけであるので、信頼性ある制御を獲得するためには、大量のデータセットを準備する必要がある。また、多層パーセプトロンでは中間層の入出力関数がシグモイド関数であるので、中間層の出力は入力空間の無限に大きな領域で大きな値を持つ。従って、学習を行っていない領域の入力が与えられると、望ましい出力から大きく外れた出力を与えてしまうことがある。これは、ヘリコプターのように不適切な制御出力が横転や墜落のように重大な結果に結び付いてしまうような制御対象では、大きな問題となる。
【0006】
これに対し、RBFネットワークでは中間層がガウス関数であるので、入力空間の局所的な領域でのみ大きな値を持ち、上記のような突飛な出力を与えることはない。しかし、RBFネットワークでは複数のガウス関数の線形結合で入出力関係を表現するので、すべてのガウス関数(クラス)の割合を学習し、ある入力に対して全クラスの計算結果を出力しなければならず、計算の負荷が大きい。
【0007】
従って、本発明は、入出力関係の学習時及び実際の制御時に要する計算量が少なく、かつ学習をしていない入力に対しても不適切な出力を与えることがなく信頼性の高い制御装置及び方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
本発明は、学習用入力パターンベクトルと目標出力の組を、目標出力に基づいて2つ以上のクラスの何れかに分配し、分配したクラス内でのみ入出力関係の学習を行い、得られた学習結果に基づいて、新たに取得した入力パターンベクトルを前記何れかのクラスに分配し、分配したクラス内での学習結果に従って出力を計算する点に特徴がある。
【0009】
本発明は、学習用入力パターンベクトルと目標出力の組を作成する入力部と、目標出力に基づいて、学習用入力パターンベクトルと目標出力の組を2以上のクラスの何れかに分配する第1の分配部と、第1の分配部により分配されたクラス内において、学習用入力パターンベクトルの各要素と目標出力との対応関係を学習する学習部と、学習部における学習結果に従って、前記新たな入力パターンベクトルを前記クラスの何れかに分配する第2の分配部と、第2の分配部により分配されたクラス内において、学習結果に従って、前記新たな入力パターンベクトルに対応する出力を計算する出力処理部と、を備える。
【0010】
上記構成によると、学習用入力パターンベクトルと目標出力の組は、目標出力に基づいてクラスが分配され、そのクラス内でのみ、学習用入力パターンベクトルの各要素と目標出力の対応関係の学習が行われるとともに、学習用入力パターンベクトルを当該クラスに分配するための分配関数も計算される。この学習の終了後、センサ等により新たに取得されたパターンベクトルは、最初に何れのクラスに属するのかが分配関数を用いて判定され、そのクラス内の学習結果に従って出力が計算されるので、入力に対する出力の範囲が限定され、制御の信頼性が向上する。なお、新たなパターンベクトルは、発明の実施の形態においてはテストパターンベクトルとも呼ばれる。また、分配関数とは、具体的には、実施例で説明する式(2)を指す。
【0011】
クラスは予め設定されていても良いが、目標出力の分布の度合いに基づいて決められるのが好ましい。こうすると、出力の分布の密な領域でクラスを増やす等、柔軟な対応が取れるため、学習や制御の効率が向上する。この場合、クラスの設定は手動でも自動でも行うことができる。自動で行う場合は、コホーネンの自己組織化マップのような自己組織化手法を用いるのが好ましい。
【0012】
学習用入力パターンベクトルには、現時点でセンサが取得する入力と制御対象への出力だけでなく、現時点より前の時点における同様の入力と出力を要素として含ませることができる。また、教師信号としての目標出力は現時点より後の時点の出力を使用できる。これは、制御対象の持つ慣性や操縦者の応答時間等によって、入力と出力とは同時に対応しているわけではなく、ある程度の遅れ時間を考慮した方が適切な制御を行えるからである。
【0013】
学習部は、各クラスに分配された学習用入力パターンベクトルの各要素及び目標出力をそれぞれ格納し、各データの集合の正規分布の平均値と分散を計算しておき、第2の分配部は、新たな入力パターンベクトルの各要素について、各正規分布の平均値からの距離を計算し、該距離の平均が最小であるクラスに新たな入力パターンベクトルを分配する。この距離の計算は、具体的には後述するステップS704における式(1)による計算を指す。
【0014】
距離の平均は単純な相加平均でも良いが、好適には前記学習用入力パターンベクトルの各要素の目標出力に対する重みによる加重平均である。重みは、目標出力を教師信号とした、パーセプトロン等のニューラルネットワークによる学習で計算される。この加重平均の計算は、具体的には後述するステップS704における式(2)による計算を指す。
【0015】
出力処理部は、新たな入力テストパターンベクトルが分配されたクラス内の各正規分布の平均値と前記新たなテストパターンベクトルの各要素の間の距離の加重平均を求め、前記目標出力の正規分布の平均値から該加重平均に相当する距離にある値を出力する。具体的には、後述するステップS708における式(3)による計算を指す。
【0016】
【発明の実施の形態】
初めに、図1を参照して本発明の原理を説明する。本発明は、人間の脳における情報処理を工学的に解釈したものである。まず図1(a)を参照する。システム10は、前処理において、複数の入力(xInp[t-1]、xInp[t]、xOut[t-1]、xOut[t])と、システム10の出力のターゲットである出力xOut[t+1]を取得する。そして、ターゲットであるxOut[t+1]に対して一意に応答する細胞12を自己組織的に作成する。この細胞12を「引金細胞」と呼ぶ。
【0017】
次に図1(b)を参照すると、引金細胞12は、自分と同じクラスに属する細胞14を活性化し、それぞれにシステムに対する入力(xInp[t-1]、xInp[t]、xOut[t-1]、xOut[t])を収集させる。これらの細胞14を「入力処理細胞」と呼ぶ。入力処理細胞14の役割は、それぞれが収集する入力の分布を表現することである。引金細胞12と、引金細胞が活性化する複数の入力処理細胞14の組合わせをクラスと呼ぶ。
【0018】
以上の処理が完了すると、システム10はシステムに対する入力から出力を計算できるようになる。このとき、引金細胞12は使用されない。図1(c)を参照して、システムに対する入力が入ってくると、この入力は全てのクラスの入力処理細胞14により収集される。各クラスの入力処理細胞14は、それぞれの持つ分布と入力の距離を計算する。そして、この距離の最も近い入力処理細胞14を持つクラスが出力を担当することになり、担当するクラスの引金細胞12は自己の持つ出力の分布に基づいてシステムからの出力16を計算する。
【0019】
続いて、上記の原理を具体化した本発明の好ましい実施形態を説明する。
【0020】
図2は、本発明の一実施形態による行動制御装置が適用される制御システムの構成例を示す図である。制御対象であるラジオコントロールヘリコプター(以下「ヘリコプター」という)100は、機体102、メインロータ104、及びテールロータ106から構成されている。ヘリコプター100は、メインロータ104及びテールロータ106の回転により空中に浮揚する。
【0021】
機体102には、行動制御装置108、サーボモータ等の出力部110が搭載される。メインロータ104及びテールロータ106の基部にはそれぞれ伸縮機構111及びリンク機構112があり、ロッド114等により出力部110と連結されている。
【0022】
機体にはさらにセンサ116が搭載され、機体102のピッチ角を検出する。センサ116は、ジャイロスコープ等のピッチ角を直接感知するものの他、取得した画像から角度を計算する機能を持つ視覚センサ等でも良い。
【0023】
行動制御装置108及び出力部110は、図示しない受信器を介して、送信器118からの無線信号を受けられるように構成されている。行動制御装置108、出力部110、センサ116は相互に有線で接続されていても、一体化した装置でも良く、あるいは、それぞれ別個の装置であってその一部がヘリコプター100の外部にあり相互に無線で接続される構成であっても良い。
【0024】
操縦者がヘリコプター100の挙動を観察し、ヘリコプターが安定するように送信器118を操作すると、出力信号が出力部110に供給される。ここで、安定とは、ヘリコプターがピッチ方向に振れないようにすることを指し、他の方向、例えばヨー方向の振れは、本実施例では考慮しないこととする。出力部110は、送信器118からの出力信号に応じて伸縮機構111にメインロータ104の傾きを変えさせることで、ヘリコプター100のピッチ方向の傾きを変化させる。なお、制御するのはピッチ方向のみに限られず、他の方向でも良い。
【0025】
センサ116の取得したピッチ角の入力と、送信器118により操縦者が与えた出力は、行動制御装置108にも供給される。行動制御装置108は、まず、これらの入力と出力からなる学習用の入力パターン(以下「学習パターン」という)とこれに対応する目標出力の組を、目標出力の値を基準に2つ以上のクラスの何れかに分配する。そして、分配したクラス内でのみ、学習パターンと目標出力の対応関係の学習を行う。以上の一連の過程を本明細書において「準備段階」という。
【0026】
準備段階が完了すると、操縦者が送信器118を操作しなくても、センサ116からの入力に応じて、行動制御装置108が適切な出力を出力部110に供給することができるようになり、ヘリコプター100は安定に制御される。より詳細には、行動制御装置108は、新たに与えられるテスト用の入力パターン(以下「テストパターン」という)に対して、そのテストパターンを上述の何れかのクラスに分配し、分配したクラス内での学習結果に従って、制御対象を安定させる適切な出力を計算して出力部110に供給する。このときの過程を本明細書において「制御段階」という。
【0027】
本発明の行動制御装置108は、駆動機構を有し単体で運動可能な任意の制御対象について使用することができる。制御対象は、ヘリコプター100のような飛行物に限定されず、地上を移動する車両やロボットのアームの制御なども含む。しかし、後述するように、ヘリコプター100のように安定性の高い制御が要求される制御対象に対して用いるとき、本発明はより有用である。
【0028】
また本発明はその用途が安定制御に限定されるものではない。
【0029】
図3は行動制御装置108の機能ブロック図である。準備段階において、入力部120は、センサ116の取得する複数時点の入力と操縦者が出力部110に与えた複数時点の模範的な出力を組み合わせて、学習パターンと対応する目標出力との組を作成し、この組を分配部122に供給する。分配部122は、学習パターンと対応する目標出力の組を2つ以上のクラスの何れかに分配する。学習部124は、分配したクラス内で学習パターンと対応する目標出力の対応関係の学習を行う。この学習の結果は、制御時分配部126と出力処理部128に供給される。
【0030】
準備段階終了後の制御段階では、行動制御装置108に学習パターンと同様のテストパターンを与えて、操縦者による送信機118を介した操作なしに行動制御装置108がヘリコプター100を安定に制御できるか否かが確認される。入力部120は、センサ116の取得する複数時点の入力と行動制御装置108の生成する出力を組み合わせてテストパターンを作成し、このテストパターンを制御時分配部126に供給する。制御時分配部126は、学習部124から与えられた学習結果を使用して、テストパターンを何れかのクラスに分配する。出力処理部128は、分配されたクラスに対応する学習結果を使用して、テストパターンに対する出力を計算する。
【0031】
学習パターンを構成する入力と出力の一例を図4(a)に示す。入力は、本実施例ではセンサ116の取得するヘリコプター100のピッチ角であり、ヘリコプター100が安定すなわち水平に保たれているときは0°になり、前方に傾いているときは負の値になり、後方に傾いているときは正の値になる。出力は、ピッチ角を変えてヘリコプター100を安定させるために、操縦者が送信器118を用いて出力部110に与える出力信号である。本実施例では1から127までの整数値をとり、「1」に近くなるほどヘリコプター100を前方に傾かせる力が強く働き、「127」に近くなるほどヘリコプター100を後方に傾かせる力が強く働くようになっている。
【0032】
入力は所定のタイミング、例えば0.05秒毎にセンサ116によって取得され、その時間に出力部110に与えられていた出力と共に図示しないメモリに蓄えられる。そして、これらが適宜組み合わされて学習パターンが作成される。
【0033】
続いて、図5のフローチャートを用いて、行動制御装置108の準備段階の動作について述べる。
【0034】
まず、ステップS402で、入力部120は学習パターンと対応する目標出力の組を作成する。この学習パターンと対応する目標出力の組の例を図4(a)、(b)を用いて説明する。ある時刻tにおいてセンサ116の取得する入力をxInp[t]、その時点で出力部110に与えられた出力をxOut[t]と表すことにする。この例では、学習パターンは、ある時刻tにおける入力xInp[t]及び出力xOut[t]と、1つ前の時刻t-1における入力xInp[t-1]及び出力xOut[t-1]とを含む。つまり、図4(a)の時系列で並べられた入出力のうち、矩形で囲まれた4つの値(302)を1組の学習パターンとする。そして、この学習パターンに対する目標出力として、図4(a)において丸308で囲まれた1つ後の時刻t+1における出力xOut[t+1]を用いる。以下、矩形304と丸310、矩形306と丸312というように、学習パターンと対応する目標出力の組を順次作成していく(矢印314、316)。言い換えると、学習パターンはxInp[t-1]、xInp[t]、xOut[t-1]、xOut[t]を要素とする4次元の特徴ベクトルである。
【0035】
学習パターンと対応する目標出力の組を表に表すと、図4(b)のようになる。
【0036】
この実施例においては、上述のように学習パターンには現時点tの入力と出力だけでなくそれより前の時点t-1の入出力を含め、また目標出力は、現時点tの出力でなく現時点より後の時点t+1の出力とすることが好ましい。この理由は、入力と出力の間には、ヘリコプター100等の制御対象の持つ慣性や操縦者の反応時間等による遅れ時間が存在するので、この遅れ時間を考慮して学習パターンと対応する目標出力の組を構築する方が制御対象の挙動をより適切に反映すると考えられるからである。従って、どの程度前の時点あるいは後の時点の入出力を、それぞれいくつずつ学習パターンに含めるか、または、現時点よりどの程度後の時点の出力を目標出力とするかは、制御対象等の特性に応じて任意に設定可能であり、学習パターンを上述のような構成とするのが全ての問題に対して好ましいわけではない。しかし、一般に、1組の学習パターンを多くの要素で構成するほど、準備段階での学習が充実し、制御段階での高精度な安定制御につながる。
【0037】
なお、学習データが時系列に応じて作成されず、異なるモダリティ別に作成されたものに対しても本発明を適用できる。
【0038】
以下の説明では、センサ116によって、J個の要素を含む(すなわち、J次元の特徴ベクトルである)学習パターンが全部でK個取得されるとき、k番目の学習パターンをベクトルXk={xk1,…,xkJ}(k=1,…,K)で表す。また、対応する目標出力は、ykで表す。
【0039】
ステップS404で、分配部122は、目標出力ykの値に基づいて、学習パターンベクトルXkを2つ以上のクラスの何れかに分配する。このクラスは、予め設定されたもので良い。しかしながら、ヘリコプター100を用いた予備実験において、操縦者が与えた出力(具体的には1〜127の整数)の度数分布の広がりに応じて、それぞれのクラスがほぼ同数ずつの出力をカバーするようにクラスを設定しておくのが好ましい。
【0040】
例えば、本実施例では出力は1から127までの値を取ることができるが、1から127の範囲を3つのクラスに等分しても、1番目のクラスと3番目のクラスはあまり意味を持たない。実際の制御では、ヘリコプター100の出力部110に値1や127に近い極端な出力を与えるような状況はほとんど起こり得ず、操縦者の与える出力は、ほとんどがその中間値付近の値となると予期されるからである。そこで、3つのクラスが出力の分布の密なところに寄り合うようにクラスを設定する。このクラスの設定は人手によらず、コホーネンの自己組織化マップ等を利用して行うようにしても良い。
【0041】
クラスが多いほど後述する学習に時間がかかるが、少ないと高精度の制御が得られなくなるので、適当な数のクラスを設定する。以下では、簡単のために2つのクラスが予め設定されている場合について説明する。クラス1は値1〜63の目標出力に、クラス2は値64〜127の目標出力にそれぞれ対応するクラスである。当然、クラスの数は2以上の他の数でも良く、例えば後述する実施例(図12)では、クラスの数を8つとしている。
【0042】
なお、ステップS402〜S404は、1組の学習パターンと目標出力の組を取得する度に行うことも、または学習パターンと目標出力の組がある程度の数だけ蓄積された後にまとめて行うこともできる。
【0043】
ステップS406で、学習部124は、各クラスに分配された学習パターンベクトルXkの各要素xkj(j=1,…,J)及び目標出力ykをそれぞれ専用の記憶領域に格納していく。そして、ある程度のデータがたまると、それぞれの度数分布を作成し、その分布を正規分布と見てその平均値μと分散σを計算する。そして計算した平均値μと分散σを、各要素xkj及び目標出力yk毎に、クラス別に格納する。
【0044】
図6はステップS406における動作を概念的に示したものである。上段はクラス1、下段はクラス2に対応している。列は、左から順に、J=4の場合の学習パターンベクトルの各要素xkj、目標出力ykの分布に対応する。
【0045】
設定されたクラスの数をi(i=1〜I)、各要素xkjの正規分布の平均値と分散をそれぞれμij、σij、及びi番目のクラスにおける目標出力ykの正規分布の平均値と分散を以下のように表すとする。
【0046】
【数5】
このとき、図6に示す正規分布にそれぞれ対応してμij、σijまたは以下の値が格納されることになる。
【0047】
【数6】
【0048】
ステップS408で、学習部124は、学習パターンベクトルXkの各要素xk jと目標出力ykとの対応関係の学習を行う。この学習は、既知のパーセプトロン学習則に基づいて、以下の手順で行われる。以下の各処理は、クラス毎にそれぞれ行われる。
【0049】
1.まず、学習パターンベクトルXkの各要素xkjと、分配されたクラスiにおいてその要素についてステップS406で求められている正規分布の中心(すなわち、平均値μij)との距離zijを、平均値μij、分散σijを用いて次式により計算する。
【0050】
zij=(xkj-μij)/σij (j=1,…,J)(1)
これは、各要素xkjと正規分布の中心までの距離(図7参照)を分散σijで正規化したものである。
【0051】
2.得られた距離zijと、zijに対応した重みwijの積の和を次元数Jで除した、加重平均miを計算する。
【0052】
mi=Σ(zijwij)/J (j=1,…,J)(2)
重みwijの初期値はランダムに設定される。
【0053】
3.得られた加重平均を用いて、次式により出力yk’を計算する。
【0054】
【数7】
【0055】
4.目標出力ykを教師信号として、得られたyk’との誤差yk’−ykを小さくするように、重みwijを更新する。
【0056】
以上の計算を各クラスi(i=1,…,I)に分配された全ての学習パターンベクトルXkについて行い、重みwijが更新されることによって、学習パターンベクトルXkと目標出力ykの対応関係が学習されていく。
【0057】
準備段階で計算された学習結果は、制御時分配部126及び出力処理部128に送られて、制御段階における計算に使用される。特に、式(2)のmiは、テストパターンベクトルをクラスに分配する分配関数としても用いられる。
【0058】
ステップS408における計算は、図6の各要素xkjの正規分布における出力から中心までの距離zijと、出力ykの正規分布における出力から中心までの距離の間には相関関係があると考えられることに基づいている。この計算は、学習パターンベクトルの要素である現時点及び1つ前の時点の入出力がそれぞれ持つ出力への寄与度を重みwijによって表現するものと見ることもできる。
【0059】
なお、ステップS408の重みwijの計算は、精度の高い制御を行うための任意選択のステップであるので、パーセプトロンによる学習を実行しなくても良く、その場合には重みwijはすべて1とされる。
【0060】
このように、行動制御装置108は、準備段階において、まず初めに目標出力に対して一対一に対応するクラスを設定する(第1の学習)。次に、学習パターンベクトルと目標出力の組を何れかのクラスに分配し、各要素について正規分布を計算する(第2の学習)。最後に、学習パターンベクトルの各要素と目標出力の間の関係を重みwijの更新によって学習する(第3の学習)という、3つの過程をとる。
【0061】
以上で、行動制御装置108の準備段階の動作の説明を終了する。
【0062】
続いて、図8に示すフローチャートを用いて、行動制御装置108の制御段階の動作について述べる。
【0063】
ステップS702で、入力部120は、学習パターンベクトルと同じ入力と出力の構成を取るテストパターンベクトルXk={xk1,…,xkJ}を作成する。
【0064】
ステップS704で、制御時分配部126は、テストパターンベクトルの各要素xkj(j=1,…,J)を用いて、各クラスi(i=1,…,I)毎に距離の平均値miを式(1)及び(2)に従って計算する。
【0065】
ステップS706で、制御時分配部126は、距離の平均値miのうち最小のmiを有するクラス(このクラスを「クラスiWinner」という)に、テストパターンベクトルXkを分配する。
【0066】
ステップS708で、出力処理部128は、クラスiWinnerの距離の平均値mi W innerと、クラスiWinnerに対応した平均値μi W inner,j、及び分散σi W inner,jを使用して、式(3)に従って出力yk’を計算する。出力yk’は、行動制御装置108から出力部110に送られ、ヘリコプター100を制御する。
【0067】
図9、図10は、ステップS702〜S708の動作を概念的に説明するものである。図9は、クラス1、2に、テストパターンベクトルXkの各要素xkj(j=1,…,J)(図中黒丸で表す)を与えた様子を示す。クラス1では、各要素xkjは正規分布の端の方に位置にあるのに対し、クラス2では正規分布の平均値に近くに位置する。従って、距離の平均値miはクラス2の方が小さくなるので、制御時分配部126はこのテストパターンベクトルXkをクラス2に分配する。
【0068】
そして、選択されたクラス2の距離の平均値miが、目標出力ykの正規分布の平均値からの距離に相当するものとして、出力yk’が算出される(図10)。
【0069】
以上で、制御時の行動制御装置108の動作の説明を終了する。
【0070】
なお、以上の説明では、学習パターンと目標出力の組の集合を使用して準備段階が完了した後に、テストパターンによる制御を開始するものとして記載しているが、準備段階を経ずに制御を直ちに開始することもできる。このときは、図5に示すフローと図8に示すフローとが同時並行的に実行されることになる。この場合、制御初期は学習が未熟なため、突飛な運動により制御対象が破損等する可能性があるので、所定の間は行動制御装置108が制御対象に与える出力の範囲を強制的に制限するような構成にすることが好ましい。
【0071】
図2のシステムにおいて、テストパターンを用いて行った実験結果を図11に示す。図中に示す線は、教師信号である目標出力(Target)、第3の学習を経たときの行動制御装置108による出力(With Learning)、第3の学習を経なかったときの行動制御装置108による出力(Without Learning)を表す。図の横軸はセンサ116によるサンプリング回数であり、縦軸はヘリコプター100のピッチ角である。図11から、第3の学習の有無によって、行動制御装置108の出力特性が多少異なることが分かる。第3の学習を経たときは、ステップ関数のような応答特性を示すのに対して、第3の学習を経なかったときは、滑らかな応答特性を示している。従って、第3の学習を経るかどうかは、望ましい応答特性に応じて使い分ければ良い。
【0072】
一般に、パーセプトロン等の階層型ニューラルネットワークでは、入力と出力をそのまま学習させる。一方、本発明による行動制御装置108では、予め目標出力によるクラス分配が行われる。そして、分配されたクラス毎に学習パターンを収集する。従って、学習パターンの分配されたクラスに対応する出力以外は出力されることが無いので、未学習の入力に対しても不適当で突飛な出力がされることが無く、制御システムの信頼性が向上する。また、出力の分布に応じて適切な範囲を持つ適切な数のクラスを設定することによって、出力がある値の近傍に集中してしまうような制御対象や、出力が広い範囲に散らばってしまうような制御対象のいずれに対しても、適切なふるいをかけることができ、制御の精度が向上する。
【0073】
図12は、図2と同様の制御システムに公知のCMAC(小脳モデルアルゴリズム)を適用したときの実験結果(a)と、本発明の行動制御装置108を用いて制御したときの実験結果(b)を示す。各図中、上の線はセンサ116の入力(ピッチ角)であり、下の線は行動制御装置108による出力である。出力はセンサ入力に追従することが理想である。しかし、(a)では、センサ入力の範囲が学習を行った領域にある場合はよいが、図中矢印で示す学習していない領域(ヘリコプター100のピッチ角が20度より大きい領域)になると、出力が不適当になっている(つまり、本来は追従して大きな出力を出さなければならないのに対し、出力が下がっている)。これに対し、(b)では、図中矢印で示すように、センサ入力の範囲が学習していない領域になっても、出力がセンサ入力に追従している。図13は、図12の(a)、(b)における結果を正規化して1つのグラフに表したものである。CMACの場合は、センサ入力が学習していない領域(図13で、入力が−3〜2以外の領域)に入ると途端に目標出力に追従できなくなるのに対し、本発明の行動制御装置の場合は、その場合でも精度良く目標出力に追従できている。
【0074】
既知のRBFネットワークでも本実施形態と同様に出力の計算に正規分布を用いるが、RBFネットワークでは、クラスにおける出力関数の位相関係で入出力関係を表現する。すなわち、RBFではある入力に対して全てのクラスの割合を学習して全クラスにかかる計算結果を出力する。それに対し本発明では、クラス毎に出力関数を任意に設定でき、かつ、クラスが1つ選択されると以後そのクラス内でのみ入出力の対応関係の計算を行うため出力関数同士のトポロジーを考慮する必要が無く、選択された単一の出力関数の値をそのまま出力できる。
【0075】
簡単な例を具体的に述べると、例えばクラス1とクラス2が存在し、それぞれのクラスに分配された入力に対してクラス1は出力値「a」を、クラス2は出力値「b」を出力するものとする。このときRBFネットワークにおいては、ある入力に対する出力は、(a+b)または(a+b)/2のように、各クラスの出力値が線形結合されたものとなる。これに対し本発明においては、制御段階においてある入力に対してクラス2がWinnerになったとすると、クラス2の出力値「b」のみが出力される。従って本発明は、各クラスについてより専門的な関数を作っておくことでより高精度な制御を実現し、またRBFネットワークよりも複雑な関数を近似することが可能になる。
【0076】
また、制御段階における行動制御装置108の行う計算量が非常に少ないことに注目すべきである。すなわち、制御段階ではテストパターンがどのクラスに属するかを分配するための平均値miの計算(式(2))と、分配されたクラス内での出力yk ’の計算(式(3))のみである。これは、正規分布を逐一計算する方式に比べて、制御が高速化されることを意味する。従って、ヘリコプターのような不安定な制御対象に対しても、高速処理によって安定性の高い制御を行える。
【0077】
【発明の効果】
本発明によれば、準備段階で目標出力に基づいて学習用入力パターンを2つ以上のクラスの何れかに分配し、分配したクラス内でのみ学習用入力パターンと目標出力の対応関係を学習するので、制御段階において、ある入力パターンに対して計算される出力の範囲が限定されるので、突飛な出力をすることが無くなり、制御の信頼性が向上する。
【図面の簡単な説明】
【図1】本発明の原理を説明する図である。
【図2】本発明の一実施形態を説明するためのヘリコプター制御システムの構成図である。
【図3】行動制御装置の機能ブロック図である。
【図4】学習パターンベクトルと目標出力を説明する図である。
【図5】準備段階のフローチャートである。
【図6】学習パターンベクトルの各要素と目標出力の正規分布の一例を示す図である。
【図7】学習パターンベクトルの要素と図6に示す正規分布の中心までの距離を説明するための図である。
【図8】制御段階のフローチャートである。
【図9】クラスの分配を説明する図である。
【図10】分配されたクラスにおける出力の計算を説明する図である。
【図11】本発明による行動制御装置を用いた制御結果を示すグラフである。
【図12】(a)は公知のCMACを用いたヘリコプターの制御結果を示すグラフであり、(b)は本発明による行動制御装置を用いた制御結果を示すグラフである。
【図13】図12の結果を対比するためのグラフである。
【符号の説明】
100 ヘリコプター
108 行動制御装置
110 出力部
116 センサ
118 送信器
120 入力部
122 分配部
124 学習部
126 制御時分配部
128 出力処理部
Claims (14)
- センサからの入力および制御対象への出力を要素とする入力パターンベクトルと目標出力とを含む学習データに基づいて学習を行い、学習結果に従って新たな入力パターンベクトルに対する適切な出力を計算して前記制御対象に与える行動制御装置であって、
前記学習データを作成する入力部と、
前記目標出力に基づいて、前記学習データを2以上のクラスの何れかに分配する第1の分配部と、
第1の分配部により分配されたクラス内において、該クラスに分配された前記学習データに含まれる前記入力パターンベクトルの各要素および前記目標出力の度数分布を作成し、該度数分布のそれぞれの平均値および分散を計算する学習部と、
前記新たな入力パターンベクトルの各要素について該要素に対応する前記度数分布の平均値からの距離を求めて、全ての要素にわたる該距離の平均が最小となるクラスに前記新たな入力パターンベクトルを分配する第2の分配部と
第2の分配部により分配されたクラス内において、前記目標出力の度数分布の平均値から前記平均に相当する距離だけ離れた値を出力として算出する出力処理部と、
を備える行動制御装置。 - 前記2以上のクラスは予め設定されている、請求項1に記載の行動制御装置。
- 前記2以上のクラスは、前記目標出力の分布の度合いに基づいて自己組織化マップにより自動で決定される、請求項1に記載の行動制御装置。
- 前記入力パターンベクトルは、現時点における前記センサからの入力および前記制御対象への出力と、現時点より前の時点における前記センサからの入力および前記制御対象への出力と、を要素として含む、請求項1に記載の行動制御装置。
- 前記距離の平均は、前記学習用入力パターンベクトルの各要素と該要素に対応する前記度数分布の平均値との距離に、要素ごとに設定された重みを乗じ、要素数で除して算出された加重平均である、請求項1に記載の行動制御装置。
- 前記学習部が、前記目標出力の度数分布の平均値から前記加重平均に相当する距離だけ離れた値を出力として算出し、該出力と前記目標出力との誤差を小さくするように、ニューラルネットワークによる学習を利用して前記重みを更新する、請求項5に記載の行動制御装置。
- 前記新たな入力パターンベクトルの各要素をxkj(k=1,…,K、j=1,…,J)、前記目標出力をyk、新たな入力パターンベクトルに対応する出力をyk’、クラスをi(i=1〜I)、クラスiにおける前記入力パターンベクトルの各要素および前記目標出力のそれぞれの度数分布の平均値と分散をそれぞれμij、σij、重みをwij、及びクラスiにおける目標出力ykの度数分布の平均値と分散をそれぞれ以下のように表すとき、
zij=(xkj-μij)/σij
により計算し、計算した距離zijの加重平均miを次式
mi=Σ(zijwij)/J
により計算し、計算した加重平均miが最小であるクラスに前記新たな入力パターンベクトルを分配し、
前記出力処理部は、前記新たな入力パターンベクトルが分配されたクラスについて次式
- センサからの入力および制御対象への出力を要素とする入力パターンベクトルと目標出力とを含む学習データに基づいて学習を行い、学習結果に従って新たな入力パターンベクトルに対する適切な出力を計算して前記制御対象に与える行動制御方法であって、
前記学習データを作成し、
前記目標出力に基づいて、前記学習データを2以上のクラスの何れかに分配し、
該分配されたクラス内において、該クラスに分配された前記学習データに含まれる前記入力パターンベクトルの各要素および前記目標出力の度数分布を作成し、該度数分布のそれぞれの平均値および分散を算出し、
前記新たな入力パターンベクトルの各要素について該要素に対応する前記度数分布の平均値からの距離を求めて、全ての要素にわたる該距離の平均が最小となるクラスに前記新たな入力パターンベクトルを分配し、
該分配されたクラス内において、前記目標出力の度数分布の平均値から前記平均に相当する距離だけ離れた値を出力として算出することを含む行動制御方法。 - 前記2以上のクラスは予め設定されている、請求項8に記載の行動制御方法。
- 前記2以上のクラスは、前記目標出力の分布の度合いに基づいて自己組織化マップにより自動で決定される、請求項8に記載の行動制御方法。
- 前記入力パターンベクトルは、現時点における前記センサからの入力および前記制御対象への出力と、現時点より前の時点における前記センサからの入力および前記制御対象への出力と、を要素として含む、請求項8に記載の行動制御方法。
- 前記距離の平均は、前記学習用入力パターンベクトルの各要素と該要素に対応する前記度数分布の平均値との距離に、要素ごとに設定された重みを乗じ、要素数で除して算出された加重平均である、請求項8に記載の行動制御方法。
- 前記度数分布のそれぞれの平均値および分散を算出するステップが、前記目標出力の度数分布の平均値から前記加重平均に相当する距離だけ離れた値を出力として算出し、該出力と前記目標出力との誤差を小さくするように、ニューラルネットワークによる学習を利用して前記重みを更新することを含む、請求項12に記載の行動制御方法。
- 前記新たな入力パターンベクトルの各要素をxkj(k=1,…,K、j=1,…,J)、前記目標出力をyk、新たな入力パターンベクトルに対応する出力をyk’、クラスをi(i=1〜I)、クラスiにおける前記入力パターンベクトルの各要素および前記目標出力のそれぞれの度数分布の平均値と分散をそれぞれμij、σij、重みをwij、及びクラスiにおける目標出力ykの度数分布の平均値と分散をそれぞれ以下のようにするとき、
zij=(xkj-μij)/σij
により計算し、計算した距離zijの加重平均miを次式
mi=Σ(zijwij)/J
により計算し、計算した加重平均miが最小であるクラスに前記新たな入力パターンベクトルを分配し、
前記出力ステップは、前記新たな入力パターンベクトルが分配されたクラスについて次式
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002105773A JP3946562B2 (ja) | 2002-04-08 | 2002-04-08 | 行動制御装置及び方法 |
US10/411,485 US7133855B2 (en) | 2002-04-08 | 2003-04-07 | Behavior control apparatus and method |
EP03008183A EP1353293A3 (en) | 2002-04-08 | 2003-04-08 | Behavior control apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002105773A JP3946562B2 (ja) | 2002-04-08 | 2002-04-08 | 行動制御装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003303329A JP2003303329A (ja) | 2003-10-24 |
JP3946562B2 true JP3946562B2 (ja) | 2007-07-18 |
Family
ID=28449912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002105773A Expired - Fee Related JP3946562B2 (ja) | 2002-04-08 | 2002-04-08 | 行動制御装置及び方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7133855B2 (ja) |
EP (1) | EP1353293A3 (ja) |
JP (1) | JP3946562B2 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7766111B2 (en) * | 2004-10-29 | 2010-08-03 | Daimler Trucks North America Llc | Selective closing of at least one vehicle opening at a front portion of a vehicle |
JP4201012B2 (ja) * | 2006-04-06 | 2008-12-24 | ソニー株式会社 | データ処理装置、データ処理方法、およびプログラム |
US7831530B2 (en) * | 2006-08-03 | 2010-11-09 | Panasonic Electric Works Co., Ltd. | Optimizing method of learning data set for signal discrimination apparatus and signal discrimination apparatus capable of optimizing learning data set by using a neural network |
JP5218536B2 (ja) * | 2010-12-10 | 2013-06-26 | 株式会社デンソー | 制御装置 |
JP2015045963A (ja) * | 2013-08-27 | 2015-03-12 | 国立大学法人 千葉大学 | 自律制御方法及び自律制御装置並びにこれを搭載した機器 |
EP3188041B1 (en) * | 2015-12-31 | 2021-05-05 | Dassault Systèmes | Update of a machine learning system |
EP3188038B1 (en) | 2015-12-31 | 2020-11-04 | Dassault Systèmes | Evaluation of a training set |
US11875251B2 (en) * | 2018-05-03 | 2024-01-16 | Samsung Electronics Co., Ltd. | Neural network method and apparatus |
US20220214179A1 (en) * | 2019-06-14 | 2022-07-07 | Beijing Didi Infinity Technology And Development Co., Ltd. | Hierarchical Coarse-Coded Spatiotemporal Embedding For Value Function Evaluation In Online Order Dispatching |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05158907A (ja) | 1991-03-15 | 1993-06-25 | Fujitsu Ltd | 適応型制御装置の自己学習処理方式 |
JP2598582B2 (ja) | 1991-06-28 | 1997-04-09 | 株式会社クボタ | 苗移植機 |
JPH05204405A (ja) | 1992-01-23 | 1993-08-13 | Matsushita Electric Ind Co Ltd | 入出力関係推定装置 |
JPH05346915A (ja) | 1992-01-30 | 1993-12-27 | Ricoh Co Ltd | 学習機械並びにニューラルネットワークおよびデータ分析装置並びにデータ分析方法 |
JPH05257919A (ja) | 1992-03-13 | 1993-10-08 | Fujitsu Ltd | 適応型制御装置の学習処理方式 |
JPH06301664A (ja) | 1993-04-16 | 1994-10-28 | Meidensha Corp | データ処理装置 |
JPH0793296A (ja) | 1993-09-20 | 1995-04-07 | Atr Ningen Joho Tsushin Kenkyusho:Kk | 多価関数学習方法 |
JPH09245012A (ja) | 1996-03-08 | 1997-09-19 | Mitsubishi Electric Corp | 学習制御方法 |
JP3561096B2 (ja) | 1996-09-10 | 2004-09-02 | 株式会社東芝 | 関数学習装置 |
JPH11353295A (ja) | 1998-06-09 | 1999-12-24 | Fujitsu Ltd | 内部モデル学習方法及び装置 |
US6212466B1 (en) * | 2000-01-18 | 2001-04-03 | Yamaha Hatsudoki Kabushiki Kaisha | Optimization control method for shock absorber |
US6701236B2 (en) * | 2001-10-19 | 2004-03-02 | Yamaha Hatsudoki Kabushiki Kaisha | Intelligent mechatronic control suspension system based on soft computing |
-
2002
- 2002-04-08 JP JP2002105773A patent/JP3946562B2/ja not_active Expired - Fee Related
-
2003
- 2003-04-07 US US10/411,485 patent/US7133855B2/en not_active Expired - Fee Related
- 2003-04-08 EP EP03008183A patent/EP1353293A3/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20030225464A1 (en) | 2003-12-04 |
EP1353293A2 (en) | 2003-10-15 |
EP1353293A3 (en) | 2008-07-09 |
US7133855B2 (en) | 2006-11-07 |
JP2003303329A (ja) | 2003-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230330848A1 (en) | Reinforcement and imitation learning for a task | |
US10175662B2 (en) | Method of constructing navigation map by robot using mouse hippocampal place cell model | |
CN106873585B (zh) | 一种导航寻路方法、机器人及系统 | |
US6317658B1 (en) | Neurocomputing control distribution system | |
US8774968B2 (en) | Trajectory planning method, trajectory planning system and robot | |
Scorsoglio et al. | Image-based deep reinforcement learning for autonomous lunar landing | |
JP3946562B2 (ja) | 行動制御装置及び方法 | |
Teixeira et al. | Humanoid robot kick in motion ability for playing robotic soccer | |
US11347221B2 (en) | Artificial neural networks having competitive reward modulated spike time dependent plasticity and methods of training the same | |
CN110737195A (zh) | 基于速度控制的双足机器人行走落脚点规划方法及装置 | |
US6173218B1 (en) | Neurocomputing control distribution system | |
Trasnea et al. | GridSim: a vehicle kinematics engine for deep neuroevolutionary control in autonomous driving | |
CN116009583A (zh) | 基于纯粹视觉的分布式无人机协同运动控制方法和装置 | |
KR20190054641A (ko) | 인공지능 기반의 드론의 동역학 모델링 생성 방법 | |
Son et al. | Bio-insect and artificial robot interaction using cooperative reinforcement learning | |
Damas et al. | Open and closed-loop task space trajectory control of redundant robots using learned models | |
US11834066B2 (en) | Vehicle control using neural network controller in combination with model-based controller | |
CN111413974B (zh) | 一种基于学习采样式的汽车自动驾驶运动规划方法及系统 | |
CN113433960A (zh) | 一种固定翼集群队形生成方法 | |
CN114442670A (zh) | 一种无人机集群自组织飞行方法、系统及无人机 | |
Reinhart et al. | Efficient policy search with a parameterized skill memory | |
CN110782033A (zh) | 一种基于模糊神经网络的agv车定位方法 | |
JP4776205B2 (ja) | 行動学習制御装置 | |
Zhaowei et al. | Vision-based behavior for UAV reactive avoidance by using a reinforcement learning method | |
CN110543919A (zh) | 一种机器人定位控制方法、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070118 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070410 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070411 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110420 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110420 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120420 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130420 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |