(57)【要約】  要素技術として研究開発されているニューラルネットワークモデルにおける既存の技術を取り込み一般化するとともに、これに新しい付加価値を盛り込んでいくことにより、ニューラルネットワークを用いてボトムアップアプローチの基本ユニットのモデル化を提供するため、本発明のネットワーク学習装置は、ネットワーク部に基本ユニットのネットワークを構築し、次いで、センサ入力部からの入力を得て評価を行い、その評価値が所定の評価値を満たすよう、相関演算を用いて接合の重み係数を変化させると共に、必要に応じて、新たなニューラルネットワークの挿入を行う。
2007135723.tif 000002
【特許請求の範囲】
【請求項１】
摂動法を学習方法とするニューラルネットワーク学習装置であって、
環境における状態を統合的に入力する入力部と、
前記入力部からの入力値を評価し、該評価値に基づいて、相関演算を用いてニューロン間の接合の重み係数を決定する学習部と、
を備えてなるニューラルネットワーク学習装置。
【請求項２】
請求項１に記載のニューラルネットワーク学習装置において、  
前記学習部は前記相関演算をヘブ則を用いて行うことを特徴とするニューラルネットワーク学習装置。
【請求項３】
請求項１に記載のニューラルネットワーク学習装置において、
前記学習部は、前記相関演算を微係数推論を用いて行うことを特徴とするニューラルネットワーク学習装置。
【請求項４】
請求項１に記載のニューラルネットワーク学習装置において、
前記学習部は、微係数推論を行う際に差分近時を用いることを特徴とするニューラルネットワーク学習装置。
【請求項５】
請求項１に記載のニューラルネットワーク学習装置において、  
前記学習部は、入力と出力の関係を微小動作ごとにサンプリングを行って前記評価を行うことを特徴とするニューラルネットワーク学習装置。
【請求項６】
請求項１に記載のニューラルネットワーク学習装置において、  
前記学習部は、前記評価値が所定の評価値を満たすよう、相関演算を用いて接合の重み係数を変化させると共に、新たなニューラルネットワークの挿入を行うことを特徴とするニューラルネットワーク学習装置。
【請求項７】
摂動法を学習方法とするニューラルネットワーク学習をコンピュータに実行させるニューラルネットワーク学習プログラムであって、
環境における状態を統合的に入力する入力ステップと、
前記入力部からの入力値を評価し、該評価値に基づいて、相関演算を用いてニューロン間の接合の重み係数を決定する学習ステップと、
を備えてコンピュータに実行させるニューラルネットワーク学習プログラム。
【請求項８】
請求項７に記載のニューラルネットワーク学習プログラムにおいて、
前記学習ステップは前記相関演算をヘブ則を用いて行うことを特徴とするニューラルネットワーク学習プログラム。
【請求項９】
請求項７に記載のニューラルネットワーク学習プログラムにおいて、
前記学習ステップは、前記相関演算を微係数推論を用いて行うことを特徴とするニューラルネットワーク学習プログラム。
【請求項１０】
請求項７に記載のニューラルネットワーク学習プログラムにおいて、
前記学習ステップは、美係数推論を行う際に差分近時を用いることを特徴とするニューラルネットワーク学習プログラム。
【請求項１１】
請求項７に記載のニューラルネットワーク学習プログラムにおいて、
前記学習ステップは、入力と出力の関係を微小動作ごとにサンプリングを行って前記評価を行うことを特徴とするニューラルネットワーク学習プログラム。
【請求項１２】
請求項７に記載のニューラルネットワーク学習プログラムにおいて、
前記学習ステップは、前記評価値が所定の評価値を満たすよう、相関演算を用いて接合の重み係数を変化させると共に、新たなニューラルネットワークの挿入を行うことを特徴とするニューラルネットワーク学習プログラム。
【請求項１３】
摂動法を学習方法とするニューラルネットワーク学習をコンピュータに実行させるニューラルネットワーク学習方法であって、
環境における状態を統合的に入力する入力ステップと、
前記入力部からの入力値を評価し、該評価値に基づいて、相関演算を用いてニューロン間の接合の重み係数を決定する学習ステップと、
を備えてなるニューラルネットワーク学習方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ニューラルネットワークを増設して、精度の高いシステムを短時間で構築することができるニューラルネットワーク学習装置、方法、及びプログラム関するものである。
【背景技術】
【０００２】
人間共存型ロボットに注目が集まって久しく、このようなロボットの運動生成制御、プランニング、視覚情報処理、音声情報処理等の研究が盛んに行われ、例えば、研究用ヒューマノイドロボットHOAPシリーズ等、様々の成果が出されている（例えば非特許文献１）。【０００３】
またこれらの要素技術の研究と共に、システム化技術の研究も行われている。これらの要素技術をどのように組み合わせ、ロボットを適切に機能させるかについての検討も進んでいる。【０００４】
システム化技術は、大きく分けて、システム構築論で知られている２つのアプローチである”トップダウン”と”ボトムアップ”があると考えられる（例えば非特許文献２参照）。【０００５】
トップダウンアプローチとは、システムに必要なものを高い視点から検討し、そのシステムを構築していく手法である。各々の要素は、全体を見渡す高い視点から要求されるインターフェースを持つことになる。運動、認識、作業計画等は、各々別に研究開発され、それらを統合するインターフェースやフレームワークを設計する。また効率化のために、共通化技術や再利用技術等が検討される。【０００６】
人間共存型ロボットのトップダウン的なアプローチとして、もっとも著名なものの一つとして、HRP(Humanoid Robot Project)が知られる（例えば非特許文献３参照）。このような取り組みは、必要な要素技術を分野毎や作業毎に解析し、共通部分の抽出等を行い、統合する。
【非特許文献１】富士通オートメーション株式会社, ヒューマノイドロボット:"http://www.automation.fujitsu.com/".
【非特許文献２】Marvin Minsky: "Logical vs. Analogical or Symbolic vs. Con-nectionist or Neat vs. Scrufiy", Artificial Intelligence at MIT.,Expanding Frontiers, Patrick H. Winston, Vol 1, MIT Press,1990.
【非特許文献３】Y.Nakamura, et al. : "Humanoid Robot Simulator for theMETI HRP Project", Robotics and Autonomous Systems,Vol.37, pp101-114, 2001.
【発明の開示】
【発明が解決しようとする課題】
【０００７】
それに対して、ボトムアップ的なシステム構築についての研究例は、まだまだ少ない。ボトムアップアプローチとは、小さな要素から全てを組み立てていく手法である。小さな要素をどうするか、またどのような方針で組み立てるのかがこのような研究の中心課題となる。【０００８】
このような研究には、脳研究に関連して、川人らの研究（例えば非特許文献４：川人光男:脳の計算理論,産業図書, 1996.参照）や、Hawkingらの研究（例えば非特許文献５：Jefi Hawking and Sandra Blakeslee, "On Intelliegence", Times，Books, 2004.9.15.参照）があるが、具体的なシステムとしては構築されていない。【０００９】
ボトムアップアプローチは、すべてに必要な基本ユニットを設計し、その単純な基本ユニットを用いてシステムを構築することを目指す。このようなアプローチの場合、まず第一に、基本ユニットの設計が非常に重要である。第２に、その基本ユニットを用いてどのように大きなシステムを作るかが問題となる。【００１０】
本発明は、このような従来の課題を解決するためになされたものであり、要素技術として研究開発されているニューラルネットワークモデルにおける既存の技術を取り込み一般化するとともに、これに新しい付加価値を盛り込んでいくことにより、ニューラルネットワークを用いてボトムアップアプローチの基本ユニットのモデル化を提供することができるニューラルネットワーク学習装置、方法、及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
上述した課題を解決するため、本発明は、摂動法を学習方法とするニューラルネットワーク学習装置であって、環境における状態を統合的に入力する入力部と、前記入力部からの入力値を評価し、該評価値に基づいて、相関演算を用いてニューロン間の接合の重み係数を決定する学習部とを備えてなるものである。【００１２】
また、本発明のニューラルネットワーク学習装置において、前記学習部は前記相関演算をヘブ則を用いて行うことを特徴とする。【００１３】
また、本発明のニューラルネットワーク学習装置において、前記学習部は、前記相関演算を微係数推論を用いて行うことを特徴とする。【００１４】
また、本発明のニューラルネットワーク学習装置において、前記学習部は、微係数推論を行う際に差分近時を用いることを特徴とする。【００１５】
また、本発明のニューラルネットワーク学習装置において、前記学習部は、入力と出力の関係を微小動作ごとにサンプリングを行って前記評価を行うことを特徴とする。【００１６】
また、本発明のニューラルネットワーク学習装置において、前記学習部は、前記評価値が所定の評価値を満たすよう、相関演算を用いて接合の重み係数を変化させると共に、新たなニューラルネットワークの挿入を行うことを特徴とする。【００１７】
また、本発明は、摂動法を学習方法とするニューラルネットワーク学習をコンピュータに実行させるニューラルネットワーク学習プログラムであって、環境における状態を統合的に入力する入力ステップと、前記入力部からの入力値を評価し、該評価値に基づいて、相関演算を用いてニューロン間の接合の重み係数を決定する学習ステップとを備えてコンピュータに実行させる。【００１８】
また、本発明は、摂動法を学習方法とするニューラルネットワーク学習をコンピュータに実行させるニューラルネットワーク学習方法であって、環境における状態を統合的に入力する入力ステップと、前記入力部からの入力値を評価し、該評価値に基づいて、相関演算を用いてニューロン間の接合の重み係数を決定する学習ステップとを備えてなる。
【図面の簡単な説明】
【００１９】
【図１】ニューラルネットワークの一例を示す図である。
【図２】ニューロンのモデルを示す図である。
【図３】シナプスのモデルを示す図である。
【図４】論理演算子を示す図である。
【図５】ニューロン間結合の表記方法のその１を示す図である。
【図６】ニューロン間結合の表記方法のその２を示す図である。
【図７】ＲＮＮ言語表記と数学表記の関連を示す図である。
【図８】応用ネットワークの一例を示す図である。
【図９】ＣＰＧの一例を示す図である。
【図１０】図９と異なるタイプのＣＰＧの要素を示す図である。
【図１１】ローレンツ方程式のニューラルネットワークを示す図である。
【図１２】ローレンツ方程式の厳密解と近似解を示す図である。
【図１３】テイラー展開を表現するネットワークの一般形を示す図である。
【図１４】図１３（ｂ）のニューラルネットワークの計算結果を示す図である。
【図１５】３関節のアームを示す図である。
【図１６】図１５のアームをニューラルネットワークで表現した図である。
【図１７】図１５の精度評価を示す図である。
【図１８】１次近似、２次近似、３次近似部分をにおけるニューラルネットワークを示す図である。
【図１９】arctanの分割例を示す図である。
【図２０】分割領域におけるニューラルネットワークを示す図である。
【図２１】基本的な摂動を行う場合のニューラルネットワークの成長を示す図である。
【図２２】単純な非周期の運動であるボールを蹴るときの動作におけるニューラルネットワークの具体例を示す図である。
【図２３】安定性確保のためのフィードバックニューラルネットワークを示す図である。
【図２４】ＣＲＰの一例におけるニューラルネットワークを示す図である。
【図２５】音声認識のニューラルネットワークを示す図である。
【図２６】ＣＲＰを用いた音声認識結果を示す図である。
【図２７】ビットの半加算器を示すニューラルネットワークを示す図である。
【図２８】実施の形態のブロックを示す図である。
【図２９】実施の形態の動作を示す図である。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態を図面を参照しつつ説明する。【００２１】
１）ニューラルネットワーク
ニューラルネットワークは動物の神経網を工学的にモデル化したものである。そのため、人間共存型ロボットを構築する際には、適したモデルとして期待されている。なお、本明細書では、工学的人工ニューラルネットワークを単にニューラルネットワークと呼び、動物等のニューラルネットワークを神経網と呼ぶこととする。【００２２】
しかしながら、従来の多くのニューラルネットワークの研究は、ある種の非線形性問題を解くことを目的とするものであった。後述するように、大規模なニューラルネットワークを構築できない理由の１つは、この非線形性にある。【００２３】
非線形性は、上述したボトムアップアプローチにおける基本ユニットではなくネットワークにあるべきであると考えられる。ここでは、本明細書で提案するニューラルネットワークについての概要を説明する。このモデルは、人間共存型ロボットのソフトウェアを構築するのに適したモデルである。【００２４】
まず、非線形性をニューロン自身の入出力に持った従来のモデルについて概観する。【００２５】
１−１）非線形現象研究ツール
ニューラルネットワーク研究の歴史は、例えば、非特許文献６(McCulloch, W and Pitts, W, A: "logical calculus of the ideas immanent in nervous activity", Bulletin of Mathematical Bio-physics, 7:115-133. 1943.)にも知られるように古いものがある。【００２６】
かかる文献によれば、閾値の採用等、従来の数学と多少異なる取り組みがなされている。従来の多くのニューラルネットワークモデルは、ニューロン入出力に非線形性を持たせ、新しい数学の分野である複雑系やカオスの研究に用いられている。また、誤差伝播法などによる学習則の考案等は画期的なものである。【００２７】
しかし、ニューラルネットワークと非線形現象を利用した工学は、元来別々のものである。非線形現象を利用した工学は、それ自身非常に将来性のある研究であるが、ニューラルネットワークとは、元来何の関連もない。ニューラルネットワークは、どのような数学を使おうが、生物の神経網を模した工学的モデルそのものだからである。【００２８】
ニューラルネットワークには、工学的に見て、別の側面があることを忘れてはならない。大規模な工学的システムの表記方法としてのニューラルネットワークである。従来の非線形現象を積極的に利用したニューラルネットワークは、利点と欠点がある。【００２９】
利点としては、例えば，非特許文７（A. Barron: "Universal approximation bounds for superposi-tions of a sigmoidal function", IEEE Trans. on Information Theory, IT-39, pp.930 (1993).）にあるように高次元の入力に対して、シグモイド関数を用いたニューラルネットワークは、線形のシステムに比較して優位にあることがあげられる。【００３０】
誤差逆伝播学習もシグモイド関数の特徴を有効に使った画期的な学習則といえる。また、非線形の引き込み現象を使うと、非常に小さなネットワークが運動生成からセンサフィードバックまで多彩な機能を発揮することも知られている（例えば、非特許文献８：福岡 泰宏，木村 浩 : "四足ロボットの生物規範型不整地適応動歩行-体性感覚・前庭感覚による調節-"， 日本ロボット学会誌，19-4,pp.510-517, 2001.）。【００３１】
しかしながら，このようなニューラルネットワークは、システム構築という視点に立つと大きな欠点がある。小さなシステムが多様な反応をするため、ある程度以下の規模の問題だとシステムを大きくする必要がないという大きな利点を持つ一方、より大きな規模の問題を解決するために、このような小さなシステムを複数組み合わせると性質が大きく変化し、個々のサブシステムの知見が利用できないという欠点である。【００３２】
これらのシステムがある程度以上の数だけ集まったとき、互いのネットワークの干渉により、システムとして機能するかどうかは疑問であり、良好な動作をしない場合において対処する手段が確立されていないのが現状である。【００３３】
そのため、この類のニューラルネットワークは、比較的小さな規模のみが実用に耐えるシステムとなる。正確な数については、研究者によって考えがまちまちである。ちなみに昆虫や動物の神経網は非常に多くの神経細胞からなっている。人間の場合、数１０億〜１０００億程度であると考えられる。【００３４】
ロボットソフトウェアをニューラルネットワークで構築することを考えると、実在の昆虫や動物に匹敵するような数にまで至る必要はないが、非常に大規模であることが予想される。大規模なシステムは、工学的には小さなシステムの集合体として設計することが自然である。【００３５】
このような課題に対して、１つの解決手段は、非線形の影響を局所に留めモジュール化する方式である（上述の非特許文献４参照）。もう１つの解決手段は、線形システムをベースとして、その自然な拡張として非線形を扱う手法である。次に、この点について議論する。【００３６】
１−２）ロボットシステム記述ツール
ニューラルネットワークの表記方法は、基本的にニューロンと結線という２つの要素のみからなる。図１に示すように、図形的に表現すれば、「○」と「→」である。この画一的な表記方法は、様々の工学的記述を統一する可能性を持つ。すなわち、ロボット等のように多様な処理を統一的に行う必要があるシステムの要素間の汎用的なインターフェースとしての可能性がある。【００３７】
このような立場のニューラルネットワークに要求される条件は、できる限り記述の汎用性の高いモデルの構築である。工学的な処理は線形代数や線形微分方程式系で表現される部分が多い。この線形代数系と線形微分方程式系を表現できることが、システム構築のためのニューラルネットワークの必要最低条件となる。そして、もう１つ重要な要件があり、それが論理演算である。論理演算ができなければ、条件処理ができない。まとめると、必要な条件は以下のようになる。【００３８】
（１）線形代数方程式系を表現できること。
（２）線形微分方程式系を表現できること。
（３）合理的な論理演算が可能なこと。【００３９】
これらの条件にあったニューラルネットワークを考える。まず、第１の条件である線形代数方程式系を扱うことができるためには、ニューロンの状態量入出力関係に非線形性があってはならない。これは非常に重要なことである。もし、状態量入出力関係に非線形性があるならば、結線がまったくない場合を除いて、方程式系の中に必ず非線形性が現れる。そして、この非線形性は、どのような恒等変換でも消すことはできない。すわなち、線形代数を表現する能力がないことになる。なお、これは非線形性を全て排除したわけではないことに注意されたい。【００４０】
後述するように、非線形効果をニューロン入出力部分から除き、結線部分に埋め込む。このことにより、線形代数とカオス等の非線形現象の双方を扱うことが可能になる。【００４１】
次に、第２の条件である線形微分方程式系を扱うためには、ニューロンの状態量入出力関係に微分関係が必要となる。もっとも単純な導入は、ニューロンを積分器とすることである。しかしながら、これには問題がある。ニューロンを積分器とみなすと、線形代数を表現できなくなってしまうからである。すなわち、第１の条件を満足できなくなる。何通りかの解決策があり得るが、その中でも、もっとも単純な解決策は、式（１）で示すような"遅れ"の導入である(図２（ａ）参照)。【００４２】
【数１】
2007135723.tif 000003
【００４３】
ただし、εは遅れパラメータ、yi,yjはニューロンの状態量、Cijは重み係数、tは時間である。「ε→０」のような遅れがない極限状態を考えれば、式(１)は、式（２）のようになり、線形代数系を実装することができる。【００４４】
【数２】
2007135723.tif 000004
【００４５】
ここで、"遅れ"は、熱伝導や情報伝送の場合に自然に出てくる物理モデルであり、ニューロンのモデルとして適していると考えられる。さらに、単純な積分器も図２（ｂ）のように、ループ状の接続により可能となる。この接続は、式（１）の右辺にyiを追加することに相当するので、式（３）のように両辺のyiが打ち消しあうことになり、積分器を実装することができることとなる。【００４６】
【数３】
2007135723.tif 000005
【００４７】
最後に第３の条件である合理的な論理演算の実装を考える。上記の２つの条件から、本発明の実施の形態におけるニューラルネットワークモデルには、ニューロンにおける状態量入出力関係に非線形性がない。そのため、通常の結線のみを考えていては、排他的論理和等の論理演算ができないことになる。【００４８】
ここで、"双一次結合"を導入する。これは、図２（ｃ）のような結合であり、非特許文献９（D.E.Rumelhart, G.E.Hinton and J.L.McCelland: "A gen-eral framework for Parallel Distributed Processing", In D.E.Rumelhart and J.L. McClelland(Eds.), :"Parallel Dis-tributed Processing: Explorations in the Microstructure of Cognition", Vol.1, pp. 45, Cambridge, Ma, MIT Press, 1986.）のシグマ・パイユニットの実装に相当する。論理演算では、この双一次結合は論理積の結線を担当する。【００４９】
通常のニューラルネットワークでは、同一の回路で重みや閾値を変更して、論理和と論理積を実装することが多いが、論理和と論理積は、性質がまったく異なるので不自然である。そのことを自然と表したのがこのモデルである。この"双一次結合"は、図３のような神経網の中に実際にあるシナプス前抑制のごく自然なモデル化ともいえる。【００５０】
この"双一次結合"を用いると、例えば、論理和、論理積、論理否定、排他的論理和は、図４のように表現される。図中表記されていない結合係数は１、遅れε＝０、"or"は論理和、"and"は論理積、"not"は論理否定、"xor"は排他的論理和である。さらに、論理計算の結果を双一次結合で用いることは不自然であり、デジタルスイッチを導入する。このデジタルスイッチは論理演算の結果をシステムに反映させるときに用いるが、最も典型的な使われ方は、"解析接続"である。【００５１】
具体的な例を逆キネマティクスのところで後述する。以上、本実施の形態におけるニューラルネットワークモデルに関して概要を述べた。既存の非線形基本ユニットを用いたニューラルネットから見ると、非線形性をニューロン入出力部分から結線に移したともいえる。このことにより、線形方程式系、カオス等の非線形方程式系を同一のネットワークモデルで扱うことを可能にした。【００５２】
このニューラルネットワークモデルに基づく運動生成システム- NueROMA （非特許文献１及び非特許文献１０：永嶋史朗: "ヒューマノイドロボット動作生成システム- NueROMA-",日本ロボット学会誌, Vol.22 No.2, pp.34, 2004.）はすでに知られている。【００５３】
この中で用いられているニューロンとニューロン間結合の表記方法を図５及び図６に示す。これらの図中、閾値(Threshold)は、デジタルスイッチの特殊な簡略系として、可変遅れパラメータ（Variable delay parameter）はシステムの対称性から導入されている。ネットワーク表記、RNN言語表記と数学表記の関連を図７に示し、簡単な応用ネットワークを運動生成とＰＩＤコントロールについて図８に示している。【００５４】
次に、上述したニューロンモデルを用いたネットワークの重要な基本構造をネットワークの関連や変化という観点から概説する。【００５５】
２）基本要素構造
従来、様々のニューラルネットワークが提案されているが、各々のネットワークは全く別のものとして扱われ、それらの間の関連や動的な変形に関する研究がほとんどなされていない。これは、ロボットシステムのサブシステムとしてのニューラルネットワークの場合には問題ないが、統合化を目的とするニューラルネットワークにおいては、不十分な研究方針と結果である。【００５６】
本発明に係るニューラルネットワークの目的は、統合化されたシステムを構築することである。時々刻々変化する外界に対応するため、動的に変化するネットワークを目指す。そのため、典型的なサブネットワークに関して、各々のサブネットワークの関連や動的な変化過程を考察しておくことは重要である。【００５７】
特に、後述するCPGで紹介する代数方程式で表現されるネットワークと微分方程式のネットワークの関連は重要である。数学的表記のみでは、このような変化過程を考察するのは難しい。【００５８】
２−１）線形写像、相関演算、連想記憶
本実施の形態のニューラルネットワークモデルは、ニューロンの入出力関係が線形である。このようなニューラルネットワークの基本単位の出発点は、線形変換であり、この線形変換は相関演算や線形連想記憶という形で表されていく。なお、この相関演算は生理学分野においてはヘブ（Ｈｅｂｂ）の法則と言われ、また数学分野においては微係数推論といわれている。【００５９】
相関演算は、標準化された入力の内積であり、線形連想記憶(as-sociatron)（非特許文献１１：Nakano, K :"Associatron-a model of associative memory",
IEEE Transaction on Systems Man and Cybernetics, SMC 2,381-388 (1972).）は、相関演算を多重化し、出力を標準化したものといえる。【００６０】
相関演算は記憶の基本的なメカニズムとして知られ、特に自己相関演算は、あいまいな入力から元の情報を復活できる記憶のメカニズムとしてよい特性を持っている。【００６１】
２−２）ＣＰＧ（Central Pattern Generator）
ＣＰＧは、連想記憶が変形したものと考えることができる。この関連を説明するために、図９（ａ）のような簡単なごく小さな連想記憶を考える。これは、次式（４）で表現できる。【００６２】
【数４】
2007135723.tif 000006
【００６３】
この連想記憶ネットワークは、例えば、
(x1;x2) =(1;0)
のようなベクトルを入力すると、変換され、
(y1;y2) =(1;1)
のような出力となる。【００６４】
連想記憶としては、このような変換を想起という。ここで、連続的な想起というものを考える。次の式（５）で示す様に、適当な初期条件の下に、この連想記憶回路の出力を再帰的に入力する。【００６５】
【数５】
2007135723.tif 000007
【００６６】
y1を各iでプロットすると、図９（ｅ）のようになる。これは、周期６の周期関数である。さらに、時間iを連続時間tとし、時間差-tの極限をとると、式（６）が得られる。【００６７】
【数６】
2007135723.tif 000008
【００６８】
従って、また式（７）が得られる。【００６９】
【数７】
2007135723.tif 000009
【００７０】
適当な初期条件の下、図９（ｅ）のように周期２π(〜6)の完全な三角関数をあらわすようになる。これをＣＰＧという。これは、非特許文献１２（Fumio Nagashima: "A Motion Learning Method using CGP/NP", Proceedings of the 2nd International Symposium on Adaptive Motion of Animals and Machines, Kyoto, March,4-8, 2003.）におけるＣＰＧと同じものである。【００７１】
すなわち、ＣＰＧは連想記憶の連続的な想起であると考えることができる。異なるタイプのＣＰＧの例を図１０に示す。この出力は、１次関数となる。【００７２】
ここで注意したいのは、例えば、式（４）から式（７）を数学的な変形から出すことは直感的でないことである。図９及び図１０に示すように、ニューラルネットワークの表記であれば、この２つの関連は連続的で直感的な変化で説明ができる。【００７３】
２−３）双一次結合、係数励振、非線形入出力ニューロン
結合重みが他のニューロンによって影響を受けるという双一次結合は、線形代数方程式・線形微分方程式論の立場からすると、変係数方程式ということになる。この仕組みを利用すると、線形連想記憶ではできない演算が可能となる。もっとも端的な例は、図４に示した排他的論理和である。【００７４】
もう１つの例が係数励振である。係数励振においては、共振とは異なる励起が起きることが知られている。このことは、入力データ処理の際に、１つのバリエーションを加えることになる。具体的な例としては、音声認識のところで後述する。【００７５】
双一次結合を２重に用いると、非線形ニューロンの部分反転法に似たニューラルネットワークを構築することもできる。これは、出力を３次多項式で表したことに相当する。【００７６】
２−４）カオス
双一次結合は、使い方によっては、カオスを直接表現することができる。例えば、式（８）で示すLorentz方程式のニューラルネットワークを図１０に示す。【００７７】
【数８】
2007135723.tif 000010
【００７８】
しかしながら、このようなカオスネットワークの使用は慎重でなければならない。確定した運動にカオスを用いることは理に合っていないからである。【００７９】
３）システム構築指針
ロボットが直面する環境は、実験室内で人工的に作られた理想化された環境を除いて、そのほとんどすべてが非線形要素を含んでいる。この非線形の環境下で、適切な運動や認識をするためには、系統だった対処が必要となる。【００８０】
従来の動力学計算や論理演算をベースにしたシステムを考えると、ロボット自身を含めてある環境下にあるもののモデルを構築する必要がある。ある環境下にある全てのモデルができて、初めて動作生成、プランニング等が可能となる。一方、ある環境にある全てのモデルを構築することができないときは何ら効力を奏さない。さらに、環境のモデルを作る労力やメモリなどの資源を考えると、様々の環境に適応できるシステムを作るのは非常に困難が伴う。【００８１】
モデルベースの方法において、あらかじめ必要になりそうな解を用意しておいてデータベース化し、それを検索する方法もあり得るが、いずれにしろ、膨大な労力と膨大な資源を必要とする。【００８２】
次に非線形要素を持っているニューラルネットワークを用いることを考える。このときには、学習というきわめて強力な仕組みがあるので、様々の環境に適応できる可能性がある。しかしながら、現状のニューラルネットワークの学習は、多大な時間を要する。さらに、様々のニューラルネットワークを同時に駆動する場合に、ネットワーク間の相互作用の影響がシステム構築の困難性を高める。【００８３】
全ての場合に対応できるニューラルネットワークを用意し、係数をその場で学習する方法もあるが、正常な動作が開始されるまでには多大な時間を要する。この問題に対処するため、本実施の形態では数値摂動法を用いる。【００８４】
数値摂動法がどのように機能するかを、まず、通常の摂動法の概要から説明する。摂動法の一般論については、例えば、非特許文献１３（Richard Bellman, "Perturbation Techniques in Mathematics,Engineering and Physics", Dover Publications; Reprint Edi-tion, June 27, 2003.）及び非特許文献１４（E.J.Hinch, etc., "Perturbation Methods", Cambridge Univer-sity Press, October 25, 1991.）を参照されたい。【００８５】
この数値摂動法によれば、ニューロンを追加する場合、元々のニューラルネットワークを再利用できる特徴がある。ニューロン数を増やしながら、少しずつ変更、学習することができる。具体的な手順を後述する順キネマティクスの説明において述べる。【００８６】
３−１）摂動法
まず、下式（９）のように簡単な非線形方程式を考える。【００８７】
【数９】
2007135723.tif 000011
【００８８】
この方程式は、解析的に解けて式（１０）を得る。【００８９】
【数１０】
2007135723.tif 000012
【００９０】
ここでは，摂動法の説明のために、見方を変えて説明する。まず、εが小さく無視できる場合、この方程式は式（１１）となる。【００９１】
【数１１】
2007135723.tif 000013
【００９２】
この式（１１）は、根の公式を用いなくても簡単に解け、x=±１という解を得る。これを第１近似解として、逐次、近似度を上げていくことを考える。そのためには、式（１２）のように、xを展開しておく。【００９３】
【数１２】
2007135723.tif 000014
【００９４】
この式を式（９）に代入し、εがどのような値をとっても式（９）が成り立つことからεの次数毎に式を分離すると、式（１３）のように系統的に近似解が求まってくる。ただし、近似解として正の解を選んでいる。なお、厳密解と近似解を図１２に示す。【００９５】
【数１３】
2007135723.tif 000015
【００９６】
Ｏ（ε2）まで近似度が進むと、厳密解に極めて接近することがわかる。ε≒１の領域でも、かなり精度よく近似されている。解が式（１０）のように分かっている場合には、これらの結果が、テイラーの定理によって、求まることは周知である。【００９７】
微分方程式に関しても、同様のことができる。微分方程式の場合には、各次数の解は、時間的に変化する関数形である。例えば、周期的な解を持つと考えられる方程式に対しては、解を式（１４）と展開する。【００９８】
【数１４】
2007135723.tif 000016
【００９９】
式（１４）を元の方程式系に代入し、ｃ0，ｃ1，…，ｓ1，ｓ2，…を逐次求めていく。すなわち、上記のxの部分が、sint，sin2t…のようになる。周期的でない方程式系に対しては、時間的に短いことを前提に、１，ｔ，ｔ2，ｔ3，…のように展開する。さらに、これらの組み合わせもある。【０１００】
３−２）数値摂動法
上述したような摂動法を数値的に行うことを考える。これは、前述の例のように代数方程式の場合、関数のフィッティング問題である。まず、求めるべき関数の１次項から逐次、フィッティングすれば、数値摂動となる。また、微分方程式の場合には、式(１４)のように展開されたと仮定して、ｃ0，ｃ1，…を様々の学習法で決定することを数値摂動法と呼ぶことにする。【０１０１】
具体的に、入力と出力の関係が明確な場合の例を示す。まず、最も単純な例として未知の関数形が式（１５）で表されているとする。【０１０２】
【数１５】
2007135723.tif 000017
【０１０３】
任意の入力 x に対して、出力 y が既知（測定可能または指定可能）であるとする。この関数をテイラー展開可能であるとすると、x=x0の近傍でテイラーの定理（平均値の定理）により、式（１６）のように展開できる。【０１０４】
【数１６】
2007135723.tif 000018
【０１０５】
よって、この問題は、x=x0での微係数を求める問題に帰着する。y(x)が観察可能であれば、これらの微係数を差分近似で求めることでき、観測されたx,yからこれらの微係数を求めれば、解が求まることになる。x0は、問題によって適切に選択する必要がある。δxの適用範囲についても、近似する関数形によって異なる。これは、意外と大きい範囲であることが多い。【０１０６】
多変数の場合については、全微分形を用いる。すなわち、未知関数形が式（１７）と表現できる場合、近似解は、式（１８）と得られる。【０１０７】
【数１７】
2007135723.tif 000019
【０１０８】
【数１８】
2007135723.tif 000020
【０１０９】
ただし、下記条件を有する。【０１１０】
δＸ＝（δｘ1,δｘ2・・・，δｘn）
（δＸ・ｄ/ｄＸ）k＝（δｘ1∂/∂ｘ1＋δｘ2∂/∂ｘ2＋…＋δｘn∂/∂ｘn）k【０１１１】
数値摂動法に関しての具体的な例を、順キネマティクスの説明において後述する。【０１１２】
４）具体例
以下、具体例を挙げて詳述する。【０１１３】
４−１）順キネマティクス
まず、ロボット工学で基本的な問題の１つである順キネマティクスについて述べる。順キネマティクスは、三角関数による変換を含んだベクトルからベクトルへの変換とみなすことができる。そこで、はじめに提案したニューラルネットワークで、三角関数そのものが構成できるかどうかの議論を行う。【０１１４】
三角関数を提案したネットワークで表すためには、式（１９）で示されるようなテイラー・マクローリン展開（以下，テイラー展開と呼ぶ）を用いる。【０１１５】
【数１９】
2007135723.tif 000021
【０１１６】
ここで、y(θ)は、近似したい関数である。ここでは三角関数C0,C1,C2,…は、各次数の係数である。このテイラー展開を表現するネットワークの一般形を図１３（ａ）に示す。例題として、正弦関数とそのニューラルネットワークによる近似解を求めることを考える。正弦関数はテイラー展開で式（２０）のように表される。【０１１７】
【数２０】
2007135723.tif 000022
【０１１８】
よって、ニューラルネットワークは、図１３（ｂ）のようになる。この近似による計算結果を図１４に示す。図中、太線がsinθであり、その他の線が近似解である。Ｏ(n)は、θn 次の近似解を用いたことを示す。図中、Ｏ(15)までしか示されていないが、Ｏ(17)は、太線に重なって見えていない。すなわち、１７次の多項式を用いると、およそ３６０°程度まで、非常に精度よく求まっていることがわかる。【０１１９】
マイナスの領域も同様なので、結局、±３６０°程度の関節であれば、問題のない精度となっていることになる。例えば、±９０°程度までであれば、５次程度で十分の精度が得られる。【０１２０】
人間や動物の関節は、通常、±９０°程度にしか曲がらない。±１８０°程度曲がる関節はほとんどない。このような関節であれば、提案したネットワークで近似する三角関数を用いれば、キネマティクスを解くネットワークができることになる。【０１２１】
４−１−１）解析的方法
具体的にニューラルネットワークを構成してみる。図１５に示すような３関節のアームを考える。このアームの順キネマティクスは、幾何学的解析により、式（２１）となる。【０１２２】
【数２１】
2007135723.tif 000023
【０１２３】
これをニューラルネットワークで表現すると、図１６のようになる。簡単な精度評価を図１７に示す。計算は−π/２≦θ1,θ2,θ3≦π/２の範囲において、すべて倍精度で行った。精度評価は、l1=l2= 1として計算した。誤差は単純に正解との距離であらわした。有効数字３桁で表している。【０１２４】
図１７の表の中欄は、最大誤差を示している。最大誤差は、使用する次数によって変化する。次数１２のときに最大誤差最小となっている。次数が高いときに精度が悪くなるのは、丸め誤差の影響と考えられる。最大誤差時の関節角を右欄に示している。最大誤差は、展開の原点から比較的遠いところで現れる。【０１２５】
この結果によると、適当な次数まで計算することによって、精度のよい計算ができることが期待できる。このアームの場合、次数１２で誤差0.0456％以下となった。これは、全長２ｍのアームの場合、誤差が0.456mm 以下となることを意味する。次に、これらを数値摂動によって学習できるかどうかを説明する。【０１２６】
４−１−２）学習による方法
この順キネマティクスの問題は、多変数関数のフィッティングの問題に帰着される。よって、式（２２）のように仮定して各々の係数を逐次求める。【０１２７】
【数２２】
2007135723.tif 000024
【０１２８】
要素で書くと、式（２３）を逐次実測値等から推定することになる。【０１２９】
【数２３】
2007135723.tif 000025
【０１３０】
ただし、0≦i,j,k,l,…≦3である。これらの推定値を式（２２）に代入すれば順キネマティクスが求まる。推定はロボットの原点から関節角を微少量動かしつつ数点サンプリングしてその位置を計測し、微係数を差分近似することとする。【０１３１】
この展開はニューラルネットワーク表記では双一次結合によって表現される。入出力が多い場合、このようなネットワークは２次元の図で表現することが難しい。１次近似と２次近似の部分、３次近似の部分を、各々図１８（ａ）（ｂ）（ｃ）に示す。各々のネットワークは、すべて重なっている。紙面が２次元であるためネットワークを部分的に描いている。１２階微分まで求めて計算し、丸め誤差を除くと、解析で求めたニューラルネットワークの解と一致する。【０１３２】
低い次数からネットワークを構築していくことを考えると、学習が進むにつれて、ニューロンが入出力の間に逐次挿入されていくことになる。これら挿入されていくニューロンは、双一次結合によって高次項を表すことになる。この変化が、本実施の形態でのニューラルネットワークの成長を伴う学習の典型的な例となる。ニューラルネットワークの構造の成長と係数の決定は同時に行われることになる。【０１３３】
４−２）逆キネマティクス
次に、逆変換を考える。逆キネマティクスの問題には、三角関数の逆関数が表れる。これらの処理に関して考察する。【０１３４】
４−２−１）解析的方法
図１５の逆キネマティクスの解は４種類ある。ここでは、その中の１つの解について考察する。他の３つの解も同様の考察で解析的にニューラルネットワークを構築できる。【０１３５】
【数２４】
2007135723.tif 000026
【０１３６】
上述したと同様に、1/y, arctan(x/y), arccos(z/r)をテイラー展開近似し、ニューラルネットワークを構築すると収束半径の問題が生じ、１つの展開式では有効な解を得られない。この問題は、領域を適切に分割することにより回避できる。いわゆる解析接続の考え方である（非特許文献１５（高見穎郎:"理工学者が書いた数学の本5複素関数の微積分",講談社,1987.）参照）。【０１３７】
たとえば，arctan(x=y)の場合、複素平面上で±iのところに特異点があるため、x/y= 0の近傍で展開すると、±1を境として収束しなくなる。分割方法はいろいろあるが、図１９にarctanの分割の例を示す。【０１３８】
arctanの場合には、各々、x/y= 0, x/y= 1/√3, x/y=√3,x/y= 6の４点で展開した近似解を示している。これらを接続すれば、広い範囲で精度のよい近似が得られる。この図によれば、x/y= 0 と x/y= 6 のみを用いてもかなりの精度で近似できることが分かる。【０１３９】
これらの分割された領域を含めたニューラルネットワークの部分を図２０に示す。デジタルスイッチが用いられている。解析接続のような計算に関しても論理計算は必須であり、デジタルスイッチは必須である。【０１４０】
４−２−２）学習による方法
順キネマティクスにおける学習と異なる点は、１つの多項式では近似でないという点である。この点を除けば、順キネマティクスと同様の手法で求めることができる。適当な場所から展開し、誤差が大きくなった時点で、展開をその近傍から行う。【０１４１】
４−３）運動生成・制御
運動生成、例えば２足歩行パターンを作ることは難しいことではない（例えば非特許文献１０，１２，１６（Riadh Zaier, Fumio Nagashima: "Motion-Generation of Hu-manoid Robot based on Polynomials Generated by Recurrent Neural Network, AISM2004, September 27 ，2004.），１７（Jiang Shan, Fumio Nagashima ："Neural Locomotion Controller Design and Implementation for Humanoid Robot HOAP-1",1C34，2002.）参照）。【０１４２】
昔から安価な「カタカタおもちゃ」でも歩くことができた。実際、時間についての三角関数と１次式を使ってパターン生成プログラムを書くと、少しのパラメータチューニングで歩けてしまう。さらに、センサフィードバックを用いて安定化を考えるときも、これもさほど難しいことではない。倒立振子のモデルを用いると比較的安定した歩行が得られる。【０１４３】
この運動生成に本実施の形態のニューラルネットワークを用いることを考える。図２１に、基本的な摂動を行うときのニューラルネットワークの成長の様子を示す。図中、破線は成長の方向を示す。図２１（ａ）は、周期的な運動に適し、図２１（ｂ）は非周期な運動に適する。【０１４４】
図２２に単純な非周期の運動であるボールを蹴るときの具体的なニューラルネットワークの一例を示す（上記非特許文献１６参照）。また、安定性確保のためのフィードバックニューラルネットワークを図２３に示す。【０１４５】
４−４）音声解析
通常、音声情報を処理する場合、音声そのものを用いず、フーリエ分解した結果に対して処理を行う。本実施の形態のニューラルネットワークでは、フーリエ分解はできないが、相当の処理を行うことができる。【０１４６】
前述したＣＰＧは、２階常微分方程式である外力項が作用することにより共振する。さらに、結合重みを音声信号により変化させると、マシュー型の励起現象がおこる。これらを利用するとフーリエ分解とは異なる分解ができる。ここでは、このネットワークをCPR(Central Pattern Recognizer)と呼ぶことにする。具体的に、図２４（ａ）に元となるCPRを示し、図２４（ｂ）に実際に音声分解に使った要素ネットワークを示す。この図２４（ｂ）のネットワークは、数式で表現すると、式（２５）〜（２７）となる。【０１４７】
【数２５】
2007135723.tif 000027
【０１４８】
【数２６】
2007135723.tif 000028
【０１４９】
【数２７】
2007135723.tif 000029
【０１５０】
ただし、β=b/ε，ω=C0/ε，δm=C2／C0，δf＝−C0C1/ε2,y1,y2,y3はニューロンの状態量、sは音声の生データである。【０１５１】
式（２５）は共振と励振を共に起こす方程式として知られている。式（２６）は、式（２５）と位相がずれている。丁度sinとcosの関係にあたる。よってy3には、共振、励振をおこした振動子の振幅の２乗が出力されることとなる。【０１５２】
図２５のように、この要素ネットワークを複数使うと、図２６のように音声の分解ができる。図２６の実験に用いた音声は日本語で、"おはよう"、CPRの数は512，ω(=C0/ε)は、振動数として表現すると、50Hz〜20,000Hzを対数として511等分した。縦軸に、各々のCPRの出力、横軸は時間である。【０１５３】
CPRは，下が最も低い振動数に対応して、上に行くにしたがって振動数が高くなる。濃淡の濃い部分が出力が大きいCPRである。また、下図はそのときの音声データである。このネットワークの出力を入力にして、従来の音声認識のアルゴリズムが可能である。方法の１つとして、前述した相関演算も用いることができる。【０１５４】
４−５）論理演算
論理素子の応用例題として、ビットの半加算器のニューラルネットワークを図２７に示す。半加算器とは、整数の加算の場合等の最下位のビットの演算を担当する基本的な論理回路である。そのため、下位からの桁上がりがなく上位への桁上がりのみとなる。【０１５５】
x,yが入力、s,cが出力、sはその桁の計算結果、cは次の位への桁上がりである。図中、省略されている結合重みはすべて１、すべてのニューロンの遅れε= 0である。効率の観点から見ると、このようなニューラルネットワークはあまり意味がない。しかしながら、様々の処理が同一の表記方法で表現されることに意義がある。【０１５６】
４−６）センサ統合
１つのセンサからの情報は，環境に関しての一部の情報に過ぎない。環境を認識するには、様々のセンサから入力に基づいて総合的に判断する必要がある。このような場合、従来個別のセンサ群に特化したシステムを構築することが多かった。このようなシステムはセンサの種類の変更を許さない。【０１５７】
また、汎用化のためにニューラルネットワーク等を用いることも検討されている。しかしながら、通常、各センサは個別にアルゴリズムがインプリメントされているため、様々のセンサのインターフェースをとることは難しい。【０１５８】
本実施の形態の方式のように、すべての処理が均一なニューラルネットワークで表現される場合、センサの統合は極めて簡単になる。相関演算のような汎用の方法がセンサ統合にも使えることとなる。【０１５９】
以上、本発明の実施の形態におけるブロックを図２８に示し、その動作を図２９に示す。本実施の形態のニューラルネットワーク学習装置は、センサ出力を入力するセンサ入力部１と、ニューラルネットワークからなるネットワーク部２と、センサ入力部１から入力されたセンサの値を統合的に評価し、その評価結果に基づいてネットワーク部の生成、構築を行うネットワーク学習部３とからなる。【０１６０】
図２８に示す動作においては、ネットワーク学習部３は、ネットワーク部２に基本ユニットのネットワークを構築する（ステップＳ１）。次いで、学習部はセンサ入力部１からの入力を得て評価を行い（ステップＳ２）、その評価値が所定の評価値を満たすよう、相関演算を用いて接合の重み係数を変化させる（ステップＳ３）と共に、必要に応じて、新たなニューラルネットワークの挿入を行う（ステップＳ４）。この際、学習部は入力に対する結果を細かく数点においてサンプリングしつつ微係数を差分近似により求め、低い次数から高い次数にかけてニューラルネットワークの挿入を行っていく。【０１６１】
上述した実施の形態では、人間共存型ロボットのソフトウェアシステム構築に適したニューラルネットワークの構造とその応用例に説明されたような、以下のような特徴がある。
（１）様々の処理を統一的な表記方法で実装できる。
（２）ニューラルネットワークの構造的が動的に変化可能である。【０１６２】
これらの特徴により、システムソフトウェアは非常に柔軟になる。さらに、様々の環境変化に対処するためには、ニューラルネットワークの生成の自動化や汎用学習アルゴリズムの研究開発・実現が望まれるが、本実施の形態は、このような大規模なニューラルネットワークを構築する際の指針と基本ユニットを提供している。【０１６３】
本発明の実施の形態では、人間共存型ロボットのソフトウェアシステムの構築に用いるニューラルネットワークを提案した。提案したニューラルネットワークは、線形のアナログ遅れを基本とし、線形代数方程式と線形微分方程式を表現できる。そのため、このニューラルネットワークは、従来から用いられている制御、認識等のアルゴリズムをインプリメントできる。さらに、非線形のアルゴリズムも同じ表記方法で、同時にインプリメントできる。【０１６４】
線形のニューラルネットワークの拡張には、摂動法を用いる。この摂動のみで、非線形現象を含む環境に適応することもできる。応用として、運動生成・制御、音声解析、論理回路の例題を示した。【０１６５】
上述した本発明の実施の形態において、フローチャートに示したステップをニューラルネットワーク学習プログラムとして、コンピュータにより読取り可能な記録媒体に記憶させることによって、ニューラルネットワーク学習方法をコンピュータに実行させることが可能となる。なお、本発明において、上記コンピュータにより読取り可能な記録媒体は、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
【産業上の利用可能性】
【０１６６】
本発明によれば、要素技術として研究開発されているニューラルネットワークモデルにおける既存の技術を取り込み一般化するとともに、これに新しい付加価値を盛り込んでいくことにより、ニューラルネットワークを用いてボトムアップアプローチの基本ユニットのモデル化を提供することができる。これにより大規模なニューラルネットワークを動的に且つ迅速に構築することができる。
【図１】
2007135723.tif 000030
【図２】
2007135723.tif 000031
【図３】
2007135723.tif 000032
【図４】
2007135723.tif 000033
【図５】
2007135723.tif 000034
【図６】
2007135723.tif 000035
【図７】
2007135723.tif 000036
【図８】
2007135723.tif 000037
【図９】
2007135723.tif 000038
【図１０】
2007135723.tif 000039
【図１１】
2007135723.tif 000040
【図１２】
2007135723.tif 000041
【図１３】
2007135723.tif 000042
【図１４】
2007135723.tif 000043
【図１５】
2007135723.tif 000044
【図１６】
2007135723.tif 000045
【図１７】
2007135723.tif 000046
【図１８】
2007135723.tif 000047
【図１９】
2007135723.tif 000048
【図２０】
2007135723.tif 000049
【図２１】
2007135723.tif 000050
【図２２】
2007135723.tif 000051
【図２３】
2007135723.tif 000052
【図２４】
2007135723.tif 000053
【図２５】
2007135723.tif 000054
【図２６】
2007135723.tif 000055
【図２７】
2007135723.tif 000056
【図２８】
2007135723.tif 000057
【図２９】
2007135723.tif 000058
【国際調査報告】
2007135723.tif 000059
2007135723.tif 000060