(57)【要約】【課題】多次元の時系列データを効率的に扱う。【解決手段】ネットワーク記憶部は、力学系近似モデルによってモデル化されたダイナミクスを保持するノードを記憶する。入力重み調整部８２は、力学系近似モデルの入力層のユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整する。出力重み調整部８３は、力学系近似モデルの出力層のユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整する。本発明は、例えば、ロボットに適用することができる。【選択図】図６
2007280055.tif 000002
【特許請求の範囲】
【請求項１】
ダイナミクスを保持するノードを記憶する記憶手段と、
前記ノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整する入力重み係数調整手段と、
前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整する出力重み係数調整手段と
を備える情報処理装置。
【請求項２】
前記時系列データには、前記次元ごとに信頼度が付加されており、
前記入力重み係数調整手段は、前記次元ごとの前記信頼度に基づいて、前記入力重み係数を前記次元ごとに調整し、
前記出力重み係数調整手段は、前記次元ごとの前記信頼度に基づいて、前記出力重み係数を前記次元ごとに調整する
請求項１に記載の情報処理装置。
【請求項３】
外部から入力される前記入力重み係数と前記出力重み係数を取得する取得手段
をさらに備え、
前記入力重み係数調整手段は、前記取得手段により取得される入力重み係数に基づいて、前記入力重み係数を前記次元ごとに調整し、
前記出力重み係数調整手段は、前記取得手段により取得される出力重み係数に基づいて、前記出力重み係数を前記次元ごとに調整する
請求項１に記載の情報処理装置。
【請求項４】
１つ前に前記出力ユニットから出力された出力データと、新たに観測される時系列データとを、前記入力重み係数に対応する割合で、前記次元ごとに足し合わせ、その結果得られるデータを、前記入力データとして前記入力ユニットに入力する入力手段
をさらに備える
請求項１に記載の情報処理装置。
【請求項５】
前記入力データと、その１つ前に前記出力ユニットから出力された出力データとの前記次元ごとの誤差を、前記出力重み係数に対応する割合で足し合わせて出力誤差とし、その出力誤差に基づいて、前記ノードの内部状態量の初期値を更新する内部状態更新手段
をさらに備える
請求項１に記載の情報処理装置。
【請求項６】
前記出力誤差に基づいて、前記ノードの結線に付される重みを更新する重み更新手段
をさらに備える
請求項５に記載の情報処理装置。
【請求項７】
前記次元ごとの前記信頼度に基づいて、時系列データを生成するときに用いられる入力重み係数と出力重み係数の基となる基重み係数を次元ごとに計算する基重み計算手段
をさらに備える
請求項２に記載の情報処理装置。
【請求項８】
前記入力データを、前記ノードの入力ユニットに入力することにより、前記ノードの内部状態量を更新しながら、複数の次元の時系列データを生成する生成手段
をさらに備える
請求項１に記載の情報処理装置。
【請求項９】
前記入力重み調整手段は、前記入力データと、その１つ前に前記出力ユニットから出力された出力データとの次元ごとの誤差に基づいて、前記入力重み係数を前記次元ごとに調整し、
前記出力重み調整手段は、前記次元ごとの誤差に基づいて、前記出力重み係数を前記次元ごとに調整する
請求項８に記載の情報処理装置。
【請求項１０】
時系列データに基づいてダイナミクスを学習するときに次元ごとに計算された、前記入力重み係数と前記出力重み係数の基となる基重み係数を取得する取得手段
をさらに備え、
前記入力重み係数調整手段は、前記基重み係数に基づいて、前記次元ごとに前記入力重み係数を調整し、
前記出力重み係数調整手段は、前記基重み係数に基づいて、前記次元ごとに前記出力重み係数を調整する
請求項８に記載の情報処理装置。
【請求項１１】
前記生成手段は、前記次元ごとに、前記出力重み係数に対応する割合で前記時系列データを生成する
請求項８に記載の情報処理装置。
【請求項１２】
ダイナミクスを保持するノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整し、
前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整する
ステップを含む情報処理方法。
【請求項１３】
ダイナミクスを保持するノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整し、
前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、並びにプログラムに関し、特に、多次元の時系列データを効率的に扱うことができるようにした情報処理装置および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
ロボットの行動（運動）は、時間発展法則により定められる力学系（dynamical system
s）として記述することができ、様々な行動はその力学系がある特定のアトラクタダイナミクス（attractor dynamics）によって実現可能であることが知られている。
【０００３】
例えば、人間のような二足型ロボットの歩行運動は、系の運動状態が様々な初期状態からある特定の周期軌道に落ち着くことを特徴とするリミットサイクルダイナミクス（limit cycle dynamics）として記述することができる（例えば、非特許文献１，２参照）。また、アームロボットがある対象物に対して手先を伸ばすようなリーチング運動は、様々な初期状態からある特定の固定点に落ち着くことを特徴とする不動点ダイナミクス（fixed-point dynamics）として記述することができる。さらに、全ての運動は、不動点ダイナミクスで実現可能な離散運動（discrete movement）とリミットサイクルダイナミクスで実現可能な周期運動（cyclic movement）の組み合わせにより実現可能であるとも言われている。
【０００４】
このアトラクタダイナミクスによってロボットの行動（運動）を制御する場合の問題は、まず、タスクに応じたアトラクタダイナミクスをどのように構成するのか、次に、センサ入力を通じて得た情報に基づいて、アトラクタダイナミクスにしたがいながら、対応するモータ出力を生成することであり、これを実現するためには、アトラクタダイナミクスが環境と連続的に相互作用するかたちでロボットの行動出力を生成する必要がある。
【０００５】
こうしたアトラクタダイナミクスを人間が設計するのではなく、学習する方法が提案されている。その方法の１つに、リカレントニューラルネットワーク（recurrent neural network）（以下、RNNという）を利用する方法がある。RNNは、ネットワークに回帰ループで結合されるコンテキストユニットを持ち、そこに内部状態を保持することによって、理論的には、任意の力学系を近似可能であることが知られている。
【０００６】
しかしながら、密結合した１つのネットワークモジュールで構成される学習モデルでは、大規模な行動学習に必要な多数のダイナミクスの学習をする際に、記憶しようとするダイナミクス間の干渉が非常に大きく、学習が困難であるという問題がある。
【０００７】
そこで、複数のネットワークモジュールを組にして１つの学習モデルを構成するモジュラアーキテクチャ（modular architecture）を採用した学習モデルがいくつか提案されている。このモジュラアーキテクチャでは、原理的には、モジュールを増やすことによって記憶できるダイナミクスを容易に増やすことができるが、与えられた学習サンプルをどのモジュールで学習するかを決定するモジュール選択の問題が生じる。
【０００８】
このモジュール選択の方法によって、学習方法は、学習サンプル（学習データ）を、どのモジュールに割り当てるかを人間が決める教師あり学習（supervised learning）と、学習モデルが自律的に決める教師なし学習（unsupervised learning）の２つの方法に分けられるが、ロボットやシステムが自律的に学習を行うためには、教師なし学習によりモジュールを学習する必要がある。
【０００９】
教師なし学習によりモジュールを学習する方法の１つとして、Mixture of RNN Expertという学習モデルが提案されている（例えば、特許文献１参照）。この学習モデルでは、複数のRNNモジュールの出力をゲート機構により統合して最終的な出力を決定し、その最終的な出力の性能が最大化するように最尤推定法（maximum likelihood estimation）によりゲートを調整しながら、各RNNのモジュールを学習する。
【００１０】
しかしながら、このような全体最適化に基づく方法では、モジュールの数が大規模になった場合に、学習が困難になるという問題がある。
【００１１】
これに対して、ベクトルパターンのカテゴリ学習に用いられる自己組織化マップ（self-organization map）（以下、ＳＯＭという）（例えば、非特許文献３参照）やニューラルガス（neural-gas）（例えば、非特許文献４参照）などの方法では、全体最適化に基づく学習則は用いられず、最適性は保証されないが、適切なカテゴリ構造を自己組織化的に教師なし学習することが可能であることが知られている。これらの方法では、モジュールの数が大規模になった場合であっても、実用的に学習が可能である。
【００１２】
【特許文献１】特開平１１−１２６１９８号公報
【非特許文献１】G.Taga,1998,“Self-organized control of bipedal locomotion by neural oscillators in unpredictable environment”,Biological Cybernetics, 65, 147-159
【非特許文献２】多賀厳太郎著、「脳と身体の動的デザイン−運動・知覚の非線形力学系と発達」、金子書房
【非特許文献３】T.コホネン、「自己組織化マップ」、シュプリンガー・フェアラーク東京
【非特許文献４】T.M. Martinetz,S.G. Berkovich,K.J. Schulten, ""Neural-Gas" Network for Vector Quantization and its Application to Time-Series Prediction",IEEE Trans. Neural Networks,VOL.4,NO.4,p558-569,1999
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本件出願人は、先に、ベクトルパターンのかわりに時系列パターンを学習するためのモデルを提案している（特願2004-353832号）。
【００１４】
しかしながら、多次元の時系列データを効率的に扱う方法は提案されていない。
【００１５】
本発明は、このような状況に鑑みてなされたものであり、多次元の時系列データを効率的に扱うことができるようにするものである。
【課題を解決するための手段】
【００１６】
本発明の一側面の情報処理装置は、ダイナミクスを保持するノードを記憶する記憶手段と、前記ノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整する入力重み係数調整手段と、前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整する出力重み係数調整手段とを備える。
【００１７】
前記時系列データには、前記次元ごとに信頼度が付加されており、前記入力重み係数調整手段は、前記次元ごとの前記信頼度に基づいて、前記入力重み係数を前記次元ごとに調整し、前記出力重み係数調整手段は、前記次元ごとの前記信頼度に基づいて、前記出力重み係数を前記次元ごとに調整することができる。
【００１８】
前記情報処理装置は、外部から入力される前記入力重み係数と前記出力重み係数を取得する取得手段をさらに設け、前記入力重み係数調整手段は、前記取得手段により取得される入力重み係数に基づいて、前記入力重み係数を前記次元ごとに調整し、前記出力重み係数調整手段は、前記取得手段により取得される出力重み係数に基づいて、前記出力重み係数を前記次元ごとに調整することができる。
【００１９】
前記情報処理装置は、１つ前に前記出力ユニットから出力された出力データと、新たに観測される時系列データとを、前記入力重み係数に対応する割合で、前記次元ごとに足し合わせ、その結果得られるデータを、前記入力データとして前記入力ユニットに入力する入力手段をさらに設けることができる。
【００２０】
前記情報処理装置は、前記入力データと、その１つ前に前記出力ユニットから出力された出力データとの前記次元ごとの誤差を、前記出力重み係数に対応する割合で足し合わせて出力誤差とし、その出力誤差に基づいて、前記ノードの内部状態量の初期値を更新する内部状態更新手段をさらに設けることができる。
【００２１】
前記情報処理装置は、前記出力誤差に基づいて、前記ノードの結線に付される重みを更新する重み更新手段をさらに設けることができる。
【００２２】
前記情報処理装置は、前記次元ごとの前記信頼度に基づいて、時系列データを生成するときに用いられる入力重み係数と出力重み係数の基となる基重み係数を次元ごとに計算する基重み計算手段をさらに設けることができる。
【００２３】
前記情報処理装置は、前記入力データを、前記ノードの入力ユニットに入力することにより、前記ノードの内部状態量を更新しながら、複数の次元の時系列データを生成する生成手段をさらに設けることができる。
【００２４】
前記入力重み調整手段は、前記入力データと、その１つ前に前記出力ユニットから出力された出力データとの次元ごとの誤差に基づいて、前記入力重み係数を前記次元ごとに調整し、前記出力重み調整手段は、前記次元ごとの誤差に基づいて、前記出力重み係数を前記次元ごとに調整することができる。
【００２５】
前記情報処理装置は、時系列データに基づいてダイナミクスを学習するときに次元ごとに計算された、前記入力重み係数と前記出力重み係数の基となる基重み係数を取得する取得手段をさらに設け、前記入力重み係数調整手段は、前記基重み係数に基づいて、前記次元ごとに前記入力重み係数を調整し、前記出力重み係数調整手段は、前記基重み係数に基づいて、前記次元ごとに前記出力重み係数を調整することができる。
【００２６】
前記生成手段は、前記次元ごとに、前記出力重み係数に対応する割合で前記時系列データを生成することができる。
【００２７】
本発明の一側面の情報処理方法は、ダイナミクスを保持するノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整し、前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整するステップを含む。
【００２８】
本発明の一側面のプログラムは、ダイナミクスを保持するノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整し、前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整するステップを含む処理をコンピュータに実行させる。
【００２９】
本発明の一側面においては、ダイナミクスを保持するノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数が、次元ごとに調整され、前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数が、次元ごとに調整される。
【発明の効果】
【００３０】
以上のように、本発明の一側面によれば、多次元の時系列データを効率的に扱うことができる。
【発明を実施するための最良の形態】
【００３１】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００３２】
本発明の一側面の情報処理装置は、
ダイナミクスを保持するノードを記憶する記憶手段(例えば、図１のネットワーク記憶部１５)と、
前記ノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整する入力重み係数調整手段(例えば、図６の入力重み調整部８２)と、
前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整する出力重み係数調整手段(例えば、図６の出力重み調整部８３)と
を備える。
【００３３】
本発明の一側面の情報処理装置は、
前記時系列データには、前記次元ごとに信頼度が付加されており、
前記入力重み係数調整手段は、前記次元ごとの前記信頼度に基づいて、前記入力重み係数を前記次元ごとに調整し(例えば、図７のステップＳ５の処理)、
前記出力重み係数調整手段は、前記次元ごとの前記信頼度に基づいて、前記出力重み係数を前記次元ごとに調整する（例えば、図７のステップＳ６の処理）。
【００３４】
本発明の一側面の情報処理装置は、
外部から入力される前記入力重み係数と前記出力重み係数を取得する取得手段(例えば、図８の重み取得部１０１)
をさらに備え、
前記入力重み係数調整手段は、前記取得手段により取得される入力重み係数に基づいて、前記入力重み係数を前記次元ごとに調整し(例えば、図９のステップＳ２５の処理)、
前記出力重み係数調整手段は、前記取得手段により取得される出力重み係数に基づいて、前記出力重み係数を前記次元ごとに調整する(例えば、図９のステップＳ２６の処理)。
【００３５】
本発明の一側面の情報処理装置は、
１つ前に前記出力ユニットから出力された出力データと、新たに観測される時系列データとを、前記入力重み係数に対応する割合で、前記次元ごとに足し合わせ、その結果得られるデータを、前記入力データとして前記入力ユニットに入力する入力手段(例えば、図４の加算部６０)
をさらに備える。
【００３６】
本発明の一側面の情報処理装置は、
前記入力データと、その１つ前に前記出力ユニットから出力された出力データとの前記次元ごとの誤差を、前記出力重み係数に対応する割合で足し合わせて出力誤差とし、その出力誤差に基づいて、前記ノードの内部状態量の初期値を更新する内部状態更新手段(例えば、図６のスコア計算部８４)
をさらに備える。
【００３７】
本発明の一側面の情報処理装置は、
前記出力誤差に基づいて、前記ノードの結線に付される重みを更新する重み更新手段(例えば、図６のパラメータ更新部８７)
をさらに備える。
【００３８】
本発明の一側面の情報処理装置は、
前記次元ごとの前記信頼度に基づいて、時系列データを生成するときに用いられる入力重み係数と出力重み係数の基となる基重み係数を次元ごとに計算する基重み計算手段(例えば、図１０の基重み決定部１２１)
をさらに備える。
【００３９】
本発明の一側面の情報処理装置は、
前記入力データを、前記ノードの入力ユニットに入力することにより、前記ノードの内部状態量を更新しながら、複数の次元の時系列データを生成する生成手段(例えば、図１３の時系列データ生成部３１６)
をさらに備える。
【００４０】
本発明の一側面の情報処理装置は、
前記入力重み調整手段は、前記入力データと、その１つ前に前記出力ユニットから出力された出力データとの次元ごとの誤差に基づいて、前記入力重み係数を前記次元ごとに調整し(例えば、図２１のステップＳ１３４の処理)、
前記出力重み調整手段は、前記次元ごとの誤差に基づいて、前記出力重み係数を前記次元ごとに調整する(例えば、図２１のステップＳ１３５の処理)。
【００４１】
本発明の一側面の情報処理装置は、
時系列データに基づいてダイナミクスを学習するときに次元ごとに計算された、前記入力重み係数と前記出力重み係数の基となる基重み係数を取得する取得手段(例えば、図２２の基重み取得部６２１)
をさらに備え、
前記入力重み係数調整手段は、前記基重み係数に基づいて、前記次元ごとに前記入力重み係数を調整し(例えば、図２４のステップＳ１５２の処理)、
前記出力重み係数調整手段は、前記基重み係数に基づいて、前記次元ごとに前記出力重み係数を調整する（例えば、図２４のステップＳ１５３の処理）。
【００４２】
本発明の一側面の情報処理装置は、
前記生成手段は、前記次元ごとに、前記出力重み係数に対応する割合で前記時系列データを生成する(例えば、図１５のステップＳ９６の処理)。
【００４３】
本発明の一側面の情報処理方法またはプログラムは、
ダイナミクスを保持するノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整し(例えば、図７のステップＳ５)、
前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整する(例えば、図７のステップＳ６)
ステップを含む。
【００４４】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００４５】
図１は、本発明を適用した情報処理装置１の一実施の形態の構成例を示すブロック図である。
【００４６】
図１の情報処理装置１は、力学系を近似するモデルである力学系近似モデルのうちの、内部状態量を持つ力学系近似モデルを１つのノードとするダイナミクス記憶ネットワークを記憶するネットワーク記憶部１５と、そのダイナミクス記憶ネットワークのパラメータを自己組織化的に更新する学習部１４とを含む。
【００４７】
ダイナミクス記憶ネットワークの各ノードには、時系列データの力学的な特性がダイナミクスとして保持される。学習部１４によって更新されたパラメータによって定義される、ダイナミクス記憶ネットワークのノードに保持されたダイナミクスは、時系列データの認識や生成のために利用される。
【００４８】
図１の情報処理装置１は、例えばロボットなどの制御信号の認識や生成に利用される。情報処理装置１は、特に、自律システムや自律型ロボットなどにおいて、センサおよびモータの入出力信号の学習、認識、または生成に利用される。
【００４９】
図１の情報処理装置１では、情報処理装置１に入力される信号と、情報処理装置１が出力する信号の両方が、観測される信号である観測信号１１として、信号入力部１２に入力される。観測信号１１は、例えば音声や画像の信号、LED(Light Emitting Diode)の明るさを表す信号、モータの回転角度や回転角速度を表す信号などである。
【００５０】
信号入力部１２は、入力される観測信号１１に対応する電気信号を、特徴抽出部１３に出力する。具体的には、信号入力部１２は、観測信号１１が音声の信号である場合、例えばマイクロフォンに対応し、画像信号である場合、例えばカメラに対応する。また観測信号１１がモータの回転角度や回転速度を表す信号である場合、信号入力部１２は、例えばモータの回転角度や回転速度を計測する計測装置に対応する。
【００５１】
なお、以下では、信号入力部１２に入力される信号だけでなく、信号入力部１２が出力する信号も、観測信号１１という。また、観測信号１１は、定常信号であっても、時間的に変化する非定常信号であってもよい。
【００５２】
さらに、以下では、主にロボットシステムにおけるセンサモータ信号を、観測信号１１の例として説明する。このセンサモータ信号は、例えば、センサが出力する信号や、モータに入力されるモータを制御する制御信号（以下、モータ信号という）をコンポーネントとするベクトルである。勿論、観測信号１１は、センサモータ信号に限定されるものではない。
【００５３】
また、信号入力部１２は、区間検出装置などを含み、センサモータ信号を所定の区間で区切って出力するものとする。なお、信号入力部１２からは、適当な長さに区切られたセンサモータ信号が出力されればよく、その区切り方は、特に限定されない。従って、入力されるセンサモータ信号に応じて、最も良い方法で適当な長さに区切られたセンサモータ信号が、観測信号１１として、信号入力部１２から出力されればよい。
【００５４】
特徴抽出部１３は、信号入力部１２から出力された観測信号１１から、特徴量を時系列に抽出する。例えば特徴抽出部１３は、センサ信号の１つである音声信号に対して、一定時間間隔で周波数分析などの処理を施し、メルケプストラムなどの特徴量を時系列に抽出する。ここで、メルケプストラムとは音声認識などで広く利用されている特徴量である。
【００５５】
特徴抽出部１３は、観測信号１１から特徴量を時系列に抽出することにより得た特徴量の時系列データ(以下、単に、時系列データという)を、学習部１４、認識部１６、および生成部１９に供給する。
【００５６】
学習部１４は、特徴抽出部１３から供給される時系列データを用いて、所定の度合で、時系列データの時間変化の特徴をダイナミクスとして学習する。具体的には、学習部１４は、所定の度合で、ダイナミクスを保持するダイナミクス記憶ネットワークのパラメータを更新する。
【００５７】
学習部１４による学習の詳細は後述するが、学習部１４は、基本的には、ラベルの付与されていない時系列データが繰り返し与えられると、その時系列データの中の特徴的なダイナミクスを自己組織化的に獲得していく教師なし学習を実行する。その結果、ネットワーク記憶部１５に記憶されるダイナミクス記憶ネットワークには、代表的なダイナミクスが効率的に保持される。その保持されたダイナミクスは、認識部１６や生成部１９が、必要に応じて、いつでも利用することができるようになされている。
【００５８】
ここで、ダイナミクスは、時間変化する力学系を表すものであり、例えば、具体的な関数によって表現することができる。ダイナミクス記憶ネットワークでは、時系列データの時間変化の特徴が、ダイナミクスとして保持される。
【００５９】
認識部１６は、特徴抽出部１３から供給される時系列データに対して、それまでの学習の結果得られたダイナミクス記憶ネットワークに保持されるダイナミクスを照らし合わせ、最も類似したダイナミクスを決定する。
【００６０】
具体的には、認識部１６は、特徴抽出部１３から供給される時系列データを、ダイナミクス記憶ネットワークに入力し、その入力に対して出力される出力データを得る。そして、認識部１６は、その出力データと特徴抽出部１３から供給される時系列データとに基づいて、その時系列データに対して最も類似したダイナミクスを決定する。認識部１６は、その決定の結果を認識結果１７として出力する。
【００６１】
一方、ダイナミクス記憶ネットワークに保持されたダイナミクスからは、必要に応じて、時系列データを生成することができるようになされている。生成部１９は、時系列データを生成する生成処理を行う。
【００６２】
具体的には、生成部１９は、どのダイナミクスから時系列データを生成するかを指定する制御信号１８を取得する。生成部１９は、制御信号１８と特徴抽出部１３から供給される時系列データに基づき、指定されたダイナミクスを保持するノードに、その時系列データを入力する。そして、生成部１９は、その入力に対して出力される出力データに基づいて、時系列データを生成する。そして、生成部１９は、その時系列データを生成結果２０として出力する。
【００６３】
内部状態記憶部２１は、ダイナミクス記憶ネットワークの各ノードの内部状態量を保持する。内部状態記憶部２１に記憶された内部状態量は、例えば、認識部１６によって更新され、生成部１９によって生成処理に利用される。
【００６４】
［学習について］
次に、図２と図３を参照して、図１の情報処理装置１が行う学習について説明する。
【００６５】
なお、図２と図３では、力学系近似モデルとして、三層型ニューラルネットワーク（ＮＮ）の出力層から入力層への回帰ループを持つRNNが用いられるものとする。このRNNを用いて、時系列データにおける時刻ｔの状態ベクトルＸtを入力とし、その入力に対して、時刻ｔ＋１の状態ベクトルＸt+1を予測して出力することを学習、即ち予測学習(prediction learning)することにより、時系列データの時間発展法則を学習することができる。
【００６６】
RNNのような内部状態量を持つ力学系近似モデルのパラメータの推定方法には、一般的に、BPTT(Back-Propagation Through Time)法が利用される。BPTT法は、最急降下法に基づく学習手法であり、BPTT法では、繰り返し計算に基づく勾配法によって学習が行われる。
【００６７】
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,R.J.Williams and D.Zipser,”A learning algorithm for continually running fully recurrent neural networks”,Neural Computation,1:270-280,1989等に記載されている。
【００６８】
図２は、２次元の時系列データを用いて学習を行う場合の力学系近似モデル３１を表し、図３は、６次元の時系列データを用いて学習を行う場合の力学系近似モデル４１を表している。ここで、次元とは、学習、認識、または生成において区別される時系列データの種類を表し、次元数はRNNのユニット数に対応する。
【００６９】
なお、図２と図３では、音声を表すセンサ信号(以下、音声信号という)、画像を表すセンサ信号(以下、画像信号という)、触覚を表すセンサ信号(以下、触覚信号という)、両手を動作させるモータを制御するモータ信号（以下、両手信号という）、両足を動作させるモータを制御するモータ信号(以下、両足信号という)、および首を動作させるモータを制御するモータ信号（以下、首信号という）からそれぞれ生成された６次元の時系列データが、時系列データとして得られるものとする。
【００７０】
図２では、得られる６次元の時系列データのうち、音声信号と両足信号の２次元の時系列データが、力学系近似モデル３１の入力層の２個のユニットにそれぞれ入力される。力学系近似モデル３１は、その２次元の時系列データにおける時刻ｔの状態ベクトルＸtを入力とし、その入力に対して、２次元の時系列データにおける時刻ｔ＋１の状態ベクトルＸt+1を予測して出力することを学習する。従って、図２の力学系近似モデル３１の入力層と出力層のユニットの数は、それぞれ２個となる。
【００７１】
図３では、得られる６次元の時系列データのすべてが、力学系近似モデル３２の入力層の６個のユニットにそれぞれ入力される。力学系近似モデル３２は、その６次元の時系列データにおける時刻ｔの状態ベクトルＸtを入力とし、その入力に対して、６次元の時系列データにおける時刻ｔ＋１の状態ベクトルＸt+1を予測して出力することを学習する。従って、図３の力学系近似モデル３２の入力層と出力層のユニットの数は、それぞれ６個となる。
【００７２】
以上のように、２次元の時系列データを用いて学習する図２の力学系近似モデル３１に対して、６次元の時系列データを用いて学習する図３の力学系近似モデル３２では、入力層と出力層のユニットの数が大幅に増加し、規模が増大する。
【００７３】
ここで、一般的に、ニューラルネットワークの規模が増大すると、パラメータを収束させることが困難であることが知られている。また、出力層の各ユニットから出力される各次元の時系列データの予測値により計算される予測誤差の平均値が利用して、学習が行われるが、時系列データの次元数が増加すると、その予測誤差の平均値に影響する１つの次元の時系列データの割合が非常に小さくなる。従って、この予測誤差の平均値を利用して、学習を行うことは容易ではない。
【００７４】
以上のように、時系列データの次元数が増加すると、その時系列データに基づく学習は困難になる。
【００７５】
例えば、音声が聞こえる方向に歩くという行動を学習する場合、音声信号から得られる音声の方向や大きさなどを表す時系列データと、歩行動作を行うための両足信号に対応する時系列データの相互作用に基づいて形成されるダイナミクスを学習する必要がある。このとき、図２に示すように、６次元の時系列データのうち、音声信号と両足信号に対応する２次元の時系列データを用いて学習を行う場合、容易にダイナミクスを学習することができるが、図３に示すように、６次元の時系列データのすべてを用いて学習を行う場合、その学習は困難となる。
【００７６】
また、赤いボールが目の前に見えたら手を近づけるという行動を学習する場合、画像信号から得られる赤いボールの位置座標を表す時系列データと、手を動かすための両手信号に対応する時系列データの相互作用に基づいて形成されるダイナミクスを学習する必要がある。このとき、図３に示すように、６次元の時系列データのすべてを用いて学習を行う場合、６次元の時系列データのうち、画像信号と両手信号に対応する２次元の時系列データを用いて学習を行うときに比べて、その学習は困難となる。
【００７７】
従って、得られるすべての次元の時系列データではなく、学習において着目すべき次元の時系列データだけを用いてダイナミクスを学習することが望ましい。
【００７８】
しかしながら、教師あり学習を行う場合には、ノードごとに着目すべき時系列データを予め決定しておくことができるが、教師なし学習を行う場合には、それを予め決定しておくことができない。
【００７９】
そこで、学習部１４は、特徴抽出部１３から供給される時系列データに基づいて、力学系近似モデルに入力される時系列データに対する次元ごとの重み係数（以下、入力重みという）と、力学系近似モデルから出力される時系列データに対する次元ごとの重み(以下、出力重みという)とを、学習において着目すべき次元の入力重みと出力重みが大きくなるように決定する。
【００８０】
これにより、入出力される時系列データが重み付けされ、すべての時系列データのうちの着目すべき時系列データに基づいて、ダイナミクスを学習することができる。その結果、学習において、入力される多次元の時系列データを効率的に扱うことができる。
【００８１】
図４は、ネットワーク記憶部１５に記憶されるダイナミクス記憶ネットワークの１つのノード４１の詳細を示す図である。
【００８２】
ノード４１は、内部状態量を持つ力学系近似モデル５１、入力重み記憶部５２、出力重み記憶部５３、および学習度合記憶部５４により構成される。
【００８３】
力学系近似モデル５１は、RNNであり、加算部６０、入力層６１、隠れ層６２、および出力層６３により構成される。加算部６０は、入力重み記憶部５２に記憶されている、学習時に用いられる各次元の入力重み(以下、学習入力重みという)に対応する割合で、学習部１４から供給される、新たに観測される観測信号に対応する時系列データにおける時刻ｔの状態ベクトルＸtと、出力層６３から１つ前に出力された出力データ、即ち時系列データにおける時刻ｔ−１の状態ベクトルの予測値である出力データとを次元ごとに足し合わせ、その結果得られる次元ごとのデータを、時刻ｔの学習データとして入力層６１の各ユニットに次元ごとに入力する。
【００８４】
入力層６１の各ユニットに入力された時刻ｔの学習データは、隠れ層６２を介して、出力層６３から出力する。即ち、入力層６１の各ユニットに入力された時刻ｔの学習データと、入力層６１の各ユニットと隠れ層６２の各ユニットの結合に付与された重み(以下、結合重みという)とに基づいて、所定の演算が行われ、その結果得られるデータと、隠れ層６２の各ユニットと出力層６３の各ユニットの結合重みとに基づいて、所定の演算が行われて、その結果得られるデータが、出力データとして、出力層６３から出力される。
【００８５】
学習部１４は、出力層６３から出力される出力データを用いて、学習度合記憶部５４に記憶される度合情報が表す度合で、力学系近似モデル５１の結合重みをパラメータとして更新する。即ち、力学系近似モデル５１は、学習度合記憶部５４に記憶される度合情報が表す度合で、入力層６１の各ユニットに入力された学習データの時系列パターンをダイナミクスとして学習する。
【００８６】
なお、学習部１４が行う学習は、オンライン学習である。即ち、観測信号１１が入力されるたびに、学習部１４は、その観測信号１１に対応する学習データに基づいて、力学系近似モデル５１のパラメータを少しずつ更新する。
【００８７】
入力重み記憶部５２は、学習部１４から供給される学習入力重み、認識部１６から供給される認識時の入力重み(以下、認識入力重みという)、および生成部１９から供給される生成時の入力重み(以下、生成入力重みという)を記憶する。加算部６０は、学習入力重みに対応する割合で、学習部１４から供給される時系列データにおける時刻ｔの状態ベクトルＸtと、出力層６３から１つ前に出力された出力データとを次元ごとに足し合わせる。即ち、加算部６０は、学習入力重みに基づいて、学習部１４から供給される時系列データに対して重み付けを行う。なお、認識入力重みと生成入力重みによる重み付けについては、図１６などで後述する。
【００８８】
出力重み記憶部５３は、学習部１４から供給される学習時に用いられる出力重み(以下、学習出力重みという)、認識部１６から供給される認識時の出力重み(以下、認識出力重みという)、および生成部１７から供給される生成時の出力重み（以下、生成出力重みという）を記憶する。この学習出力重みに基づいて、学習部１４は、力学系近似モデル５１の出力層の各ユニットから出力される各次元の時系列データに対して、重み付けを行う。なお、学習入力重みと学習出力重みに基づく重み付けの詳細は、図５を用いて後述する。また、認識出力重みと生成出力重みによる重み付けについては、図１６などで後述する。
【００８９】
学習度合記憶部５４は、力学系近似モデル５１のパラメータの学習の度合を表す情報(以下、度合情報という)を記憶する。ここで、度合情報としては、例えば、BPTT法における繰り返し計算の繰り返し回数が用いられる。
【００９０】
学習部１４は、この度合情報に応じて学習の度合を調整し、これにより、力学系近似モデル５１のパラメータが学習データの影響を受ける度合が、調整される。
【００９１】
次に、図５を参照して、学習入力重みと学習出力重みに基づく重み付けについて説明する。
【００９２】
図５の例では、力学系近似モデル５１の加算部６０に、センサ信号に対応する２次元の時系列データにおける時刻ｔの状態ベクトルｘ１tとｘ２t、並びにモータ信号に対応する２次元の時系列データにおける時刻ｔの状態ベクトルｘ３tとｘ４tが、学習部１４から入力される。即ち、加算部６０には、４次元の時系列データにおける時刻ｔの状態ベクトルｘ１t乃至ｘ４tが学習部１４から入力される。
【００９３】
加算部６０は、入力重み記憶部５２に記憶されている学習入力重みを読み出し、その学習入力重みに基づいて、学習部１４からの状態ベクトルｘ１t乃至ｘ４tと、出力層６３の各ユニットから１つ前（１時刻前）に出力された、時刻ｔの状態ベクトルの予測値である出力データＸｏ１t乃至Ｘｏ４tとを、以下の式（１）にしたがって加算し、その結果得られるデータを学習データとして、入力層６１に入力する。
【００９４】
【数１】
2007280055.tif 000003
【００９５】
なお、式（１）では、ｘｋt，Ｘｉｋt，Ｘｏｋt，αｓk（０≦αｓk≦１）は、それぞれ、ｋ(図５の例では、k=1,2,3,4)次元目の状態ベクトル、入力層に入力される入力データ、出力層から出力された出力データ、学習入力重みを表す。
【００９６】
式（１）によれば、入力重みαｓkが１である場合、学習部１４からの状態ベクトルｘｋtだけが入力層６１に入力され、入力重みαｓkが０である場合、出力データＸｏｋtだけが入力層６１に入力される。従って、入力重みαｓkの値を調整することにより、学習時に着目すべき時系列データの次元を調整することができる。
【００９７】
例えば、入力重みαｓ1とαｓ3が１であり、入力重みαｓ2とαｓ4が０である場合、加算部６０に入力される４次元の時系列データにおける状態ベクトルｘ１t乃至ｘ４tのうち、センサ信号に対応する１次元の時系列データにおける状態ベクトルｘ１tとモータ信号に対応する１次元の時系列データにおける状態ベクトルｘ３tだけが、入力層６１に入力され、その結果、状態ベクトルｘ１tとｘ３tだけに着目して、学習が行われる。
【００９８】
この場合、状態ベクトルｘ２tとｘ４tに対応する入力層６１のユニットは、入力層６１の回帰ループで結合されるコンテキストユニットと同様の機能を果たす。
【００９９】
また、入力重みα1乃至α4がすべて０．５である場合、加算部６０に入力される４次元すべての時系列データにおける状態ベクトルｘ１t乃至ｘ４tに対して、同一の重みで着目して、学習が行われる。この場合、加算部６０は、式（１）にしたがって、状態ベクトルｘ１t乃至ｘ４tと、その１つ前の出力データＸｏ１t乃至Ｘｏ４tとを、同一の割合で次元ごとに足し合わせ、それぞれを入力層６１の各ユニットに入力する。
【０１００】
以上のように、学習入力重みαｓkに基づいて、学習部１４から入力される各次元の時系列データに対して重み付けが行われるので、入力される各次元の時系列データのうち、学習時に着目すべき時系列データだけに着目し、ダイナミクスを効率的に学習することができる。その結果、学習処理の負荷を軽減することができる。
【０１０１】
なお、入力層６１のコンテキストユニットには、出力層６３のコンテキストユニットから１つ前に出力された出力データが、時刻ｔのコンテキストＣtとして入力される。
【０１０２】
一方、学習部１４は、時刻tの状態ベクトルｘ１t乃至ｘ４tに対して、時刻ｔ＋１の状態ベクトルを予測して、出力することを学習するので、学習に利用される評価値として、以下の式（２）にしたがって求められる、時刻ｔ＋１の状態ベクトルの予測値と真値の重み付き平均二乗誤差Ｅが用いられる。
【０１０３】
【数２】
2007280055.tif 000004
【０１０４】
なお、式（２）において、βｓk（０≦βｓk≦１）は、ｋ次元目の出力重みを表している。また、ｎは、次元数を表し、図５の例では、４である。
【０１０５】
式（２）によれば、学習部１４から供給される時系列データにおける時刻ｔ＋１の状態ベクトルｘｋt+1を、時刻ｔ＋１の真値として、その状態ベクトルｘｋt+1と、時刻ｔ＋１の状態ベクトルの予測値である出力データＸｏｋt+1、即ち１時刻前の時刻ｔの状態ベクトルｘｋtを入力することにより得られる出力データＸｏｋt+1との平均二乗誤差が次元ごとに求められ、その平均二乗誤差が出力重みβｓkで重み付けされて足し合わされる。従って、出力重みβｓkの値を調整することにより、学習時の評価値として着目すべき出力データの次元を調整することができる。
【０１０６】
例えば、出力重みβｓ1とβｓ3が１であり、出力重みβｓ2とβｓ4が０である場合、出力層６３の各ユニットから出力される出力データＸｏ１t+1乃至Ｘｏ４t+1のうち、センサ信号に対応する１次元の時系列データにおける状態ベクトルＸｏ１tとモータ信号に対応する１次元の時系列データにおける状態ベクトルＸｏ３tだけに着目して得られた平均二乗誤差Ｅが評価値として用いられる。
【０１０７】
学習部１４は、このようにして求められた平均二乗誤差Ｅを最小化するパラメータを推定し、パラメータを更新する。
【０１０８】
以上のように、学習部１４は、学習出力重みβｓkに基づいて各次元の平均二乗誤差に対して重み付けを行うので、その結果得られた平均二乗誤差Ｅを評価値として用いることにより、出力される各次元の時系列データのうち、学習時の評価値として着目すべき時系列データだけに着目した評価値を用いて学習を行うことができる。その結果、多次元の時系列データに基づいて、ダイナミクスを効率的に学習することができる。
【０１０９】
図６は、図１の学習部１４の詳細構成例を示すブロック図である。
【０１１０】
学習部１４は、信頼度抽出部８１、入力重み調整部８２、出力重み調整部８３、スコア計算部８４、勝者ノード決定部８５、学習重み決定部８６、およびパラメータ更新部８７により構成される。学習部１４には、図１の特徴抽出部１３から時系列データが入力され、その時系列データは、信頼度抽出部８１、スコア計算部８４、およびパラメータ更新部８７に供給される。
【０１１１】
なお、特徴抽出部１３から入力される時系列データには、付加情報として、各次元の信頼度ρk（０≦ρk≦１）が付加されているものとする。ここで、信頼度ρkは、ｋ次元目の時系列データに対応する観測信号１１の観測確率である。即ち、ｋ次元目の時系列データに対応する観測信号１１が観測された場合には、信頼度ρkが高くなり、観測されない場合には、信頼度ρkが低くなる。なお、ここで、信頼度ρkが高いとは、信頼度ρkの値が大きいことであり、信頼度ρkが低いとは、信頼度ρkの値が小さいことである。
【０１１２】
例えば、観測信号１１である音声信号のパワーが大きい場合、即ち音声が聞こえる場合、特徴抽出部１３は、その音声信号に対応する次元の時系列データに付加する信頼度ρkを１とし、音声信号のパワーが小さい場合、即ち音声が聞こえない場合、その信頼度ρkを０とする。
【０１１３】
また、観測信号１１であるモータ信号の電圧が高い場合、即ちモータが駆動している場合、そのモータ信号に対応する次元の時系列データに付加する信頼度ρkを１とし、モータ信号の電圧が低い場合、即ちモータが駆動していない場合、信頼度ρkを０とする。
【０１１４】
なお、信頼度ρkを求める方法は、上述した方法に限定されず、例えば各次元の時系列データに対応する観測信号１１に重畳されている雑音信号の大小を計測または予測し、雑音信号が大きい場合には、対応する時系列データに付加する信頼度ρを高くし、雑音信号が小さい場合には、その信頼度ρを低くする方法であってもよい。
【０１１５】
この信頼度ρkを求める方法は、どのような観測信号１１が入力されるか、特徴抽出部１３がどのような特徴量を抽出するかなどによって決定することができる。
【０１１６】
信頼度抽出部８１は、このようにして求められた信頼度ρkが付加された各次元の時系列データから、各次元の信頼度ρkを抽出し、入力重み調整部８２と出力重み調整部８３に供給する。
【０１１７】
入力重み調整部８２は、信頼度抽出部８１からの各次元の信頼度ρkに基づいて、図４の入力重み記憶部５２に記憶されている学習入力重みαｓkを次元ごとに調整する。具体的には、入力重み調整部８２は、信頼度ρkに基づいて、信頼度ρkが高い次元の学習入力重みαｓkが大きくなり、信頼度ρkが低い次元の学習入力重みαｓkが小さくなるように、学習入力重みαｓkを決定し、その学習入力重みαｓkを入力重み記憶部５２に供給して記憶させる。
【０１１８】
出力重み調整部８３は、入力重み調整部８２と同様に、信頼度抽出部８１からの各次元の信頼度ρkに基づいて、出力重み記憶部５３に記憶されている学習出力重みβｓkを次元ごとに調整する。
【０１１９】
スコア計算部８４は、特徴抽出部１３からの時系列データに対する、ネットワーク記憶部１５に記憶されているダイナミクス記憶ネットワークに含まれる各ノード４１（図４）の力学系近似モデル５１のスコア計算を、内部状態量を更新しながら行う。
【０１２０】
具体的には、スコア計算部８４は、時系列データを、各ノード４１の力学系近似モデル５１の加算部６０に入力し、その入力に対する出力である出力データを、力学系近似モデル５１の出力層６３から得る。そして、スコア計算部８４は、式（２）にしたがって平均二乗誤差Ｅを、ノード４１ごとに評価値として計算する。スコア計算部８４は、その平均二乗誤差Ｅをスコアとして、各ノード４１に付与する。
【０１２１】
なお、スコア計算部８４は、ノード４１ごとに、所定の値を基準として、以下の式（３）にしたがって、その所定の値を更新していくことにより得られる値のうちの、スコアを最も小さくする値を、内部状態量としての力学系近似モデル５１のコンテキストの初期値Ｃ0に決定し、コンテキストを初期値から更新しながら、スコア計算を行う。
【０１２２】
【数３】
2007280055.tif 000005
【０１２３】
なお、式（３）において、Ｃ0,m（ｓ）は、ｓ（ｓ=0,1,・・・）回目に更新される、ｍ個目のコンテキストユニットに入力されるコンテキストの初期値を表し、ΔＣ0,m（ｓ＋１）は、ｍ個目のコンテキストユニットに入力されるコンテキストの初期値の、ｓ＋１回目の更新の更新量であり、以下の式（４）により求められる。
【０１２４】
【数４】
2007280055.tif 000006
【０１２５】
式（４）において、ηは学習係数を表し、γは慣性係数を表す。また、δC0,mは、平均二乗誤差Ｅを用いてBPTT法によって求められるコンテキストの初期値Ｃ0,m（Ｓ）の誤差量を表している。
【０１２６】
なお、BPTT法において、入力層６１のコンテキストユニットに入力される時刻ｔ＋１のコンテキストＣt+1の誤差量δc（ｔ＋１）を、出力層６１のコンテキストユニットから出力される時刻ｔのコンテキストＣtの誤差量δc（ｔ）に逆伝播する際、以下の式（５）に示すように、任意の正の係数ｍで割ることにより、コンテキストの時定数の調整を行う。
【０１２７】
【数５】
2007280055.tif 000007
【０１２８】
BPTT法において式（５）を採用することにより、コンテキストの１タイムステップ先の影響度を調整することができる。
【０１２９】
コンテキストの初期値の決定に用いる所定の値、即ち初期値Ｃ0,m（０）としては、例えば、ランダムな値や、前回の力学系近似モデル５１の学習時に求められた、コンテキストの最終的な更新値（以下、前回更新値という）などを採用することができる。
【０１３０】
例えば、今回の学習時に用いられる学習データと、前回の学習時に用いられた学習データとが、何らの関係もないことが分かっている場合には、初期値Ｃ0,m（０）としては、ランダムな値を採用することができる。
【０１３１】
また、例えば、今回の学習時に用いられる学習データと、前回の学習時に用いられた学習データとが、連続する時系列データなどのように、何らかの関係を有することが分かっている場合には、初期値Ｃ0,m（０）としては、前回更新値を採用することができる。なお、前回更新値を、初期値Ｃ0,m（０）として採用する場合には、更新を行わず、前回更新値を、そのまま、コンテキストの初期値に決定することができる。
【０１３２】
スコア計算部８４は、スコア計算の結果、各ノード４１に付与されたスコアを勝者ノード決定部８５に供給する。勝者ノード決定部８５は、スコア計算部８４からの各ノード４１のスコアを比較し、最もスコアの値が小さいノード４１を、学習データに最も適合するノードである勝者ノードとして決定する。勝者ノード決定部８５は、その勝者ノードを特定する情報を学習重み決定部８６に供給する。
【０１３３】
学習重み決定部８６は、ネットワーク記憶部１５に記憶されているダイナミクス記憶ネットワークを参照し、勝者ノード決定部８５からの情報により特定される勝者ノードからの距離ｄを、ノード４１ごとに計算する。そして、学習重み決定部８６は、その距離ｄに応じて、勝者ノードに対する値が最も大きくなり、勝者ノードからの距離ｄが大きくなるにしたがって値が小さくなるように、ノード４１ごとに学習の重みを決定する。
【０１３４】
また、学習重み決定部８６は、学習の重みに基づいて、各ノード４１の度合情報を生成する。具体的には、学習重み決定部８６は、学習の重みに応じて、学習の重みが大きいノード４１の学習の度合が大きくなり、学習の重みが小さいノード４１の学習の度合が小さくなるように、各ノード４１の度合情報を生成する。そして、学習重み決定部８６は、生成した度合情報を各ノード４１の学習度合記憶部５４にそれぞれ供給し、記憶させる。
【０１３５】
これにより、勝者ノードにおいて最も強く学習が行われ、勝者ノードからの距離ｄが大きくなるにしたがって学習の度合が弱くなるように、学習の度合が調整される。
【０１３６】
パラメータ更新部８７は、ノード４１ごとに、学習度合記憶部５４に記憶されている度合情報を読み出し、その度合情報が表す度合で、特徴抽出部１３から供給される学習データの時系列パターンをダイナミクスとして学習する。
【０１３７】
具体的には、パラメータ更新部８７は、ノード４１ごとに、時系列データを各ノード４１の加算部６０に入力し、その入力に対する出力である出力データを、力学系近似モデル５１の出力層６３から得る。そして、スコア計算部８４は、式（２）にしたがって平均二乗誤差Ｅを、ノード４１ごとに評価値として計算する。
【０１３８】
パラメータ更新部８７は、その平均二乗誤差Ｅ、時系列データ、および度合情報に基づいて、以下の式（６）にしたがい、BPTT法における繰り返し計算を行い、力学系近似モデル５１のパラメータを更新する。
【０１３９】
【数６】
2007280055.tif 000008
【０１４０】
なお、式（６）において、ｗi,j（ｓ）は、ｓ（ｓ=0,1,・・・）回目の繰り返し計算で更新される、ユニットｉとｊの結合に付与された結合重みを表す。ここで、式（６）にしたがう更新は、度合情報である繰り返し回数行われる。即ち、ｓは、０から、繰り返し回数から１を減算した値までの数である。Δｗi,j（ｓ＋１）は、結合重みｗi,jの、ｓ＋１回目の更新の更新量であり、以下の式（７）により求められる。
【０１４１】
【数７】
2007280055.tif 000009
【０１４２】
式（７）において、δwijは、平均二乗誤差Ｅを用いてBPTT法によって求められる結合重みｗi,j（ｓ）の誤差量を表している。
【０１４３】
以上のように、パラメータ更新部８７は、学習出力重みβｓkに基づいて計算された平均二乗誤差Ｅを用いてBPTT法によって誤差を逆伝播するので、学習出力重みβｓkにより、誤差を逆伝播する際に着目すべき出力データの次元が調整されることになる。即ち、学習出力重みβｓkにより、パラメータの更新時に着目すべき出力データの次元が調整されることになる。
【０１４４】
また、パラメータ更新部８７は、勝者ノードにおいて最も強く学習が行われ、勝者ノードからの距離ｄが大きくなるにしたがって学習の度合が弱くなるように調整された学習の重みに基づく学習、即ちノード４１の競合近傍学習を行うので、多数のダイナミクスを自己組織的に学習することができる。
【０１４５】
次に、図７を参照して、図１の情報処理装置１がダイナミクス記憶ネットワークを学習する学習処理について説明する。この学習処理は、例えば、図１の情報処理装置１の電源がオンにされたとき、開始される。
【０１４６】
まず最初に、ステップＳ１において、学習部１４のパラメータ更新部８７（図５）は、ネットワーク記憶部１５に記憶されたダイナミクス記憶ネットワークのパラメータを初期化する。具体的には、ダイナミクス記憶ネットワークの各ノード４１の力学系近似モデル５１のパラメータに適当な値が初期値として付与される。
【０１４７】
ステップＳ１の処理後は、ステップＳ２に進み、図１の信号入力部１２は、観測信号１１を取得して、特徴抽出部１３に供給し、ステップＳ３に進む。ステップＳ３において、特徴抽出部１３は、その観測信号１１の特徴量を次元ごとに時系列に抽出し、その結果得られる各次元の時系列データを学習データとして、学習部１４の信頼度抽出部８１、スコア計算部８４、およびパラメータ更新部８７に供給する。なお、このとき、特徴抽出部１３は、次元ごとに、時系列データに信頼度ρkを付加する。
【０１４８】
ステップＳ３の処理後は、ステップＳ４に進み、信頼度抽出部８１は、特徴抽出部１３からの各次元の時系列データに付加された信頼度ρkを抽出し、入力重み調整部８２と出力重み調整部８３に供給して、ステップＳ５に進む。
【０１４９】
ステップＳ５において、入力重み調整部８２は、信頼度抽出部８１からの信頼度ρkに基づいて、各ノード４１の入力重み記憶部５２に記憶されている学習入力重みαｓkを調整し、ステップＳ６に進む。
【０１５０】
ステップＳ６において、出力重み調整部８３は、入力重み調整部８２と同様に、信頼度抽出部８１からの信頼度ρkに基づいて、各ノード４１の出力重み記憶部５３に記憶されている学習出力重みβｓkを調整し、ステップＳ７に進む。
【０１５１】
ステップＳ７において、スコア計算部８４は、特徴抽出部１３からの学習データに対する、ネットワーク記憶部１５に記憶されているダイナミクス記憶ネットワークに含まれる各ノード４１の力学系近似モデル５１のスコア計算を、内部状態量を更新しながら行う。スコア計算部８４は、スコア計算の結果、各ノード４１に付与したスコアを、勝者ノード決定部８５に供給する。
【０１５２】
ステップＳ７の処理後は、ステップＳ８に進み、勝者ノード決定部８５は、勝者ノード決定部８５から供給される各ノード４１のスコアを比較することによって、最もスコアの値が小さいノードを勝者ノードとして決定し、その勝者ノードを特定する情報を、学習重み決定部８６に供給する。
【０１５３】
ステップＳ８の処理後は、ステップＳ９に進み、学習重み決定部８６は、ネットワーク記憶部１５に記憶されているダイナミクス記憶ネットワークを参照し、勝者ノードからの距離ｄに基づいてノード４１ごとに学習の重みを決定する。
【０１５４】
ステップＳ９の処理後は、ステップＳ１０に進み、学習重み決定部８６は、各ノード４１の学習の重みに基づいて、各ノード４１の度合情報を生成し、その度合情報を各ノード４１の学習度合記憶部５４にそれぞれ供給して記憶させる。
【０１５５】
ステップＳ１０の処理後は、ステップＳ１１に進み、パラメータ更新部８７は、ノード４１ごとに、特徴抽出部１３からの学習データと度合情報に基づいて、BPTT法における繰り返し計算を行い、力学系近似モデル５１のパラメータを更新する。その後、処理は、ステップＳ２に戻り、以降の処理が繰り返される。以上のようにして、度合情報が表す度合で、ダイナミクスの学習が行われる。
【０１５６】
図８は、図１の学習部の他の詳細構成例を示すブロック図である。
【０１５７】
学習部１００には、信頼度抽出部８１、入力重み調整部８２、出力重み調整部８３の代わりに、重み取得部１０１、入力重み抽出部１０２、出力重み調整部１０３が設けられている。
【０１５８】
即ち、図８では、特徴抽出部１３から入力される時系列データには、各次元の信頼度ρkが付加されておらず、外部から学習入力重みαｓkと学習出力重みβｓkが直接入力される。
【０１５９】
重み取得部１０１は、外部から入力された学習入力重みαｓkと学習出力重みβｓkを取得する。そして、重み取得部１０１は、その学習入力重みαｓkを入力重み調整部１０２に供給し、学習出力重みβｓkを出力重み調整部１０３に供給する。
【０１６０】
入力重み調整部１０２は、重み取得部１０１からの学習入力重みαｓkを、入力重み記憶部５２に記憶させることにより、学習入力重みαｓkを調整する。
【０１６１】
出力重み調整部１０３は、入力重み調整部１０２と同様に、重み取得部１０１からの学習出力重みβｓkを、出力重み記憶部５３に記憶させることにより、学習出力重みβｓkを調整する。
【０１６２】
次に、図９を参照して、図８の学習部１００を有する情報処理装置がダイナミクス記憶ネットワークを学習する学習処理について説明する。この学習処理は、例えば、情報処理装置の電源がオンにされたとき、開始される。
【０１６３】
まず最初に、ステップＳ２１において、学習部１００のパラメータ更新部８７（図８）は、ネットワーク記憶部１５に記憶されたダイナミクス記憶ネットワークのパラメータを初期化する。具体的には、ダイナミクス記憶ネットワークの各ノード４１の力学系近似モデル５１のパラメータに適当な値が初期値として付与される。
【０１６４】
ステップＳ２１の処理後は、ステップＳ２２に進み、信号入力部１２は、観測信号１１を取得して、特徴抽出部１３に供給し、ステップＳ２３に進む。ステップＳ２３において、特徴抽出部１３は、その観測信号１１の特徴量を次元ごとに時系列に抽出し、その結果得られる各次元の時系列データを学習データとして、学習部１４のスコア計算部８４とパラメータ更新部８７に供給する。
【０１６５】
ステップＳ２３の処理後は、ステップＳ２４に進み、重み取得部１０１は、外部から入力された学習入力重みαｓkと学習出力重みβｓkを取得する。そして、重み取得部１０１は、その学習入力重みαｓkを入力重み調整部１０２に供給し、学習出力重みβｓkを出力重み調整部１０３に供給する。
【０１６６】
ステップＳ２４の処理後は、ステップＳ２５に進み、入力重み調整部１０２は、重み取得部１０１からの学習入力重みαｓkを、入力重み記憶部５２に記憶させることにより、学習入力重みαｓkを調整し、ステップＳ２６に進む。
【０１６７】
ステップＳ２６において、出力重み調整部１０３は、入力重み調整部１０２と同様に、重み取得部１０１からの学習出力重みβｓkを、出力重み記憶部５３に記憶させることにより、学習出力重みβｓkを調整し、ステップＳ２７に進む。
【０１６８】
ステップＳ２７乃至Ｓ３１の処理は、図７のステップＳ７乃至Ｓ１１と同一であるので、説明は省略する。
【０１６９】
図１０は、図１の学習部のさらに他の詳細構成例を示すブロック図である。
【０１７０】
学習部１２０は、図６の学習部１４の各部に、さらに基重み決定部１２１が追加されることにより構成される。
【０１７１】
基重み決定部１２１には、信頼度抽出部８１から各次元の信頼度ρkが供給される。基重み決定部１２１は、信頼度ρkに基づいて、後述する認識生成時に用いられる入力重みと出力重みの基となる基重みωk（０≦ωk≦１）を決定する。具体的には、基重み決定部１２１は、学習を始める前に、基重みωkを１とし、信頼度抽出部８１から供給される信頼度ρkに基づいて、式（８）にしたがい基重みωkを更新する。従って、学習に伴って、基重みωkが調整されていく。
【０１７２】
【数８】
2007280055.tif 000010
【０１７３】
なお、式（８）において、ω´kは更新後の基重みを表し、Δ（０＜Δ＜１）は、更新による基重みωkの変化のステップ幅を表し、例えば0.05とされる。
【０１７４】
式（８）によれば、信頼度ρkとして定常的な値が入力され続け、基重みωkの更新が十分に行われると、基重みωkは信頼度ρkに収束していく。即ち、基重みωkは、信頼度ρkが高く、学習時に着目すべき次元に対する値が大きくなるように調整される。
【０１７５】
例えば、センサ信号に対応する２次元の時系列データにおける時刻ｔの状態ベクトルｘ１tとｘ２t、並びにモータ信号に対応する２次元の時系列データにおける時刻ｔの状態ベクトルｘ３tとｘ４tのうち、状態ベクトルｘ１tとｘ３tに着目して学習が行われたノード４１に対応する基重みω1とω3は、１となり、基重みω2とω4は０となる。
【０１７６】
基重み決定部１２１は、更新後の基重みω´kを新しい基重みωkに決定し、ネットワーク記憶部１５に記憶されているノード１４１(後述する図１１)に供給して記憶させる。
【０１７７】
図１１は、基重みωkが記憶される場合のノード１４１の詳細を示す図である。
【０１７８】
図１１のノード１４１は、内部状態量を持つ力学系近似モデル５１、入力重み記憶部５２、出力重み記憶部５３、学習度合記憶部５４、および基重み記憶部１４２により構成される。なお、図４と同一のものには同一の符号を付してあり、説明は繰り返しになるので省略する。
【０１７９】
基重み記憶部１４２は、図１０の基重み決定部１２１から供給される各次元の基重みωkを記憶する。この基重みωkは、後述する認識生成時に用いられる入力重みと出力重みを調整するときに用いられる。
【０１８０】
次に、図１２を参照して、図１０の学習部１２０を有する情報処理装置がダイナミクス記憶ネットワークを学習する学習処理について説明する。この学習処理は、例えば、情報処理装置の電源がオンにされたとき、開始される。
【０１８１】
ステップＳ４１乃至Ｓ４６の処理は、図７のステップＳ１乃至Ｓ６の処理と同一であるので、説明は省略する。
【０１８２】
ステップＳ４６の処理後は、ステップＳ４７に進み、図１０の基重み決定部１２１は、信頼度抽出部８１からの信頼度ρkに基づいて、上述した式（８）にしたがい基重みωkを決定し、ステップＳ４８に進む。
【０１８３】
ステップＳ４８乃至Ｓ５２の処理は、図７のステップＳ７乃至Ｓ１１の処理と同一であるので、説明は省略する。
【０１８４】
以上のように、図１の情報処理装置は、学習入力重みαｓkと学習出力重みβｓkに基づいて重み付けを行うことにより、ダイナミクスを効率的に学習することができるので、より安定した学習を行うことができる。また、このようにして学習されたダイナミクスを保持するダイナミクス記憶ネットワークを用いて、認識や生成を行うことにより、より安定した認識や生成を行うことができる。
【０１８５】
［認識生成について］
図１３は、図１の情報処理装置１の認識部１６と生成部１９の詳細構成例を示している。
【０１８６】
ここで、時系列データの認識生成とは、入力された時系列データを認識し、その認識結果に基づいて、新たな時系列データを生成することである。
【０１８７】
認識生成によれば、例えば、人間がロボットに呼びかける音声を発した場合に、そのロボットにおいて、その呼びかけに応じた動きをとるためのモータ信号や、その呼びかけに応答する合成音を生成するためのパラメータ信号等が生成される。
【０１８８】
図１３に示すように、認識部１６は、信頼度抽出部２１１、入力重み調整部２１２、出力重み調整部２１３、内部状態量更新部２１４、スコア計算部２１５、決定部２１６、および出力部２１７により構成される。
【０１８９】
なお、特徴抽出部１３から出力される時系列データには、付加情報として、各次元の信頼度ρkが付加されているものとする。
【０１９０】
信頼度抽出部２１１は、信頼度ρkが付加された各次元の時系列データから、各次元の信頼度ρkを抽出し、入力重み調整部２１２と出力重み調整部２１３に供給する。
【０１９１】
入力重み調整部２１２は、信頼度抽出部２１１からの信頼度ρkに基づいて、図４の入力重み記憶部５２に記憶されている、認識時に用いられる入力重み（以下、認識入力重みという）αｒk（０≦αｒk≦１）を調整する。具体的には、入力重み調整部２１２は、信頼度ρkに基づいて、信頼度ρkが高い次元に対する値が大きくなり、信頼度ρkが低い次元に対する値が小さくなるように、認識入力重みαｒkを決定し、その認識入力重みαｒkを入力重み記憶部５２に供給して記憶させる。
【０１９２】
出力重み調整部２１３は、入力重み調整部２１２と同様に、信頼度抽出部２１１からの信頼度ρkに基づいて、出力重み記憶部５３に記憶されている、認識時に用いられる出力重み（以下、認識出力重みという）βｒk（０≦βｒk≦１）を調整する。
【０１９３】
内部状態量更新部２１４は、内部状態記憶部２１から、前回更新されて記憶されている内部状態量を、ダイナミクス記憶ネットワークの各ノード４１の力学系近似モデル５１へ読み込む。具体的には、内部状態量更新部２１４は、内部状態記憶部２１から内部状態量を読み出し、その内部状態量を、各ノード４１の力学系近似モデル５１の内部状態量として、スコア計算部２１５に供給する。
【０１９４】
これにより、力学系近似モデル５１において、入力となる時系列データに基づいて、内部状態量更新部２１４が読み込んだ値を初期値として、内部状態量を更新することが可能となる。
【０１９５】
また、内部状態量更新部２１４は、スコア計算部２１５から供給される、決定部２１６により勝者ノードが決定されるときの各ノード４１の内部状態量の更新値（更新された内部状態量）と、その勝者ノードが決定されるときの各ノード４１の内部状態量の初期値とを、内部状態記憶部２１に記憶させる。
【０１９６】
ここで、内部状態記憶部２１に記憶された内部状態量の更新値は、力学系近似モデル５１へ読み込まれ、次回のスコア計算に利用される。また、内部状態記憶部２１に記憶された内部状態量の初期値は、生成部１９において、時系列データの生成時に利用される。
【０１９７】
スコア計算部２１５は、スコア計算部８４と同様に、特徴抽出部１３からの時系列データに対する、ネットワーク記憶部１５に記憶されているダイナミクス記憶ネットワークに含まれる各ノード４１の力学系近似モデル５１のスコア計算を、内部状態量を更新しながら行う。
【０１９８】
即ち、スコア計算部２１５は、時系列データを、各ノード４１の力学系近似モデル５１の加算部６０に入力し、その入力に対する出力である出力データを、力学系近似モデル５１の出力層６３から得る。なお、加算部６０は、学習時と同様に、認識入力重みαｒkに基づいて、上述した式（１）の学習入力重みαｓkを認識入力重みαｒkとした式にしたがって重み付けを行う。従って、認識入力重みαｒkを調整することにより、認識時に着目すべき時系列データの次元を調整することができる。
【０１９９】
スコア計算部２１５はまた、上述した式（２）の学習出力重みβｓkを認識出力重みβｒkとした式にしたがって平均二乗誤差を、ノード４１ごとに評価値として計算する。従って、認識出力重みβkを調整することにより、認識時の評価値として着目すべき時系列データの次元を調整することができる。スコア計算部８４は、その平均二乗誤差をスコアとして、各ノード４１に付与する。
【０２００】
なお、スコア計算部２１５は、ノード４１ごとに、認識時の評価値として求められた平均二乗誤差を用いて求められた誤差量δco,mを用いて、上述した式（３）と式（４）にしたがって、その所定の値を更新していくことにより得られる値のうちの、スコアを最も小さくする値を、力学系近似モデル５１の内部状態量としてのコンテキストの初期値Ｃ0,mに決定し、コンテキストを初期値Ｃ0,mから更新しながら、スコア計算を行う。
【０２０１】
スコア計算部２１５は、スコア計算の結果、各ノード４１に付与されたスコアを、決定部２１６に供給するとともに、そのスコアが付与されたときの各ノード４１の内部状態量の更新値と初期値を、勝者ノードが決定されるときの各ノード４１の内部状態量の更新値と初期値として、内部状態量更新部２１４に供給する。
【０２０２】
以上のように、認識入力重みαｒkに基づいて、スコア計算部２１５から入力される時系列データに対して重み付けが行われ、認識出力重みβｒkに基づく重み付き平均二乗誤差が認識時の評価値とされるので、入力される時系列データのうち、認識時に着目すべき時系列データだけに着目して認識を行うことができる。その結果、認識処理の負荷を軽減し、多次元の時系列データに基づいて効率的に認識を行うことができる。また、認識の精度を向上させることができる。
【０２０３】
決定部２１６は、スコア計算部２１５からのスコアに基づいて、最もスコアの値が小さいノードを、勝者ノードとして決定する。即ち、決定部２１６は、勝者ノードに対応するダイナミクスを、特徴抽出部１３から入力された時系列データに最も適合するダイナミクスとして選択する。決定部２１６は、入力された時系列データに最も適合するダイナミクスに対応する勝者ノードを特定する信号を、出力部２１７に供給する。
【０２０４】
出力部２１７は、決定部２１６からの勝者ノードを特定する信号を、認識結果１７として出力する。以上のようにして、認識部１６において、入力された時系列データが認識される。そして、認識の結果得られた認識結果１７は、認識生成における生成の処理において、どのダイナミクスに対応するノード４１から時系列データを生成するかを指定する制御信号１８として用いられる。
【０２０５】
図１３の生成部１９は、信頼度抽出部３１１、入力重み調整部３１２、出力重み調整部３１３、生成ノード決定部３１４、内部状態読み込み部３１５、時系列データ生成部３１６、および出力部３１７により構成される。
【０２０６】
信頼度抽出部３１１は、信頼度ρkが付加された各次元の時系列データから、各次元の信頼度ρkを抽出し、入力重み調整部３１２と出力重み調整部３１３に供給する。
【０２０７】
入力重み調整部３１２は、信頼度抽出部３１１からの信頼度ρkに基づいて、図４の入力重み記憶部５２に記憶されている、生成時に用いられる入力重み（以下、生成入力重みという）αｇk（０≦αｇk≦１）を調整する。具体的には、入力重み調整部３１２は、信頼度ρkに基づいて、信頼度ρkが高い次元の値が大きくなり、信頼度ρkが低い次元の値が小さくなるように、認識入力重みαｇkを決定し、その認識入力重みαｇkを入力重み記憶部５２に供給して記憶させる。
【０２０８】
出力重み調整部３１３は、入力重み調整部３１２と同様に、信頼度抽出部３１１からの信頼度ρkに基づいて、出力重み記憶部５３に記憶されている、生成時に用いられる出力重み（以下、生成出力重みという）βｇk（０≦βｇk≦１）を調整する。
【０２０９】
生成ノード決定部３１４には、出力部２１７から出力される認識結果１７が、制御信号１８として入力される。生成ノード決定部３１４は、制御信号１８に基づいて、時系列データを生成すべきノード４１である生成ノードを決定する。即ち、決定部２１６により決定された勝者ノードが、生成ノードとして決定される。生成ノード決定部３１４は、決定された生成ノードを特定する情報を、内部状態読み込み部３１５に供給する。
【０２１０】
内部状態読み込み部３１５は、生成ノード決定部３１４からの情報に基づいて、ネットワーク記憶部１５に記憶されたダイナミクス記憶ネットワークに含まれるノード４１のうちの生成ノードの力学系近似モデル５１に、内部状態記憶部２１に記憶されている値を、内部状態量の初期値として読み込む。
【０２１１】
即ち、内部状態読み込み部３１５は、内部状態記憶部２１に記憶されている値のうちの、生成ノードが認識部１６において勝者ノードに決定されたときの内部状態量の初期値を読み出し、その内部状態量の初期値を、生成ノードの力学系近似モデル５１の内部状態量として、時系列データ生成部３１６に供給する。
【０２１２】
時系列データ生成部３１６には、特徴抽出部１３から供給される時系列データが供給される。時系列データ生成部３１６は、その時系列データに基づいて、内部状態量を更新しながら時系列データを生成する。
【０２１３】
具体的には、時系列データ生成部３１６は、時系列データを生成ノードの力学系近似モデル５１の加算部６０に入力し、その入力に対する出力である出力データを、力学系近似モデル５１の出力層６３から得る。
【０２１４】
なお、加算部６０は、学習や認識時と同様に、生成入力重みαｇkに基づいて、上述した式（１）の学習入力重みαｓkを生成入力重みαｇkとした式にしたがって重み付けを行う。従って、生成入力重みαｇkを調整することにより、生成時に着目すべき時系列データの次元を調整することができる。
【０２１５】
また、時系列データ生成部３１６は、上述した式（２）の学習出力重みβｓkを生成出力重みβｇkとした式にしたがって平均二乗誤差を、ノード４１ごとに評価値として計算する。従って、生成出力重みβｇkを調整することにより、生成時の評価値として着目すべき時系列データの次元を調整することができる。
【０２１６】
そして、時系列データ生成部３１６は、ノード４１ごとに、所定の値を基準として、生成時の評価値として求められた平均二乗誤差を用いて得られたδco,mを用いて、上述した式（３）と式（４）にしたがって、その所定の値を更新していくことにより得られる値のうちの、平均二乗誤差を最も小さくする値を、内部状態量としての力学系近似モデル５１のコンテキストの初期値Ｃ0,mに決定し、力学系近似モデル５１に、コンテキストを初期値Ｃ0,mから更新しながら、出力データを出力させる。
【０２１７】
時系列データ生成部３１６は、生成ノードに対応する力学系近似モデル５１から得た各次元の出力データに対して、生成出力重みβｇkに基づいて重み付けを行い、その結果を時系列データとして生成する。即ち、時系列データ生成部３１６は、生成出力重みβｇkに対応する割合で、各次元の時系列データを生成する。そして、時系列データ生成部３１６は、生成した時系列データを、出力部３１７に供給する。
【０２１８】
以上のように、生成入力重みαｇkに基づいて、特徴抽出部１３から入力される時系列データに対して重み付けが行われ、生成出力重みβｇkに基づいて、力学系近似モデル５１からの出力データに対して重み付けが行われるので、入力される時系列データのうち、生成時に着目すべき時系列データだけに着目して、時系列データを生成することができる。その結果、情報処理装置１に入力された時系列データに矛盾する時系列データが生成されることを防止することができる。
【０２１９】
出力部３１７は、時系列データ生成部３１６からの時系列データを、生成結果２０として出力する。以上のようにして、生成部１９は、認識部１６による認識の処理において決定された勝者ノードから、時系列データを生成結果２０として生成し、出力する。
【０２２０】
次に、図１４を参照して、図１３の認識部１６が時系列データを認識する認識処理について説明する。この認識処理は、例えば、特徴抽出部１３から時系列データが入力されたとき、開始される。
【０２２１】
ステップＳ７１において、信頼度抽出部２１１は、信頼度ρkが付加された各次元の時系列データから、各次元の信頼度ρkを抽出し、入力重み調整部２１２と出力重み調整部２１３に供給する。
【０２２２】
ステップＳ７１の処理後は、ステップＳ７２に進み、入力重み調整部２１２は、信頼度抽出部２１１からの信頼度ρkに基づいて、図４の入力重み記憶部５２に記憶されている、認識時に用いられる認識入力重みαｒkを調整する。
【０２２３】
ステップＳ７２の処理後は、ステップＳ７３に進み、出力重み調整部２１３は、入力重み調整部２１２と同様に、信頼度抽出部２１１からの信頼度ρkに基づいて、出力重み記憶部５３に記憶されている、認識時に用いられる認識出力重みβｒkを調整する。
【０２２４】
ステップＳ７３の処理後は、ステップＳ７４に進み、内部状態量更新部２１４は、内部状態記憶部２１から、前回更新されて記憶されている内部状態量を、ダイナミクス記憶ネットワークの各ノード４１の力学系近似モデル５１へ読み込む。
【０２２５】
ステップＳ７４の処理後は、ステップＳ７５に進み、スコア計算部２１５は、特徴抽出部１３からの時系列データに対する、ネットワーク記憶部１５に記憶されているダイナミクス記憶ネットワークに含まれる各ノード４１の力学系近似モデル５１のスコア計算を、内部状態量を更新しながら行う。
【０２２６】
スコア計算部２１５は、スコア計算の結果、各ノード４１に付与されたスコアを、決定部２１６に供給するとともに、そのスコアが付与されたときの各ノード４１の内部状態量の更新値と初期値を、勝者ノードが決定されるときの各ノード４１の内部状態量の更新値と初期値として、内部状態量更新部２１４に供給する。
【０２２７】
ステップＳ７５の処理後は、ステップＳ７６に進み、内部状態量更新部２１４は、スコア計算部２１５から供給される、決定部２１６により勝者ノードが決定されるときの各ノード４１の内部状態量の更新値と、その勝者ノードが決定されるときの各ノード４１の内部状態量の初期値とを、内部状態記憶部２１に記憶させる。
【０２２８】
ステップＳ７６の処理後は、ステップＳ７７に進み、決定部２１６は、スコア計算部２１５からのスコアに基づいて、最もスコアの値が小さいノードを、勝者ノードとして決定する。決定部２１６は、勝者ノードを特定する信号を、出力部２１７に供給する。
【０２２９】
ステップＳ７７の処理後は、ステップＳ７８に進み、出力部２１７は、決定部２１６からの勝者ノードを特定する信号を、認識結果１７として出力し、処理を終了する。
【０２３０】
次に、図１５を参照して、図１３の生成部１９が時系列データを生成する生成処理について説明する。この生成処理は、例えば、出力部２１７から出力された認識結果１７が制御信号１８として入力されたとき、開始される。
【０２３１】
ステップＳ９１において、信頼度抽出部３１１は、信頼度ρkが付加された各次元の時系列データから、各次元の信頼度ρkを抽出し、入力重み調整部３１２と出力重み調整部３１３に供給する。
【０２３２】
ステップＳ９１の処理後は、ステップＳ９２に進み、入力重み調整部３１２は、信頼度抽出部３１１からの信頼度ρkに基づいて、図４の入力重み記憶部５２に記憶されている、生成時に用いられる生成入力重みαｇkを調整する。
【０２３３】
ステップＳ９２の処理後は、ステップＳ９３に進み、出力重み調整部３１３は、入力重み調整部３１２と同様に、信頼度抽出部３１１からの信頼度ρkに基づいて、出力重み記憶部５３に記憶されている、生成時に用いられる生成出力重みβｇkを調整する。
【０２３４】
ステップＳ９３の処理後は、ステップＳ９４に進み、生成ノード決定部３１４は、制御信号１８に基づいて、時系列データを生成すべきノード４１である生成ノードを決定する。生成ノード決定部３１４は、決定された生成ノードを特定する情報を、内部状態読み込み部３１５に供給する。
【０２３５】
ステップＳ９４の処理後は、ステップＳ９５に進み、内部状態読み込み部３１５は、生成ノード決定部３１４からの情報に基づいて、ネットワーク記憶部１５に記憶されたダイナミクス記憶ネットワークに含まれるノード４１のうちの生成ノードの力学系近似モデル５１に、内部状態記憶部２１に記憶されている内部状態量の初期値を読み込む。
【０２３６】
ステップＳ９５の処理後は、ステップＳ９６に進み、時系列データ生成部３１６は、特徴抽出部１３から供給される時系列データに基づいて、内部状態量を更新しながら、時系列データを生成する。時系列データ生成部３１６は、生成した時系列データを出力部３１７に供給する。
【０２３７】
ステップＳ９６の処理後は、ステップＳ９７に進み、出力部３１７は、時系列データ生成部３１６からの時系列データを、生成結果２０として出力し、処理を終了する。
【０２３８】
図１６は、図１の認識部と生成部の他の詳細構成例を示すブロック図である。
【０２３９】
図１６の認識部４０１には、信頼度抽出部２１１、入力重み調整部２１２、出力重み調整部２１３の代わりに、信頼度抽出部４１１、入力重み抽出部４１２、出力重み調整部４１３が設けられている。
【０２４０】
即ち、図１６では、特徴抽出部１３から入力される時系列データには、各次元の信頼度ρkが付加されておらず、外部から認識入力重みαｒkと認識出力重みβｒkが直接入力される。
【０２４１】
重み取得部４１１は、外部から入力された認識入力重みαｒkと認識出力重みβｒkを取得する。そして、重み取得部４１１は、その認識入力重みαｒkを入力重み調整部４１２に供給し、認識出力重みβｒkを出力重み調整部４１３に供給する。
【０２４２】
入力重み調整部４１２は、重み取得部４１１からの認識入力重みαｒkを、入力重み記憶部５２に記憶させることにより、認識入力重みαｒkを調整する。
【０２４３】
出力重み調整部４１３は、入力重み調整部４１２と同様に、重み取得部４１１からの認識出力重みβｒkを、出力重み記憶部５３に記憶させることにより、認識出力重みβｒkを調整する。
【０２４４】
また、図１６の生成部４０２には、信頼度抽出部３１１、入力重み調整部３１２、出力重み調整部３１３の代わりに、信頼度抽出部４２１、入力重み抽出部４２２、出力重み調整部４２３が設けられている。即ち、図１６では、外部から生成入力重みαｒkと生成出力重みβｒkが直接入力される。
【０２４５】
重み取得部４２１は、外部から入力された生成入力重みαｒkと生成出力重みβｒkを取得する。そして、重み取得部４２１は、その生成入力重みαｒkを入力重み調整部４２２に供給し、生成出力重みβｒkを出力重み調整部４２３に供給する。
【０２４６】
入力重み調整部４２２は、重み取得部４２１からの生成入力重みαｒkを、入力重み記憶部５２に記憶させることにより、生成入力重みαｒkを調整する。
【０２４７】
出力重み調整部４２３は、入力重み調整部４２２と同様に、重み取得部４２１からの生成出力重みβｒkを、出力重み記憶部５３に記憶させることにより、生成出力重みβｒkを調整する。
【０２４８】
次に、図１７を参照して、図１６の認識部４０１が時系列データを認識する認識処理について説明する。この認識処理は、例えば、特徴抽出部１３から時系列データが供給されたとき、開始される。
【０２４９】
ステップＳ１０１において、重み取得部４１１は、外部から入力された認識入力重みαｒkと認識出力重みβｒkを取得する。そして、重み取得部４１１は、その認識入力重みαｒkを入力重み調整部４１２に供給し、認識出力重みβｒkを出力重み調整部４１３に供給する。
【０２５０】
ステップＳ１０１の処理後は、ステップＳ１０２に進み、入力重み調整部４１２は、重み取得部４１１からの認識入力重みαｒkを、入力重み記憶部５２に記憶させることにより、認識入力重みαｒkを調整する。
【０２５１】
ステップＳ１０２の処理後は、ステップＳ１０３に進み、出力重み調整部４１３は、入力重み調整部４１２と同様に、重み取得部４１１からの認識出力重みβｒkを、出力重み記憶部５３に記憶させることにより、認識出力重みβｒkを調整し、ステップＳ１０４に進む。
【０２５２】
なお、ステップＳ１０４乃至Ｓ１０８の処理は、図１４のステップＳ７４乃至Ｓ７８と同一の処理であるので、説明は省略する。
【０２５３】
次に、図１８を参照して、図１６の生成部４０２が時系列データを生成する生成処理について説明する。この生成処理は、例えば、出力部２１７から出力された認識結果１７が制御信号１８として入力されたとき、開始される。
【０２５４】
ステップＳ１１１において、重み取得部４２１は、外部から入力された生成入力重みαｒkと生成出力重みβｒkを取得する。そして、重み取得部４２１は、その生成入力重みαｒkを入力重み調整部４２２に供給し、生成出力重みβｒkを出力重み調整部４２３に供給する。
【０２５５】
ステップＳ１１１の処理後は、ステップＳ１１２に進み、入力重み調整部４２２は、重み取得部４２１からの生成入力重みαｒkを、入力重み記憶部５２に記憶させることにより、生成入力重みαｒkを調整する。
【０２５６】
ステップＳ１１２の処理後は、ステップＳ１１３に進み、出力重み調整部４２３は、入力重み調整部４２２と同様に、重み取得部４２１からの生成出力重みβｒkを、出力重み記憶部５３に記憶させることにより、生成出力重みβｒkを調整し、ステップＳ１１４に進む。
【０２５７】
なお、ステップＳ１１４乃至Ｓ１１７の処理は、図１５のステップＳ９４乃至Ｓ９７の処理と同一であるので、説明は省略する。
【０２５８】
図１９は、図１の認識部と生成部のさらに他の詳細構成例を示すブロック図である。
【０２５９】
図１９の認識部５０１には、図１３の信頼度抽出部２１１、内部状態量更新部２１４の代わりに、信頼度計算部５１１、内部状態量更新部５１２が設けられている。
【０２６０】
即ち、図１９では、特徴抽出部１３から入力される時系列データには、各次元の信頼度ρkが付加されておらず、認識部５０１において、入力された時系列データの信頼度ρkを計算する。
【０２６１】
信頼度計算部５１１は、特徴抽出部１３から供給される各次元の時系列データが供給される。信頼度計算部５１１は、その各次元の時系列データと内部状態量更新部５１２から供給される内部状態量の初期値とに基づいて、各次元の信頼度ρkを計算する。
【０２６２】
具体的には、信頼度計算部５１１は、各次元の時系列データを、ネットワーク記憶部１５に記憶されているダイナミクス記憶ネットワークの各ノード４１の力学系近似モデル５１の加算部６０に入力するとともに、内部状態量の初期値としてのコンテキストを入力層６１のコンテキストユニットに入力し、その入力に対する出力である出力データを、力学系近似モデル５１の出力層６３から得る。なお、このとき、加算部６０は、入力された各次元の時系列データをそのまま、入力層６１の各ユニットに供給する。
【０２６３】
信頼度計算部５１１は、力学系近似モデル５１に入力する時系列データと、その１つ前に力学系近似モデル５１から得た出力データと、時系列データとに基づいて、次元ごとの、時系列データに対して得られるべき出力の真値と、その時系列データに対する力学系近似モデル５１からの出力値の次元ごとの誤差である予測誤差εk（０＜ε1＜１）を、ノード４１ごとに計算する。
【０２６４】
そして、信頼度計算部５１１は、ノード４１ごとに、予測誤差εkを用いて、以下の式（９）にしたがって各次元の信頼度ρkを計算する。
【０２６５】
【数９】
2007280055.tif 000011
【０２６６】
式（９）によれば、予測誤差εkの大きい次元に対しては、小さい信頼度ρkが与えられ、予測誤差εkの小さい次元に対しては、大きい信頼度ρkが与えられる。
【０２６７】
信頼度計算部５１１は、式（９）にしたがう計算の結果得られる信頼度ρkを、入力重み調整部２１２と出力重み調整部２１３に供給する。
【０２６８】
内部状態量更新部５１２は、内部状態記憶部２１から、前回更新されて記憶されている内部状態量を、ダイナミクス記憶ネットワークの各ノード４１の力学系近似モデル５１へ読み込む。
【０２６９】
具体的には、内部状態量更新部５１２は、内部状態記憶部２１から前回更新されて記憶されている内部状態量を読み出し、その内部状態量を、各ノード４１の力学系近似モデル５１の内部状態量の初期値として、信頼度計算部５１１に供給したり、スコア計算部２１５に供給する。
【０２７０】
また、内部状態量更新部５１２は、図１３の内部状態量更新部２１４と同様に、スコア計算部２１５から供給される、決定部２１６により勝者ノードが決定されるときの各ノード４１の内部状態量の更新値と、その勝者ノードが決定されるときの各ノード４１の内部状態量の初期値とを、内部状態記憶部２１に記憶させる。
【０２７１】
また、図１９の生成部５０２には、図１３の信頼度抽出部３１１、内部状態読み込み部３１５の代わりに、信頼度計算部５２１、内部状態読み込み部５２２が設けられている。即ち、図１９では、生成部５０２において、入力された時系列データの信頼度ρkを計算する。
【０２７２】
信頼度計算部５２１は、信頼度計算部５０１と同様に、特徴抽出部１３から供給される各次元の時系列データが供給される。信頼度計算部５２１は、信頼度計算部５０１と同様に、その各次元の時系列データと内部状態読み込み部５２２から供給される内部状態量の初期値とに基づいて、各次元の信頼度ρkを計算する。信頼度計算部５１１は、計算の結果得られる信頼度ρkを、入力重み調整部３１２と出力重み調整部３１３に供給する。
【０２７３】
内部状態読み込み部５２２は、生成ノード決定部３１４からの情報に基づいて、ネットワーク記憶部１５に記憶されたダイナミクス記憶ネットワークに含まれるノード４１のうちの生成ノードの力学系近似モデル５１に、内部状態記憶部２１に記憶されている値を、内部状態量の初期値として読み込む。
【０２７４】
即ち、内部状態読み込み部５２２は、内部状態記憶部２１に記憶されている値のうちの、生成ノードが認識部１６において勝者ノードに決定されたときの内部状態量の初期値を読み出し、その内部状態量の初期値を、生成ノードの力学系近似モデル５１の内部状態量の初期値として、信頼度計算部５２１と時系列データ生成部３１６に供給する。
【０２７５】
次に、図２０を参照して、図１９の認識部５０１が時系列データを認識する認識処理について説明する。この認識処理は、例えば、特徴抽出部１３から各次元の時系列データが供給されたとき、開始される。
【０２７６】
ステップＳ１２１において、内部状態量更新部５１２は、内部状態記憶部２１から、前回更新されて記憶されている内部状態量を、ダイナミクス記憶ネットワークの各ノード４１の力学系近似モデル５１へ読み込む。
【０２７７】
ステップＳ１２１の処理後は、ステップＳ１２２に進み、信頼度計算部５１１は、特徴抽出部１３から供給される各次元の時系列データと、内部状態量更新部５１２から供給される内部状態量の初期値とに基づいて、上述した式（９）にしたがって、各次元の信頼度ρkを計算する。信頼度計算部５１１は、その信頼度ρkを、入力重み調整部２１２と出力重み調整部２１３に供給する。
【０２７８】
ステップＳ１２２の処理後は、ステップＳ１２３に進み、入力重み調整部２１２は、信頼度計算部５１１からの信頼度ρkに基づいて、図４の入力重み記憶部５２に記憶されている、認識時に用いられる認識入力重みαｒkを調整する。
【０２７９】
ステップＳ１２３の処理後は、ステップＳ１２４に進み、出力重み調整部２１３は、入力重み調整部２１２と同様に、信頼度計算部５１１からの信頼度ρkに基づいて、出力重み記憶部５３に記憶されている、認識時に用いられる認識出力重みβｒkを調整し、ステップＳ１２５に進む。
【０２８０】
なお、ステップＳ１２５乃至Ｓ１２８の処理は、図１４のステップＳ７５乃至Ｓ７８と同様であるので、説明は省略する。
【０２８１】
次に、図２１を参照して、図１９の生成部５０２が時系列データを生成する生成処理について説明する。この生成処理は、例えば、出力部２１７から出力された認識結果１７が制御信号１８として入力されたとき、開始される。
【０２８２】
ステップＳ１３１において、生成ノード決定部３１４は、制御信号１８に基づいて、時系列データを生成すべきノード４１である生成ノードを決定する。生成ノード決定部３１４は、決定された生成ノードを特定する情報を、内部状態読み込み部５２２に供給する。
【０２８３】
ステップＳ１３１の処理後は、ステップＳ１３２に進み、内部状態読み込み部５２２は、生成ノード決定部３１４からの情報に基づいて、ネットワーク記憶部１５に記憶されたダイナミクス記憶ネットワークに含まれるノード４１のうちの生成ノードの力学系近似モデル５１に、内部状態記憶部２１に記憶されている内部状態量の初期値を読み込む。
【０２８４】
ステップＳ１３２の処理後は、ステップＳ１３３に進み、信頼度計算部５２１は、信頼度計算部５０１と同様に、特徴抽出部１３から供給される各次元の時系列データと内部状態読み込み部５２２から供給される内部状態量の初期値とに基づいて、上述した式（９）にしたがい、各次元の信頼度ρkを計算する。信頼度計算部５１１は、計算の結果得られる信頼度ρkを、入力重み調整部３１２と出力重み調整部３１３に供給する。
【０２８５】
ステップＳ１３３の処理後は、ステップＳ１３４に進み、入力重み調整部３１２は、信頼度計算部５１１からの信頼度ρkに基づいて、図４の入力重み記憶部５２に記憶されている、生成時に用いられる生成入力重みαｇkを調整する。
【０２８６】
ステップＳ１３４の処理後は、ステップＳ１３５に進み、出力重み調整部３１３は、入力重み調整部３１２と同様に、信頼度抽出部３１１からの信頼度ρkに基づいて、出力重み記憶部５３に記憶されている、生成時に用いられる生成出力重みβｇkを調整し、ステップＳ１３６に進む。
【０２８７】
ステップＳ１３６とＳ１３７の処理は、図１５のステップＳ９６とステップＳ９７の処理と同一であるので、説明は省略する。
【０２８８】
図２２は、図１の認識部と生成部のさらに他の詳細構成例を示すブロック図である。
【０２８９】
なお、図２２の認識部６０１と生成部６０２は、図１０の学習部１２０に対応しており、学習部１２０により学習が行われたダイナミクス記憶ネットワークを用いて、認識生成を行う。
【０２９０】
即ち、図２２の認識部６０１には、図１３の信頼度抽出部２１１、入力重み調整部２１２、出力重み調整部２１３の代わりに、基重み取得部６１１、入力重み調整部６１２、出力重み調整部６１３が設けられており、学習時に図１０の学習部１２０により計算された基重みωkに基づいて、認識入力重みαｒkと認識出力重みβｒkが調整される。
【０２９１】
基重み取得部６１１は、ネットワーク記憶部１５に記憶されているダイナミクス記憶ネットワークの各ノード１４１の基重み係数記憶部１４２から、基重みωkを取得する。基重み取得部６１１は、その基重みωkを入力重み調整部６１２と出力重み調整部６１３に供給する。
【０２９２】
入力重み調整部６１２は、基重み取得部６１１からの基重みωkに基づいて、基重みωkが大きい次元に対して認識入力重みαｒkが大きくなるように、認識入力重みαｒkを決定し、入力重み記憶部５２に記憶させる。例えば、入力重み調整部６１２は、基重みωkを認識入力重みαｒkとして入力重み記憶部５２に記憶させる。これにより、入力重み記憶部５２に記憶されている認識入力重みαｒkが調整される。
【０２９３】
出力重み調整部６１３は、入力重み調整部６１２と同様に、基重み取得部６１１からの基重みωkに基づいて、認識出力重みβｒkを決定し、出力重み記憶部５３に記憶させることにより、認識出力重みβｒkを調整する。例えば、出力重み調整部６１２は、基重みωkを認識出力重みβｒkとして出力重み記憶部５３に記憶させる。
【０２９４】
以上のように、入力重み調整部６１２と出力重み調整部６１３は、基重みωkに基づいて、基重みωkが大きい次元に対して認識入力重みαｒkと認識出力重みβｒkが大きくなるように、認識入力重みαｒkと認識出力重みβｒkを決定するので、学習時に着目された次元が、認識時においても着目される。
【０２９５】
例えば、センサ信号に対応する２次元の時系列データにおける時刻ｔの状態ベクトルｘ１tとｘ２t、並びにモータ信号に対応する２次元の時系列データにおける時刻ｔの状態ベクトルｘ３tとｘ４tのうち、状態ベクトルｘ１tとｘ３tに着目して学習が行われたノード１４１に対応する基重みω1とω3は、１となり、基重みω2とω4は０となる。この場合、例えば、基重みωkがそのまま認識入力重みαｒkと認識出力重みβｒkに決定され、認識時において、特徴抽出部１３から供給される時系列データに対応する４次元のうち、状態ベクトルｘ１tとｘ３tに対応する１次元目と３次元目が着目される。
【０２９６】
なお、入力重み調整部６１２と出力重み調整部６１３は、基重みωkをそのまま入力重みαｒkと出力重みβｒkにするのではなく、基重みωkに認識時の信頼度ρkを乗算したものを入力重みαｒkと出力重みβｒkにするようにしてもよい。この場合、認識時の信頼度ρkとして、特徴抽出部１３から供給される時系列データに付加された信頼度ρkや、予測誤差εkにより計算された信頼度ρkを用いることができる。
【０２９７】
また、図２２の生成部６０２には、図１３の信頼度抽出部３１１、入力重み調整部３１２、出力重み調整部３１３の代わりに、基重み取得部６２１、入力重み調整部６２２、出力重み調整部６２３が設けられており、学習時に図１０の学習部１２０により計算された基重みωkに基づいて、生成入力重みαｇkと生成出力重みβｇkが調整される。
【０２９８】
基重み取得部６２１は、ネットワーク記憶部１５に記憶されているダイナミクス記憶ネットワークの各ノード１４１の基重み係数記憶部１４２から、基重みωkを取得する。基重み取得部６２１は、その基重みωkを入力重み調整部６２２と出力重み調整部６２３に供給する。
【０２９９】
入力重み調整部６２２は、入力重み調整部６１２と同様に、基重み取得部６２１からの基重みωkに基づいて、基重みωkが大きい次元に対して生成入力重みαｇkが大きくなるように、生成入力重みαｇkを決定し、入力重み記憶部５２に記憶させる。これにより、入力重み記憶部５２に記憶されている生成入力重みαｇkが調整される。
【０３００】
出力重み調整部６２３は、出力重み調整部６１３と同様に、基重み取得部６２１からの基重みωkに基づいて、生成出力重みβｇkを決定し、出力重み記憶部５３に記憶させることにより、生成出力重みβｇkを調整する。
【０３０１】
以上のように、入力重み調整部６２２と出力重み調整部６２３は、入力重み調整部６１２と出力重み調整部６１３と同様に、基重みωkに基づいて、生成入力重みαｇkと生成出力重みβｇkを決定するので、学習時に着目された次元が、生成時においても着目される。
【０３０２】
例えば、センサ信号に対応する２次元の時系列データにおける時刻ｔの状態ベクトルｘ１tとｘ２t、並びにモータ信号に対応する２次元の時系列データにおける時刻ｔの状態ベクトルｘ３tとｘ４tのうち、状態ベクトルｘ１tとｘ３tに着目して学習が行われたノード４１に対応する基重みω1とω3は、１となり、基重みω2とω4は０となる。
【０３０３】
この場合、例えば、基重みωkがそのまま生成入力重みαｇkと生成出力重みβｇkに決定され、生成時において、特徴抽出部１３から供給される時系列データに対応する４次元のうち、状態ベクトルｘ１tとｘ３tに対応する１次元目と３次元目が着目される。その結果、時系列データ生成部３１６は、力学系近似モデル５１から得た４次元の出力データのうち、１次元目と３次元目の出力データのみを時系列データとして生成する。
【０３０４】
このように、基重みωkに基づいて生成入力重みαｇkを決定することにより、学習時に着目しなかった次元の出力データが、生成結果２０として出力されることを防止することができる。これにより、生成ノードとするノード１４１によって、例えば、両手信号に対応する時系列データだけが生成されたり、両足信号に対応する時系列データだけが生成される。
【０３０５】
次に、図２３を参照して、図２２の認識部６０１が時系列データを認識する認識処理について説明する。この認識処理は、例えば、特徴抽出部１３から時系列データが供給されたとき、開始される。
【０３０６】
ステップＳ１４１において、基重み取得部６１１は、ネットワーク記憶部１５に記憶されているダイナミクス記憶ネットワークの各ノード１４１の基重み係数記憶部１４２から、基重みωkを取得する。基重み取得部６１１は、その基重みωkを入力重み調整部６１２と出力重み調整部６１３に供給する。
【０３０７】
ステップＳ１４１の処理後は、ステップＳ１４２に進み、入力重み調整部６１２は、基重み取得部６１１からの基重みωkに基づいて、認識入力重みαｒkを、入力重み記憶部５２に記憶させることにより、認識入力重みαｒkを調整する。
【０３０８】
ステップＳ１４２の処理後は、ステップＳ１４３に進み、出力重み調整部６１３は、入力重み調整部６１２と同様に、基重み取得部６１１からの基重みωkに基づいて、認識出力重みβｒkを、出力重み記憶部５３に記憶させることにより、認識出力重みβｒkを調整し、ステップＳ１４４に進む。
【０３０９】
ステップＳ１４４乃至Ｓ１４８の処理は、図１４のステップＳ７４乃至Ｓ７８と同一の処理であるので、説明は省略する。
【０３１０】
次に、図２４を参照して、図２２の生成部６０２が時系列データを生成する生成処理について説明する。この生成処理は、例えば、出力部２１７から出力された認識結果１７が制御信号１８として入力されたとき、開始される。
【０３１１】
ステップＳ１５１において、基重み取得部６２１は、ネットワーク記憶部１５に記憶されているダイナミクス記憶ネットワークの各ノード１４１の基重み係数記憶部１４２から、基重みωkを取得する。基重み取得部６２１は、その基重みωkを入力重み調整部６２２と出力重み調整部６２３に供給する。
【０３１２】
ステップＳ１５１の処理後は、ステップＳ１５２に進み、入力重み調整部６２２は、入力重み調整部６１２と同様に、基重み取得部６２１からの基重みωkに基づいて、生成入力重みωkを入力重み記憶部５２に記憶させることにより、生成入力重みαｇkを調整する。
【０３１３】
ステップＳ１５２の処理後は、ステップＳ１５３に進み、出力重み調整部６２３は、出力重み調整部６１３と同様に、基重み取得部６２１からの基重みωkに基づいて、生成出力重みβｇkを、出力重み記憶部５３に記憶させることにより、生成出力重みβｇkを調整し、ステップＳ１５４に進む。
【０３１４】
なお、ステップＳ１５４乃至Ｓ１５７の処理は、図１５のステップＳ９４乃至Ｓ９７の処理と同一であるので、説明は省略する。
【０３１５】
図２５は、図１の認識部のさらに他の詳細構成例を示すブロック図である。
【０３１６】
図２５の認識部７０１には、図２２の決定部２１６の代わりに、決定部７１１が設けられており、スコアが所定の範囲内にあるノード１４１のすべてが勝者ノードとして決定される。
【０３１７】
決定部７１１は、スコア計算部２１５からのスコアに基づいて、最も小さいスコアの値を含む所定の範囲内の値のスコアに対応するすべてのノードを、勝者ノードとして決定する。即ち、決定部７１１は、スコアに基づいて、スコアの値が最も小さいノード、即ち特徴量抽出部１３から供給される時系列データに最も適合するダイナミクスを保持するノードを最勝者ノードとして決定し、最勝者ノードと、その最勝者ノードに対応するスコアの値から所定の範囲内に値があるスコアに対応するノードとを、勝者ノードとして決定する。
【０３１８】
なお、所定の範囲とは、所定の定数の範囲、最も小さいスコアの値のＡ（Ａ＞１）倍以内の範囲などである。決定部７１１は、勝者ノードを特定する信号を、出力部２１７に供給する。
【０３１９】
これにより、生成部６０２には、最も小さいスコアの値を含む所定の範囲内の値のスコアに対応するすべてのノード１４１を勝者ノードとして、特定する信号が制御信号１８として供給される。その結果、勝者ノードのすべてが生成ノードとして決定され、時系列データ生成部３１６は、勝者ノードの各ノード１４１に対応する力学系近似モデル５１から得た次元ごとの出力データに対して、ノード４１ごとに、生成出力重みβｇkに基づいて重み付けを行い、その結果得られる各ノード４１の出力データを合わせて、時系列データとして生成する。
【０３２０】
例えば、１つの勝者ノードの出力データのうちの、両手信号に対応する時系列データと、他の勝者ノードの出力データのうちの、両足信号に対応する時系列データとが合わせて、時系列データとして生成される。
【０３２１】
このように、決定部７１１は、勝者ノードとして決定するノード１４１のスコアを、最も小さいスコアの値を含む所定の範囲内のスコアとするので、入力される観測信号１１に矛盾する生成結果２０が生成されることを抑制することができる。
【０３２２】
また、決定部７１１は、最も小さいスコアの値を含む所定の範囲内のスコアに対応するノード１４１を勝者ノードとして決定し、時系列データ生成部３１６が、その勝者ノードから出力される各次元の出力データに対して、生成出力重みβｇkに基づいて重み付けを行うので、勝者ノードの中で、次元に対する着目すべき度合が最も高いノード１４１から出力される時系列データが、次元ごとに選択される。これにより、より観測信号１１に適した生成結果２０を生成することができる。その結果、例えば、ロボットに、より実際の状況に即した行動を行わせることができる。
【０３２３】
次に、図２６を参照して、図２５の認識部７０１が時系列データを認識する認識処理について説明する。この認識処理は、例えば、特徴抽出部１３から時系列データが供給されたとき、開始される。
【０３２４】
ステップＳ１６１乃至Ｓ１６６の処理は、図１４のステップＳ９１乃至Ｓ９６の処理と同様であるので説明は省略する。
【０３２５】
ステップＳ１６６の処理後は、ステップＳ１６７に進み、決定部７１１は、スコア計算部２１５からのスコアに基づいて、最も小さいスコアの値を含む所定の範囲内の値のスコアに対応するすべてのノードを、勝者ノードとして決定する。決定部７１１は、決定された勝者ノードを特定する信号を、出力部２１７に供給する。
【０３２６】
ステップＳ１６７の処理後は、ステップＳ１６８に進み、出力部２１７は、決定部２１６からの勝者ノードを特定する信号を、認識結果１７として出力し、処理を終了する。
【０３２７】
図２７Ａと図２７Ｂ、並びに図２８Ａと図２８Ｂは、学習時に学習入力重みαｓkと学習出力重みβｓkに基づいて重み付けを行うことによる効果を検証するための実験の結果を示すグラフである。
【０３２８】
図２７Ａと図２７Ｂ、並びに図２８Ａと図２８Ｂでは、赤い車で遊ぶというタスクＡに対応する時系列データと、緑色のボールを上下させるというタスクＢに対応する時系列データとを用いて、１つのRNNで学習が行われている。
【０３２９】
図２７Ａと図２７Ｂ、並びに図２８Ａと図２８Ｂは、このRNNで、タスクＡとタスクＢの視覚情報に対応する時系列データを混合させた時系列データ、即ち擬似的に作成された、赤い車と緑色のボールの両方が見えているときの視覚情報に対応する時系列データを入力して認識生成を行わせたときの生成結果２０を示している。
【０３３０】
なお、図２７Ａと図２７Ｂ、並びに図２８Ａと図２８Ｂにおいて、横軸は時間ステップを表し、縦軸はロボットの関節角度をRNN用に正規化した値を表している。このことは、後述する図２９Ａと図２９Ｂ、並びに図３０Ａと図３０Ｂにおいても同様である。また、図２７Ａと図２８Ａは、目標とする生成結果を示している。
【０３３１】
図２７Ｂは、学習時に重み付けを行わなかったRNNで認識生成を行ったときの生成結果２０を示すグラフである。図２７Ａと図２７Ｂを比較すると、学習時に重み付けを行わなかったRNNで認識生成を行った場合、図２７Ａに示す目標とする生成結果の時系列パターンに近い時系列パターンの生成結果を生成することができていないことがわかる。実験では、特にタスクＢの認識生成ができなかった。
【０３３２】
一方、図２８Ｂは、学習時に視覚に関する次元に対する学習入力重みαｓkと学習出力重みβｓkを他の次元に比べて大きくして重み付けを行ったRNNで認識生成を行ったときの生成結果２０を示すグラフである。図２８Ａと図２８Ｂを比較すると、学習時に重み付けを行ったRNNで認識生成を行った場合、図２８Ａに示す目標とする生成結果の時系列パターンに近い時系列パターンの生成結果を生成することができていることがわかる。即ち、この場合、タスクＡとタスクＢの認識生成が正確に行われている。
【０３３３】
以上により、学習時に学習入力重みαｓkと学習出力重みβｓkに基づいて重み付けを行うことにより、学習時と同一の観測信号１１だけでなく、学習時とは異なる観測信号１１に対しても認識生成を行うことができるということがわかる。即ち、学習時と同一の環境のときはもとより、未知の環境においてもロバストネスがあがるということがわかる。
【０３３４】
次に、図２９Ａと図２９Ｂ、並びに図３０Ａと図３０Ｂは、認識生成時に認識入力重みαｒkと認識出力重みβｒk、並びに生成入力重みαｇkと生成出力重みβｇkに基づいて重み付けを行うことによる効果を検証するための実験の結果を示すグラフである。
【０３３５】
なお、図２９Ａと図２９Ｂ、並びに図３０Ａと図３０Ｂは、図２７Ａと図２７Ｂ、並びに図２８Ａと図２８Ｂと同様の実験が行われた結果を示すグラフである。
【０３３６】
なお、図２９Ａと図３０Ａは、目標とする生成結果を示している。
【０３３７】
図２９Ｂは、認識生成時に重み付けを行わなかったRNNで認識生成を行ったときの生成結果２０を示すグラフである。図２９Ａと図２９Ｂを比較すると、認識生成時に重み付けを行わなかったRNNで認識生成を行った場合、図２９Ａに示す目標とする生成結果の時系列パターンに近い時系列パターンの生成結果を生成することができていないことがわかる。即ち、この場合、認識生成が正確に行われていない。
【０３３８】
一方、図３０Ｂは、認識生成時に視覚に関する次元に対する認識入力重みαｒkと認識出力重みβｒk、並びに生成入力重みαｇkと生成出力重みβｇkを他の次元に比べて大きくして重み付けを行ったRNNで認識生成を行ったときの生成結果２０を示すグラフである。図３０Ａと図３０Ｂを比較すると、認識生成時に重み付けを行ったRNNで認識生成を行った場合、図３０Ａに示す目標とする生成結果の時系列パターンに近い時系列パターンの生成結果を生成することができていることがわかる。即ち、この場合、タスクＡとタスクＢの認識生成が正確に行われている。
【０３３９】
以上により、認識生成時に認識入力重みαｒkと認識出力重みβｒk、並びに生成入力重みαｇkと生成出力重みβｇkに基づいて重み付けを行うことにより、認識生成の能力を安定化し、性能を向上させることができるということがわかる。
【０３４０】
以上のように、図１の情報処理装置１は、力学系近似モデル５１の入力層６１の各ユニットに入力される入力データに対する次元ごとの重み係数である入力重みを、次元ごとに調整し、出力層６３の各ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整するので、RNNにおいて、多次元の時系列データを効率的に扱うことができる。
【０３４１】
なお、上述した説明では、時系列データに対して得られるべき出力の真値と、その時系列データに対する力学系近似モデル５１からの出力値との平均二乗誤差を、スコアとしたが、スコアは、これに限定されず、例えば真値と出力値の距離、確率などであってもよい。スコアが距離である場合、平均二乗誤差である場合と同様に、スコアの値が小さいノードが勝者ノードとして決定されるが、スコアが確率である場合、スコアの値が大きいノードが勝者ノードとして決定される。
【０３４２】
また、上述した説明では、複数のノードによって構成されるダイナミクス記憶ネットワークを用いて、学習、認識、生成が行われたが、１つのノードを用いて学習や生成を行うようにしてもよい。
【０３４３】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０３４４】
そこで、図３１は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０３４５】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク８０５やＲＯＭ８０３に予め記録しておくことができる。
【０３４６】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体８１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体８１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０３４７】
なお、プログラムは、上述したようなリムーバブル記録媒体８１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部８０８で受信し、内蔵するハードディスク８０５にインストールすることができる。
【０３４８】
コンピュータは、CPU(Central Processing Unit)８０２を内蔵している。CPU８０２には、バス８０１を介して、入出力インタフェース８１０が接続されており、CPU８０２は、入出力インタフェース８１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部８０７が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)８０３に格納されているプログラムを実行する。あるいは、また、CPU８０２は、ハードディスク８０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部８０８で受信されてハードディスク８０５にインストールされたプログラム、またはドライブ８０９に装着されたリムーバブル記録媒体８１１から読み出されてハードディスク８０５にインストールされたプログラムを、RAM(Random Access Memory)８０４にロードして実行する。これにより、CPU８０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU８０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース８１０を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部８０６から出力、あるいは、通信部８０８から送信、さらには、ハードディスク８０５に記録等させる。
【０３４９】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０３５０】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０３５１】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０３５２】
【図１】本発明を適用した情報処理装置の一実施の形態の構成例を示すブロック図である。
【図２】２次元の時系列データを用いて学習を行う場合の力学系近似モデルの例を示す図である。
【図３】６次元の時系列データを用いて学習を行う場合の力学系近似モデルの例を示す図である。
【図４】ノードの例を示す図である。
【図５】重み付けについて説明する図である。
【図６】学習部の詳細構成例を示すブロック図である。
【図７】学習処理を説明するフローチャートである。
【図８】学習部の他の詳細構成例を示すブロック図である。
【図９】他の学習処理を説明するフローチャートである。
【図１０】学習部のさらに他の詳細構成例を示すブロック図である。
【図１１】ノードの他の例を示す図である。
【図１２】さらに他の学習処理を説明するフローチャートである。
【図１３】認識部と生成部の詳細構成例を示すブロック図である。
【図１４】認識処理を説明するフローチャートである。
【図１５】生成処理を説明するフローチャートである。
【図１６】認識部と生成部の他の詳細構成例を示すブロック図である。
【図１７】他の認識処理を説明するフローチャートである。
【図１８】他の生成処理を説明するフローチャートである。
【図１９】認識部と生成部の他の詳細構成例を示すブロック図である。
【図２０】他の認識処理を説明するフローチャートである。
【図２１】他の生成処理を説明するフローチャートである。
【図２２】認識部と生成部のさらに他の詳細構成例を示すブロック図である。
【図２３】さらに他の認識処理を説明するフローチャートである。
【図２４】さらに他の生成処理を説明するフローチャートである。
【図２５】認識部と生成部のさらに他の詳細構成例を示すブロック図である。
【図２６】さらに他の認識処理を説明するフローチャートである。
【図２７】学習時に重み付けを行わなかったRNNを用いて認識生成を行った場合の実験結果を示すグラフである。
【図２８】学習時に重み付けを行ったRNNを用いて認識生成を行った場合の実験結果を示すグラフである。
【図２９】認識生成時に重み付けを行わなかった場合の実験結果を示すグラフである。
【図３０】認識生成時に重み付けを行った場合の実験結果を示すグラフである。
【図３１】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０３５３】
１４  学習部，  １５  ネットワーク記憶部，  １６  認識部，  １９  生成部，  ８１  信頼度抽出部，  ８２  入力重み調整部，  ８３  出力重み調整部，  ８４  スコア計算部，  ８７  パラメータ更新部，  １００  学習部，  １０１  重み取得部，  １２０  学習部，  １２１  基重み決定部，  ２１１  信頼度抽出部，  ２１２  入力重み調整部，  ２１３  出力重み調整部，  ２１５  スコア計算部，  ３１１  信頼度抽出部，  ３１２  入力重み調整部，  ３１３  出力重み調整部，  ３１６  時系列データ生成部，  ４０１  認識部，  ４１１  重み取得部，  ４０２  生成部，  ４２１  重み取得部，  ５０１  認識部，  ５１１  信頼度計算部，  ５０２  生成部，  ５２１  信頼度計算部，  ６０１  認識部，  ６１１  基重み取得部，  ６０２  生成部，  ６２１  基重み取得部，  ８０２  CPU，  ８０３  ROM，  ８０４  RAM，  ８０５  ハードディスク，  ８１１  リムーバブル記録媒体
【図１】
2007280055.tif 000012
【図２】
2007280055.tif 000013
【図３】
2007280055.tif 000014
【図４】
2007280055.tif 000015
【図５】
2007280055.tif 000016
【図６】
2007280055.tif 000017
【図７】
2007280055.tif 000018
【図８】
2007280055.tif 000019
【図９】
2007280055.tif 000020
【図１０】
2007280055.tif 000021
【図１１】
2007280055.tif 000022
【図１２】
2007280055.tif 000023
【図１３】
2007280055.tif 000024
【図１４】
2007280055.tif 000025
【図１５】
2007280055.tif 000026
【図１６】
2007280055.tif 000027
【図１７】
2007280055.tif 000028
【図１８】
2007280055.tif 000029
【図１９】
2007280055.tif 000030
【図２０】
2007280055.tif 000031
【図２１】
2007280055.tif 000032
【図２２】
2007280055.tif 000033
【図２３】
2007280055.tif 000034
【図２４】
2007280055.tif 000035
【図２５】
2007280055.tif 000036
【図２６】
2007280055.tif 000037
【図２７】
2007280055.tif 000038
【図２８】
2007280055.tif 000039
【図２９】
2007280055.tif 000040
【図３０】
2007280055.tif 000041
【図３１】
2007280055.tif 000042