JP2007280059A - 認識生成装置および認識生成方法、並びにプログラム - Google Patents

認識生成装置および認識生成方法、並びにプログラム Download PDF

Info

Publication number
JP2007280059A
JP2007280059A JP2006105551A JP2006105551A JP2007280059A JP 2007280059 A JP2007280059 A JP 2007280059A JP 2006105551 A JP2006105551 A JP 2006105551A JP 2006105551 A JP2006105551 A JP 2006105551A JP 2007280059 A JP2007280059 A JP 2007280059A
Authority
JP
Japan
Prior art keywords
node
input
output
unit
generation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2006105551A
Other languages
English (en)
Inventor
Yukiko Yoshiike
由紀子 吉池
Masato Ito
真人 伊藤
Katsuki Minamino
活樹 南野
Hirotaka Suzuki
洋貴 鈴木
Kenta Kawamoto
献太 河本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2006105551A priority Critical patent/JP2007280059A/ja
Publication of JP2007280059A publication Critical patent/JP2007280059A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】多次元の時系列データを効率的に扱う。
【解決手段】入力重み調整部612は、力学系近似モデルの入力層のユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整する。出力重み調整部613は、力学系近似モデルの出力層のユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整する。決定部711は、ノードごとの出力誤差に基づいて、入力データに適合するダイナミクスを保持するノードである勝者ノードを決定する。本発明は、例えば、ロボットに適用することができる。
【選択図】図25

Description

本発明は、認識生成装置および認識生成方法、並びにプログラムに関し、特に、多次元の時系列データを効率的に扱うことができるようにした認識生成装置および認識生成方法、並びにプログラムに関する。
ロボットの行動(運動)は、時間発展法則により定められる力学系(dynamical system
s)として記述することができ、様々な行動はその力学系がある特定のアトラクタダイナミクス(attractor dynamics)によって実現可能であることが知られている。
例えば、人間のような二足型ロボットの歩行運動は、系の運動状態が様々な初期状態からある特定の周期軌道に落ち着くことを特徴とするリミットサイクルダイナミクス(limit cycle dynamics)として記述することができる(例えば、非特許文献1,2参照)。また、アームロボットがある対象物に対して手先を伸ばすようなリーチング運動は、様々な初期状態からある特定の固定点に落ち着くことを特徴とする不動点ダイナミクス(fixed-point dynamics)として記述することができる。さらに、全ての運動は、不動点ダイナミクスで実現可能な離散運動(discrete movement)とリミットサイクルダイナミクスで実現可能な周期運動(cyclic movement)の組み合わせにより実現可能であるとも言われている。
このアトラクタダイナミクスによってロボットの行動(運動)を制御する場合の問題は、まず、タスクに応じたアトラクタダイナミクスをどのように構成するのか、次に、センサ入力を通じて得た情報に基づいて、アトラクタダイナミクスにしたがいながら、対応するモータ出力を生成することであり、これを実現するためには、アトラクタダイナミクスが環境と連続的に相互作用するかたちでロボットの行動出力を生成する必要がある。
こうしたアトラクタダイナミクスを人間が設計するのではなく、学習する方法が提案されている。その方法の1つに、リカレントニューラルネットワーク(recurrent neural network)(以下、RNNという)を利用する方法がある。RNNは、ネットワークに回帰ループで結合されるコンテキストユニットを持ち、そこに内部状態を保持することによって、理論的には、任意の力学系を近似可能であることが知られている。
しかしながら、密結合した1つのネットワークモジュールで構成される学習モデルでは、大規模な行動学習に必要な多数のダイナミクスの学習をする際に、記憶しようとするダイナミクス間の干渉が非常に大きく、学習が困難であるという問題がある。
そこで、複数のネットワークモジュールを組にして1つの学習モデルを構成するモジュラアーキテクチャ(modular architecture)を採用した学習モデルがいくつか提案されている。このモジュラアーキテクチャでは、原理的には、モジュールを増やすことによって記憶できるダイナミクスを容易に増やすことができるが、与えられた学習サンプルをどのモジュールで学習するかを決定するモジュール選択の問題が生じる。
このモジュール選択の方法によって、学習方法は、学習サンプル(学習データ)を、どのモジュールに割り当てるかを人間が決める教師あり学習(supervised learning)と、学習モデルが自律的に決める教師なし学習(unsupervised learning)の2つの方法に分けられるが、ロボットやシステムが自律的に学習を行うためには、教師なし学習によりモジュールを学習する必要がある。
教師なし学習によりモジュールを学習する方法の1つとして、Mixture of RNN Expertという学習モデルが提案されている(例えば、特許文献1参照)。この学習モデルでは、複数のRNNモジュールの出力をゲート機構により統合して最終的な出力を決定し、その最終的な出力の性能が最大化するように最尤推定法(maximum likelihood estimation)によりゲートを調整しながら、各RNNのモジュールを学習する。
しかしながら、このような全体最適化に基づく方法では、モジュールの数が大規模になった場合に、学習が困難になるという問題がある。
これに対して、ベクトルパターンのカテゴリ学習に用いられる自己組織化マップ(self-organization map)(以下、SOMという)(例えば、非特許文献3参照)やニューラルガス(neural-gas)(例えば、非特許文献4参照)などの方法では、全体最適化に基づく学習則は用いられず、最適性は保証されないが、適切なカテゴリ構造を自己組織化的に教師なし学習することが可能であることが知られている。これらの方法では、モジュールの数が大規模になった場合であっても、実用的に学習が可能である。
特開平11−126198号公報 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号)。
しかしながら、多次元の時系列データを効率的に扱う方法は提案されていない。
本発明は、このような状況に鑑みてなされたものであり、多次元の時系列データを効率的に扱うことができるようにするものである。
本発明の一側面の認識生成装置は、ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークを記憶する記憶手段と、前記ノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整する入力重み係数調整手段と、前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整する出力重み係数調整手段と、前記入力データと、その1つ前の入力データを、複数の前記ノードの入力ユニットにそれぞれ入力することにより、前記ノードごとに前記ノードの内部状態量を更新しながら得られる出力データとの次元ごとの誤差を、前記ノードごとに前記出力重み係数に対応する割合で足し合わせ、前記ノードごとの出力誤差とする出力誤差計算手段と、前記ノードごとの出力誤差に基づいて、前記入力データに適合するダイナミクスを保持するノードである勝者ノードを決定する勝者ノード決定手段と、前記勝者ノードを表す情報を、前記入力データの認識結果として出力する認識手段と、前記勝者ノードを決定する処理において得られる前記ノードの内部状態量を記憶する内部状態記憶手段と、前記認識結果に基づいて、前記勝者ノードを、複数の次元の時系列データの生成に用いるノードである生成ノードとして決定する生成ノード決定手段と、観測される複数の次元の時系列データを前記入力データとして、前記生成ノードの入力ユニットに入力することにより、前記内部状態量記憶手段に記憶される内部状態量に基づいて決定された、前記生成ノードの内部状態量を更新しながら、前記出力重み係数に対応する割合で各次元の前記時系列データを生成し、その時系列データを生成結果とする生成手段とを備える。
前記勝者ノード決定手段は、複数の前記勝者ノードを決定し、前記生成ノード決定手段は、複数の前記勝者ノードのすべてを生成ノードとして決定し、前記生成手段は、観測される複数の時系列データを前記入力データとして、複数の前記生成ノードの入力ユニットにそれぞれ入力することにより、前記生成ノードごとに各次元の前記時系列データを生成し、その時系列データを足し合わせて生成結果とすることができる。
前記勝者ノード決定手段は、前記出力誤差に基づいて、前記入力データに最も適合するダイナミクスを保持するノードである最勝者ノードを決定し、前記最勝者ノードと、その最勝者ノードに対応する出力誤差から所定の範囲内にある出力誤差に対応するノードとを、前記勝者ノードとして決定することができる。
本発明の一側面の認識生成方法は、ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークの前記ノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整し、前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整し、前記入力データと、その1つ前の入力データを、複数の前記ノードの入力ユニットにそれぞれ入力することにより、前記ノードごとに前記ノードの内部状態量を更新しながら得られる出力データとの次元ごとの誤差を、前記ノードごとに前記出力重み係数に対応する割合で足し合わせ、前記ノードごとの出力誤差とし、前記ノードごとの出力誤差に基づいて、前記入力データに適合するダイナミクスを保持するノードである勝者ノードを決定し、前記勝者ノードを表す情報を、前記入力データの認識結果として出力し、前記勝者ノードを決定する処理において得られる前記ノードの内部状態量を記憶させ、前記認識結果に基づいて、前記勝者ノードを、複数の次元の時系列データの生成に用いるノードである生成ノードとして決定し、観測される複数の次元の時系列データを前記入力データとして、前記生成ノードの入力ユニットに入力することにより、記憶されている内部状態量に基づいて決定された、前記生成ノードの内部状態量を更新しながら、前記出力重み係数に対応する割合で各次元の前記時系列データを生成し、その時系列データを生成結果とするステップを含む。
本発明の一側面のプログラムは、ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークの前記ノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整し、前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整し、前記入力データと、その1つ前の入力データを、複数の前記ノードの入力ユニットに入力することにより、前記ノードごとに前記ノードの内部状態量を更新しながら得られる出力データとの次元ごとの誤差を、前記ノードごとに前記出力重み係数に対応する割合で足し合わせ、前記ノードごとの出力誤差とし、前記ノードごとの出力誤差に基づいて、前記入力データに適合するダイナミクスを保持するノードである勝者ノードを決定し、前記勝者ノードを表す情報を、前記入力データの認識結果として出力し、前記勝者ノードを決定する処理において得られる前記ノードの内部状態量を記憶させ、前記認識結果に基づいて、前記勝者ノードを、複数の次元の時系列データの生成に用いるノードである生成ノードとして決定し、観測される複数の次元の時系列データを前記入力データとして、前記生成ノードの入力ユニットに入力することにより、記憶されている内部状態量に基づいて決定された、前記生成ノードの内部状態量を更新しながら、前記出力重み係数に対応する割合で各次元の前記時系列データを生成し、その時系列データを生成結果とするステップを含む処理をコンピュータに実行させる。
本発明の一側面においては、ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークの前記ノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数が、次元ごとに調整され、前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数が、次元ごとに調整され、前記入力データと、その1つ前の入力データを、複数の前記ノードに対応する複数の前記ノードの入力ユニットに入力することにより、前記ノードごとに前記ノードの内部状態量を更新しながら得られる出力データとの次元ごとの誤差が、前記ノードごとに前記出力重み係数に対応する割合で足し合わされて、前記ノードごとの出力誤差とされ、前記ノードごとの出力誤差に基づいて、前記入力データに適合するダイナミクスを保持するノードである勝者ノードが決定され、前記勝者ノードを表す情報が、前記入力データの認識結果として出力される。
また、前記勝者ノードを決定する処理において得られる前記ノードの内部状態量が記憶され、前記認識結果に基づいて、前記勝者ノードが、複数の次元の時系列データの生成に用いるノードである生成ノードとして決定され、観測される複数の次元の時系列データを前記入力データとして、前記生成ノードの入力ユニットに入力することにより、記憶されている内部状態量に基づいて決定された、前記生成ノードの内部状態量を更新しながら、前記出力重み係数に対応する割合で各次元の前記時系列データが生成され、その時系列データが生成結果とされる。
以上のように、本発明の一側面によれば、多次元の時系列データを効率的に扱うことができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の認識生成装置は、
ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワーク(例えば、ダイナミクス記憶ネットワーク)を記憶する記憶手段(例えば、図1のネットワーク記憶部15)と、
前記ノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整する入力重み係数調整手段(例えば、図25の入力重み調整部612と622)と、
前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整する出力重み係数調整手段(例えば、図25の出力重み調整部613と623)と、
前記入力データと、その1つ前の入力データを、複数の前記ノードの入力ユニットにそれぞれ入力することにより、前記ノードごとに前記ノードの内部状態量を更新しながら得られる出力データとの次元ごとの誤差を、前記ノードごとに前記出力重み係数に対応する割合で足し合わせ、前記ノードごとの出力誤差とする出力誤差計算手段(例えば、図25のスコア計算部215)と、
前記ノードごとの出力誤差に基づいて、前記入力データに適合するダイナミクスを保持するノードである勝者ノードを決定する勝者ノード決定手段(例えば、図25の決定部711)と、
前記勝者ノードを表す情報を、前記入力データの認識結果として出力する認識手段(例えば、図25の出力部217)と、
前記勝者ノードを決定する処理において得られる前記ノードの内部状態量を記憶する内部状態記憶手段(例えば、図25の内部状態記憶部21)と、
前記認識結果に基づいて、前記勝者ノードを、複数の次元の時系列データの生成に用いるノードである生成ノードとして決定する生成ノード決定手段(例えば、図25の生成ノード決定部314)と、
観測される複数の次元の時系列データを前記入力データとして、前記生成ノードの入力ユニットに入力することにより、前記内部状態量記憶手段に記憶される内部状態量に基づいて決定された、前記生成ノードの内部状態量を更新しながら、前記出力重み係数に対応する割合で各次元の前記時系列データを生成し、その時系列データを生成結果とする生成手段(例えば、図25の時系列データ生成部316)と
を備える。
本発明の一側面の認識生成方法またはプログラムは、
ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークの前記ノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整し(例えば、図26のステップS162)、
前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整し(例えば、図26のステップS163)、
前記入力データと、その1つ前の入力データを、複数の前記ノードに対応する複数の前記ノードの入力ユニットに入力することにより、前記ノードごとに内部状態量を更新しながら得られる出力データとの次元ごとの誤差を、前記ノードごとに前記出力重み係数に対応する割合で足し合わせ、前記ノードごとの出力誤差とし(例えば、図26のステップS165)、
前記ノードごとの出力誤差に基づいて、前記入力データに適合するダイナミクスを保持するノードである勝者ノードを決定し(例えば、図26のステップS167)、
前記勝者ノードを表す情報を、前記入力データの認識結果として出力し(例えば、図26のステップS148)、
前記勝者ノードを決定する処理において得られる前記ノードの内部状態量を記憶させ(例えば、図26のステップS167)、
前記認識結果に基づいて、前記勝者ノードを、複数の次元の時系列データの生成に用いるノードである生成ノードとして決定し(例えば、図24のステップS154)、
観測される複数の次元の時系列データを前記入力データとして、前記生成ノードの入力ユニットに入力することにより、記憶されている内部状態量に基づいて決定された、前記生成ノードの内部状態量を更新しながら、前記出力重み係数に対応する割合で各次元の前記時系列データを生成し、その時系列データを生成結果とする(例えば、図24のステップS156)
ステップを含む。
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
図1は、本発明を適用した情報処理装置1の一実施の形態の構成例を示すブロック図である。
図1の情報処理装置1は、力学系を近似するモデルである力学系近似モデルのうちの、内部状態量を持つ力学系近似モデルを1つのノードとするダイナミクス記憶ネットワークを記憶するネットワーク記憶部15と、そのダイナミクス記憶ネットワークのパラメータを自己組織化的に更新する学習部14とを含む。
ダイナミクス記憶ネットワークの各ノードには、時系列データの力学的な特性がダイナミクスとして保持される。学習部14によって更新されたパラメータによって定義される、ダイナミクス記憶ネットワークのノードに保持されたダイナミクスは、時系列データの認識や生成のために利用される。
図1の情報処理装置1は、例えばロボットなどの制御信号の認識や生成に利用される。情報処理装置1は、特に、自律システムや自律型ロボットなどにおいて、センサおよびモータの入出力信号の学習、認識、または生成に利用される。
図1の情報処理装置1では、情報処理装置1に入力される信号と、情報処理装置1が出力する信号の両方が、観測される信号である観測信号11として、信号入力部12に入力される。観測信号11は、例えば音声や画像の信号、LED(Light Emitting Diode)の明るさを表す信号、モータの回転角度や回転角速度を表す信号などである。
信号入力部12は、入力される観測信号11に対応する電気信号を、特徴抽出部13に出力する。具体的には、信号入力部12は、観測信号11が音声の信号である場合、例えばマイクロフォンに対応し、画像信号である場合、例えばカメラに対応する。また観測信号11がモータの回転角度や回転速度を表す信号である場合、信号入力部12は、例えばモータの回転角度や回転速度を計測する計測装置に対応する。
なお、以下では、信号入力部12に入力される信号だけでなく、信号入力部12が出力する信号も、観測信号11という。また、観測信号11は、定常信号であっても、時間的に変化する非定常信号であってもよい。
さらに、以下では、主にロボットシステムにおけるセンサモータ信号を、観測信号11の例として説明する。このセンサモータ信号は、例えば、センサが出力する信号や、モータに入力されるモータを制御する制御信号(以下、モータ信号という)をコンポーネントとするベクトルである。勿論、観測信号11は、センサモータ信号に限定されるものではない。
また、信号入力部12は、区間検出装置などを含み、センサモータ信号を所定の区間で区切って出力するものとする。なお、信号入力部12からは、適当な長さに区切られたセンサモータ信号が出力されればよく、その区切り方は、特に限定されない。従って、入力されるセンサモータ信号に応じて、最も良い方法で適当な長さに区切られたセンサモータ信号が、観測信号11として、信号入力部12から出力されればよい。
特徴抽出部13は、信号入力部12から出力された観測信号11から、特徴量を時系列に抽出する。例えば特徴抽出部13は、センサ信号の1つである音声信号に対して、一定時間間隔で周波数分析などの処理を施し、メルケプストラムなどの特徴量を時系列に抽出する。ここで、メルケプストラムとは音声認識などで広く利用されている特徴量である。
特徴抽出部13は、観測信号11から特徴量を時系列に抽出することにより得た特徴量の時系列データ(以下、単に、時系列データという)を、学習部14、認識部16、および生成部19に供給する。
学習部14は、特徴抽出部13から供給される時系列データを用いて、所定の度合で、時系列データの時間変化の特徴をダイナミクスとして学習する。具体的には、学習部14は、所定の度合で、ダイナミクスを保持するダイナミクス記憶ネットワークのパラメータを更新する。
学習部14による学習の詳細は後述するが、学習部14は、基本的には、ラベルの付与されていない時系列データが繰り返し与えられると、その時系列データの中の特徴的なダイナミクスを自己組織化的に獲得していく教師なし学習を実行する。その結果、ネットワーク記憶部15に記憶されるダイナミクス記憶ネットワークには、代表的なダイナミクスが効率的に保持される。その保持されたダイナミクスは、認識部16や生成部19が、必要に応じて、いつでも利用することができるようになされている。
ここで、ダイナミクスは、時間変化する力学系を表すものであり、例えば、具体的な関数によって表現することができる。ダイナミクス記憶ネットワークでは、時系列データの時間変化の特徴が、ダイナミクスとして保持される。
認識部16は、特徴抽出部13から供給される時系列データに対して、それまでの学習の結果得られたダイナミクス記憶ネットワークに保持されるダイナミクスを照らし合わせ、最も類似したダイナミクスを決定する。
具体的には、認識部16は、特徴抽出部13から供給される時系列データを、ダイナミクス記憶ネットワークに入力し、その入力に対して出力される出力データを得る。そして、認識部16は、その出力データと特徴抽出部13から供給される時系列データとに基づいて、その時系列データに対して最も類似したダイナミクスを決定する。認識部16は、その決定の結果を認識結果17として出力する。
一方、ダイナミクス記憶ネットワークに保持されたダイナミクスからは、必要に応じて、時系列データを生成することができるようになされている。生成部19は、時系列データを生成する生成処理を行う。
具体的には、生成部19は、どのダイナミクスから時系列データを生成するかを指定する制御信号18を取得する。生成部19は、制御信号18と特徴抽出部13から供給される時系列データに基づき、指定されたダイナミクスを保持するノードに、その時系列データを入力する。そして、生成部19は、その入力に対して出力される出力データに基づいて、時系列データを生成する。そして、生成部19は、その時系列データを生成結果20として出力する。
内部状態記憶部21は、ダイナミクス記憶ネットワークの各ノードの内部状態量を保持する。内部状態記憶部21に記憶された内部状態量は、例えば、認識部16によって更新され、生成部19によって生成処理に利用される。
[学習について]
次に、図2と図3を参照して、図1の情報処理装置1が行う学習について説明する。
なお、図2と図3では、力学系近似モデルとして、三層型ニューラルネットワーク(NN)の出力層から入力層への回帰ループを持つRNNが用いられるものとする。このRNNを用いて、時系列データにおける時刻tの状態ベクトルXtを入力とし、その入力に対して、時刻t+1の状態ベクトルXt+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等に記載されている。
図2は、2次元の時系列データを用いて学習を行う場合の力学系近似モデル31を表し、図3は、6次元の時系列データを用いて学習を行う場合の力学系近似モデル41を表している。ここで、次元とは、学習、認識、または生成において区別される時系列データの種類を表し、次元数はRNNのユニット数に対応する。
なお、図2と図3では、音声を表すセンサ信号(以下、音声信号という)、画像を表すセンサ信号(以下、画像信号という)、触覚を表すセンサ信号(以下、触覚信号という)、両手を動作させるモータを制御するモータ信号(以下、両手信号という)、両足を動作させるモータを制御するモータ信号(以下、両足信号という)、および首を動作させるモータを制御するモータ信号(以下、首信号という)からそれぞれ生成された6次元の時系列データが、時系列データとして得られるものとする。
図2では、得られる6次元の時系列データのうち、音声信号と両足信号の2次元の時系列データが、力学系近似モデル31の入力層の2個のユニットにそれぞれ入力される。力学系近似モデル31は、その2次元の時系列データにおける時刻tの状態ベクトルXtを入力とし、その入力に対して、2次元の時系列データにおける時刻t+1の状態ベクトルXt+1を予測して出力することを学習する。従って、図2の力学系近似モデル31の入力層と出力層のユニットの数は、それぞれ2個となる。
図3では、得られる6次元の時系列データのすべてが、力学系近似モデル32の入力層の6個のユニットにそれぞれ入力される。力学系近似モデル32は、その6次元の時系列データにおける時刻tの状態ベクトルXtを入力とし、その入力に対して、6次元の時系列データにおける時刻t+1の状態ベクトルXt+1を予測して出力することを学習する。従って、図3の力学系近似モデル32の入力層と出力層のユニットの数は、それぞれ6個となる。
以上のように、2次元の時系列データを用いて学習する図2の力学系近似モデル31に対して、6次元の時系列データを用いて学習する図3の力学系近似モデル32では、入力層と出力層のユニットの数が大幅に増加し、規模が増大する。
ここで、一般的に、ニューラルネットワークの規模が増大すると、パラメータを収束させることが困難であることが知られている。また、出力層の各ユニットから出力される各次元の時系列データの予測値により計算される予測誤差の平均値が利用して、学習が行われるが、時系列データの次元数が増加すると、その予測誤差の平均値に影響する1つの次元の時系列データの割合が非常に小さくなる。従って、この予測誤差の平均値を利用して、学習を行うことは容易ではない。
以上のように、時系列データの次元数が増加すると、その時系列データに基づく学習は困難になる。
例えば、音声が聞こえる方向に歩くという行動を学習する場合、音声信号から得られる音声の方向や大きさなどを表す時系列データと、歩行動作を行うための両足信号に対応する時系列データの相互作用に基づいて形成されるダイナミクスを学習する必要がある。このとき、図2に示すように、6次元の時系列データのうち、音声信号と両足信号に対応する2次元の時系列データを用いて学習を行う場合、容易にダイナミクスを学習することができるが、図3に示すように、6次元の時系列データのすべてを用いて学習を行う場合、その学習は困難となる。
また、赤いボールが目の前に見えたら手を近づけるという行動を学習する場合、画像信号から得られる赤いボールの位置座標を表す時系列データと、手を動かすための両手信号に対応する時系列データの相互作用に基づいて形成されるダイナミクスを学習する必要がある。このとき、図3に示すように、6次元の時系列データのすべてを用いて学習を行う場合、6次元の時系列データのうち、画像信号と両手信号に対応する2次元の時系列データを用いて学習を行うときに比べて、その学習は困難となる。
従って、得られるすべての次元の時系列データではなく、学習において着目すべき次元の時系列データだけを用いてダイナミクスを学習することが望ましい。
しかしながら、教師あり学習を行う場合には、ノードごとに着目すべき時系列データを予め決定しておくことができるが、教師なし学習を行う場合には、それを予め決定しておくことができない。
そこで、学習部14は、特徴抽出部13から供給される時系列データに基づいて、力学系近似モデルに入力される時系列データに対する次元ごとの重み係数(以下、入力重みという)と、力学系近似モデルから出力される時系列データに対する次元ごとの重み(以下、出力重みという)とを、学習において着目すべき次元の入力重みと出力重みが大きくなるように決定する。
これにより、入出力される時系列データが重み付けされ、すべての時系列データのうちの着目すべき時系列データに基づいて、ダイナミクスを学習することができる。その結果、学習において、入力される多次元の時系列データを効率的に扱うことができる。
図4は、ネットワーク記憶部15に記憶されるダイナミクス記憶ネットワークの1つのノード41の詳細を示す図である。
ノード41は、内部状態量を持つ力学系近似モデル51、入力重み記憶部52、出力重み記憶部53、および学習度合記憶部54により構成される。
力学系近似モデル51は、RNNであり、加算部60、入力層61、隠れ層62、および出力層63により構成される。加算部60は、入力重み記憶部52に記憶されている、学習時に用いられる各次元の入力重み(以下、学習入力重みという)に対応する割合で、学習部14から供給される、新たに観測される観測信号に対応する時系列データにおける時刻tの状態ベクトルXtと、出力層63から1つ前に出力された出力データ、即ち時系列データにおける時刻t−1の状態ベクトルの予測値である出力データとを次元ごとに足し合わせ、その結果得られる次元ごとのデータを、時刻tの学習データとして入力層61の各ユニットに次元ごとに入力する。
入力層61の各ユニットに入力された時刻tの学習データは、隠れ層62を介して、出力層63から出力する。即ち、入力層61の各ユニットに入力された時刻tの学習データと、入力層61の各ユニットと隠れ層62の各ユニットの結合に付与された重み(以下、結合重みという)とに基づいて、所定の演算が行われ、その結果得られるデータと、隠れ層62の各ユニットと出力層63の各ユニットの結合重みとに基づいて、所定の演算が行われて、その結果得られるデータが、出力データとして、出力層63から出力される。
学習部14は、出力層63から出力される出力データを用いて、学習度合記憶部54に記憶される度合情報が表す度合で、力学系近似モデル51の結合重みをパラメータとして更新する。即ち、力学系近似モデル51は、学習度合記憶部54に記憶される度合情報が表す度合で、入力層61の各ユニットに入力された学習データの時系列パターンをダイナミクスとして学習する。
なお、学習部14が行う学習は、オンライン学習である。即ち、観測信号11が入力されるたびに、学習部14は、その観測信号11に対応する学習データに基づいて、力学系近似モデル51のパラメータを少しずつ更新する。
入力重み記憶部52は、学習部14から供給される学習入力重み、認識部16から供給される認識時の入力重み(以下、認識入力重みという)、および生成部19から供給される生成時の入力重み(以下、生成入力重みという)を記憶する。加算部60は、学習入力重みに対応する割合で、学習部14から供給される時系列データにおける時刻tの状態ベクトルXtと、出力層63から1つ前に出力された出力データとを次元ごとに足し合わせる。即ち、加算部60は、学習入力重みに基づいて、学習部14から供給される時系列データに対して重み付けを行う。なお、認識入力重みと生成入力重みによる重み付けについては、図16などで後述する。
出力重み記憶部53は、学習部14から供給される学習時に用いられる出力重み(以下、学習出力重みという)、認識部16から供給される認識時の出力重み(以下、認識出力重みという)、および生成部17から供給される生成時の出力重み(以下、生成出力重みという)を記憶する。この学習出力重みに基づいて、学習部14は、力学系近似モデル51の出力層の各ユニットから出力される各次元の時系列データに対して、重み付けを行う。なお、学習入力重みと学習出力重みに基づく重み付けの詳細は、図5を用いて後述する。また、認識出力重みと生成出力重みによる重み付けについては、図16などで後述する。
学習度合記憶部54は、力学系近似モデル51のパラメータの学習の度合を表す情報(以下、度合情報という)を記憶する。ここで、度合情報としては、例えば、BPTT法における繰り返し計算の繰り返し回数が用いられる。
学習部14は、この度合情報に応じて学習の度合を調整し、これにより、力学系近似モデル51のパラメータが学習データの影響を受ける度合が、調整される。
次に、図5を参照して、学習入力重みと学習出力重みに基づく重み付けについて説明する。
図5の例では、力学系近似モデル51の加算部60に、センサ信号に対応する2次元の時系列データにおける時刻tの状態ベクトルx1tとx2t、並びにモータ信号に対応する2次元の時系列データにおける時刻tの状態ベクトルx3tとx4tが、学習部14から入力される。即ち、加算部60には、4次元の時系列データにおける時刻tの状態ベクトルx1t乃至x4tが学習部14から入力される。
加算部60は、入力重み記憶部52に記憶されている学習入力重みを読み出し、その学習入力重みに基づいて、学習部14からの状態ベクトルx1t乃至x4tと、出力層63の各ユニットから1つ前(1時刻前)に出力された、時刻tの状態ベクトルの予測値である出力データXo1t乃至Xo4tとを、以下の式(1)にしたがって加算し、その結果得られるデータを学習データとして、入力層61に入力する。
Figure 2007280059
なお、式(1)では、xkt,Xikt,Xokt,αsk(0≦αsk≦1)は、それぞれ、k(図5の例では、k=1,2,3,4)次元目の状態ベクトル、入力層に入力される入力データ、出力層から出力された出力データ、学習入力重みを表す。
式(1)によれば、入力重みαskが1である場合、学習部14からの状態ベクトルxktだけが入力層61に入力され、入力重みαskが0である場合、出力データXoktだけが入力層61に入力される。従って、入力重みαskの値を調整することにより、学習時に着目すべき時系列データの次元を調整することができる。
例えば、入力重みαs1とαs3が1であり、入力重みαs2とαs4が0である場合、加算部60に入力される4次元の時系列データにおける状態ベクトルx1t乃至x4tのうち、センサ信号に対応する1次元の時系列データにおける状態ベクトルx1tとモータ信号に対応する1次元の時系列データにおける状態ベクトルx3tだけが、入力層61に入力され、その結果、状態ベクトルx1tとx3tだけに着目して、学習が行われる。
この場合、状態ベクトルx2tとx4tに対応する入力層61のユニットは、入力層61の回帰ループで結合されるコンテキストユニットと同様の機能を果たす。
また、入力重みα1乃至α4がすべて0.5である場合、加算部60に入力される4次元すべての時系列データにおける状態ベクトルx1t乃至x4tに対して、同一の重みで着目して、学習が行われる。この場合、加算部60は、式(1)にしたがって、状態ベクトルx1t乃至x4tと、その1つ前の出力データXo1t乃至Xo4tとを、同一の割合で次元ごとに足し合わせ、それぞれを入力層61の各ユニットに入力する。
以上のように、学習入力重みαskに基づいて、学習部14から入力される各次元の時系列データに対して重み付けが行われるので、入力される各次元の時系列データのうち、学習時に着目すべき時系列データだけに着目し、ダイナミクスを効率的に学習することができる。その結果、学習処理の負荷を軽減することができる。
なお、入力層61のコンテキストユニットには、出力層63のコンテキストユニットから1つ前に出力された出力データが、時刻tのコンテキストCtとして入力される。
一方、学習部14は、時刻tの状態ベクトルx1t乃至x4tに対して、時刻t+1の状態ベクトルを予測して、出力することを学習するので、学習に利用される評価値として、以下の式(2)にしたがって求められる、時刻t+1の状態ベクトルの予測値と真値の重み付き平均二乗誤差Eが用いられる。
Figure 2007280059
なお、式(2)において、βsk(0≦βsk≦1)は、k次元目の出力重みを表している。また、nは、次元数を表し、図5の例では、4である。
式(2)によれば、学習部14から供給される時系列データにおける時刻t+1の状態ベクトルxkt+1を、時刻t+1の真値として、その状態ベクトルxkt+1と、時刻t+1の状態ベクトルの予測値である出力データXokt+1、即ち1時刻前の時刻tの状態ベクトルxktを入力することにより得られる出力データXokt+1との平均二乗誤差が次元ごとに求められ、その平均二乗誤差が出力重みβskで重み付けされて足し合わされる。従って、出力重みβskの値を調整することにより、学習時の評価値として着目すべき出力データの次元を調整することができる。
例えば、出力重みβs1とβs3が1であり、出力重みβs2とβs4が0である場合、出力層63の各ユニットから出力される出力データXo1t+1乃至Xo4t+1のうち、センサ信号に対応する1次元の時系列データにおける状態ベクトルXo1tとモータ信号に対応する1次元の時系列データにおける状態ベクトルXo3tだけに着目して得られた平均二乗誤差Eが評価値として用いられる。
学習部14は、このようにして求められた平均二乗誤差Eを最小化するパラメータを推定し、パラメータを更新する。
以上のように、学習部14は、学習出力重みβskに基づいて各次元の平均二乗誤差に対して重み付けを行うので、その結果得られた平均二乗誤差Eを評価値として用いることにより、出力される各次元の時系列データのうち、学習時の評価値として着目すべき時系列データだけに着目した評価値を用いて学習を行うことができる。その結果、多次元の時系列データに基づいて、ダイナミクスを効率的に学習することができる。
図6は、図1の学習部14の詳細構成例を示すブロック図である。
学習部14は、信頼度抽出部81、入力重み調整部82、出力重み調整部83、スコア計算部84、勝者ノード決定部85、学習重み決定部86、およびパラメータ更新部87により構成される。学習部14には、図1の特徴抽出部13から時系列データが入力され、その時系列データは、信頼度抽出部81、スコア計算部84、およびパラメータ更新部87に供給される。
なお、特徴抽出部13から入力される時系列データには、付加情報として、各次元の信頼度ρk(0≦ρk≦1)が付加されているものとする。ここで、信頼度ρkは、k次元目の時系列データに対応する観測信号11の観測確率である。即ち、k次元目の時系列データに対応する観測信号11が観測された場合には、信頼度ρkが高くなり、観測されない場合には、信頼度ρkが低くなる。なお、ここで、信頼度ρkが高いとは、信頼度ρkの値が大きいことであり、信頼度ρkが低いとは、信頼度ρkの値が小さいことである。
例えば、観測信号11である音声信号のパワーが大きい場合、即ち音声が聞こえる場合、特徴抽出部13は、その音声信号に対応する次元の時系列データに付加する信頼度ρkを1とし、音声信号のパワーが小さい場合、即ち音声が聞こえない場合、その信頼度ρkを0とする。
また、観測信号11であるモータ信号の電圧が高い場合、即ちモータが駆動している場合、そのモータ信号に対応する次元の時系列データに付加する信頼度ρkを1とし、モータ信号の電圧が低い場合、即ちモータが駆動していない場合、信頼度ρkを0とする。
なお、信頼度ρkを求める方法は、上述した方法に限定されず、例えば各次元の時系列データに対応する観測信号11に重畳されている雑音信号の大小を計測または予測し、雑音信号が大きい場合には、対応する時系列データに付加する信頼度ρを高くし、雑音信号が小さい場合には、その信頼度ρを低くする方法であってもよい。
この信頼度ρkを求める方法は、どのような観測信号11が入力されるか、特徴抽出部13がどのような特徴量を抽出するかなどによって決定することができる。
信頼度抽出部81は、このようにして求められた信頼度ρkが付加された各次元の時系列データから、各次元の信頼度ρkを抽出し、入力重み調整部82と出力重み調整部83に供給する。
入力重み調整部82は、信頼度抽出部81からの各次元の信頼度ρkに基づいて、図4の入力重み記憶部52に記憶されている学習入力重みαskを次元ごとに調整する。具体的には、入力重み調整部82は、信頼度ρkに基づいて、信頼度ρkが高い次元の学習入力重みαskが大きくなり、信頼度ρkが低い次元の学習入力重みαskが小さくなるように、学習入力重みαskを決定し、その学習入力重みαskを入力重み記憶部52に供給して記憶させる。
出力重み調整部83は、入力重み調整部82と同様に、信頼度抽出部81からの各次元の信頼度ρkに基づいて、出力重み記憶部53に記憶されている学習出力重みβskを次元ごとに調整する。
スコア計算部84は、特徴抽出部13からの時系列データに対する、ネットワーク記憶部15に記憶されているダイナミクス記憶ネットワークに含まれる各ノード41(図4)の力学系近似モデル51のスコア計算を、内部状態量を更新しながら行う。
具体的には、スコア計算部84は、時系列データを、各ノード41の力学系近似モデル51の加算部60に入力し、その入力に対する出力である出力データを、力学系近似モデル51の出力層63から得る。そして、スコア計算部84は、式(2)にしたがって平均二乗誤差Eを、ノード41ごとに評価値として計算する。スコア計算部84は、その平均二乗誤差Eをスコアとして、各ノード41に付与する。
なお、スコア計算部84は、ノード41ごとに、所定の値を基準として、以下の式(3)にしたがって、その所定の値を更新していくことにより得られる値のうちの、スコアを最も小さくする値を、内部状態量としての力学系近似モデル51のコンテキストの初期値C0に決定し、コンテキストを初期値から更新しながら、スコア計算を行う。
Figure 2007280059
なお、式(3)において、C0,m(s)は、s(s=0,1,・・・)回目に更新される、m個目のコンテキストユニットに入力されるコンテキストの初期値を表し、ΔC0,m(s+1)は、m個目のコンテキストユニットに入力されるコンテキストの初期値の、s+1回目の更新の更新量であり、以下の式(4)により求められる。
Figure 2007280059
式(4)において、ηは学習係数を表し、γは慣性係数を表す。また、δC0,mは、平均二乗誤差Eを用いてBPTT法によって求められるコンテキストの初期値C0,m(S)の誤差量を表している。
なお、BPTT法において、入力層61のコンテキストユニットに入力される時刻t+1のコンテキストCt+1の誤差量δc(t+1)を、出力層61のコンテキストユニットから出力される時刻tのコンテキストCtの誤差量δc(t)に逆伝播する際、以下の式(5)に示すように、任意の正の係数mで割ることにより、コンテキストの時定数の調整を行う。
Figure 2007280059
BPTT法において式(5)を採用することにより、コンテキストの1タイムステップ先の影響度を調整することができる。
コンテキストの初期値の決定に用いる所定の値、即ち初期値C0,m(0)としては、例えば、ランダムな値や、前回の力学系近似モデル51の学習時に求められた、コンテキストの最終的な更新値(以下、前回更新値という)などを採用することができる。
例えば、今回の学習時に用いられる学習データと、前回の学習時に用いられた学習データとが、何らの関係もないことが分かっている場合には、初期値C0,m(0)としては、ランダムな値を採用することができる。
また、例えば、今回の学習時に用いられる学習データと、前回の学習時に用いられた学習データとが、連続する時系列データなどのように、何らかの関係を有することが分かっている場合には、初期値C0,m(0)としては、前回更新値を採用することができる。なお、前回更新値を、初期値C0,m(0)として採用する場合には、更新を行わず、前回更新値を、そのまま、コンテキストの初期値に決定することができる。
スコア計算部84は、スコア計算の結果、各ノード41に付与されたスコアを勝者ノード決定部85に供給する。勝者ノード決定部85は、スコア計算部84からの各ノード41のスコアを比較し、最もスコアの値が小さいノード41を、学習データに最も適合するノードである勝者ノードとして決定する。勝者ノード決定部85は、その勝者ノードを特定する情報を学習重み決定部86に供給する。
学習重み決定部86は、ネットワーク記憶部15に記憶されているダイナミクス記憶ネットワークを参照し、勝者ノード決定部85からの情報により特定される勝者ノードからの距離dを、ノード41ごとに計算する。そして、学習重み決定部86は、その距離dに応じて、勝者ノードに対する値が最も大きくなり、勝者ノードからの距離dが大きくなるにしたがって値が小さくなるように、ノード41ごとに学習の重みを決定する。
また、学習重み決定部86は、学習の重みに基づいて、各ノード41の度合情報を生成する。具体的には、学習重み決定部86は、学習の重みに応じて、学習の重みが大きいノード41の学習の度合が大きくなり、学習の重みが小さいノード41の学習の度合が小さくなるように、各ノード41の度合情報を生成する。そして、学習重み決定部86は、生成した度合情報を各ノード41の学習度合記憶部54にそれぞれ供給し、記憶させる。
これにより、勝者ノードにおいて最も強く学習が行われ、勝者ノードからの距離dが大きくなるにしたがって学習の度合が弱くなるように、学習の度合が調整される。
パラメータ更新部87は、ノード41ごとに、学習度合記憶部54に記憶されている度合情報を読み出し、その度合情報が表す度合で、特徴抽出部13から供給される学習データの時系列パターンをダイナミクスとして学習する。
具体的には、パラメータ更新部87は、ノード41ごとに、時系列データを各ノード41の加算部60に入力し、その入力に対する出力である出力データを、力学系近似モデル51の出力層63から得る。そして、スコア計算部84は、式(2)にしたがって平均二乗誤差Eを、ノード41ごとに評価値として計算する。
パラメータ更新部87は、その平均二乗誤差E、時系列データ、および度合情報に基づいて、以下の式(6)にしたがい、BPTT法における繰り返し計算を行い、力学系近似モデル51のパラメータを更新する。
Figure 2007280059
なお、式(6)において、wi,j(s)は、s(s=0,1,・・・)回目の繰り返し計算で更新される、ユニットiとjの結合に付与された結合重みを表す。ここで、式(6)にしたがう更新は、度合情報である繰り返し回数行われる。即ち、sは、0から、繰り返し回数から1を減算した値までの数である。Δwi,j(s+1)は、結合重みwi,jの、s+1回目の更新の更新量であり、以下の式(7)により求められる。
Figure 2007280059
式(7)において、δwijは、平均二乗誤差Eを用いてBPTT法によって求められる結合重みwi,j(s)の誤差量を表している。
以上のように、パラメータ更新部87は、学習出力重みβskに基づいて計算された平均二乗誤差Eを用いてBPTT法によって誤差を逆伝播するので、学習出力重みβskにより、誤差を逆伝播する際に着目すべき出力データの次元が調整されることになる。即ち、学習出力重みβskにより、パラメータの更新時に着目すべき出力データの次元が調整されることになる。
また、パラメータ更新部87は、勝者ノードにおいて最も強く学習が行われ、勝者ノードからの距離dが大きくなるにしたがって学習の度合が弱くなるように調整された学習の重みに基づく学習、即ちノード41の競合近傍学習を行うので、多数のダイナミクスを自己組織的に学習することができる。
次に、図7を参照して、図1の情報処理装置1がダイナミクス記憶ネットワークを学習する学習処理について説明する。この学習処理は、例えば、図1の情報処理装置1の電源がオンにされたとき、開始される。
まず最初に、ステップS1において、学習部14のパラメータ更新部87(図5)は、ネットワーク記憶部15に記憶されたダイナミクス記憶ネットワークのパラメータを初期化する。具体的には、ダイナミクス記憶ネットワークの各ノード41の力学系近似モデル51のパラメータに適当な値が初期値として付与される。
ステップS1の処理後は、ステップS2に進み、図1の信号入力部12は、観測信号11を取得して、特徴抽出部13に供給し、ステップS3に進む。ステップS3において、特徴抽出部13は、その観測信号11の特徴量を次元ごとに時系列に抽出し、その結果得られる各次元の時系列データを学習データとして、学習部14の信頼度抽出部81、スコア計算部84、およびパラメータ更新部87に供給する。なお、このとき、特徴抽出部13は、次元ごとに、時系列データに信頼度ρkを付加する。
ステップS3の処理後は、ステップS4に進み、信頼度抽出部81は、特徴抽出部13からの各次元の時系列データに付加された信頼度ρkを抽出し、入力重み調整部82と出力重み調整部83に供給して、ステップS5に進む。
ステップS5において、入力重み調整部82は、信頼度抽出部81からの信頼度ρkに基づいて、各ノード41の入力重み記憶部52に記憶されている学習入力重みαskを調整し、ステップS6に進む。
ステップS6において、出力重み調整部83は、入力重み調整部82と同様に、信頼度抽出部81からの信頼度ρkに基づいて、各ノード41の出力重み記憶部53に記憶されている学習出力重みβskを調整し、ステップS7に進む。
ステップS7において、スコア計算部84は、特徴抽出部13からの学習データに対する、ネットワーク記憶部15に記憶されているダイナミクス記憶ネットワークに含まれる各ノード41の力学系近似モデル51のスコア計算を、内部状態量を更新しながら行う。スコア計算部84は、スコア計算の結果、各ノード41に付与したスコアを、勝者ノード決定部85に供給する。
ステップS7の処理後は、ステップS8に進み、勝者ノード決定部85は、勝者ノード決定部85から供給される各ノード41のスコアを比較することによって、最もスコアの値が小さいノードを勝者ノードとして決定し、その勝者ノードを特定する情報を、学習重み決定部86に供給する。
ステップS8の処理後は、ステップS9に進み、学習重み決定部86は、ネットワーク記憶部15に記憶されているダイナミクス記憶ネットワークを参照し、勝者ノードからの距離dに基づいてノード41ごとに学習の重みを決定する。
ステップS9の処理後は、ステップS10に進み、学習重み決定部86は、各ノード41の学習の重みに基づいて、各ノード41の度合情報を生成し、その度合情報を各ノード41の学習度合記憶部54にそれぞれ供給して記憶させる。
ステップS10の処理後は、ステップS11に進み、パラメータ更新部87は、ノード41ごとに、特徴抽出部13からの学習データと度合情報に基づいて、BPTT法における繰り返し計算を行い、力学系近似モデル51のパラメータを更新する。その後、処理は、ステップS2に戻り、以降の処理が繰り返される。以上のようにして、度合情報が表す度合で、ダイナミクスの学習が行われる。
図8は、図1の学習部の他の詳細構成例を示すブロック図である。
学習部100には、信頼度抽出部81、入力重み調整部82、出力重み調整部83の代わりに、重み取得部101、入力重み抽出部102、出力重み調整部103が設けられている。
即ち、図8では、特徴抽出部13から入力される時系列データには、各次元の信頼度ρkが付加されておらず、外部から学習入力重みαskと学習出力重みβskが直接入力される。
重み取得部101は、外部から入力された学習入力重みαskと学習出力重みβskを取得する。そして、重み取得部101は、その学習入力重みαskを入力重み調整部102に供給し、学習出力重みβskを出力重み調整部103に供給する。
入力重み調整部102は、重み取得部101からの学習入力重みαskを、入力重み記憶部52に記憶させることにより、学習入力重みαskを調整する。
出力重み調整部103は、入力重み調整部102と同様に、重み取得部101からの学習出力重みβskを、出力重み記憶部53に記憶させることにより、学習出力重みβskを調整する。
次に、図9を参照して、図8の学習部100を有する情報処理装置がダイナミクス記憶ネットワークを学習する学習処理について説明する。この学習処理は、例えば、情報処理装置の電源がオンにされたとき、開始される。
まず最初に、ステップS21において、学習部100のパラメータ更新部87(図8)は、ネットワーク記憶部15に記憶されたダイナミクス記憶ネットワークのパラメータを初期化する。具体的には、ダイナミクス記憶ネットワークの各ノード41の力学系近似モデル51のパラメータに適当な値が初期値として付与される。
ステップS21の処理後は、ステップS22に進み、信号入力部12は、観測信号11を取得して、特徴抽出部13に供給し、ステップS23に進む。ステップS23において、特徴抽出部13は、その観測信号11の特徴量を次元ごとに時系列に抽出し、その結果得られる各次元の時系列データを学習データとして、学習部14のスコア計算部84とパラメータ更新部87に供給する。
ステップS23の処理後は、ステップS24に進み、重み取得部101は、外部から入力された学習入力重みαskと学習出力重みβskを取得する。そして、重み取得部101は、その学習入力重みαskを入力重み調整部102に供給し、学習出力重みβskを出力重み調整部103に供給する。
ステップS24の処理後は、ステップS25に進み、入力重み調整部102は、重み取得部101からの学習入力重みαskを、入力重み記憶部52に記憶させることにより、学習入力重みαskを調整し、ステップS26に進む。
ステップS26において、出力重み調整部103は、入力重み調整部102と同様に、重み取得部101からの学習出力重みβskを、出力重み記憶部53に記憶させることにより、学習出力重みβskを調整し、ステップS27に進む。
ステップS27乃至S31の処理は、図7のステップS7乃至S11と同一であるので、説明は省略する。
図10は、図1の学習部のさらに他の詳細構成例を示すブロック図である。
学習部120は、図6の学習部14の各部に、さらに基重み決定部121が追加されることにより構成される。
基重み決定部121には、信頼度抽出部81から各次元の信頼度ρkが供給される。基重み決定部121は、信頼度ρkに基づいて、後述する認識生成時に用いられる入力重みと出力重みの基となる基重みωk(0≦ωk≦1)を決定する。具体的には、基重み決定部121は、学習を始める前に、基重みωkを1とし、信頼度抽出部81から供給される信頼度ρkに基づいて、式(8)にしたがい基重みωkを更新する。従って、学習に伴って、基重みωkが調整されていく。
Figure 2007280059
なお、式(8)において、ω´kは更新後の基重みを表し、Δ(0<Δ<1)は、更新による基重みωkの変化のステップ幅を表し、例えば0.05とされる。
式(8)によれば、信頼度ρkとして定常的な値が入力され続け、基重みωkの更新が十分に行われると、基重みωkは信頼度ρkに収束していく。即ち、基重みωkは、信頼度ρkが高く、学習時に着目すべき次元に対する値が大きくなるように調整される。
例えば、センサ信号に対応する2次元の時系列データにおける時刻tの状態ベクトルx1tとx2t、並びにモータ信号に対応する2次元の時系列データにおける時刻tの状態ベクトルx3tとx4tのうち、状態ベクトルx1tとx3tに着目して学習が行われたノード41に対応する基重みω1とω3は、1となり、基重みω2とω4は0となる。
基重み決定部121は、更新後の基重みω´kを新しい基重みωkに決定し、ネットワーク記憶部15に記憶されているノード141(後述する図11)に供給して記憶させる。
図11は、基重みωkが記憶される場合のノード141の詳細を示す図である。
図11のノード141は、内部状態量を持つ力学系近似モデル51、入力重み記憶部52、出力重み記憶部53、学習度合記憶部54、および基重み記憶部142により構成される。なお、図4と同一のものには同一の符号を付してあり、説明は繰り返しになるので省略する。
基重み記憶部142は、図10の基重み決定部121から供給される各次元の基重みωkを記憶する。この基重みωkは、後述する認識生成時に用いられる入力重みと出力重みを調整するときに用いられる。
次に、図12を参照して、図10の学習部120を有する情報処理装置がダイナミクス記憶ネットワークを学習する学習処理について説明する。この学習処理は、例えば、情報処理装置の電源がオンにされたとき、開始される。
ステップS41乃至S46の処理は、図7のステップS1乃至S6の処理と同一であるので、説明は省略する。
ステップS46の処理後は、ステップS47に進み、図10の基重み決定部121は、信頼度抽出部81からの信頼度ρkに基づいて、上述した式(8)にしたがい基重みωkを決定し、ステップS48に進む。
ステップS48乃至S52の処理は、図7のステップS7乃至S11の処理と同一であるので、説明は省略する。
以上のように、図1の情報処理装置は、学習入力重みαskと学習出力重みβskに基づいて重み付けを行うことにより、ダイナミクスを効率的に学習することができるので、より安定した学習を行うことができる。また、このようにして学習されたダイナミクスを保持するダイナミクス記憶ネットワークを用いて、認識や生成を行うことにより、より安定した認識や生成を行うことができる。
[認識生成について]
図13は、図1の情報処理装置1の認識部16と生成部19の詳細構成例を示している。
ここで、時系列データの認識生成とは、入力された時系列データを認識し、その認識結果に基づいて、新たな時系列データを生成することである。
認識生成によれば、例えば、人間がロボットに呼びかける音声を発した場合に、そのロボットにおいて、その呼びかけに応じた動きをとるためのモータ信号や、その呼びかけに応答する合成音を生成するためのパラメータ信号等が生成される。
図13に示すように、認識部16は、信頼度抽出部211、入力重み調整部212、出力重み調整部213、内部状態量更新部214、スコア計算部215、決定部216、および出力部217により構成される。
なお、特徴抽出部13から出力される時系列データには、付加情報として、各次元の信頼度ρkが付加されているものとする。
信頼度抽出部211は、信頼度ρkが付加された各次元の時系列データから、各次元の信頼度ρkを抽出し、入力重み調整部212と出力重み調整部213に供給する。
入力重み調整部212は、信頼度抽出部211からの信頼度ρkに基づいて、図4の入力重み記憶部52に記憶されている、認識時に用いられる入力重み(以下、認識入力重みという)αrk(0≦αrk≦1)を調整する。具体的には、入力重み調整部212は、信頼度ρkに基づいて、信頼度ρkが高い次元に対する値が大きくなり、信頼度ρkが低い次元に対する値が小さくなるように、認識入力重みαrkを決定し、その認識入力重みαrkを入力重み記憶部52に供給して記憶させる。
出力重み調整部213は、入力重み調整部212と同様に、信頼度抽出部211からの信頼度ρkに基づいて、出力重み記憶部53に記憶されている、認識時に用いられる出力重み(以下、認識出力重みという)βrk(0≦βrk≦1)を調整する。
内部状態量更新部214は、内部状態記憶部21から、前回更新されて記憶されている内部状態量を、ダイナミクス記憶ネットワークの各ノード41の力学系近似モデル51へ読み込む。具体的には、内部状態量更新部214は、内部状態記憶部21から内部状態量を読み出し、その内部状態量を、各ノード41の力学系近似モデル51の内部状態量として、スコア計算部215に供給する。
これにより、力学系近似モデル51において、入力となる時系列データに基づいて、内部状態量更新部214が読み込んだ値を初期値として、内部状態量を更新することが可能となる。
また、内部状態量更新部214は、スコア計算部215から供給される、決定部216により勝者ノードが決定されるときの各ノード41の内部状態量の更新値(更新された内部状態量)と、その勝者ノードが決定されるときの各ノード41の内部状態量の初期値とを、内部状態記憶部21に記憶させる。
ここで、内部状態記憶部21に記憶された内部状態量の更新値は、力学系近似モデル51へ読み込まれ、次回のスコア計算に利用される。また、内部状態記憶部21に記憶された内部状態量の初期値は、生成部19において、時系列データの生成時に利用される。
スコア計算部215は、スコア計算部84と同様に、特徴抽出部13からの時系列データに対する、ネットワーク記憶部15に記憶されているダイナミクス記憶ネットワークに含まれる各ノード41の力学系近似モデル51のスコア計算を、内部状態量を更新しながら行う。
即ち、スコア計算部215は、時系列データを、各ノード41の力学系近似モデル51の加算部60に入力し、その入力に対する出力である出力データを、力学系近似モデル51の出力層63から得る。なお、加算部60は、学習時と同様に、認識入力重みαrkに基づいて、上述した式(1)の学習入力重みαskを認識入力重みαrkとした式にしたがって重み付けを行う。従って、認識入力重みαrkを調整することにより、認識時に着目すべき時系列データの次元を調整することができる。
スコア計算部215はまた、上述した式(2)の学習出力重みβskを認識出力重みβrkとした式にしたがって平均二乗誤差を、ノード41ごとに評価値として計算する。従って、認識出力重みβkを調整することにより、認識時の評価値として着目すべき時系列データの次元を調整することができる。スコア計算部84は、その平均二乗誤差をスコアとして、各ノード41に付与する。
なお、スコア計算部215は、ノード41ごとに、認識時の評価値として求められた平均二乗誤差を用いて求められた誤差量δco,mを用いて、上述した式(3)と式(4)にしたがって、その所定の値を更新していくことにより得られる値のうちの、スコアを最も小さくする値を、力学系近似モデル51の内部状態量としてのコンテキストの初期値C0,mに決定し、コンテキストを初期値C0,mから更新しながら、スコア計算を行う。
スコア計算部215は、スコア計算の結果、各ノード41に付与されたスコアを、決定部216に供給するとともに、そのスコアが付与されたときの各ノード41の内部状態量の更新値と初期値を、勝者ノードが決定されるときの各ノード41の内部状態量の更新値と初期値として、内部状態量更新部214に供給する。
以上のように、認識入力重みαrkに基づいて、スコア計算部215から入力される時系列データに対して重み付けが行われ、認識出力重みβrkに基づく重み付き平均二乗誤差が認識時の評価値とされるので、入力される時系列データのうち、認識時に着目すべき時系列データだけに着目して認識を行うことができる。その結果、認識処理の負荷を軽減し、多次元の時系列データに基づいて効率的に認識を行うことができる。また、認識の精度を向上させることができる。
決定部216は、スコア計算部215からのスコアに基づいて、最もスコアの値が小さいノードを、勝者ノードとして決定する。即ち、決定部216は、勝者ノードに対応するダイナミクスを、特徴抽出部13から入力された時系列データに最も適合するダイナミクスとして選択する。決定部216は、入力された時系列データに最も適合するダイナミクスに対応する勝者ノードを特定する信号を、出力部217に供給する。
出力部217は、決定部216からの勝者ノードを特定する信号を、認識結果17として出力する。以上のようにして、認識部16において、入力された時系列データが認識される。そして、認識の結果得られた認識結果17は、認識生成における生成の処理において、どのダイナミクスに対応するノード41から時系列データを生成するかを指定する制御信号18として用いられる。
図13の生成部19は、信頼度抽出部311、入力重み調整部312、出力重み調整部313、生成ノード決定部314、内部状態読み込み部315、時系列データ生成部316、および出力部317により構成される。
信頼度抽出部311は、信頼度ρkが付加された各次元の時系列データから、各次元の信頼度ρkを抽出し、入力重み調整部312と出力重み調整部313に供給する。
入力重み調整部312は、信頼度抽出部311からの信頼度ρkに基づいて、図4の入力重み記憶部52に記憶されている、生成時に用いられる入力重み(以下、生成入力重みという)αgk(0≦αgk≦1)を調整する。具体的には、入力重み調整部312は、信頼度ρkに基づいて、信頼度ρkが高い次元の値が大きくなり、信頼度ρkが低い次元の値が小さくなるように、認識入力重みαgkを決定し、その認識入力重みαgkを入力重み記憶部52に供給して記憶させる。
出力重み調整部313は、入力重み調整部312と同様に、信頼度抽出部311からの信頼度ρkに基づいて、出力重み記憶部53に記憶されている、生成時に用いられる出力重み(以下、生成出力重みという)βgk(0≦βgk≦1)を調整する。
生成ノード決定部314には、出力部217から出力される認識結果17が、制御信号18として入力される。生成ノード決定部314は、制御信号18に基づいて、時系列データを生成すべきノード41である生成ノードを決定する。即ち、決定部216により決定された勝者ノードが、生成ノードとして決定される。生成ノード決定部314は、決定された生成ノードを特定する情報を、内部状態読み込み部315に供給する。
内部状態読み込み部315は、生成ノード決定部314からの情報に基づいて、ネットワーク記憶部15に記憶されたダイナミクス記憶ネットワークに含まれるノード41のうちの生成ノードの力学系近似モデル51に、内部状態記憶部21に記憶されている値を、内部状態量の初期値として読み込む。
即ち、内部状態読み込み部315は、内部状態記憶部21に記憶されている値のうちの、生成ノードが認識部16において勝者ノードに決定されたときの内部状態量の初期値を読み出し、その内部状態量の初期値を、生成ノードの力学系近似モデル51の内部状態量として、時系列データ生成部316に供給する。
時系列データ生成部316には、特徴抽出部13から供給される時系列データが供給される。時系列データ生成部316は、その時系列データに基づいて、内部状態量を更新しながら時系列データを生成する。
具体的には、時系列データ生成部316は、時系列データを生成ノードの力学系近似モデル51の加算部60に入力し、その入力に対する出力である出力データを、力学系近似モデル51の出力層63から得る。
なお、加算部60は、学習や認識時と同様に、生成入力重みαgkに基づいて、上述した式(1)の学習入力重みαskを生成入力重みαgkとした式にしたがって重み付けを行う。従って、生成入力重みαgkを調整することにより、生成時に着目すべき時系列データの次元を調整することができる。
また、時系列データ生成部316は、上述した式(2)の学習出力重みβskを生成出力重みβgkとした式にしたがって平均二乗誤差を、ノード41ごとに評価値として計算する。従って、生成出力重みβgkを調整することにより、生成時の評価値として着目すべき時系列データの次元を調整することができる。
そして、時系列データ生成部316は、ノード41ごとに、所定の値を基準として、生成時の評価値として求められた平均二乗誤差を用いて得られたδco,mを用いて、上述した式(3)と式(4)にしたがって、その所定の値を更新していくことにより得られる値のうちの、平均二乗誤差を最も小さくする値を、内部状態量としての力学系近似モデル51のコンテキストの初期値C0,mに決定し、力学系近似モデル51に、コンテキストを初期値C0,mから更新しながら、出力データを出力させる。
時系列データ生成部316は、生成ノードに対応する力学系近似モデル51から得た各次元の出力データに対して、生成出力重みβgkに基づいて重み付けを行い、その結果を時系列データとして生成する。即ち、時系列データ生成部316は、生成出力重みβgkに対応する割合で、各次元の時系列データを生成する。そして、時系列データ生成部316は、生成した時系列データを、出力部317に供給する。
以上のように、生成入力重みαgkに基づいて、特徴抽出部13から入力される時系列データに対して重み付けが行われ、生成出力重みβgkに基づいて、力学系近似モデル51からの出力データに対して重み付けが行われるので、入力される時系列データのうち、生成時に着目すべき時系列データだけに着目して、時系列データを生成することができる。その結果、情報処理装置1に入力された時系列データに矛盾する時系列データが生成されることを防止することができる。
出力部317は、時系列データ生成部316からの時系列データを、生成結果20として出力する。以上のようにして、生成部19は、認識部16による認識の処理において決定された勝者ノードから、時系列データを生成結果20として生成し、出力する。
次に、図14を参照して、図13の認識部16が時系列データを認識する認識処理について説明する。この認識処理は、例えば、特徴抽出部13から時系列データが入力されたとき、開始される。
ステップS71において、信頼度抽出部211は、信頼度ρkが付加された各次元の時系列データから、各次元の信頼度ρkを抽出し、入力重み調整部212と出力重み調整部213に供給する。
ステップS71の処理後は、ステップS72に進み、入力重み調整部212は、信頼度抽出部211からの信頼度ρkに基づいて、図4の入力重み記憶部52に記憶されている、認識時に用いられる認識入力重みαrkを調整する。
ステップS72の処理後は、ステップS73に進み、出力重み調整部213は、入力重み調整部212と同様に、信頼度抽出部211からの信頼度ρkに基づいて、出力重み記憶部53に記憶されている、認識時に用いられる認識出力重みβrkを調整する。
ステップS73の処理後は、ステップS74に進み、内部状態量更新部214は、内部状態記憶部21から、前回更新されて記憶されている内部状態量を、ダイナミクス記憶ネットワークの各ノード41の力学系近似モデル51へ読み込む。
ステップS74の処理後は、ステップS75に進み、スコア計算部215は、特徴抽出部13からの時系列データに対する、ネットワーク記憶部15に記憶されているダイナミクス記憶ネットワークに含まれる各ノード41の力学系近似モデル51のスコア計算を、内部状態量を更新しながら行う。
スコア計算部215は、スコア計算の結果、各ノード41に付与されたスコアを、決定部216に供給するとともに、そのスコアが付与されたときの各ノード41の内部状態量の更新値と初期値を、勝者ノードが決定されるときの各ノード41の内部状態量の更新値と初期値として、内部状態量更新部214に供給する。
ステップS75の処理後は、ステップS76に進み、内部状態量更新部214は、スコア計算部215から供給される、決定部216により勝者ノードが決定されるときの各ノード41の内部状態量の更新値と、その勝者ノードが決定されるときの各ノード41の内部状態量の初期値とを、内部状態記憶部21に記憶させる。
ステップS76の処理後は、ステップS77に進み、決定部216は、スコア計算部215からのスコアに基づいて、最もスコアの値が小さいノードを、勝者ノードとして決定する。決定部216は、勝者ノードを特定する信号を、出力部217に供給する。
ステップS77の処理後は、ステップS78に進み、出力部217は、決定部216からの勝者ノードを特定する信号を、認識結果17として出力し、処理を終了する。
次に、図15を参照して、図13の生成部19が時系列データを生成する生成処理について説明する。この生成処理は、例えば、出力部217から出力された認識結果17が制御信号18として入力されたとき、開始される。
ステップS91において、信頼度抽出部311は、信頼度ρkが付加された各次元の時系列データから、各次元の信頼度ρkを抽出し、入力重み調整部312と出力重み調整部313に供給する。
ステップS91の処理後は、ステップS92に進み、入力重み調整部312は、信頼度抽出部311からの信頼度ρkに基づいて、図4の入力重み記憶部52に記憶されている、生成時に用いられる生成入力重みαgkを調整する。
ステップS92の処理後は、ステップS93に進み、出力重み調整部313は、入力重み調整部312と同様に、信頼度抽出部311からの信頼度ρkに基づいて、出力重み記憶部53に記憶されている、生成時に用いられる生成出力重みβgkを調整する。
ステップS93の処理後は、ステップS94に進み、生成ノード決定部314は、制御信号18に基づいて、時系列データを生成すべきノード41である生成ノードを決定する。生成ノード決定部314は、決定された生成ノードを特定する情報を、内部状態読み込み部315に供給する。
ステップS94の処理後は、ステップS95に進み、内部状態読み込み部315は、生成ノード決定部314からの情報に基づいて、ネットワーク記憶部15に記憶されたダイナミクス記憶ネットワークに含まれるノード41のうちの生成ノードの力学系近似モデル51に、内部状態記憶部21に記憶されている内部状態量の初期値を読み込む。
ステップS95の処理後は、ステップS96に進み、時系列データ生成部316は、特徴抽出部13から供給される時系列データに基づいて、内部状態量を更新しながら、時系列データを生成する。時系列データ生成部316は、生成した時系列データを出力部317に供給する。
ステップS96の処理後は、ステップS97に進み、出力部317は、時系列データ生成部316からの時系列データを、生成結果20として出力し、処理を終了する。
図16は、図1の認識部と生成部の他の詳細構成例を示すブロック図である。
図16の認識部401には、信頼度抽出部211、入力重み調整部212、出力重み調整部213の代わりに、信頼度抽出部411、入力重み抽出部412、出力重み調整部413が設けられている。
即ち、図16では、特徴抽出部13から入力される時系列データには、各次元の信頼度ρkが付加されておらず、外部から認識入力重みαrkと認識出力重みβrkが直接入力される。
重み取得部411は、外部から入力された認識入力重みαrkと認識出力重みβrkを取得する。そして、重み取得部411は、その認識入力重みαrkを入力重み調整部412に供給し、認識出力重みβrkを出力重み調整部413に供給する。
入力重み調整部412は、重み取得部411からの認識入力重みαrkを、入力重み記憶部52に記憶させることにより、認識入力重みαrkを調整する。
出力重み調整部413は、入力重み調整部412と同様に、重み取得部411からの認識出力重みβrkを、出力重み記憶部53に記憶させることにより、認識出力重みβrkを調整する。
また、図16の生成部402には、信頼度抽出部311、入力重み調整部312、出力重み調整部313の代わりに、信頼度抽出部421、入力重み抽出部422、出力重み調整部423が設けられている。即ち、図16では、外部から生成入力重みαrkと生成出力重みβrkが直接入力される。
重み取得部421は、外部から入力された生成入力重みαrkと生成出力重みβrkを取得する。そして、重み取得部421は、その生成入力重みαrkを入力重み調整部422に供給し、生成出力重みβrkを出力重み調整部423に供給する。
入力重み調整部422は、重み取得部421からの生成入力重みαrkを、入力重み記憶部52に記憶させることにより、生成入力重みαrkを調整する。
出力重み調整部423は、入力重み調整部422と同様に、重み取得部421からの生成出力重みβrkを、出力重み記憶部53に記憶させることにより、生成出力重みβrkを調整する。
次に、図17を参照して、図16の認識部401が時系列データを認識する認識処理について説明する。この認識処理は、例えば、特徴抽出部13から時系列データが供給されたとき、開始される。
ステップS101において、重み取得部411は、外部から入力された認識入力重みαrkと認識出力重みβrkを取得する。そして、重み取得部411は、その認識入力重みαrkを入力重み調整部412に供給し、認識出力重みβrkを出力重み調整部413に供給する。
ステップS101の処理後は、ステップS102に進み、入力重み調整部412は、重み取得部411からの認識入力重みαrkを、入力重み記憶部52に記憶させることにより、認識入力重みαrkを調整する。
ステップS102の処理後は、ステップS103に進み、出力重み調整部413は、入力重み調整部412と同様に、重み取得部411からの認識出力重みβrkを、出力重み記憶部53に記憶させることにより、認識出力重みβrkを調整し、ステップS104に進む。
なお、ステップS104乃至S108の処理は、図14のステップS74乃至S78と同一の処理であるので、説明は省略する。
次に、図18を参照して、図16の生成部402が時系列データを生成する生成処理について説明する。この生成処理は、例えば、出力部217から出力された認識結果17が制御信号18として入力されたとき、開始される。
ステップS111において、重み取得部421は、外部から入力された生成入力重みαrkと生成出力重みβrkを取得する。そして、重み取得部421は、その生成入力重みαrkを入力重み調整部422に供給し、生成出力重みβrkを出力重み調整部423に供給する。
ステップS111の処理後は、ステップS112に進み、入力重み調整部422は、重み取得部421からの生成入力重みαrkを、入力重み記憶部52に記憶させることにより、生成入力重みαrkを調整する。
ステップS112の処理後は、ステップS113に進み、出力重み調整部423は、入力重み調整部422と同様に、重み取得部421からの生成出力重みβrkを、出力重み記憶部53に記憶させることにより、生成出力重みβrkを調整し、ステップS114に進む。
なお、ステップS114乃至S117の処理は、図15のステップS94乃至S97の処理と同一であるので、説明は省略する。
図19は、図1の認識部と生成部のさらに他の詳細構成例を示すブロック図である。
図19の認識部501には、図13の信頼度抽出部211、内部状態量更新部214の代わりに、信頼度計算部511、内部状態量更新部512が設けられている。
即ち、図19では、特徴抽出部13から入力される時系列データには、各次元の信頼度ρkが付加されておらず、認識部501において、入力された時系列データの信頼度ρkを計算する。
信頼度計算部511は、特徴抽出部13から供給される各次元の時系列データが供給される。信頼度計算部511は、その各次元の時系列データと内部状態量更新部512から供給される内部状態量の初期値とに基づいて、各次元の信頼度ρkを計算する。
具体的には、信頼度計算部511は、各次元の時系列データを、ネットワーク記憶部15に記憶されているダイナミクス記憶ネットワークの各ノード41の力学系近似モデル51の加算部60に入力するとともに、内部状態量の初期値としてのコンテキストを入力層61のコンテキストユニットに入力し、その入力に対する出力である出力データを、力学系近似モデル51の出力層63から得る。なお、このとき、加算部60は、入力された各次元の時系列データをそのまま、入力層61の各ユニットに供給する。
信頼度計算部511は、力学系近似モデル51に入力する時系列データと、その1つ前に力学系近似モデル51から得た出力データと、時系列データとに基づいて、次元ごとの、時系列データに対して得られるべき出力の真値と、その時系列データに対する力学系近似モデル51からの出力値の次元ごとの誤差である予測誤差εk(0<ε1<1)を、ノード41ごとに計算する。
そして、信頼度計算部511は、ノード41ごとに、予測誤差εkを用いて、以下の式(9)にしたがって各次元の信頼度ρkを計算する。
Figure 2007280059
式(9)によれば、予測誤差εkの大きい次元に対しては、小さい信頼度ρkが与えられ、予測誤差εkの小さい次元に対しては、大きい信頼度ρkが与えられる。
信頼度計算部511は、式(9)にしたがう計算の結果得られる信頼度ρkを、入力重み調整部212と出力重み調整部213に供給する。
内部状態量更新部512は、内部状態記憶部21から、前回更新されて記憶されている内部状態量を、ダイナミクス記憶ネットワークの各ノード41の力学系近似モデル51へ読み込む。
具体的には、内部状態量更新部512は、内部状態記憶部21から前回更新されて記憶されている内部状態量を読み出し、その内部状態量を、各ノード41の力学系近似モデル51の内部状態量の初期値として、信頼度計算部511に供給したり、スコア計算部215に供給する。
また、内部状態量更新部512は、図13の内部状態量更新部214と同様に、スコア計算部215から供給される、決定部216により勝者ノードが決定されるときの各ノード41の内部状態量の更新値と、その勝者ノードが決定されるときの各ノード41の内部状態量の初期値とを、内部状態記憶部21に記憶させる。
また、図19の生成部502には、図13の信頼度抽出部311、内部状態読み込み部315の代わりに、信頼度計算部521、内部状態読み込み部522が設けられている。即ち、図19では、生成部502において、入力された時系列データの信頼度ρkを計算する。
信頼度計算部521は、信頼度計算部501と同様に、特徴抽出部13から供給される各次元の時系列データが供給される。信頼度計算部521は、信頼度計算部501と同様に、その各次元の時系列データと内部状態読み込み部522から供給される内部状態量の初期値とに基づいて、各次元の信頼度ρkを計算する。信頼度計算部511は、計算の結果得られる信頼度ρkを、入力重み調整部312と出力重み調整部313に供給する。
内部状態読み込み部522は、生成ノード決定部314からの情報に基づいて、ネットワーク記憶部15に記憶されたダイナミクス記憶ネットワークに含まれるノード41のうちの生成ノードの力学系近似モデル51に、内部状態記憶部21に記憶されている値を、内部状態量の初期値として読み込む。
即ち、内部状態読み込み部522は、内部状態記憶部21に記憶されている値のうちの、生成ノードが認識部16において勝者ノードに決定されたときの内部状態量の初期値を読み出し、その内部状態量の初期値を、生成ノードの力学系近似モデル51の内部状態量の初期値として、信頼度計算部521と時系列データ生成部316に供給する。
次に、図20を参照して、図19の認識部501が時系列データを認識する認識処理について説明する。この認識処理は、例えば、特徴抽出部13から各次元の時系列データが供給されたとき、開始される。
ステップS121において、内部状態量更新部512は、内部状態記憶部21から、前回更新されて記憶されている内部状態量を、ダイナミクス記憶ネットワークの各ノード41の力学系近似モデル51へ読み込む。
ステップS121の処理後は、ステップS122に進み、信頼度計算部511は、特徴抽出部13から供給される各次元の時系列データと、内部状態量更新部512から供給される内部状態量の初期値とに基づいて、上述した式(9)にしたがって、各次元の信頼度ρkを計算する。信頼度計算部511は、その信頼度ρkを、入力重み調整部212と出力重み調整部213に供給する。
ステップS122の処理後は、ステップS123に進み、入力重み調整部212は、信頼度計算部511からの信頼度ρkに基づいて、図4の入力重み記憶部52に記憶されている、認識時に用いられる認識入力重みαrkを調整する。
ステップS123の処理後は、ステップS124に進み、出力重み調整部213は、入力重み調整部212と同様に、信頼度計算部511からの信頼度ρkに基づいて、出力重み記憶部53に記憶されている、認識時に用いられる認識出力重みβrkを調整し、ステップS125に進む。
なお、ステップS125乃至S128の処理は、図14のステップS75乃至S78と同様であるので、説明は省略する。
次に、図21を参照して、図19の生成部502が時系列データを生成する生成処理について説明する。この生成処理は、例えば、出力部217から出力された認識結果17が制御信号18として入力されたとき、開始される。
ステップS131において、生成ノード決定部314は、制御信号18に基づいて、時系列データを生成すべきノード41である生成ノードを決定する。生成ノード決定部314は、決定された生成ノードを特定する情報を、内部状態読み込み部522に供給する。
ステップS131の処理後は、ステップS132に進み、内部状態読み込み部522は、生成ノード決定部314からの情報に基づいて、ネットワーク記憶部15に記憶されたダイナミクス記憶ネットワークに含まれるノード41のうちの生成ノードの力学系近似モデル51に、内部状態記憶部21に記憶されている内部状態量の初期値を読み込む。
ステップS132の処理後は、ステップS133に進み、信頼度計算部521は、信頼度計算部501と同様に、特徴抽出部13から供給される各次元の時系列データと内部状態読み込み部522から供給される内部状態量の初期値とに基づいて、上述した式(9)にしたがい、各次元の信頼度ρkを計算する。信頼度計算部511は、計算の結果得られる信頼度ρkを、入力重み調整部312と出力重み調整部313に供給する。
ステップS133の処理後は、ステップS134に進み、入力重み調整部312は、信頼度計算部511からの信頼度ρkに基づいて、図4の入力重み記憶部52に記憶されている、生成時に用いられる生成入力重みαgkを調整する。
ステップS134の処理後は、ステップS135に進み、出力重み調整部313は、入力重み調整部312と同様に、信頼度抽出部311からの信頼度ρkに基づいて、出力重み記憶部53に記憶されている、生成時に用いられる生成出力重みβgkを調整し、ステップS136に進む。
ステップS136とS137の処理は、図15のステップS96とステップS97の処理と同一であるので、説明は省略する。
図22は、図1の認識部と生成部のさらに他の詳細構成例を示すブロック図である。
なお、図22の認識部601と生成部602は、図10の学習部120に対応しており、学習部120により学習が行われたダイナミクス記憶ネットワークを用いて、認識生成を行う。
即ち、図22の認識部601には、図13の信頼度抽出部211、入力重み調整部212、出力重み調整部213の代わりに、基重み取得部611、入力重み調整部612、出力重み調整部613が設けられており、学習時に図10の学習部120により計算された基重みωkに基づいて、認識入力重みαrkと認識出力重みβrkが調整される。
基重み取得部611は、ネットワーク記憶部15に記憶されているダイナミクス記憶ネットワークの各ノード141の基重み係数記憶部142から、基重みωkを取得する。基重み取得部611は、その基重みωkを入力重み調整部612と出力重み調整部613に供給する。
入力重み調整部612は、基重み取得部611からの基重みωkに基づいて、基重みωkが大きい次元に対して認識入力重みαrkが大きくなるように、認識入力重みαrkを決定し、入力重み記憶部52に記憶させる。例えば、入力重み調整部612は、基重みωkを認識入力重みαrkとして入力重み記憶部52に記憶させる。これにより、入力重み記憶部52に記憶されている認識入力重みαrkが調整される。
出力重み調整部613は、入力重み調整部612と同様に、基重み取得部611からの基重みωkに基づいて、認識出力重みβrkを決定し、出力重み記憶部53に記憶させることにより、認識出力重みβrkを調整する。例えば、出力重み調整部612は、基重みωkを認識出力重みβrkとして出力重み記憶部53に記憶させる。
以上のように、入力重み調整部612と出力重み調整部613は、基重みωkに基づいて、基重みωkが大きい次元に対して認識入力重みαrkと認識出力重みβrkが大きくなるように、認識入力重みαrkと認識出力重みβrkを決定するので、学習時に着目された次元が、認識時においても着目される。
例えば、センサ信号に対応する2次元の時系列データにおける時刻tの状態ベクトルx1tとx2t、並びにモータ信号に対応する2次元の時系列データにおける時刻tの状態ベクトルx3tとx4tのうち、状態ベクトルx1tとx3tに着目して学習が行われたノード141に対応する基重みω1とω3は、1となり、基重みω2とω4は0となる。この場合、例えば、基重みωkがそのまま認識入力重みαrkと認識出力重みβrkに決定され、認識時において、特徴抽出部13から供給される時系列データに対応する4次元のうち、状態ベクトルx1tとx3tに対応する1次元目と3次元目が着目される。
なお、入力重み調整部612と出力重み調整部613は、基重みωkをそのまま入力重みαrkと出力重みβrkにするのではなく、基重みωkに認識時の信頼度ρkを乗算したものを入力重みαrkと出力重みβrkにするようにしてもよい。この場合、認識時の信頼度ρkとして、特徴抽出部13から供給される時系列データに付加された信頼度ρkや、予測誤差εkにより計算された信頼度ρkを用いることができる。
また、図22の生成部602には、図13の信頼度抽出部311、入力重み調整部312、出力重み調整部313の代わりに、基重み取得部621、入力重み調整部622、出力重み調整部623が設けられており、学習時に図10の学習部120により計算された基重みωkに基づいて、生成入力重みαgkと生成出力重みβgkが調整される。
基重み取得部621は、ネットワーク記憶部15に記憶されているダイナミクス記憶ネットワークの各ノード141の基重み係数記憶部142から、基重みωkを取得する。基重み取得部621は、その基重みωkを入力重み調整部622と出力重み調整部623に供給する。
入力重み調整部622は、入力重み調整部612と同様に、基重み取得部621からの基重みωkに基づいて、基重みωkが大きい次元に対して生成入力重みαgkが大きくなるように、生成入力重みαgkを決定し、入力重み記憶部52に記憶させる。これにより、入力重み記憶部52に記憶されている生成入力重みαgkが調整される。
出力重み調整部623は、出力重み調整部613と同様に、基重み取得部621からの基重みωkに基づいて、生成出力重みβgkを決定し、出力重み記憶部53に記憶させることにより、生成出力重みβgkを調整する。
以上のように、入力重み調整部622と出力重み調整部623は、入力重み調整部612と出力重み調整部613と同様に、基重みωkに基づいて、生成入力重みαgkと生成出力重みβgkを決定するので、学習時に着目された次元が、生成時においても着目される。
例えば、センサ信号に対応する2次元の時系列データにおける時刻tの状態ベクトルx1tとx2t、並びにモータ信号に対応する2次元の時系列データにおける時刻tの状態ベクトルx3tとx4tのうち、状態ベクトルx1tとx3tに着目して学習が行われたノード41に対応する基重みω1とω3は、1となり、基重みω2とω4は0となる。
この場合、例えば、基重みωkがそのまま生成入力重みαgkと生成出力重みβgkに決定され、生成時において、特徴抽出部13から供給される時系列データに対応する4次元のうち、状態ベクトルx1tとx3tに対応する1次元目と3次元目が着目される。その結果、時系列データ生成部316は、力学系近似モデル51から得た4次元の出力データのうち、1次元目と3次元目の出力データのみを時系列データとして生成する。
このように、基重みωkに基づいて生成入力重みαgkを決定することにより、学習時に着目しなかった次元の出力データが、生成結果20として出力されることを防止することができる。これにより、生成ノードとするノード141によって、例えば、両手信号に対応する時系列データだけが生成されたり、両足信号に対応する時系列データだけが生成される。
次に、図23を参照して、図22の認識部601が時系列データを認識する認識処理について説明する。この認識処理は、例えば、特徴抽出部13から時系列データが供給されたとき、開始される。
ステップS141において、基重み取得部611は、ネットワーク記憶部15に記憶されているダイナミクス記憶ネットワークの各ノード141の基重み係数記憶部142から、基重みωkを取得する。基重み取得部611は、その基重みωkを入力重み調整部612と出力重み調整部613に供給する。
ステップS141の処理後は、ステップS142に進み、入力重み調整部612は、基重み取得部611からの基重みωkに基づいて、認識入力重みαrkを、入力重み記憶部52に記憶させることにより、認識入力重みαrkを調整する。
ステップS142の処理後は、ステップS143に進み、出力重み調整部613は、入力重み調整部612と同様に、基重み取得部611からの基重みωkに基づいて、認識出力重みβrkを、出力重み記憶部53に記憶させることにより、認識出力重みβrkを調整し、ステップS144に進む。
ステップS144乃至S148の処理は、図14のステップS74乃至S78と同一の処理であるので、説明は省略する。
次に、図24を参照して、図22の生成部602が時系列データを生成する生成処理について説明する。この生成処理は、例えば、出力部217から出力された認識結果17が制御信号18として入力されたとき、開始される。
ステップS151において、基重み取得部621は、ネットワーク記憶部15に記憶されているダイナミクス記憶ネットワークの各ノード141の基重み係数記憶部142から、基重みωkを取得する。基重み取得部621は、その基重みωkを入力重み調整部622と出力重み調整部623に供給する。
ステップS151の処理後は、ステップS152に進み、入力重み調整部622は、入力重み調整部612と同様に、基重み取得部621からの基重みωkに基づいて、生成入力重みωkを入力重み記憶部52に記憶させることにより、生成入力重みαgkを調整する。
ステップS152の処理後は、ステップS153に進み、出力重み調整部623は、出力重み調整部613と同様に、基重み取得部621からの基重みωkに基づいて、生成出力重みβgkを、出力重み記憶部53に記憶させることにより、生成出力重みβgkを調整し、ステップS154に進む。
なお、ステップS154乃至S157の処理は、図15のステップS94乃至S97の処理と同一であるので、説明は省略する。
図25は、図1の認識部のさらに他の詳細構成例を示すブロック図である。
図25の認識部701には、図22の決定部216の代わりに、決定部711が設けられており、スコアが所定の範囲内にあるノード141のすべてが勝者ノードとして決定される。
決定部711は、スコア計算部215からのスコアに基づいて、最も小さいスコアの値を含む所定の範囲内の値のスコアに対応するすべてのノードを、勝者ノードとして決定する。即ち、決定部711は、スコアに基づいて、スコアの値が最も小さいノード、即ち特徴量抽出部13から供給される時系列データに最も適合するダイナミクスを保持するノードを最勝者ノードとして決定し、最勝者ノードと、その最勝者ノードに対応するスコアの値から所定の範囲内に値があるスコアに対応するノードとを、勝者ノードとして決定する。
なお、所定の範囲とは、所定の定数の範囲、最も小さいスコアの値のA(A>1)倍以内の範囲などである。決定部711は、勝者ノードを特定する信号を、出力部217に供給する。
これにより、生成部602には、最も小さいスコアの値を含む所定の範囲内の値のスコアに対応するすべてのノード141を勝者ノードとして、特定する信号が制御信号18として供給される。その結果、勝者ノードのすべてが生成ノードとして決定され、時系列データ生成部316は、勝者ノードの各ノード141に対応する力学系近似モデル51から得た次元ごとの出力データに対して、ノード41ごとに、生成出力重みβgkに基づいて重み付けを行い、その結果得られる各ノード41の出力データを合わせて、時系列データとして生成する。
例えば、1つの勝者ノードの出力データのうちの、両手信号に対応する時系列データと、他の勝者ノードの出力データのうちの、両足信号に対応する時系列データとが合わせて、時系列データとして生成される。
このように、決定部711は、勝者ノードとして決定するノード141のスコアを、最も小さいスコアの値を含む所定の範囲内のスコアとするので、入力される観測信号11に矛盾する生成結果20が生成されることを抑制することができる。
また、決定部711は、最も小さいスコアの値を含む所定の範囲内のスコアに対応するノード141を勝者ノードとして決定し、時系列データ生成部316が、その勝者ノードから出力される各次元の出力データに対して、生成出力重みβgkに基づいて重み付けを行うので、勝者ノードの中で、次元に対する着目すべき度合が最も高いノード141から出力される時系列データが、次元ごとに選択される。これにより、より観測信号11に適した生成結果20を生成することができる。その結果、例えば、ロボットに、より実際の状況に即した行動を行わせることができる。
次に、図26を参照して、図25の認識部701が時系列データを認識する認識処理について説明する。この認識処理は、例えば、特徴抽出部13から時系列データが供給されたとき、開始される。
ステップS161乃至S166の処理は、図14のステップS91乃至S96の処理と同様であるので説明は省略する。
ステップS166の処理後は、ステップS167に進み、決定部711は、スコア計算部215からのスコアに基づいて、最も小さいスコアの値を含む所定の範囲内の値のスコアに対応するすべてのノードを、勝者ノードとして決定する。決定部711は、決定された勝者ノードを特定する信号を、出力部217に供給する。
ステップS167の処理後は、ステップS168に進み、出力部217は、決定部216からの勝者ノードを特定する信号を、認識結果17として出力し、処理を終了する。
図27Aと図27B、並びに図28Aと図28Bは、学習時に学習入力重みαskと学習出力重みβskに基づいて重み付けを行うことによる効果を検証するための実験の結果を示すグラフである。
図27Aと図27B、並びに図28Aと図28Bでは、赤い車で遊ぶというタスクAに対応する時系列データと、緑色のボールを上下させるというタスクBに対応する時系列データとを用いて、1つのRNNで学習が行われている。
図27Aと図27B、並びに図28Aと図28Bは、このRNNで、タスクAとタスクBの視覚情報に対応する時系列データを混合させた時系列データ、即ち擬似的に作成された、赤い車と緑色のボールの両方が見えているときの視覚情報に対応する時系列データを入力して認識生成を行わせたときの生成結果20を示している。
なお、図27Aと図27B、並びに図28Aと図28Bにおいて、横軸は時間ステップを表し、縦軸はロボットの関節角度をRNN用に正規化した値を表している。このことは、後述する図29Aと図29B、並びに図30Aと図30Bにおいても同様である。また、図27Aと図28Aは、目標とする生成結果を示している。
図27Bは、学習時に重み付けを行わなかったRNNで認識生成を行ったときの生成結果20を示すグラフである。図27Aと図27Bを比較すると、学習時に重み付けを行わなかったRNNで認識生成を行った場合、図27Aに示す目標とする生成結果の時系列パターンに近い時系列パターンの生成結果を生成することができていないことがわかる。実験では、特にタスクBの認識生成ができなかった。
一方、図28Bは、学習時に視覚に関する次元に対する学習入力重みαskと学習出力重みβskを他の次元に比べて大きくして重み付けを行ったRNNで認識生成を行ったときの生成結果20を示すグラフである。図28Aと図28Bを比較すると、学習時に重み付けを行ったRNNで認識生成を行った場合、図28Aに示す目標とする生成結果の時系列パターンに近い時系列パターンの生成結果を生成することができていることがわかる。即ち、この場合、タスクAとタスクBの認識生成が正確に行われている。
以上により、学習時に学習入力重みαskと学習出力重みβskに基づいて重み付けを行うことにより、学習時と同一の観測信号11だけでなく、学習時とは異なる観測信号11に対しても認識生成を行うことができるということがわかる。即ち、学習時と同一の環境のときはもとより、未知の環境においてもロバストネスがあがるということがわかる。
次に、図29Aと図29B、並びに図30Aと図30Bは、認識生成時に認識入力重みαrkと認識出力重みβrk、並びに生成入力重みαgkと生成出力重みβgkに基づいて重み付けを行うことによる効果を検証するための実験の結果を示すグラフである。
なお、図29Aと図29B、並びに図30Aと図30Bは、図27Aと図27B、並びに図28Aと図28Bと同様の実験が行われた結果を示すグラフである。
なお、図29Aと図30Aは、目標とする生成結果を示している。
図29Bは、認識生成時に重み付けを行わなかったRNNで認識生成を行ったときの生成結果20を示すグラフである。図29Aと図29Bを比較すると、認識生成時に重み付けを行わなかったRNNで認識生成を行った場合、図29Aに示す目標とする生成結果の時系列パターンに近い時系列パターンの生成結果を生成することができていないことがわかる。即ち、この場合、認識生成が正確に行われていない。
一方、図30Bは、認識生成時に視覚に関する次元に対する認識入力重みαrkと認識出力重みβrk、並びに生成入力重みαgkと生成出力重みβgkを他の次元に比べて大きくして重み付けを行ったRNNで認識生成を行ったときの生成結果20を示すグラフである。図30Aと図30Bを比較すると、認識生成時に重み付けを行ったRNNで認識生成を行った場合、図30Aに示す目標とする生成結果の時系列パターンに近い時系列パターンの生成結果を生成することができていることがわかる。即ち、この場合、タスクAとタスクBの認識生成が正確に行われている。
以上により、認識生成時に認識入力重みαrkと認識出力重みβrk、並びに生成入力重みαgkと生成出力重みβgkに基づいて重み付けを行うことにより、認識生成の能力を安定化し、性能を向上させることができるということがわかる。
以上のように、図1の情報処理装置1は、力学系近似モデル51の入力層61の各ユニットに入力される入力データに対する次元ごとの重み係数である入力重みを、次元ごとに調整し、出力層63の各ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整するので、多次元の時系列データを効率的に扱うことができる。
なお、上述した説明では、時系列データに対して得られるべき出力の真値と、その時系列データに対する力学系近似モデル51からの出力値との平均二乗誤差を、スコアとしたが、スコアは、これに限定されず、例えば真値と出力値の距離、確率などであってもよい。スコアが距離である場合、平均二乗誤差である場合と同様に、スコアの値が小さいノードが勝者ノードとして決定されるが、スコアが確率である場合、スコアの値が大きいノードが勝者ノードとして決定される。
また、上述した説明では、複数のノードによって構成されるダイナミクス記憶ネットワークを用いて、学習、認識、生成が行われたが、1つのノードを用いて学習や生成を行うようにしてもよい。
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図31は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク805やROM803に予め記録しておくことができる。
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体811に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体811は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体811からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部808で受信し、内蔵するハードディスク805にインストールすることができる。
コンピュータは、CPU(Central Processing Unit)802を内蔵している。CPU802には、バス801を介して、入出力インタフェース810が接続されており、CPU802は、入出力インタフェース810を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部807が操作等されることにより指令が入力されると、それにしたがって、ROM(Read Only Memory)803に格納されているプログラムを実行する。あるいは、また、CPU802は、ハードディスク805に格納されているプログラム、衛星若しくはネットワークから転送され、通信部808で受信されてハードディスク805にインストールされたプログラム、またはドライブ809に装着されたリムーバブル記録媒体811から読み出されてハードディスク805にインストールされたプログラムを、RAM(Random Access Memory)804にロードして実行する。これにより、CPU802は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU802は、その処理結果を、必要に応じて、例えば、入出力インタフェース810を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部806から出力、あるいは、通信部808から送信、さらには、ハードディスク805に記録等させる。
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明を適用した情報処理装置の一実施の形態の構成例を示すブロック図である。 2次元の時系列データを用いて学習を行う場合の力学系近似モデルの例を示す図である。 6次元の時系列データを用いて学習を行う場合の力学系近似モデルの例を示す図である。 ノードの例を示す図である。 重み付けについて説明する図である。 学習部の詳細構成例を示すブロック図である。 学習処理を説明するフローチャートである。 学習部の他の詳細構成例を示すブロック図である。 他の学習処理を説明するフローチャートである。 学習部のさらに他の詳細構成例を示すブロック図である。 ノードの他の例を示す図である。 さらに他の学習処理を説明するフローチャートである。 認識部と生成部の詳細構成例を示すブロック図である。 認識処理を説明するフローチャートである。 生成処理を説明するフローチャートである。 認識部と生成部の他の詳細構成例を示すブロック図である。 他の認識処理を説明するフローチャートである。 他の生成処理を説明するフローチャートである。 認識部と生成部の他の詳細構成例を示すブロック図である。 他の認識処理を説明するフローチャートである。 他の生成処理を説明するフローチャートである。 認識部と生成部のさらに他の詳細構成例を示すブロック図である。 さらに他の認識処理を説明するフローチャートである。 さらに他の生成処理を説明するフローチャートである。 認識部と生成部のさらに他の詳細構成例を示すブロック図である。 さらに他の認識処理を説明するフローチャートである。 学習時に重み付けを行わなかったRNNを用いて認識生成を行った場合の実験結果を示すグラフである。 学習時に重み付けを行ったRNNを用いて認識生成を行った場合の実験結果を示すグラフである。 認識生成時に重み付けを行わなかった場合の実験結果を示すグラフである。 認識生成時に重み付けを行った場合の実験結果を示すグラフである。 本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
符号の説明
14 学習部, 15 ネットワーク記憶部, 16 認識部, 19 生成部, 21 内部状態記憶部, 212 入力重み調整部, 213 出力重み調整部, 214 内部状態量更新部, 215 スコア計算部, 216 決定部, 217 出力部, 312 入力重み調整部, 313 出力重み調整部, 316 時系列データ生成部, 602 生成部, 612 入力重み調整部, 613 出力重み調整部, 622 入力重み調整部, 623 出力重み調整部, 701 認識部, 711 決定部, 802 CPU, 803 ROM, 804 RAM, 805 ハードディスク, 811 リムーバブル記録媒体

Claims (5)

  1. ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークを記憶する記憶手段と、
    前記ノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整する入力重み係数調整手段と、
    前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整する出力重み係数調整手段と、
    前記入力データと、その1つ前の入力データを、複数の前記ノードの入力ユニットにそれぞれ入力することにより、前記ノードごとに前記ノードの内部状態量を更新しながら得られる出力データとの次元ごとの誤差を、前記ノードごとに前記出力重み係数に対応する割合で足し合わせ、前記ノードごとの出力誤差とする出力誤差計算手段と、
    前記ノードごとの出力誤差に基づいて、前記入力データに適合するダイナミクスを保持するノードである勝者ノードを決定する勝者ノード決定手段と、
    前記勝者ノードを表す情報を、前記入力データの認識結果として出力する認識手段と、
    前記勝者ノードを決定する処理において得られる前記ノードの内部状態量を記憶する内部状態記憶手段と、
    前記認識結果に基づいて、前記勝者ノードを、複数の次元の時系列データの生成に用いるノードである生成ノードとして決定する生成ノード決定手段と、
    観測される複数の次元の時系列データを前記入力データとして、前記生成ノードの入力ユニットに入力することにより、前記内部状態量記憶手段に記憶される内部状態量に基づいて決定された、前記生成ノードの内部状態量を更新しながら、前記出力重み係数に対応する割合で各次元の前記時系列データを生成し、その時系列データを生成結果とする生成手段と
    を備える認識生成装置。
  2. 前記勝者ノード決定手段は、複数の前記勝者ノードを決定し、
    前記生成ノード決定手段は、複数の前記勝者ノードのすべてを生成ノードとして決定し、
    前記生成手段は、観測される複数の時系列データを前記入力データとして、複数の前記生成ノードの入力ユニットにそれぞれ入力することにより、前記生成ノードごとに各次元の前記時系列データを生成し、その時系列データを足し合わせて生成結果とする
    請求項1に記載の認識生成装置。
  3. 前記勝者ノード決定手段は、前記出力誤差に基づいて、前記入力データに最も適合するダイナミクスを保持するノードである最勝者ノードを決定し、前記最勝者ノードと、その最勝者ノードに対応する出力誤差から所定の範囲内にある出力誤差に対応するノードとを、前記勝者ノードとして決定する
    請求項1に記載の認識生成装置。
  4. ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークの前記ノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整し、
    前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整し、
    前記入力データと、その1つ前の入力データを、複数の前記ノードに対応する複数の前記ノードの入力ユニットに入力することにより、前記ノードごとに前記ノードの内部状態量を更新しながら得られる出力データとの次元ごとの誤差を、前記ノードごとに前記出力重み係数に対応する割合で足し合わせ、前記ノードごとの出力誤差とし、
    前記ノードごとの出力誤差に基づいて、前記入力データに適合するダイナミクスを保持するノードである勝者ノードを決定し、
    前記勝者ノードを表す情報を、前記入力データの認識結果として出力し、
    前記勝者ノードを決定する処理において得られる前記ノードの内部状態量を記憶させ、
    前記認識結果に基づいて、前記勝者ノードを、複数の次元の時系列データの生成に用いるノードである生成ノードとして決定し、
    観測される複数の次元の時系列データを前記入力データとして、前記生成ノードの入力ユニットに入力することにより、記憶されている内部状態量に基づいて決定された、前記生成ノードの内部状態量を更新しながら、前記出力重み係数に対応する割合で各次元の前記時系列データを生成し、その時系列データを生成結果とする
    ステップを含む認識生成方法。
  5. ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークの前記ノードの入力ユニットに入力される、観測される複数の次元の時系列データである入力データに対する次元ごとの重み係数である入力重み係数を、次元ごとに調整し、
    前記ノードの出力ユニットから出力される、複数の次元の出力データに対する次元ごとの重み係数である出力重み係数を、次元ごとに調整し、
    前記入力データと、その1つ前の入力データを、複数の前記ノードに対応する複数の前記ノードの入力ユニットに入力することにより、前記ノードごとに前記ノードの内部状態量を更新しながら得られる出力データとの次元ごとの誤差を、前記ノードごとに前記出力重み係数に対応する割合で足し合わせ、前記ノードごとの出力誤差とし、
    前記ノードごとの出力誤差に基づいて、前記入力データに適合するダイナミクスを保持するノードである勝者ノードを決定し、
    前記勝者ノードを表す情報を、前記入力データの認識結果として出力し、
    前記勝者ノードを決定する処理において得られる前記ノードの内部状態量を記憶させ、
    前記認識結果に基づいて、前記勝者ノードを、複数の次元の時系列データの生成に用いるノードである生成ノードとして決定し、
    観測される複数の次元の時系列データを前記入力データとして、前記生成ノードの入力ユニットに入力することにより、記憶されている内部状態量に基づいて決定された、前記生成ノードの内部状態量を更新しながら、前記出力重み係数に対応する割合で各次元の前記時系列データを生成し、その時系列データを生成結果とする
    ステップを含む処理をコンピュータに実行させるプログラム。
JP2006105551A 2006-04-06 2006-04-06 認識生成装置および認識生成方法、並びにプログラム Withdrawn JP2007280059A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006105551A JP2007280059A (ja) 2006-04-06 2006-04-06 認識生成装置および認識生成方法、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006105551A JP2007280059A (ja) 2006-04-06 2006-04-06 認識生成装置および認識生成方法、並びにプログラム

Publications (1)

Publication Number Publication Date
JP2007280059A true JP2007280059A (ja) 2007-10-25

Family

ID=38681444

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006105551A Withdrawn JP2007280059A (ja) 2006-04-06 2006-04-06 認識生成装置および認識生成方法、並びにプログラム

Country Status (1)

Country Link
JP (1) JP2007280059A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017037859A1 (ja) * 2015-08-31 2017-03-09 株式会社日立製作所 情報処理装置及び方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017037859A1 (ja) * 2015-08-31 2017-03-09 株式会社日立製作所 情報処理装置及び方法
JPWO2017037859A1 (ja) * 2015-08-31 2018-07-12 株式会社日立製作所 情報処理装置及び方法

Similar Documents

Publication Publication Date Title
JP4169038B2 (ja) 情報処理装置および情報処理方法、並びにプログラム
US7953683B2 (en) Learning apparatus, learning method, and program for efficiently learning dynamics
US7672920B2 (en) Apparatus and method for embedding recurrent neural networks into the nodes of a self-organizing map
JP4803212B2 (ja) データ処理装置、データ処理方法、及びプログラム
JP4169063B2 (ja) データ処理装置、データ処理方法、及びプログラム
JP4201012B2 (ja) データ処理装置、データ処理方法、およびプログラム
JP4710933B2 (ja) 学習装置、学習方法、およびプログラム
US7133744B2 (en) Information processing apparatus and method, program storage medium, and program
US11433548B2 (en) Robot system and control method thereof
Passalis et al. Deep reinforcement learning for controlling frontal person close-up shooting
JP2007280059A (ja) 認識生成装置および認識生成方法、並びにプログラム
JP2007280058A (ja) 情報処理装置および情報処理方法、並びにプログラム
US11934176B2 (en) Device and method for controlling a robot
US10812904B2 (en) Acoustic equalization method, robot and AI server implementing the same
Suykens et al. Neural control theory: an overview
JP2007280057A (ja) データ処理装置、データ処理方法、およびプログラム
JP2007280007A (ja) データ処理装置、データ処理方法、およびプログラム
Dawood et al. Robot behaviour learning using topological gaussian adaptive resonance hidden markov model
JP5246751B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2005074562A (ja) ロボット装置、ロボット装置の制御方法、及び記録媒体
JP2005148851A (ja) ロボット装置及びその物体学習方法
JP2009070033A (ja) データ処理装置、データ処理方法、及びプログラム
Nicolai Augmented Deep Learning Techniques for Robotic State Estimation
JP2007280009A (ja) データ処理装置、データ処理方法、およびプログラム
JP2007280066A (ja) 情報処理装置および方法、並びにプログラム

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20090707