(57)【要約】【課題】認識生成処理によって出力される信号の不連続性を抑制することができるようにする。【解決手段】認識部１１１は、特徴抽出部１３から供給される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを、ダイナミクス記憶ネットワークのノードから決定し、その決定された勝者ノードを表す情報を認識結果１７として出力する。認識部１１１は、勝者ノードの切替によって生じる出力信号の不連続性を抑制するようにして、勝者ノードを決定する。本発明は、例えば、時系列データを認識生成する情報処理装置に適用できる。【選択図】図５
2007280066.tif 000002
【特許請求の範囲】
【請求項１】
ダイナミクスを１つのノードに保持し、複数の前記ノードによって構成されるネットワークを記憶する記憶手段と、
観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定する勝者ノード決定手段と、
前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する抑制手段と
を備える情報処理装置。
【請求項２】
前記抑制手段は、前記勝者ノードの切替を抑制することにより、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する
請求項１に記載の情報処理装置。
【請求項３】
前記勝者ノードは、前記ノードが持つスコアによって決定され、
前記抑制手段は、現時点の前記ノードのスコアに、その１つ前に得られた前記ノードのスコアの影響を残すことにより、前記勝者ノードの切替を抑制する
請求項２に記載の情報処理装置。
【請求項４】
前記勝者ノードは、前記ノードが持つスコアによるノードの順位によって決定され、
前記抑制手段は、現時点の前記ノードの順位に、その１つ前に得られた前記ノードの順位の影響を残すことにより、前記勝者ノードの切替を抑制する
請求項２に記載の情報処理装置。
【請求項５】
前記勝者ノードが第１のノードから第２のノードに切替わった場合、前記抑制手段は、切替発生から所定時間の間、前記第１のノードの前記出力信号と、前記第２のノードの前記出力信号とを線形補間することにより、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する
請求項１に記載の情報処理装置。
【請求項６】
ダイナミクスを１つのノードに保持し、複数の前記ノードによって構成されるネットワークから、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定し、
前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する
ステップを含む情報処理方法。
【請求項７】
ダイナミクスを１つのノードに保持し、複数の前記ノードによって構成されるネットワークから、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定し、
前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、認識生成処理によって出力される信号の不連続性を抑制することができるようにする情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
ロボットの行動（運動）は、時間発展法則により定められる力学系（dynamical systems）として記述することができ、様々な行動はその力学系がある特定のアトラクタダイナミクス（attractor dynamics）によって実現可能であることが知られている。
【０００３】
例えば、人間のような二足型ロボットの歩行運動は、系の運動状態が様々な初期状態からある特定の周期軌道に落ち着くことを特徴とするリミットサイクルダイナミクス（limit cycle dynamics）として記述することができる（例えば、非特許文献１，２参照）。また、アームロボットがある対象物に対して手先を伸ばすようなリーチング運動は、様々な初期状態からある特定の固定点に落ち着くことを特徴とする不動点ダイナミクス（fixed-point dynamics）として記述することができる。さらに、全ての運動は、不動点ダイナミクスで実現可能な離散運動（discrete movement）とリミットサイクルダイナミクスで実現可能な周期運動（cyclic movement）の組み合わせにより実現可能であるとも言われている。
【０００４】
このアトラクタダイナミクスによってロボットの行動（運動）を制御する場合の問題は、まず、タスクに応じたアトラクタダイナミクスをどのように構成するのか、次に、センサ入力を通じて得た情報に基づいて、アトラクタダイナミクスに従いながら、対応するモータ出力を生成することであり、これを実現するためには、アトラクタダイナミクスが環境と連続的に相互作用するかたちでロボットの行動出力を生成する必要がある。
【０００５】
こうしたアトラクタダイナミクスを人間が設計するのではなく、学習する方法が提案されている。その方法の１つに、リカレントニューラルネットワーク（recurrent neural network）（以下、RNNという）を利用する方法がある。RNNは、ネットワークに回帰ループで結合されるコンテキストユニットを持ち、そこに内部状態を保持することによって、理論的には、任意の力学系を近似可能であることが知られている。
【０００６】
しかしながら、密結合した１つのネットワークモジュールで構成される学習モデルでは、大規模な行動学習に必要な多数のダイナミクスの学習をする際に、記憶しようとするダイナミクス間の干渉が非常に大きく、学習が困難であるという問題がある。
【０００７】
そこで、複数のネットワークモジュールを組にして１つの学習モデルを構成するモジュラアーキテクチャ（modular architecture）を採用した学習モデルがいくつか提案されている。このモジュラアーキテクチャでは、原理的には、モジュールを増やすことによって記憶できるダイナミクスを容易に増やすことができるが、与えられた学習サンプルをどのモジュールで学習するかを決定するモジュール選択の問題が生じる。
【０００８】
また、外部入力に対する行動出力や運動出力の信号を生成する認識生成処理において、どのモジュールを使って行動出力や運動出力の信号を生成するかという、モジュール選択問題も生じる。
【０００９】
前者の問題に対しては、リカレントニューラルネットワーク（recurrent neural network、以下ＲＮＮ）をモジュールとした、モジュール学習の方法の一つであるMixture of RNN Expertという学習モデルが提案されている（例えば、特許文献１参照）。この学習モデルでは、複数のＲＮＮモジュールの出力をゲート機構により統合して最終的な出力を決定し、その最終的な出力の性能が最大化するように最尤推定法（maximum likelihood estimation）によりゲートを調整しながら各ＲＮＮモジュールの学習を行う。
【００１０】
しかしながら、このような全体最適化に基づく方法では、モジュールの数が大規模になった場合に、学習が困難になるという問題がある。
【００１１】
これに対して、ベクトルパターンのカテゴリ学習に用いられる自己組織化マップ（self-organization map）（以下、ＳＯＭという）（例えば、非特許文献１参照）などの方法では、全体最適化に基づく学習則を用いずに、最適性は保証されないが、適切なカテゴリ構造を自己組織的に教師なし学習することが可能であることが知られている。
【００１２】
【特許文献１】特開平１１−１２６１９８号公報
【非特許文献１】T.コホネン、「自己組織化マップ」、シュプリンガー・フェアラーク東京
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本出願人は、このSOMを導入し、SOMの各ノードにRNNモジュールを採用し、自己組織的に外部入力に対し適切なRNNモジュールを選択し、RNNのパラメータ学習を行う技術を先に提案している（特願２００６−０２１８０４号）。
【００１４】
この提案した技術によれば、モジュールの数が大規模になった場合でも、ダイナミクスの学習が実用的に可能となる。また、外部入力に対して最も予測誤差の少ない出力が可能なRNNモジュールを選択し、行動出力や運動出力を行うことで外部入力に対して認識生成処理を行うことができる。
【００１５】
しかしながら、例えば、外部入力のダイナミクスが切り替わると、予測誤差の少ない出力が可能なRNNモジュールもそれに応じて切り替わることとなり、この切り替えの前後で、出力される信号が不連続になってしまうことがある。
【００１６】
また、RNNモジュールの切り替え時以外においても、まだ学習していないような未知状態下での信号も入力されるため、認識生成処理後に出力される信号が不連続になってしまうことがある。
【００１７】
本発明は、このような状況に鑑みてなされたものであり、認識生成処理によって出力される信号の不連続性を抑制することができるようにするものである。
【課題を解決するための手段】
【００１８】
本発明の一側面の情報処理装置は、ダイナミクスを１つのノードに保持し、複数の前記ノードによって構成されるネットワークを記憶する記憶手段と、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定する勝者ノード決定手段と、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する抑制手段とを備える。
【００１９】
前記抑制手段には、前記勝者ノードの切替を抑制することにより、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制させることができる。
【００２０】
前記勝者ノードは、前記ノードが持つスコアによって決定され、前記抑制手段には、現時点の前記ノードのスコアに、その１つ前に得られた前記ノードのスコアの影響を残すことにより、前記勝者ノードの切替を抑制させることができる。
【００２１】
前記勝者ノードは、前記ノードが持つスコアによるノードの順位によって決定され、前記抑制手段には、現時点の前記ノードの順位に、その１つ前に得られた前記ノードの順位の影響を残すことにより、前記勝者ノードの切替を抑制させることができる。
【００２２】
前記勝者ノードが第１のノードから第２のノードに切替わった場合、前記抑制手段には、切替発生から所定時間の間、前記第１のノードの前記出力信号と、前記第２のノードの前記出力信号とを線形補間することにより、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制させることができる。
【００２３】
本発明の一側面の情報処理方法は、ダイナミクスを１つのノードに保持し、複数の前記ノードによって構成されるネットワークから、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定し、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制するステップを含む。
【００２４】
本発明の一側面のプログラムは、ダイナミクスを１つのノードに保持し、複数の前記ノードによって構成されるネットワークから、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定し、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制するステップを含む処理をコンピュータに実行させる。
【００２５】
本発明の一側面においては、ダイナミクスが１つのノードに保持され、複数のノードによって構成されるネットワークから、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードが決定され、勝者ノードの切替によって生じる出力信号の不連続性が抑制される。
【発明の効果】
【００２６】
本発明の一側面によれば、認識生成処理によって出力される信号の不連続性を抑制することができる。
【発明を実施するための最良の形態】
【００２７】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２８】
本発明の一側面の情報処理装置（例えば、図５の情報処理装置１０１）は、ダイナミクスを１つのノードに保持し、複数の前記ノードによって構成されるネットワークを記憶する記憶手段（例えば、図５のネットワーク記憶部１５）と、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定する勝者ノード決定手段（例えば、図６の勝者ノード決定部７３）と、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する抑制手段（例えば、図６の重みスコア計算部１２１や図１１のノード切替スムージング部２２３）とを備える。
【００２９】
本発明の一側面の情報処理方法またはプログラムは、ダイナミクスを１つのノードに保持し、複数の前記ノードによって構成されるネットワークから、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定し（例えば、図７のステップＳ１５）、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する（例えば、図７のステップＳ１３や図１４のステップＳ５８の処理）ステップを含む。
【００３０】
以下、図を参照して、本発明の実施の形態について説明する。
【００３１】
最初に、本発明の実施の形態を説明する前に、本発明を適用する情報処理装置の元となる装置について簡単に説明する。
【００３２】
図１は、本発明を適用する情報処理装置の元となる装置の構成例を示すブロック図である。
【００３３】
図１の情報処理装置１は、力学系を近似するモデルである力学系近似モデルのうちの、内部状態量を持つ力学系近似モデルを１つのノードとするダイナミクス記憶ネットワークを記憶するネットワーク記憶部１５と、そのダイナミクス記憶ネットワークのパラメータを自己組織的に更新する学習部１４とを含む。
【００３４】
ダイナミクス記憶ネットワークの各ノードには、時系列データの力学的な特性がダイナミクスとして保持される。学習部１４によって更新されたパラメータによって定義される、ダイナミクス記憶ネットワークのノードに保持されたダイナミクスは、時系列データの認識や生成のために利用される。
【００３５】
情報処理装置１は、例えばロボットなどの制御信号の認識や生成に利用される。情報処理装置１は、特に、自律システムや自律型ロボットなどにおいて、時系列データとしてのセンサおよびモータの入出力信号を学習し、その学習結果に基づき、センサおよびモータの信号を認識および生成する。そういう意味で、情報処理装置１は、ダイナミクス認識生成装置であると言うことができる。
【００３６】
情報処理装置１では、情報処理装置１に入力される信号と、情報処理装置１が出力する信号の両方が、観測される信号である観測信号１１として、信号入力部１２に入力される。観測信号１１は、例えば音声や画像の信号、LED(Light Emitting Diode)の明るさを表す信号、モータの回転角度や回転角速度を表す信号などである。
【００３７】
信号入力部１２は、入力される観測信号１１に対応する電気信号を、特徴抽出部１３に出力する。具体的には、信号入力部１２は、観測信号１１が音声の信号である場合、例えばマイクロフォンに対応し、画像信号である場合、例えばカメラに対応する。また、観測信号１１がモータの回転角度や回転速度を表す信号である場合、信号入力部１２は、例えばモータの回転角度や回転速度を計測する計測装置に対応する。
【００３８】
なお、以下では、信号入力部１２に入力される信号だけでなく、信号入力部１２が出力する信号も、観測信号１１という。また、観測信号１１は、定常信号であっても、時間的に変化する非定常信号であってもよい。
【００３９】
さらに、以下では、主にロボットシステムにおけるセンサモータ信号を、観測信号１１の例として説明する。このセンサモータ信号は、例えば、センサが出力する信号や、モータに入力されるモータを制御する制御信号をコンポーネントとするベクトルである。勿論、観測信号１１は、センサモータ信号に限定されるものではない。
【００４０】
また、信号入力部１２は、区間検出装置などを含み、センサモータ信号を所定の区間で区切って出力するものとする。なお、信号入力部１２からは、適当な長さに区切られたセンサモータ信号が出力されればよく、その区切り方は、特に限定されない。従って、入力されるセンサモータ信号に応じて、最も良い方法で適当な長さに区切られたセンサモータ信号が、観測信号１１として、信号入力部１２から出力されればよい。
【００４１】
特徴抽出部１３は、信号入力部１２から出力された観測信号１１から、特徴量を時系列に抽出する。例えば、特徴抽出部１３は、センサ信号の１つである音声信号に対して、一定時間間隔で周波数分析などの処理を施し、メルケプストラムなどの特徴量を時系列に抽出する。ここで、メルケプストラムとは音声認識などで広く利用されている特徴量である。
【００４２】
特徴抽出部１３は、観測信号１１から特徴量を時系列に抽出することにより得た特徴量の時系列データ(以下、単に、時系列データという)を、学習部１４、認識部１６、および生成部１９に供給する。
【００４３】
学習部１４は、特徴抽出部１３から供給される時系列データを用いて、ネットワーク記憶部１５に記憶されているダイナミクス記憶ネットワークのパラメータ更新を行う。ここで行われるパラメータ更新のことを学習と呼ぶ場合がある。
【００４４】
学習部１４は、ラベルの付与されていない時系列データが繰り返し与えられると、その時系列データの中の特徴的なダイナミクスを自己組織的に獲得していく教師なし学習を実行する。その結果、ネットワーク記憶部１５に記憶されるダイナミクス記憶ネットワークには、代表的なダイナミクスが効率的に保持される。その保持されたダイナミクスは、認識部１６や生成部１９が、必要に応じて、いつでも利用することができるようになされている。
【００４５】
ここで、ダイナミクスは、時間変化する力学系を表すものであり、例えば、具体的な関数によって表現することができる。ダイナミクス記憶ネットワークでは、時系列データの時間変化の特徴が、ダイナミクスとして保持される。
【００４６】
認識部１６は、特徴抽出部１３から供給される時系列データに対して、それまでの学習の結果得られたダイナミクス記憶ネットワークの各ノードに保持されるダイナミクスを照らし合わせ、最も類似したダイナミクスであるノードを決定し、その決定されたノードを表す情報を認識結果１７として出力する。この最も類似したダイナミクスであるノードを決定（認識）する処理が、認識部１６による認識処理である。なお、認識処理では、認識部１６は、内部状態記憶部２１に記憶されている内部状態量（内部状態）を初期値として読み込むとともに、認識処理によって更新された内部状態量を内部状態記憶部２１に記憶させる。
【００４７】
一方、ダイナミクス記憶ネットワークのノードに保持されたダイナミクスからは、必要に応じて、時系列データを生成することができるようになされている。生成部１９は、時系列データを生成する生成処理を行う。
【００４８】
具体的には、生成部１９は、どのノードから時系列データを生成するかを指定する制御信号１８を取得する。生成部１９は、制御信号１８、特徴抽出部１３から供給される時系列データ、内部状態記憶部２１に記憶されている内部状態量の初期値、およびダイナミクス記憶ネットワークに基づき、指定されたノードから時系列データを生成する。そして、生成部１９は、その時系列データを生成結果２０として出力する。
【００４９】
内部状態記憶部２１は、ダイナミクス記憶ネットワークの各ノードの内部状態量を保持する。内部状態記憶部２１に記憶された内部状態量は、例えば、認識部１６によって更新され、生成部１９によって生成処理に利用される。
【００５０】
情報処理装置１では、ダイナミクス記憶ネットワークを用いて、入力された観測信号１１から認識結果１７を出力する認識処理と、ダイナミクス記憶ネットワークを用いて、入力された制御信号１８から生成結果２０を出力する生成処理とを、それぞれ独立に行うこともできるし、認識処理により出力される認識結果１７を用いて時系列データを生成する生成する（認識生成処理を行う）こともできる。この場合、ノードを表す情報である認識結果１７が、どのノードから時系列データを生成するかを指定する制御信号１８として利用される。
【００５１】
認識生成処理によれば、例えば、人がロボットに呼びかける音声を発した場合に、そのロボットにおいて、その呼びかけに応じた動きをとるためのモータ信号や、その呼びかけに応答する合成音を生成するためのパラメータ信号等が生成される。
【００５２】
図２は、図１のネットワーク記憶部１５に記憶されるダイナミクス記憶ネットワークの例を示している。
【００５３】
図２のダイナミクス記憶ネットワーク４１では、ノード５１−１乃至５１−９が２次元的に配置され、縦方向および横方向に隣接するノード間にリンクが与えられている。なお、以下では、ノード５１−１乃至５１−９を特に区別する必要がない場合、単にノード５１という。
【００５４】
ノード５１は、上述したように、力学系を近似するモデルである力学系近似モデルのうちの、内部状態量を持つ力学系近似モデルを表している。
【００５５】
ここで、内部状態量を持つ力学系近似モデルとしては、例えば三層型ニューラルネットワーク（ＮＮ）の出力層から入力層への回帰ループを持つRNNなどを用いることができ、この場合、内部状態としては、例えば、RNNの出力層から入力層にフィードバックされるコンテキストがある。RNNでは、時系列データにおける時刻Tの状態ベクトルXTを入力し、時刻T＋１の状態ベクトルXT+1を予測して出力することを学習（予測学習、prediction learning）することにより、対象となる時系列データの時間発展法則を学習することができる。
【００５６】
RNNのような内部状態量を持つ力学系近似モデルのパラメータの推定方法には、BPTT(Back-Propagation Through Time)法が利用される。BPTT法については、例えば、D. E. Rumelhart, G. E. Hinton & R. E. Williams, 1986 “Learning internal representations by error propagation”, In D. E. Rumelhart & J. McClelland, "Parallel distributed processing", pp. 318-364, Cambridge, MA: MIT Press等に記載されている。
【００５７】
また、内部状態量を持つ力学系近似モデルでは、学習データの力学的な特性が学習されるが、その学習に使われる学習データは、特徴抽出部１３から供給される時系列データであり、ノード５１の、内部状態量を持つ力学系近似モデルは、時系列データの時系列パターンをダイナミクスとして学習する。
【００５８】
リンクは、空間上にノード５１が配置される構造を与えるために利用される。即ち、図２のダイナミクス記憶ネットワーク４１は、２次元的なノードの配置構造を与えたダイナミクス記憶ネットワークの例である。図２に示すように、リンクによって与えられる空間的なノード５１の配置構造に基づき、ノード５１どうしの空間上での距離関係が決定される。
【００５９】
例えば、図２では、あるノード５１に着目したとき、その着目したノード５１である着目ノードとリンクで直接結合された、着目ノードに隣接するノードは、着目ノードとの距離が最も近く、その隣接するノードである隣接ノードから先のリンクを順にたどっていくことで到達するノード５１は、着目ノードとの距離が少しずつ遠くなっていく。
【００６０】
図２以外にも、リンクの構成の仕方によって、ノード５１の空間上における配置構造を変化させることができ、その配置構造はリンクを使うことで任意に設定できる。また、リンクを持たないダイナミクス記憶ネットワークも設定可能である。
【００６１】
図３は、図１の認識部１６と生成部１９の詳細な構成例を示すブロック図である。
【００６２】
認識部１６は、内部状態量更新部７１、スコア計算部７２、勝者ノード決定部７３、および認識結果出力部７４により構成される。生成部１９は、生成ノード決定部８１、内部状態読み込み部８２、時系列データ生成部８３、および生成結果出力部８４により構成される。
【００６３】
内部状態量更新部７１は、内部状態記憶部２１から前回更新されて記憶されている内部状態量をダイナミクス記憶ネットワーク４１のノード５１の力学系近似モデルへ読み込む。これにより、ノード５１の力学系近似モデルにおいて、入力となる時系列データに基づいて、内部状態量更新部７１が読み込んだ値を初期値として、内部状態量を更新することが可能となる。
【００６４】
また、認識部１６において、スコア計算部７２は、入力された時系列データに基づき、力学系近似モデルの内部状態量を更新しながら、スコア計算を行う。スコア計算部７２によるスコア計算の結果、ノード５１にはスコアが付与される。上述したように、内部状態量を持つ力学系近似モデルがRNNで与えられる場合には、例えば、予測出力の平均二乗誤差の逆数がスコアとして利用される。
【００６５】
勝者ノード決定部７３は、最もスコアの良い（最もスコアの高い）ノード５１を勝者ノードとして決定する。即ち、この最もスコアの良いノード（勝者ノード）５１に保持されたダイナミクスが、入力された時系列データに最も適合するダイナミクスとして選択される。
【００６６】
認識結果出力部７４は、勝者ノード決定部７３においてどのノード５１が選択されたかという情報を認識結果１７として出力する。
【００６７】
なお、内部状態記憶部２１では、勝者ノードが決定されたときの内部状態量の更新値（更新された内部状態量）と、その勝者ノードが決定されたときの内部状態量の初期値が、内部状態量更新部７１により再び記憶される。内部状態記憶部２１に記憶された内部状態量の更新値は、認識部１６での次回のスコア計算に利用される。
【００６８】
認識結果出力部７４が出力する認識結果１７が、制御信号１８として、生成部１９の生成ノード決定部８１に供給される。そして、生成ノード決定部８１は、この制御信号１８に基づき、時系列データを生成すべきノード（生成ノード）を決定する。つまり、認識部１６の認識処理において決定された勝者ノードが生成ノードに決定される。
【００６９】
生成部１９では、認識部１６の認識処理において決定された勝者ノードから時系列データが生成される。
【００７０】
即ち、内部状態読み込み部８２は、生成ノードとなったノード５１の力学系近似モデルに内部状態記憶部２１の記憶値を、内部状態量の初期値として読み込む。より具体的には、内部状態読み込み部８２は、内部状態記憶部２１の記憶値のうちの、生成ノードが認識部１６において勝者ノードに決定されたときの内部状態量の初期値を読み出し、生成ノードとなったノード５１の力学系近似モデルの内部状態量の初期値にセットする。
【００７１】
時系列データ生成部８３は、特徴抽出部１３（図１）で抽出された特徴量の時系列データを読み込み、その時系列データと、内部状態読み込み部８２によって内部状態量の初期値がセットされた生成ノードの力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。時系列データ生成部８３で生成された時系列データは、生成結果出力部８４から生成結果２０として出力される。
【００７２】
ここで、ダイナミクス記憶ネットワーク４１で学習されるダイナミクスの数は、ダイナミクス記憶ネットワーク４１のノード数と一致するので、そのノード数に応じた時系列データを認識し、その認識結果に応じて、時系列データを生成することが可能となる。
【００７３】
以上のように構成される情報処理装置１をロボットに実装し、ロボットのアーム部や脚部などの動きを制御するアクチュエータのモータ信号の時系列データを学習させた後、その学習結果に基づいて認識生成処理させた場合、認識生成処理により出力される時系列データが不連続なものとなり、その結果、ロボットが急激に姿勢を変えたり、過電流などのハードウエア的な問題を引き起こすことがあった。
【００７４】
そこで、そのような現象が生じる原因として、アクチュエータへのモータ信号（時系列データ）の出力を担当するノード５１の切替が起こっているか否か、即ち、勝者ノードの切替が起こっているか否かについてと、情報処理装置１に入力された時系列データが学習済みの時系列パターン（時系列データのパターン）であるか、および、時系列パターンの遷移が起こっているか否かについての２点に注目して不連続な信号（時系列データ）の生成状況の分析を行った。
【００７５】
ここで、情報処理装置１に入力された時系列データが学習済みの時系列パターンであるか、および、時系列パターンの遷移が起こっているか否かとは、言い換えれば、入力される時系列データから観測されるロボットの状態（環境）が既知の状態であるのか、または未知の状態であるのか、および、既知から未知（未知から既知）への状態の遷移（切替）が発生しているのかということである。ここで、ロボットの状態（環境）とは、視覚センサなどにより得られる周囲の状況と、アクチュエータのモータ信号などのロボット自身の状態との両方を含む。さらに別の言い方をすれば、情報処理装置１に入力された時系列データが学習済みの時系列パターンであるか、および、時系列パターンの遷移が起こっているか否かとは、ロボットに学習させたタスク（行動）であるのか否か、および、タスクの切替が起こっているのか否かということができる。
【００７６】
図４は、不連続な信号（時系列データ）の生成状況を分析した分析結果を示している。
【００７７】
図４の行は、ロボットの状態が既知の状態であるのか、または未知の状態であるのか、および、既知から未知（未知から既知）への状態の遷移（切替）が発生しているのかについて場合分けしている。想定される場合としては、図４に示されるように、上の行から順に、所定の既知の状態（例えば、既知１の状態）のまま、状態の遷移が発生していない（既知１から既知１への状態）場合、既知１の状態から、その他の既知の状態（例えば、既知２の状態）に、状態が遷移している（既知１から既知２への状態）場合、既知の状態（例えば、既知１の状態）から未知の状態に、状態が遷移している（既知１から未知への状態）場合、未知の状態（例えば、未知１の状態）から既知の状態に、状態が遷移している（未知１から既知への状態）場合、所定の未知の状態（例えば、未知１の状態）のまま、状態の遷移が発生していない（未知１から未知１への状態）場合、および、所定の未知の状態（例えば、未知１の状態）からその他の未知の状態（例えば、未知２の状態）に、状態が遷移している（未知１から未知２への状態）場合がある。
【００７８】
また、図４の列は、勝者ノード（生成ノード）の切替が起こっているか否かについての場合分けを示しており、勝者ノードの切替が有る場合と、勝者ノードの切替がない場合の２通りが考えられる。
【００７９】
図４では、上述した各場合の全ての組み合わせについて不連続な信号（時系列データ）の生成状況を分析し、その結果を、不連続な信号が生成されることが多い場合を“A”とし、不連続な信号が生成されることが少ない場合を“B”とし、不連続な信号が生成されることが無い（ほとんど無い）場合を“C”として表している。
【００８０】
なお、図４において、状態の遷移が既知１から既知２への状態で、ノード切替が無い場合については“D”で表しているが、この組み合わせの状況は起こることがない（ほとんどない）ため今回の分析の対象外とした。なぜなら、情報処理装置１のダイナミクス記憶ネットワーク４１では、基本的に、所定の既知の状態（タスク）それぞれが１つのノード５１に学習されるようになされているため、既知１から既知２へ状態が遷移していてノードの切替が発生していないということは起こり得ないためである。
【００８１】
図４で示される分析の結果では、ノード切替が有る場合は、既知１から既知２への状態のときが、不連続な信号が生成されることが少ない（“B”で示されている）以外は、既知１から既知２への状態、既知１から未知への状態、未知１から既知への状態、未知１から未知１への状態、および未知１から未知２への状態のいずれのときも、不連続な信号が生成されることが多い（“A”で示されている）。
【００８２】
一方、ノード切替が無い場合は、既知１から既知１への状態のときが、不連続な信号が生成されることは無く（“C”で示されており）、既知１から未知への状態、未知１から既知への状態、および未知１から未知２への状態のときが、不連続な信号が生成されることが多く（“A”で示されており）、未知１から未知１への状態のときが、不連続な信号が生成されることが少ない（“B”で示されている）。
【００８３】
そこで、本発明では、図４の分析結果において、不連続な信号が生成されることがあると結論付けられたAおよびBで示されている組み合わせについて対策を施す。より具体的には、以下に述べる本発明を適用した情報処理装置において、図４の二重線で囲まれている、ノード切替有りで、すべての状態遷移に有効な第１の対策、図４の点線で囲まれている、ノード切替有りで、すべての状態遷移に有効な第２の対策、図４の一点鎖線で囲まれている、ノード切替に関係なく、未知の状態の継続時に有効な第３の対策、および、図４の実線で囲まれている、ノード切替に関係なく、既知から未知または未知から既知への状態遷移時に有効な第４の対策を実行する。
【００８４】
図５は、本発明を適用した情報処理装置の第１の実施の形態の構成例を示すブロック図である。この第１の実施の形態は、上述した第１の対策を行う実施の形態である。
【００８５】
即ち、図５の情報処理装置の第１の実施の形態では、状態遷移がどのようであるかに関わらず、ノードが切替わったときに発生する不連続な信号を抑制する機能を、図１の情報処理装置１に対して追加する。
【００８６】
なお、図５において、図１の情報処理装置１と対応する部分については同一の符号を付してあり、その説明は適宜省略する。
【００８７】
図５の情報処理装置１０１は、認識部１６に代えて、認識部１１１が設けられている点において、図１の情報処理装置１と相違する。
【００８８】
認識部１１１は、認識部１６と同様に、特徴抽出部１３から供給される時系列データに対する勝者ノードを決定し、その勝者ノードを表す情報を認識結果１７として出力する。但し、認識部１１１は、ノイズ的なノード切替を抑制する機構が実装されている点が認識部１６と相違する。
【００８９】
図６は、認識部１１１の詳細な構成例を示すブロック図である。
【００９０】
なお、図６において、図３の認識部１６と対応する部分については同一の符号を付してあり、その説明を省略する。
【００９１】
図６の認識部１１１は、内部状態量更新部７１、スコア計算部７２、勝者ノード決定部７３、認識結果出力部７４、重みスコア計算部１２１、およびスコア記憶部１２２により構成されている。
【００９２】
即ち、認識部１１１は、内部状態量更新部７１、スコア計算部７２、勝者ノード決定部７３、および認識結果出力部７４を有する点において、図３の認識部１６と共通し、重みスコア計算部１２１およびスコア記憶部１２２を有する点において図３の認識部１６と相違する。
【００９３】
重みスコア計算部１２１には、認識部１１１に供給された時系列データに対するダイナミクス記憶ネットワーク４１のノード５１のスコアが、スコア計算部７２から供給される。ここで、ステップ（時刻）ｔsの時系列データに対して計算されたノード５１のスコアをS（ｔs）とすると、重みスコア計算部１２１は、ステップｔsの重みスコアS’（ｔs）を、次式（１）により求める。
【００９４】
【数１】
2007280066.tif 000003
【００９５】
式（１）において、αは、０≦α≦１の定数であり、ステップｔsのスコアS（ｔs）に、１つ前のステップｔs−１の重みスコアS’（ｔs−１）をどれくらいの割合で足し合わせるかを決定する重み係数である。なお、S’（０）は、例えば、０である。
【００９６】
式（１）によれば、ノード５１の重みスコアS’（ｔs）が、ステップｔsのスコアS（ｔs）と、１つ前のステップｔs−１の重みスコアS’（ｔs−１）との重み付け和で求められる。また、式（１）は、ノード切替に対して一種のローパスフィルタリングを導入していると言うこともできる。
【００９７】
重みスコア計算部１２１は、スコア記憶部１２２からステップｔs−１の重みスコアS’（ｔs−１）を取得して、ノード５１のステップｔsの重みスコアS’（ｔs）を計算し、勝者ノード決定部７３とスコア記憶部１２２に供給する。
【００９８】
スコア記憶部１２２は、重みスコア計算部１２１から供給される重みスコアS’（ｔs）を、そこに記憶されている１ステップ前の重みスコアS’（ｔs−１）に上書き記憶する。即ち、スコア記憶部１２２は、重みスコア計算部１２１による重みスコアの計算で使用される、求める重みスコアのステップより１ステップ前の重みスコアを記憶する。
【００９９】
勝者ノード決定部７３は、重みスコア計算部１２１から供給されるノード５１の重みスコアS’（ｔs）のうち、最もスコアS’（ｔs）の良いノード５１を勝者ノードとして決定する。そして、決定された勝者ノードを表す情報が、認識結果１７として認識結果出力部７４から出力される。
【０１００】
次に、図７のフローチャートを参照して、図６の認識部１１１による認識処理について説明する。
【０１０１】
ステップｔsに、特徴抽出部１３から時系列データが供給されると、ステップＳ１１において、内部状態量更新部７１は、内部状態記憶部２１から前回更新されて記憶されている内部状態量を初期値としてダイナミクス記憶ネットワーク４１のノード５１（の力学系近似モデル）へ読み込む。
【０１０２】
ステップＳ１２において、スコア計算部７２は、ステップｔsに供給された時系列データに対する、ダイナミクス記憶ネットワーク４１のノード５１のスコアS（ｔs）を計算する。
【０１０３】
ステップＳ１３において、重みスコア計算部１２１は、ステップｔsのノード５１の重みスコアS’（ｔs）を式（１）により計算し、勝者ノード決定部７３とスコア記憶部１２２に供給する。
【０１０４】
ステップＳ１４において、スコア記憶部１２２は、重みスコア計算部１２１から供給された重みスコアS’（ｔs）を、そこに記憶されている１ステップ前の重みスコアS’（ｔs−１）に上書き記憶する。
【０１０５】
ステップＳ１５において、勝者ノード決定部７３は、重みスコア計算部１２１から供給されるダイナミクス記憶ネットワーク４１の各ノード５１の重みスコアS’（ｔs）のうち、最もスコアS’（ｔs）の良いノード５１を勝者ノードとして決定する。
【０１０６】
ステップＳ１６において、認識結果出力部７４は、ステップｔsの時系列データにおける勝者ノードを表す情報を認識結果１７として出力する。
【０１０７】
ステップＳ１７において、内部状態更新部７１は、現在の内部状態量の値（更新値）と、ステップＳ１１で読み込んだ内部状態量の初期値とを内部状態量記憶部２１に記憶させて、処理を終了する。
【０１０８】
以上のように、図７の認識処理によれば、ステップｔsの時系列データの勝者ノードを決定するための重みスコアS’（ｔs）を、ステップｔsのスコアS（ｔs）と、その１つ前のステップｔs−１の重みスコアS’（ｔs−１）との重み付け和として求めることによって、現時点のノード５１の重みスコアS’（ｔs）に、ステップｔs−１の重みスコアS’（ｔs−１）の影響を残すようにして、勝者ノードの切替を抑制する。
【０１０９】
これにより、入力される時系列データにノイズが乗ったり、例えば、入力される時系列データが視覚センサデータであれば、オクルージョン（遮蔽）や照明の変化などの見えの変化により学習時に想定していないデータがノイズ的に入力されることによって、ノードＦ→ノードＦ→ノードＦ→ノードＧ→ノードＦ→ノードＦのように、ノード５１が一瞬切り替わることが図１の情報処理装置１と比べて少なくなるので、ノード５１から出力される信号が不連続になることを抑制することができる。
【０１１０】
なお、入力される時系列データに対し、ダイナミクス記憶ネットワーク４１のノード５１が自己組織的に学習する教師なし学習においては、ダイナミクス記憶ネットワーク４１のトポロジー距離が近いノード５１では、似たようなダイナミクスが学習されているため、距離が近いノード５１どうしの遷移では、不連続な信号が発生しにくく、距離が遠いノード５１どうしの遷移では不連続な信号が発生しやすい。
【０１１１】
そこで、式（１）の重み係数αを、勝者ノードからのトポロジー距離ｄに関する減少関数α（ｄ）とした式（２）により、重みスコアS’（ｔs）求めることもできる。
【０１１２】
【数２】
2007280066.tif 000004
【０１１３】
ここで、減少関数α（ｄ）は、例えば、α（ｄ）＝Ｋd（０＜Ｋ＜１）などである。
【０１１４】
式（２）によれば、勝者ノードからのトポロジー距離ｄが大きいノード５１へのノード切替が抑制されるので、ノード５１から出力される信号の不連続性を抑制することができる。
【０１１５】
図８は、認識部１１１のその他の詳細な構成例を示すブロック図である。図８において、図３の認識部１６と対応する部分については同一の符号を付してあり、その説明を省略する。
【０１１６】
図８の認識部１１１は、内部状態量更新部７１、スコア計算部７２、認識結果出力部７４、ノード順位決定部１４１、勝者ノード決定部１４２、およびノード記憶部１４３により構成されている。
【０１１７】
即ち、図８の認識部１１１は、内部状態量更新部７１、スコア計算部７２、および認識結果出力部７４を有する点において、図３の認識部１６と共通し、ノード順位決定部１４１、勝者ノード決定部１４２、およびノード記憶部１４３を有する点において図３の認識部１６と相違する。
【０１１８】
ノード順位決定部１４１には、ステップｔsに認識部１１１に供給された時系列データに対するダイナミクス記憶ネットワーク４１のノード５１のスコアが、スコア計算部７２から供給される。ここで、ステップｔsのノード５１のスコアをS（ｔs）とする。
【０１１９】
ノード順位決定部１４１は、各ノード５１のスコアS（ｔs）に基づいて、ダイナミクス記憶ネットワーク４１の全ノード５１に対し、それぞれのノード５１が何番目のノードであるか、ノード５１のノード順位rank（ｔs）を決定し、勝者ノード決定部１４２に供給する。
勝者ノード決定部１４２は、ステップｔsより１ステップ前であるステップｔs−１の重み付けノード順位rank’（ｔs−１）をノード記憶部１４３から取得して、次式（３）により、ステップｔsにおけるダイナミクス記憶ネットワーク４１のノード５１の重み付けノード順位rank’（ｔs）を計算する。
【０１２０】
【数３】
2007280066.tif 000005
【０１２１】
式（３）において、βは、０≦β≦１の定数であり、ステップｔsのノード順位rank（ｔs）に、１つ前のステップｔs−１の重み付けノード順位rank’（ｔs−１）をどれくらいの割合で足し合わせるかを決定する重み係数である。なお、rank’（０）は、例えば、０である。
【０１２２】
式（３）によれば、ノード５１の重み付けノード順位rank’（ｔs）が、ステップｔsのノード順位rank（ｔs）と、１ステップ前の重み付けノード順位rank’（ｔs）との重み付け和で求められる。この式（３）も、ノード切替に対して一種のローパスフィルタリングを導入していると言うことができる。
【０１２３】
勝者ノード決定部１４２は、ダイナミクス記憶ネットワーク４１の全ノード５１の重み付けノード順位rank’（ｔs）のうち、重み付けノード順位rank’（ｔs）が最も高いノード５１を勝者ノードとして決定する。
【０１２４】
また、勝者ノード決定部１４２は、各ノード５１の重み付けノード順位rank’（ｔs）をノード記憶部１４３に供給する。
【０１２５】
ノード記憶部１４３は、勝者ノード決定部１４２から供給される重み付けノード順位rank’（ｔs）を、そこに記憶されている１ステップ前の重み付けノード順位rank’（ｔs−１）に上書き記憶する。即ち、ノード記憶部１４３は、勝者ノード決定部１４２による重み付けノード順位の計算で使用される、求める重み付けノード順位のステップより１ステップ前の重み付けノード順位を記憶する。
【０１２６】
認識結果出力部７４は、勝者ノード決定部１４２で決定された勝者ノードを表す情報を認識結果１７として出力する。
【０１２７】
図９は、図８の認識部１１１による認識処理のフローチャートである。
【０１２８】
ステップｔsに、特徴抽出部１３から時系列データが供給されると、ステップＳ３１において、内部状態量更新部７１は、内部状態記憶部２１から前回更新されて記憶されている内部状態量を初期値としてダイナミクス記憶ネットワーク４１のノード５１（の力学系近似モデル）へ読み込む。
【０１２９】
ステップＳ３２において、スコア計算部７２は、ステップｔsに供給された時系列データに対する、ダイナミクス記憶ネットワーク４１のノード５１のスコアS（ｔs）を計算する。
【０１３０】
ステップＳ３３において、ノード順位決定部１４１は、ノード５１のノード順位rank（ｔs）を決定し、勝者ノード決定部１４２に供給する。
【０１３１】
ステップＳ３４において、勝者ノード決定部１４２は、次式（３）により、ダイナミクス記憶ネットワーク４１の全ノード５１の重み付けノード順位rank’（ｔs）を計算し、重み付けノード順位rank’（ｔs）が最も高いノード５１を勝者ノードとして決定する。
【０１３２】
ステップＳ３５において、勝者ノード決定部１４２は、各ノード５１の重み付けノード順位rank’（ｔs）をノード記憶部１４３に供給し、ノード記憶部１４３は、勝者ノード決定部１４２から供給される重み付けノード順位rank’（ｔs）を、そこに記憶されている１ステップ前の重み付けノード順位rank’（ｔs−１）に上書き記憶する。
【０１３３】
ステップＳ３６において、認識結果出力部７４は、ステップｔsの時系列データにおける勝者ノードを表す情報を認識結果１７として出力する。
【０１３４】
ステップＳ３７において、内部状態更新部７１は、現在の内部状態量の値（更新値）と、ステップＳ３１で読み込んだ内部状態量の初期値とを内部状態量記憶部２１に記憶させて、処理を終了する。
【０１３５】
以上のように、図９の認識処理によれば、ステップｔsの時系列データの勝者ノードを決定するためのノード５１の重み付けノード順位rank’（ｔs）が、ステップｔsのノード順位rank（ｔs）と、１ステップ前の重み付けノード順位rank’（ｔs−１）との重み付け和として求めることによって、現時点のノード５１の重み付けノード順位rank’（ｔs）に、ステップｔs−１の重み付けノード順位rank’（ｔs−１）の影響を残すようにして、勝者ノードの切替を抑制する。これにより、図７の認識処理と同様に、ノード５１の遷移が抑制されるため、ノード５１から出力される信号が不連続になることを抑制することができる。
【０１３６】
なお、式（３）に対しても、上述した式（２）のように、重み係数βを、勝者ノードからのトポロジー距離ｄに関する減少関数β（ｄ）（０＜β（ｄ）＜１）としても良い。
【０１３７】
図１０は、本発明を適用した情報処理装置の第２の実施の形態の構成例を示すブロック図である。この第２の実施の形態は、上述した第２乃至第４の対策を行う実施の形態である。
【０１３８】
なお、図１０において、図１の情報処理装置１と対応する部分については同一の符号を付してあり、その説明は適宜省略する。
【０１３９】
図１０の情報処理装置２０１は、生成部１９に代えて、生成部２１１が設けられている点において、図１の情報処理装置１と相違する。
【０１４０】
生成部２１１には、認識部１６が出力する認識結果１７が、制御信号１８として入力され、生成部２１１は、生成部１９と同様に、制御信号１８で決定される生成ノードに基づいて時系列データを生成し、その時系列データを生成結果２０として出力する。しかしながら、生成部２１１から出力される時系列データは、所定のスムージング処理が施されている点が、生成部１９と相違する。
【０１４１】
図１１は、図１０の生成部２１１の第１の実施の形態の構成例を示すブロック図である。この実施の形態は、上述した第２の対策を行う実施の形態である。
【０１４２】
生成部２１１の第１の実施の形態では、状態遷移がどのようであるかに関わらず、ノードが切替わったときに発生する不連続な信号を抑制する機能を、図１の情報処理装置１に対して追加する。具体的には、ノードの切替が発生したときに、その発生した時刻から所定時間をかけて緩やかにノード切替前の信号からノード切替後の信号に切替わるようにする。
【０１４３】
なお、図１１において、図３の生成部１９と対応する部分については同一の符号を付してあり、その説明は適宜省略する。
【０１４４】
図１１の生成部２１１は、生成ノード決定部８１、内部状態読み込み部８２、時系列データ生成部８３、生成結果出力部８４、生成ノード記憶部２２１、ノード切替検出部２２２、ノード切替スムージング部２２３、および時系列データ記憶部２２４により構成されている。
【０１４５】
即ち、図１１の生成部２１１は、生成ノード決定部８１、内部状態読み込み部８２、時系列データ生成部８３、および生成結果出力部８４を有する点において、図３の生成部１９と共通し、生成ノード記憶部２２１、ノード切替検出部２２２、ノード切替スムージング部２２３、および時系列データ記憶部２２４を有する点において、図３の生成部１９と相違する。
【０１４６】
生成ノード決定部８１は、制御信号１８に基づいて、時系列データに対する生成ノードを決定し、その決定された生成ノードを表す情報（以下、適宜、生成ノード情報という）を、内部状態読み込み部８２、生成ノード記憶部２２１、およびノード切替検出部２２２に供給する。
【０１４７】
生成ノード記憶部２２１は、生成ノード決定部８１から供給される生成ノード情報より１つ前に供給された生成ノード情報（以下、適宜、旧生成ノード情報という）を記憶する。そして、生成ノード記憶部２２１は、生成ノード決定部８１から（新しい）生成ノード情報が供給された場合、そこに記憶されている旧生成ノード情報に上書きして、生成ノード決定部８１から供給された（新しい）生成ノード情報を記憶する。
【０１４８】
ノード切替検出部２２２は、生成ノードの切替を検出する。即ち、生成ノード記憶部２２１に記憶されている旧生成ノード情報と、生成ノード決定部８１から供給された新しい生成ノード情報とを比較して、生成ノードの切替が発生したかどうかを判定する。生成ノードの切替が発生したと判定された場合、ノード切替検出部２２２は、ノード切替発生を表すノード切替信号を、ノード切替スムージング部２２３に供給する。
【０１４９】
内部状態読み込み部８２は、生成ノードの力学系近似モデルに内部状態記憶部２１の記憶値を、内部状態量の初期値として読み込む。
【０１５０】
時系列データ生成部８３は、特徴抽出部１３から供給される時系列データと、内部状態読み込み部８２によって内部状態量の初期値がセットされた生成ノードの力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。時系列データ生成部８３により生成された時系列データ（以下、適宜、生成時系列データという）は、ノード切替スムージング部２２３に供給される。なお、以下において、所定の時間ステップｔに時系列データ生成部８３から出力される、生成時系列データを構成する信号を出力信号JoutI（ｔ）という。また、時間ステップｔを特に区別しない場合には、単に出力信号JoutIともいう。その他の出力信号についても同様である。
【０１５１】
ノード切替スムージング部２２３は、生成ノードの切替が発生しなかった場合には、時系列データ生成部８３から供給される生成時系列データをそのまま（出力信号JoutIIとして）、生成結果出力部８４と時系列データ記憶部２２４に供給する。
【０１５２】
一方、ノード切替検出部２２２からノード切替スムージング部２２３にノード切替信号が供給された場合、即ち、生成ノードの切替が発生した場合、ノード切替スムージング部２２３は、ノードの切替が発生した時刻（サンプル）である時間ステップｔから時間ステップｔ−１＋ＴまでのT−１時間ステップの出力信号に対してスムージング処理を施す。なお、以下において、ノード切替スムージング部２２３によるスムージング処理をノード切替スムージング処理という。
【０１５３】
時間ステップｔから時間ステップｔ−１＋ＴまでのT−１時間ステップのノード切替スムージング処理後の出力信号JoutII（ｔ−１＋τ）（τ＝１乃至Ｔ）は、次式（４）で表すことができる。
【０１５４】
【数４】
2007280066.tif 000006
【０１５５】
但し、式（４）では、時間ステップｔにおいて、生成ノードが、時間ステップｔ−１までの生成ノードnode1から生成ノードnode2に切替わったものとする。
【０１５６】
式（４）において、ｗ（τ）は、ノード切替直前の時間ステップｔ−１のノード切替スムージング部２２３からの出力信号JoutII（ｔ−１）をラッチしたラッチ信号Jlatchと、生成ノード切替後の時系列データ生成部８３からの出力信号JoutI＝Jnode2との重みを決定する重み係数であり、本実施の形態では、その重みを、経過ステップ数で線形に補間することとし、ｗ（τ）＝τ／Tとされる。
【０１５７】
ノード切替スムージング部２２３は、ラッチ期間中は、式（４）による出力信号JoutII（ｔ−１＋τ）を生成結果出力部８４に供給し、ラッチ期間後は、ノード切替後の時系列データ生成部８３からの出力信号JoutI＝Jnode2を、出力信号JoutIIとして出力する。
【０１５８】
また、ノード切替スムージング部２２３は、ノードの切替が発生した場合に必要となる、ノード切替前の生成時系列データ（出力信号）を時系列データ記憶部２２４に記憶させる。時系列データ記憶部２２４は、ノード切替スムージング部２２３から供給される生成時系列データを記憶する。
【０１５９】
生成結果出力部８４は、ノード切替スムージング部２２３から供給される生成時系列データ（ノード切替が発生した場合には、切替直後の時間ステップｔからT−１時間ステップの間スムージング処理が施された生成時系列データ）を生成結果２０として出力する。
【０１６０】
図１２と図１３を参照して、図１の情報処理装置１によるノード切替発生時の出力信号と、図１１の生成部２１１を有する図１０の情報処理装置２０１によるノード切替発生時の出力信号とを比較する。
【０１６１】
図１２は、図１の情報処理装置１によるノード切替発生時の出力信号の例を示している。
【０１６２】
図１２では、図１の情報処理装置１（の生成部１９）から出力される出力信号JoutIが、実線で示されている。また、ノードnode１とノードnode２によって出力される出力信号Jnode1およびJnode2は、点線で示されている。なお、実線と点線が重なっている部分については、実線が図示されている。
【０１６３】
実環境における認識生成時には、入力される時系列データから観測されるロボットの状態（環境）がたとえ既知1の状態から既知２の状態に遷移したとしても、情報処理装置１が、学習によりそれぞれの状態を別々のノードに獲得している限りにおいて、生成ノードが既知１の状態に対応するノードnode１から既知２の状態に対応するノードnode２に離散的に切り替わる。
【０１６４】
時間ステップｔにおいて、生成ノードがノードnode１からノードnode２に切替わった場合、太線の実線で示されるように、時間ステップｔより前の時間ステップでは、出力信号JoutI＝Jnode1が図１の生成部１９から出力され、時間ステップｔ以降のステップでは、出力信号JoutI＝Jnode2が図１の生成部１９から出力される。
【０１６５】
ノードnode１とノードnode２が生成する生成時系列データは、多少なりとも異なっており、このように、生成ノードの切替が発生した時間ステップｔより前と時間ステップｔ以降とで生成時系列データが不連続となってしまう。
【０１６６】
図１３は、図１１の生成部２１１を有する図１０の情報処理装置２０１によるノード切替発生時の出力信号の例を示している。なお、ノードnode１およびノードnode２が生成する出力信号は、図１２における場合と同様である。
【０１６７】
時間ステップｔにおいて、生成ノードがノードnode１からノードnode２に切替わった場合、図１１の生成部２１１は、出力信号JoutIIを、太線の実線で示されるように、時間ステップｔ−１から時間ステップｔ−１＋TまでのTステップにかけて、線形補間することでなだらかにつなぐようにする。
【０１６８】
一方、時間ステップｔより以前の時間ステップをｔ−*と表し、時間ステップｔ−１＋T以後の時間ステップをｔ＋*と表すとすると、それらの時間ステップでは、図１の情報処理装置１の生成部１９と同様に、出力信号JoutI（ｔ−*）＝Jnode1（ｔ−*）およびJoutI（ｔ＋*）＝Jnode2（ｔ＋*）である。
【０１６９】
次に、図１４のフローチャートを参照して、図１１の生成部２１１による生成処理について説明する。
【０１７０】
生成ノード決定部８１に制御信号１８が供給されると、ステップＳ５１において、生成ノード決定部８１は、供給された制御信号１８に基づいて、時系列データに対する生成ノードを決定し、その決定された生成ノードを表す情報を、内部状態読み込み部８２、生成ノード記憶部２２１、およびノード切替検出部２２２に供給する。
【０１７１】
ステップＳ５２において、生成ノード記憶部２２１は、そこに記憶されている旧生成ノード情報をノード切替検出部２２２に供給し、旧生成ノード情報に上書きして、生成ノード決定部８１からの生成ノード情報を記憶する。
【０１７２】
ステップＳ５３において、内部状態読み込み部８２は、生成ノードの力学系近似モデルに内部状態記憶部２１の記憶値を、内部状態量の初期値として読み込む。
【０１７３】
ステップＳ５４において、時系列データ生成部８３は、特徴抽出部１３（図５）から供給される時系列データと、内部状態読み込み部８２によって内部状態量の初期値がセットされた生成ノードの力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。
【０１７４】
ステップＳ５５において、ノード切替検出部２２２は、生成ノード記憶部２２１からの旧生成ノード情報と、生成ノード決定部８１からの生成ノード情報とを比較して、生成ノードの切替が発生したかどうかを判定する。
【０１７５】
ステップＳ５５で、生成ノードの切替が発生したと判定された場合、ステップＳ５６において、ノード切替検出部２２２は、ノード切替発生を表すノード切替信号をノード切替スムージング部２２３に供給する。ここで、生成ノードの切替が発生した時間ステップをｔとする。
【０１７６】
ステップＳ５７において、ノード切替スムージング部２２３は、自分（ノード切替スムージング部２２３）がノード切替直前の時間ステップｔ−１に出力した出力信号JoutII（ｔ−１）をラッチ（保持）する（Jlatch＝JoutII（ｔ−１）とする）。
【０１７７】
ステップＳ５８において、ノード切替スムージング部２２３は、式（４）により、ノードの切替が発生した時間ステップｔから時間ステップｔ−１＋Ｔまでの出力信号JoutIに対してスムージング処理を施した出力信号JoutIIを生成する（ノード切替スムージング処理する）。
【０１７８】
一方、ステップＳ５５で、生成ノードの切替が発生していないと判定された場合、または、ステップＳ５８の処理後、処理はステップＳ５９に進み、ノード切替スムージング部２２３は、時系列データ（出力信号）を時系列データ記憶部２２４と生成結果出力部８４に供給する。また、ステップＳ５９において、時系列データ記憶部２２４は、ノード切替スムージング部２２３から供給された時系列データを記憶する。
【０１７９】
ステップＳ６０において、生成結果出力部８４は、生成結果２０としての時系列データを出力して、処理を終了する。
【０１８０】
以上のように、図１４の生成処理によれば、時間ステップｔにおいて、生成ノードがノードnode１からノードnode２に切替わった場合、ノード切替直前の時間ステップｔ−１のノード切替スムージング部２２３からの出力信号JoutII（ｔ−１）をラッチしたラッチ信号Jlatchと、生成ノード切替後の時系列データ生成部８３からの出力信号JoutI＝Jnode2との重みを、時間ステップｔから時間ステップｔ−１＋TまでのT−１時間ステップにかけて、経過ステップ数で線形に補間することにより、緩やかにノード切替前の信号からノード切替後の信号に切替える。これにより、生成部２１１から出力される出力信号が不連続になることを抑制することができる。
【０１８１】
なお、図１１の生成部２１１では、上記式（４）の代わりに、式（５）を採用することが可能である。
【０１８２】
【数５】
2007280066.tif 000007
【０１８３】
式（５）によれば、ノード切替直前の時間ステップｔ−１のノード切替スムージング部２２３からの出力信号JoutII（ｔ−１）をラッチしたラッチ信号Jlatchの代わりに、Jnode1（ｔ−１＋τ）を採用する。
【０１８４】
この場合、図１１の生成部２１１の生成ノード記憶部２２１は、時系列データ生成部８３に旧生成ノード情報を供給する必要があり、時系列データ生成部８３は、現在の生成ノードの時系列データと１つ前の生成ノードの時系列データの両方をノード切替スムージング部２２３に供給する。
【０１８５】
図１５は、図１０の生成部２１１の第２の実施の形態の構成例を示すブロック図である。この実施の形態は、上述した第３の対策を行う実施の形態である。
【０１８６】
実環境における認識生成時には、学習データとして与えられていない未知の環境下での時系列データが入力され得る。このような未知の状態の時系列データに対して、勝者ノードとなった生成ノードから時系列データを生成すると、不定な信号を出力することがある。
【０１８７】
そこで、生成部２１１の第２の実施の形態では、入力される時系列データから観測される現在の状態が未知の状態であるのか、既知の状態であるのかを識別し、未知の状態であると識別されたときの生成ノードが出力する時系列データ（出力信号）をスムージング処理することにより、未知の状態の継続時に発生する不定な信号を抑制する機能を、図１の情報処理装置１に対して追加する。なお、この生成部２１１の第２の実施の形態では、ノードの切替は問題としない。
【０１８８】
なお、図１５において、上述したその他の実施の形態と対応する部分については同一の符号を付してあり、その説明を適宜省略する。
【０１８９】
図１５の生成部２１１は、生成ノード決定部８１、内部状態読み込み部８２、時系列データ生成部８３、生成結果出力部８４、時系列データ記憶部２２４、状態識別部２４１、および未知状態スムージング部２４２により構成されている。
【０１９０】
即ち、図１５の生成部２１１は、生成ノード決定部８１、内部状態読み込み部８２、時系列データ生成部８３、および生成結果出力部８４を有する点において、図３の生成部１９と共通し、時系列データ記憶部２２４、状態識別部２４１、および未知状態スムージング部２４２を有する点において、図３の生成部１９と相違する。
【０１９１】
時系列データ記憶部２２４は、未知状態スムージング部２４２から供給される生成時系列データを記憶する。
【０１９２】
状態識別部２４１には、認識部１６のスコア計算部７２（図３）から、ダイナミクス記憶ネットワーク４１の生成ノード（勝者ノード）のスコアが供給される。状態識別部２４１は、生成ノードのスコアに基づいて、特徴抽出部１３（図３）から供給されている時系列データが未知のものであるか、または、既知のものであるか、即ち、現在の状態が未知の状態であるか、または、既知の状態であるかを識別し、その識別結果を未知状態スムージング部２４２に供給する。
【０１９３】
認識処理では、予め学習された時系列パターンではない時系列データが入力されると、その入力された時系列データに対して予測出力の平均二乗誤差の逆数で与えられるスコアは、小さくなる。つまり、既知環境下（学習データと類似の環境状態下）での時系列データが入力された場合、ダイナミクス記憶ネットワーク４１のいずれかのノード５１のスコアが高くなる（少なくとも勝者ノードのスコアは高くなる）が、未知の環境下では、いずれのノード５１のスコアもそれほど高くはならない。
【０１９４】
以上の特性を利用して、状態識別部２４１は、生成ノードのスコアが基準閾値TH以上である場合に、現在の状態を既知の状態であると識別し、生成ノード５１のスコアが基準閾値THより小さい場合に、現在の状態を未知の状態であると識別する。なお、本実施の形態では、図１６を参照して後述するように、例えば、基準閾値THを０．９９８５に設定している。
【０１９５】
未知状態スムージング部２４２には、現在の状態が未知の状態であるのか、あるいは、既知の状態であるのかを表す識別結果が、状態識別部２４１から供給される。
【０１９６】
未知状態スムージング部２４２は、時系列データ生成部８３から供給される生成時系列データ（出力信号JoutI）に対して、現在の状態が未知の状態であるのか、あるいは、既知の状態であるのかに関わらずスムージング処理を施す。なお、以下において、未知状態スムージング部２４２によるスムージング処理を、以下、適宜、未知状態スムージング処理という。
【０１９７】
具体的には、未知状態スムージング部２４２は、時間ステップｔにおける、時系列データ生成部８３からの出力信号JoutI（ｔ）に対して、次式（６）を計算する。
【０１９８】
【数６】
2007280066.tif 000008
【０１９９】
式（６）によれば、未知状態スムージング部２４２による未知状態スムージング処理後の出力信号JoutIII（ｔ）は、時間ステップｔの時系列データ生成部８３からの出力信号JoutI（ｔ）と、その１つ前の時間ステップｔ−１の自分の出力信号JoutIII（ｔ−１）とを、重みγで加算して得られる。重みγは、０＜γ＜１の定数である。
【０２００】
なお、１つ前の時間ステップｔ−１の自分の出力信号JoutIII（ｔ−１）は、前回の計算時に時系列データ記憶部２２４に記憶されており、そこから取得される。
【０２０１】
そして、未知状態スムージング部２４２は、状態識別部２４１から未知状態であることを表す識別結果が供給された場合には、スムージング処理後の出力信号JoutIII（ｔ）を生成結果出力部８４に供給し、状態識別部２４１から既知状態であることを表す識別結果が供給された場合には、時系列データ生成部８３から供給される出力信号JoutI（ｔ）をそのまま生成結果出力部８４に供給する。これにより、未知の状態と既知の状態の切替わりに、即座に対応することができるようになっている。
【０２０２】
また、未知状態スムージング部２４２は、スムージング処理後の出力信号JoutIII（ｔ）を、次の時間ステップｔ＋１の計算のために、時系列データ記憶部２２４に供給し、記憶させる。
【０２０３】
図１６は、情報処理装置２０１を搭載したロボットに、物体Qを認識させる学習を行わせた後の、認識処理時のスコアを示している。
【０２０４】
図１６では、４つのグラフが示されているが、上段から順に、ロボットの視覚センサによって取得された物体QのX座標、Y座標、およびZ座標の時系列データ（センサ信号）を示しており、最下段は、生成ノード（勝者ノード）のスコアを示している。なお、グラフの横軸は、時間ステップを表し、１段目（最上段）、２段目、および３段目のグラフの縦軸は座標値を表し、４段目（最下段）の縦軸は、生成ノードのスコアを表している。
【０２０５】
図１６においては、例えば、人によって故意に作り出されるなどして発生した未知の状態が、四角の枠で囲まれている。例えば、枠P１に含まれる期間では、タスク切替の間の未知状態が発生しており、枠P２に含まれる期間では、物体Qがロボットの視界から外されたことによる未知状態が発生している。
【０２０６】
また、枠P３は、ロボットの姿勢が未知な状態である期間であり、枠P４は、物体Qと異なる未知の物体Rがロボットの視界に入ったことによる未知の状態が発生した期間である。さらに、枠Ｐ５は、物体Ｑが未知の場所にあることによる未知の状態が発生した期間である。
【０２０７】
状態識別部２４１では、上述したように、基準閾値THが０、９９８５に設定されており、図１６の生成ノードのスコアを示すグラフにおいて、その基準閾値THが図示されている。
【０２０８】
この場合、枠P１乃至P４で囲まれている期間では、基本的に、生成ノードのスコアが基準閾値THより小さな値となっており、状態識別部２４１において、現在の状態が未知の状態と識別されることが分かる。
【０２０９】
図１７は、未知状態スムージング部２４２による処理結果の例を示している。
【０２１０】
図１７では、時系列データ生成部８３からの出力信号JoutIが点線で示されており、未知の状態における出力信号JoutIは、１時間ステップあたりの変化量の激しい、不定な信号となっている。
【０２１１】
一方、時系列データ生成部８３からの出力信号JoutIに対して、未知状態スムージング処理された出力信号JoutIIIが、太線の実線で示されている。出力信号JoutIIIは、図１７に示すように、処理前の出力信号JoutIと比べて、高周波成分が除去された信号となっている。換言すれば、出力信号JoutIIIは、出力信号JoutIのローパスフィルタリング処理後の信号である。
【０２１２】
次に、図１８のフローチャートを参照して、図１５の生成部２１１による生成処理について説明する。
【０２１３】
生成ノード決定部８１に制御信号１８が供給されると、ステップＳ８１において、生成ノード決定部８１は、供給された制御信号１８に基づいて、時系列データに対する生成ノードを決定し、その決定された生成ノードを表す情報を、内部状態読み込み部８２に供給する。
【０２１４】
ステップＳ８２において、内部状態読み込み部８２は、生成ノードの力学系近似モデルに内部状態記憶部２１の記憶値を、内部状態量の初期値として読み込む。
【０２１５】
ステップＳ８３において、時系列データ生成部８３は、特徴抽出部１３（図５）から供給される時系列データと、内部状態読み込み部８２によって内部状態量の初期値がセットされた生成ノードの力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。
【０２１６】
ステップＳ８４において、未知状態スムージング部２４２は、時系列データ生成部８３から供給される出力信号JoutIに対して、未知状態スムージング処理を実行する。
【０２１７】
ステップＳ８５において、状態識別部２４１は、認識部１６のスコア計算部７２（図３）から供給される、ダイナミクス記憶ネットワーク４１の生成ノード（勝者ノード）のスコアに基づいて、現在の状態が未知の状態であるか否かを判定する。
【０２１８】
ステップＳ８５で、現在の状態が未知の状態ではない（既知状態である）と判定された場合、ステップＳ８６において、未知状態スムージング部２４２は、時系列データ生成部８３から供給される出力信号JoutIをそのまま生成結果出力部８４に供給する。
【０２１９】
一方、ステップＳ８５で、現在の状態が既知の状態であると判定された場合、ステップＳ８７において、未知状態スムージング部２４２は、未知状態スムージング処理後の出力信号JoutIIIを生成結果出力部８４に供給する。
【０２２０】
ステップＳ８８において、生成結果出力部８４は、未知状態スムージング部２４２から供給された出力信号（JoutIまたはJoutIII）からなる時系列データを生成結果２０として出力し、処理を終了する。
【０２２１】
以上のように、図１８の生成処理によれば、現在の状態が未知の状態である場合に、時系列データ生成部８３が出力する単位時間あたりの変化の激しい出力信号を、ローパス処理することにより、より安定した信号を出力することができる。
【０２２２】
なお、上述した例では、現在の状態が未知の状態であるのか、または、既知の状態であるのかを識別する特徴量として、認識部１６のスコア計算部７２で計算された生成ノードのスコアを採用したが、それ以外の特徴量を採用してもよい。
【０２２３】
現在の状態が未知の状態であるのか、または、既知の状態であるのかを識別するその他の特徴量としては、例えば、ダイナミクス記憶ネットワーク４１の全ノード５１のスコアの平均値または分散、勝者ノードのスコアと全ノード５１のスコアの平均値との差などが考えられる。
【０２２４】
図１９は、図１０の生成部２１１の第３の実施の形態の構成例を示すブロック図である。この実施の形態は、上述した第４の対策を行う実施の形態である。
【０２２５】
生成部２１１の第３の実施の形態では、ノード切替に関係なく、既知から未知または未知から既知への状態遷移時に発生する不連続な信号を抑制する機能を、図１の情報処理装置１に対して追加する。具体的には、状態の切替が発生したときに、その発生した時刻から所定時間かけて緩やかに状態切替前の信号から、状態切替後の信号に切替わるようにする。
【０２２６】
なお、生成部２１１の第３の実施の形態において、未知の状態の出力信号として、上述した未知状態スムージング処理が施された出力信号JoutIIIを利用する。即ち、生成部２１１の第３の実施の形態では、上述した生成部２１１の第２の実施の形態の構成および機能も含まれる。
【０２２７】
図１９において、上述したその他の実施の形態と対応する部分については同一の符号を付してあり、その説明は適宜省略する。
【０２２８】
図１９の生成部２１１は、生成ノード決定部８１、内部状態読み込み部８２、時系列データ生成部８３、生成結果出力部８４、時系列データ記憶部２２４、状態識別部２４１、未知状態スムージング部２４２、状態記憶部２６１、状態切替検出部２６２、および状態切替スムージング部２６３により構成されている。
【０２２９】
即ち、図１９の生成部２１１は、生成ノード決定部８１、内部状態読み込み部８２、時系列データ生成部８３、および生成結果出力部８４を有する点において、図３の生成部１９と共通し、時系列データ記憶部２２４、状態識別部２４１、および未知状態スムージング部２４２、状態記憶部２６１、状態切替検出部２６２、および状態切替スムージング部２６３を有する点において、図３の生成部１９と相違する。
【０２３０】
未知状態スムージング部２４２は、時系列データ生成部８３から供給される出力信号JoutIに対して、式（６）による未知状態スムージング処理を常時実行し、状態識別部２４１から未知状態であることを表す識別結果が供給された場合には、未知状態スムージング処理後の出力信号JoutIIIを生成結果出力部８４に供給し、状態識別部２４１から既知状態であることを表す識別結果が供給された場合には、時系列データ生成部８３から供給される出力信号JoutIをそのまま生成結果出力部８４に供給する。
【０２３１】
状態識別部２４１は、認識部１６のスコア計算部７２（図３）から供給される生成ノードのスコアに基づいて、現在の状態が未知の状態であるか、または、既知の状態であるかを識別した識別結果を、未知状態スムージング部２４２、状態記憶部２６１、状態切替検出部２６２に供給する。
【０２３２】
状態記憶部２６１は、状態識別部２４１から供給される識別結果より１つ前の識別結果（以下、適宜、旧識別結果という）を記憶する。そして、状態記憶部２６１は、状態識別部２４１から（新しい）識別結果が供給された場合、そこに記憶されている旧識別結果に上書きして、生成ノード決定部８１から供給された（新しい）識別結果を記憶する。
【０２３３】
状態切替検出部２６２は、状態の切替を検出する。即ち、状態切替検出部２６２は、状態記憶部２６１に記憶されている旧識別結果と、状態識別部２４１から供給される新しい識別結果とを比較して、状態の切替が発生したかどうかを判定する。状態の切替が発生したと判定された場合、状態切替検出部２６２は、切替後の状態を表す信号を含む状態切替信号を、状態切替スムージング部２６３に供給する。
【０２３４】
状態切替スムージング部２６３は、状態の切替が発生した時間ステップｔから時間ステップｔ−１＋Ｔまでの出力信号に対してスムージング処理を施す。なお、以下において、状態切替スムージング部２６３によるスムージング処理を状態切替スムージング処理という。
【０２３５】
所定の時間ステップｔにおいて現在の状態が未知の状態である場合、状態切替スムージング部２６３には、未知状態スムージング部２４２で未知状態スムージング処理された出力信号JoutIII（ｔ）が供給される。一方、所定の時間ステップｔにおいて現在の状態が既知の状態である場合、状態切替スムージング部２６３には、時系列データ生成部８３が出力した出力信号JoutI（ｔ）が供給される。
【０２３６】
時間ステップｔにおいて、未知の状態を表す信号を含む状態切替信号が状態切替検出部２６２から供給された場合、即ち、状態が既知から未知に切替わった場合、状態切替スムージング部２６３は、時間ステップｔから時間ステップｔ−１＋Ｔまでの（T−１）時間ステップの間、状態切替スムージング処理として、次式（７）により出力信号JoutIV（ｔ−１＋τ）（τ＝１乃至Ｔ）を求め、生成結果出力部８４に供給する。
【０２３７】
【数７】
2007280066.tif 000009
【０２３８】
式（７）によれば、状態切替スムージング部２６３は、状態の切替が発生した時間ステップｔから時間ステップｔ−１＋ＴまでのT−１時間ステップにおいて、状態が切替わる直前の、即ち、時間ステップｔ−１の未知状態スムージング部２４２からの出力信号JoutI（ｔ−１）をラッチし（Jlatch＝JoutI（ｔ−１）とし）、そのラッチ信号Jlatchと、現在の時間ステップｔ−１＋τ（τ＝１乃至Ｔ）の未知状態スムージング部２４２からの出力信号JoutIII（ｔ−１＋τ）とを重み係数ｇ（τ）で重み付け加算した出力信号JoutIV（ｔ−１＋τ）を出力する。ここで、重み係数ｇ（τ）は、例えば、ｗ（τ）＝τ／Tである。
【０２３９】
一方、時間ステップｔにおいて、既知の状態を表す信号を含む状態切替信号が状態切替検出部２６２から供給された場合、即ち、状態が未知から既知に切替わった場合、状態切替スムージング部２６３は、時間ステップｔから時間ステップｔ−１＋Ｔまでの（T−１）時間ステップの間、状態切替スムージング処理として、次式（８）により出力信号JoutIV（ｔ−１＋τ）（τ＝１乃至Ｔ）を求め、生成結果出力部８４に供給する。
【０２４０】
【数８】
2007280066.tif 000010
【０２４１】
式（８）によれば、状態切替スムージング部２６３は、状態の切替が発生した時間ステップｔから時間ステップｔ−１＋ＴまでのT−１時間ステップにおいて、状態が切替わる直前の、即ち、時間ステップｔ−１の未知状態スムージング部２４２からの出力信号JoutIII（ｔ−１）をラッチし（Jlatch＝JoutIII（ｔ−１）とし）、そのラッチ信号Jlatchと、現在の時間ステップｔ−１＋τ（τ＝１乃至Ｔ）の未知状態スムージング部２４２からの出力信号JoutI（ｔ−１＋τ）とを重み係数ｇ（τ）で重み付け加算した出力信号JoutIV（ｔ−１＋τ）を出力する。
【０２４２】
図２０は、状態が既知から未知に切替わった場合の状態切替スムージング処理を説明する図である。
【０２４３】
図２０において、時系列データ生成部８３から出力される出力信号JoutIが点線で示されており、時間ステップｔで、出力信号JoutIは、未知の状態から既知の状態に切替わっている。即ち、時間ステップｔ−１までの出力信号JoutIは、未知の状態であり、時間ステップｔ以降の出力信号JoutIは、既知の状態である。
【０２４４】
そして、時間ステップｔ−１までは状態が未知なので、状態切替スムージング部２６３には、未知状態スムージング部２４２で未知状態スムージング処理された出力信号JoutIIIが入力され、時間ステップｔ以降は状態が既知なので、未知状態スムージング処理されていない出力信号JoutIが、状態切替スムージング部２６３に入力される。
【０２４５】
状態切替スムージング部２６３は、時間ステップｔ−１までは出力信号JoutIIIをそのまま生成結果出力部８４に供給し、時間ステップｔ−１＋T以降は出力信号JoutIをそのまま生成結果出力部８４に供給する。
【０２４６】
一方、時間ステップｔで状態の切替が発生してから時間ステップｔ−１＋Ｔまでは、状態切替スムージング部２６３は、１点鎖線で示される、時間ステップｔ−１に供給された出力信号JoutIII（ｔ−１）をラッチしたラッチ信号Jlatchと、実線で示される、現在の時間ステップｔ−１＋τ（τ＝１乃至Ｔ）に未知状態スムージング部２４２から供給されている出力信号JoutI（ｔ−１＋τ）とを重み係数ｇ（τ）で重み付け加算した出力信号JoutIV（ｔ−１＋τ）を生成結果出力部８４に供給する。
【０２４７】
次に、図２１のフローチャートを参照して、図１９の生成部２１１による生成処理について説明する。
【０２４８】
生成ノード決定部８１に制御信号１８が供給されると、ステップＳ１０１において、生成ノード決定部８１は、供給された制御信号１８に基づいて、時系列データに対する生成ノードを決定し、その決定された生成ノードを表す情報を、内部状態読み込み部８２に供給する。
【０２４９】
ステップＳ１０２において、内部状態読み込み部８２は、生成ノードの力学系近似モデルに内部状態記憶部２１の記憶値を、内部状態量の初期値として読み込む。
【０２５０】
ステップＳ１０３において、時系列データ生成部８３は、特徴抽出部１３（図５）から供給される時系列データと、内部状態読み込み部８２によって内部状態量の初期値がセットされた生成ノードの力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。
【０２５１】
ステップＳ１０４において、状態識別部２４１は、生成ノードのスコアに基づいて、現在の状態が未知の状態であるのか、または、既知の状態であるのかを識別した識別結果を、未知状態スムージング部２４２、状態記憶部２６１、状態切替検出部２６２に供給する。
【０２５２】
ステップＳ１０５において、未知状態スムージング部２４２は、状態識別部２４１からの識別結果に応じて、時系列データ生成部８３から供給される出力信号JoutIに対して、未知状態スムージング処理を実行する。これにより、現在の状態が未知状態であるときには出力信号JoutIIIが状態切替スムージング部２６３に供給され、現在の状態が既知状態であるときには、出力信号JoutIが状態切替スムージング部２６３に供給される。
【０２５３】
ステップＳ１０６において、状態記憶部２６１は、状態識別部２４１から供給された識別結果より１つ前の識別結果（旧識別結果）を状態切替検出部２６２に供給して、そこに生成ノード決定部８１から供給された（新しい）識別結果を上書き記憶する。
【０２５４】
ステップＳ１０７において、状態切替検出部２６２は、状態記憶部２６１に記憶されている旧識別結果と、状態識別部２４１から供給される新しい識別結果とを比較して、状態の切替が発生したかどうかを判定する。
【０２５５】
ステップＳ１０７で、状態の切替が発生したと判定された場合、ステップＳ１０８において、状態切替検出部２６２は、切替後の状態を表す信号を含む状態切替信号を状態切替スムージング部２６３に供給する。ここで、状態の切替が発生した時間ステップをｔとする。
【０２５６】
ステップＳ１０９において、状態切替スムージング部２６３は、状態が既知から未知に切替わった場合には、状態が切替わる直前の、即ち、時間ステップｔ−１の未知状態スムージング部２４２からの出力信号JoutI（ｔ−１）をラッチし（Jlatch＝JoutI（ｔ−１）とし）、状態が未知から既知に切替わった場合には、状態が切替わる直前の、即ち、時間ステップｔ−１の未知状態スムージング部２４２からの出力信号JoutIII（ｔ−１）をラッチする（Jlatch＝JoutIII（ｔ−１）とする）。
【０２５７】
ステップＳ１１０において、状態切替スムージング部２６３は、状態の切替が発生した時間ステップｔから時間ステップｔ−１＋Ｔまでの出力信号に対して状態切替スムージング処理を施す。
【０２５８】
即ち、状態が既知から未知に切替わった場合には、状態切替スムージング部２６３は、式（７）による出力信号JoutIV（ｔ−１＋τ）（τ＝１乃至Ｔ）を求め、生成結果出力部８４に供給する。一方、状態が未知から既知に切替わった場合には、状態切替スムージング部２６３は、式（８）による出力信号JoutIV（ｔ−１＋τ）を求める。
【０２５９】
一方、ステップＳ１０７で、状態の切替が発生していないと判定された場合、または、ステップＳ１１０の処理後、処理はステップＳ１１１に進み、状態切替スムージング部２６３は、時系列データ（出力信号）を時系列データ記憶部２２４と生成結果出力部８４に供給する。
【０２６０】
ステップＳ１１２において、生成結果出力部８４は、生成結果２０としての時系列データを出力して、処理を終了する。
【０２６１】
以上のように、図２１の生成処理によれば、時間ステップｔにおいて状態の切替が発生した場合、時間ステップｔから時間ステップｔ−１＋Ｔまでの出力信号に対して状態切替スムージング処理を施すことにより、生成部２１１から出力される出力信号（時系列データ）が不連続になることを抑制することができる。
【０２６２】
なお、図１９の生成部２１１では、上記式（７）の代わりに、式（９）を採用し、上記式（８）の代わりに、式（１０）を採用することが可能である。
【０２６３】
【数９】
2007280066.tif 000011
【０２６４】
【数１０】
2007280066.tif 000012
【０２６５】
式（９）によれば、状態が切替わる直前の時間ステップｔ−１の未知状態スムージング部２４２からの出力信号JoutI（ｔ−１）をラッチしたラッチ信号Jlatchの代わりに、出力信号JoutI（ｔ−１＋τ）を採用する。
【０２６６】
式（１０）によれば、状態が切替わる直前の、即ち、時間ステップｔ−１の未知状態スムージング部２４２からの出力信号JoutIII（ｔ−１）をラッチしたラッチ信号Jlatchの代わりに、出力信号JoutIII（ｔ−１＋τ）を採用する。
【０２６７】
この場合、現在の状態が未知の状態であるか、または、既知の状態であるかに関わらず、時系列データ生成部８３からの出力信号JoutIと、それを未知状態スムージング処理したJoutIIIの両方が、常時、未知状態スムージング部２４２から状態切替スムージング部２６３に供給されてくる。
【０２６８】
図２２は、図１０の生成部２１１の第４の実施の形態の構成例を示すブロック図である。
【０２６９】
図２２の生成部２１１は、図１１、図１５、および図１９を参照して上述した生成部２１１の第１乃至第３の実施の形態のすべての機能を実現可能とする構成を有している。
【０２７０】
即ち、図２２の生成部２１１は、生成ノード決定部８１、内部状態読み込み部８２、時系列データ生成部８３、生成結果出力部８４、生成ノード記憶部２２１、ノード切替検出部２２２、ノード切替スムージング部２２３、時系列データ記憶部２２４、状態識別部２４１、未知状態スムージング部２４２、状態記憶部２６１、状態切替検出部２６２、および状態切替スムージング部２６３により構成されている。
【０２７１】
図２２の生成部２１１を構成するそれぞれは、上述した生成部２１１の第１乃至第３の実施の形態と同様であるので、その説明は省略する。
【０２７２】
図２３のフローチャートを参照して、図２２の生成部２１１による生成処理について説明する。
【０２７３】
生成ノード決定部８１に制御信号１８が供給されると、ステップＳ１２１において、生成ノード決定部８１は、供給された制御信号１８に基づいて、時系列データに対する生成ノードを決定し、その決定された生成ノードを表す情報を、内部状態読み込み部８２、生成ノード記憶部２２１、およびノード切替検出部２２２に供給する。
【０２７４】
ステップＳ１２２において、生成ノード記憶部２２１は、そこに記憶されている旧生成ノード情報をノード切替検出部２２２に供給するとともに、生成ノード決定部８１からの生成ノード情報を、旧生成ノード情報に上書きして記憶する。
【０２７５】
ステップＳ１２３において、内部状態読み込み部８２は、生成ノードの力学系近似モデルに内部状態記憶部２１の記憶値を、内部状態量の初期値として読み込む。
【０２７６】
ステップＳ１２４において、時系列データ生成部８３は、特徴抽出部１３（図５）から供給される時系列データと、内部状態読み込み部８２によって内部状態量の初期値がセットされた生成ノードの力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。これにより、出力信号JoutIが時系列データ生成部８３から出力される。
【０２７７】
ステップＳ１２５において、ノード切替検出部２２２は、生成ノード記憶部２２１からの旧生成ノード情報と、生成ノード決定部８１からの生成ノード情報とを比較して、生成ノードの切替が発生したかどうかを判定する。
【０２７８】
ステップＳ１２５で、生成ノードの切替が発生したと判定された場合、ステップＳ１２６において、ノード切替検出部２２２は、ノード切替発生を表すノード切替信号をノード切替スムージング部２２３に供給し、ノード切替スムージング部２２３は、ノード切替スムージング処理を実行して、ステップＳ１２７に進む。これにより、ノード切替スムージング処理中は、式（４）による出力信号JoutIIがノード切替スムージング部２２３から出力され、それ以外は、時系列データ生成部８３からの出力信号JoutIがそのままノード切替スムージング部２２３から出力される。
【０２７９】
一方、ステップＳ１２５で、生成ノードの切替が発生していないと判定された場合、ステップＳ１２６がスキップされ、ステップＳ１２７において、未知状態スムージング部２４２は、未知状態スムージング処理を実行する。
【０２８０】
ステップＳ１２８において、状態識別部２４１は、現在の状態が未知の状態であるか否かを判定する。
【０２８１】
ステップＳ１２８で、現在の状態が未知の状態ではない（既知の状態である）と判定された場合、ステップＳ１２９において、未知状態スムージング部２４２は、未知状態スムージング処理されていない出力信号JoutI（ノード切替スムージング処理中は、出力信号JoutII）を生成結果出力部８４に供給する。
【０２８２】
一方、ステップＳ１２８で、現在の状態が未知の状態であると判定された場合、ステップＳ１３０において、未知状態スムージング処理後の出力信号JoutIIIを生成結果出力部８４に供給する。
【０２８３】
ステップＳ１３１において、状態切替検出部２６２は、状態の切替が発生したかどうかを判定する。ステップＳ１３１で、状態の切替が発生したと判定された場合、ステップＳ１３２において、状態切替検出部２６２は、切替後の状態を表す信号を含む状態切替信号を状態切替スムージング部２６３に供給し、状態切替スムージング部２６３は、状態切替スムージング処理を実行して、ステップＳ１３３に進む。
【０２８４】
一方、ステップＳ１３１で、状態の切替が発生していないと判定された場合、ステップＳ１３２がスキップされ、ステップＳ１３３において、生成結果出力部８４は、生成結果２０としての時系列データを出力して、処理を終了する。
【０２８５】
なお、図２３の生成処理は、生成ノード決定部８１に制御信号１８が供給される度に繰り返し実行される。
【０２８６】
以上のように、ノード切替スムージング処理、未知状態スムージング処理、および状態切替スムージング処理は、併用することが可能である。
【０２８７】
さらに、図２２の生成部２１１を備える情報処理装置２０１において、認識部１６に代えて、図５の認識部１１１を採用することも可能である。
【０２８８】
図５の認識部１１１を備えるとともに、ノード切替スムージング処理、未知状態スムージング処理、および状態切替スムージング処理の機能を有する生成部２１１を備える情報処理装置によれば、認識生成処理時に、ノードの変化、状態の変化、および不定な信号に対して、より一層安定した時系列データを出力することができる。
【０２８９】
従って、例えば、情報処理装置１０１または２０１を備えるロボットなどでは、ロボットが急激に姿勢を変えたり、過電流などのハードウエア的な問題を引き起こすことを減少させることができる。
【０２９０】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０２９１】
図２４は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU（Central Processing Unit）３０１は、ROM（Read Only Memory）３０２、または記憶部３０８に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）３０３には、CPU３０１が実行するプログラムやデータなどが適宜記憶される。これらのCPU３０１、ROM３０２、およびRAM３０３は、バス３０４により相互に接続されている。
【０２９２】
CPU３０１にはまた、バス３０４を介して入出力インタフェース３０５が接続されている。入出力インタフェース３０５には、キーボード、マウス、マイクロフォンなどよりなる入力部３０６、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、スピーカなどよりなる出力部３０７が接続されている。CPU３０１は、入力部３０６から入力される指令に対応して各種の処理を実行する。そして、CPU３０１は、処理の結果を出力部３０７に出力する。
【０２９３】
入出力インタフェース３０５に接続されている記憶部３０８は、例えばハードディスクからなり、CPU３０１が実行するプログラムや各種のデータを記憶する。通信部３０９は、インターネットやローカルエリアネットワークなどのネットワークを介して、または直接に接続された外部の装置と通信する。
【０２９４】
入出力インタフェース３０５に接続されているドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア３２１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部３０８に転送され、記憶される。また、プログラムやデータは、通信部３０９を介して取得され、記憶部３０８に記憶されてもよい。
【０２９５】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図２４に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスクを含む）、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア３２１、または、プログラムが一時的もしくは永続的に格納されるROM３０２や、記憶部３０８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部３０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０２９６】
なお、上述した例では、SOMとしてのダイナミクス記憶ネットワーク４１のノード５１にRNNモジュールを採用して、自己組織的に外部入力に対し適切なRNNモジュールを選択し、RNNのパラメータ学習を行う情報処理装置１０１に本発明を適用したが、本発明は、ダイナミクス記憶ネットワーク４１のノード５１がRNNモジュール以外の学習モジュールであっても適用することができる。例えば、学習モジュールは、HMM（Hidden Markov Model）モジュールなどであってもよい。
【０２９７】
なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２９８】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０２９９】
【図１】図１は、本発明を適用する情報処理装置の元となる装置の構成例を示すブロック図である。
【図２】図１のネットワーク記憶部に記憶されるダイナミクス記憶ネットワークの例を示す図である。
【図３】図１の認識部と生成部の詳細な構成例を示すブロック図である。
【図４】不連続な信号の生成状況の分析結果を示す図である。
【図５】本発明を適用した情報処理装置の第１の実施の形態の構成例を示すブロック図である。
【図６】図５の認識部の詳細な構成例を示すブロック図である。
【図７】図６の認識部による認識処理を説明するフローチャートである。
【図８】図５の認識部のその他の詳細な構成例を示すブロック図である。
【図９】図８の認識部による認識処理を説明するフローチャートである。
【図１０】本発明を適用した情報処理装置の第２の実施の形態の構成例を示すブロック図である。
【図１１】図１０の生成部の第１の実施の形態の構成例を示すブロック図である。
【図１２】ノード切替発生時の出力信号について説明する図である。
【図１３】ノード切替発生時の出力信号について説明する図である。
【図１４】図１１の生成部による生成処理について説明するフローチャートである。
【図１５】図１０の生成部の第２の実施の形態の構成例を示すブロック図である。
【図１６】認識処理によるスコアの例を示す図である。
【図１７】未知状態スムージング部による処理結果の例を示す図である。
【図１８】図１５の生成部による生成処理について説明するフローチャートである。
【図１９】図１０の生成部の第３の実施の形態の構成例を示すブロック図である。
【図２０】状態が既知から未知に切替わった場合の状態切替スムージング処理を説明する図である。
【図２１】図１９の生成部による生成処理について説明するフローチャートである。
【図２２】図１０の生成部の第４の実施の形態の構成例を示すブロック図である。
【図２３】図２２の生成部による生成処理について説明するフローチャートである。
【図２４】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０３００】
１５  ネットワーク記憶部，  ７３  勝者ノード決定部，  ８１  生成ノード決定部，  ８３  時系列データ生成部，  １０１  情報処理装置，  １１１  認識部，  １２１  重みスコア計算部，  １２２  スコア記憶部，  １４１  ノード順位決定部，  １４２  勝者ノード決定部，  １４３  ノード記憶部，  ２０１  情報処理装置，  ２１１  生成部，  ２２１  生成ノード記憶部，  ２２２  ノード切替検出部，  ２２３  ノード切替スムージング部，  ２２４  時系列データ記憶部，  ２４１  状態識別部，  ２４２  未知状態スムージング部，  ２６１  状態記憶部，  ２６２  状態切替検出部，  ２６３  状態切替スムージング部
【図１】
2007280066.tif 000013
【図２】
2007280066.tif 000014
【図３】
2007280066.tif 000015
【図４】
2007280066.tif 000016
【図５】
2007280066.tif 000017
【図６】
2007280066.tif 000018
【図７】
2007280066.tif 000019
【図８】
2007280066.tif 000020
【図９】
2007280066.tif 000021
【図１０】
2007280066.tif 000022
【図１１】
2007280066.tif 000023
【図１２】
2007280066.tif 000024
【図１３】
2007280066.tif 000025
【図１４】
2007280066.tif 000026
【図１５】
2007280066.tif 000027
【図１６】
2007280066.tif 000028
【図１７】
2007280066.tif 000029
【図１８】
2007280066.tif 000030
【図１９】
2007280066.tif 000031
【図２０】
2007280066.tif 000032
【図２１】
2007280066.tif 000033
【図２２】
2007280066.tif 000034
【図２３】
2007280066.tif 000035
【図２４】
2007280066.tif 000036