JP2009070033A - データ処理装置、データ処理方法、及びプログラム - Google Patents

データ処理装置、データ処理方法、及びプログラム Download PDF

Info

Publication number
JP2009070033A
JP2009070033A JP2007236239A JP2007236239A JP2009070033A JP 2009070033 A JP2009070033 A JP 2009070033A JP 2007236239 A JP2007236239 A JP 2007236239A JP 2007236239 A JP2007236239 A JP 2007236239A JP 2009070033 A JP2009070033 A JP 2009070033A
Authority
JP
Japan
Prior art keywords
node
learning
dynamics
series data
time
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
JP2007236239A
Other languages
English (en)
Inventor
Yukiko Yoshiike
由紀子 吉池
Katsuki Minamino
活樹 南野
Kazumi Aoyama
一美 青山
Hideki Shimomura
秀樹 下村
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 JP2007236239A priority Critical patent/JP2009070033A/ja
Publication of JP2009070033A publication Critical patent/JP2009070033A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

【課題】時系列データを適切に分節化して学習を行う。
【解決手段】ダイナミクス記憶ネットワークは、複数のノードによって構成され、ダイナミクスを1つのノードに保持する。勝者ノード決定部41は、観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを、観測時系列データのサンプル点ごとに決定し、学習重み決定部42は、勝者ノードから各ノードまでの距離に応じて、各ノードが保持するダイナミクスを更新する程度を表す学習重みを、各ノードについて、観測時系列データのサンプル点ごとに決定する。時系列重み利用更新部33は、各ノードが保持するダイナミクスを、各ノードについてのサンプル点ごとの学習重みに応じて、観測時系列データのダイナミクスに近くなるように、自己組織的に更新する。本発明は、例えば、自律型ロボット等に適用できる。
【選択図】図9

Description

本発明は、データ処理装置、データ処理方法、及びプログラムに関し、特に、例えば、時系列データを適切に分節化して学習を行うことができるようにするデータ処理装置、データ処理方法、及びプログラムに関する。
例えば、自律的に行動する自律型ロボット等の自律エージェントは、様々なセンサ信号に基づいて、どのように振る舞うべきか、つまり、とるべき行動を決定し、その行動に応じたモータ信号を生成することで、自律的に行動する。
ここで、センサ信号とは、例えば、カメラが、センシングとしての撮像を行うことで出力する画像信号や、マイク(マイクロフォン)が、センシングとしての集音を行うことで出力する音声信号等である。また、モータ信号とは、例えば、自律エージェントの腕や脚等を駆動するモータに与えられる信号や、音声合成装置に対して与えられる、音声合成に必要な信号等である。
自律エージェントは、とるべき行動を決定するときに、センサ信号に基づいて、周囲の状態(例えば、何らかの物体がある位置等)や、自律エージェントの状態(例えば、腕や脚の状態等)等の状況を認識する。この、状況を認識することを、以下、適宜、認知ともいう。
また、自律エージェントは、認知(認識)の結果に基づき、とるべき行動を決定し、その行動に応じたモータ信号を生成する。このモータ信号が、自律エージェントの腕や脚等を駆動するモータに与えられることで、自律エージェントは、腕や脚等を動かす行動をとる。
ここで、以下、適宜、とるべき行動に応じたモータ信号を生成することを、単に、行動ともいう。
また、以下、適宜、状況を認識し、その認識結果に基づき、とるべき行動を決定して、その行動に応じたモータ信号を生成する認識生成、つまり、認知を行い、その認知の結果に基づき、行動することを、認知行動ともいい、認知行動をモデル化した計算モデルを、認知行動モデルという。
自律エージェントの認知行動は、時間発展法則により定められる力学系(dynamical systems)として記述することができ、様々な行動はその力学系が持つ特定のアトラクタダイナミクス(attractor dynamics)によって実現できることが知られている。例えば、人を模した二足型ロボットの歩行運動は、系の運動状態が様々な初期状態からある特定の周期軌道に落ち着くことを特徴とするリミットサイクルダイナミクス(limit cycle dynamics)として記述することができる(例えば、非特許文献1や2を参照)。
また、自律エージェントとしての、例えば、アームロボットがある対象物に対して手先を伸ばすようなリーチング運動は、様々な初期状態からある特定の固定点に落ち着くことを特徴とする不動点ダイナミクス(fixed-point dynamics)として記述することができる。さらに、全ての運動は、不動点ダイナミクスで実現可能な離散運動(discrete movement)とリミットサイクルダイナミクスで実現可能な周期運動(cyclic movement)の組み合わせにより実現できるとも言われている。
アトラクタダイナミクスによって自律エージェントの行動(運動)を制御する場合、まず、タスクに応じたアトラクタダイナミクスをどのように構成するのかが問題となる。次に、センサ信号を通じて得た情報に基づいて、アトラクタダイナミクスに従いながら、対応するモータ信号をどのように生成するかが問題となる。これらの問題を解決する上で、自律エージェントが環境と連続的に相互作用するかたちで行動出力(運動出力)を生成しながら、アトラクタダイナミクスを構成することが必要となる。
アトラクタダイナミクスを構成する認知行動モデルとして利用することができる計算モデルの1つに、RNN(Recurrent Neural Network)がある。
RNNは、ネットワークに回帰ループで結合されるコンテキストユニットを持ち、そこに内部状態を保持することによって、理論的には、任意の力学系を近似可能であることが知られている。
しかしながら、密結合した1つのネットワークモジュールで構成される計算モデルを、多数のアトラクタダイナミクスを学習する学習モデルとして用いることは、学習の収束性などに問題があり、現実的ではない。
そこで、複数のネットワークモジュールを組にして1つの学習モデルを構成するモジュラアーキテクチャ(modular architecture)を採用した学習モデルが提案されている。このモジュラアーキテクチャでは、原理的には、モジュールを増やすことによって記憶できるダイナミクスを容易に増やすことができるが、与えられた学習データをどのモジュールで学習(モジュール学習)するかを決定するモジュール選択の問題が生じる。
このモジュール選択を行う方法としては、学習データを、どのモジュールに割り当てるかを人が決める教師あり学習(supervised learning)と、学習モデルが自律的に決める教師なし学習(unsupervised learning)の2つの方法がある。自律エージェントが自律的に学習を行うためには、教師なし学習によりモジュール学習を行う必要がある。
教師なし学習としてのモジュール学習の方法としては、Mixture of RNN Expertと呼ばれる学習モデルを用いた学習方法が提案されている(例えば、特許文献1を参照)。
Mixture of RNN Expertと呼ばれる学習モデルは、複数のRNNモジュール(RNNを有するモジュール)を備え、各RNNモジュールの出力をゲート機構によって統合することで最終的な出力を決定する。
Mixture of RNN Expertの学習は、全体最適化に基づく方法によって行われる。すなわち、Mixture of RNN Expertの学習は、最終的な出力性能が最大化するように最尤推定法(maximum likelihood estimation)によってゲート機構の調整が行われつつ、各RNNモジュールの学習が行われる。
以上のように、Mixture of RNN Expertの学習は、全体最適化に基づく方法によって行われるが、全体最適化に基づく方法では、RNNモジュールの数が大規模になった場合に、学習が困難になる。
そこで、ベクトルのカテゴリ学習に用いられるSOM(self-organization map)(自己組織化マップ)(例えば、非特許文献3を参照)や、ニューラルガス(neural-gas)(例えば、非特許文献4を参照)などでは、全体最適化に基づく学習則を用いずに、最適性は保証されないけれども、適切なカテゴリ構造を自己組織的に教師なし学習で獲得することができる近傍競合(競合近傍)学習が採用されている。
SOMやニューラルガスによれば、モジュール(ノード)の数が大規模になった場合でも、学習が実用的に可能である。また、近傍競合学習によって、ベクトルではなく、時系列パターンを学習する方法が提案されている(例えば、特許文献2を参照)。
特開平11-126198号公報 特開2006-162898号公報 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, pp558-569, 1999
ところで、自律エージェントが認知行動を行うには、その認知行動を行うためのダイナミクスを学習することが必要となる。
すなわち、例えば、自律エージェントが、音が聞こえる方向へ歩く、という認知行動を行うには、音をセンシングして得られる、その音の方向や大きさなどを表すセンサ信号と、歩行動作を行うためのモータ信号との相互作用に基づいて形成されるアトラクタダイナミクスを学習することが必要となる。
また、例えば、自律エージェントが、赤いボールが目の前に見えたら手を近づける、という認知行動を行うには、画像をセンシングして得られる、赤いボールの位置の座標などを表すセンサ信号と、手を動かすためのモータ信号との相互作用に基づいて形成されるアトラクタダイナミクスを学習することが必要となる。
ダイナミクスの学習は、RNN等の、力学的な特性を記憶(獲得)可能な計算モデルである力学系近似モデルを用いて行うことができる。
しかしながら、音をセンシングして得られる、その音の方向や大きさなどを表すセンサ信号や、歩行動作を行うためのモータ信号、画像をセンシングして得られる、赤いボールの位置の座標などを表すセンサ信号、手を動かすためのモータ信号等は、複数のサンプル値の時系列である時系列データ(複数のサンプル値が時刻順に並んだデータ)であり、かかる時系列データが有するダイナミクスを、オンラインで学習する場合には、時系列データの分節化、つまり、時系列データを、どこで区切って、自律エージェントに与えるかが問題となる。
すなわち、例えば、上述したように、自律エージェントが、赤いボールが目の前に見えたら手を近づける、という認知行動を行うには、画像をセンシングして得られる、赤いボールの位置の座標などを表すセンサ信号と、その赤いボールに向かって手を動かすためのモータ信号とを、自律エージェントに与えて学習を行う必要がある。
いま、赤いボールが動いており、見えていた赤いボールが物陰に隠れて見えなくなったとすると、学習時には、例えば、画像をセンシングして得られるセンサ信号としての時系列データから、赤いボールが見えている状態のサンプル値のシーケンス(時系列データ)を分節化(抽出)して、自律エージェントに与える必要がある。
オフラインでの学習では、例えば、自律エージェントの設計者等が、画像をセンシングして得られるセンサ信号としての時系列データから、赤いボールが見えている状態のサンプル値のシーケンスを適切に分節化して、自律エージェントに与えることができる。
しかしながら、オンラインの学習では、そのような適切な分節化を行うことは困難である。
そこで、オンラインの学習において、例えば、時系列データを一定の長さに分節化し、自律エージェントに与える方法があるが、この場合、認識生成(認知行動)の精度が劣化することがある。
すなわち、時系列データを一定の長さに分節化し、自律エージェントに与える場合、赤いボールが見えている状態のサンプル値のシーケンスと、赤いボールが物陰に隠れて見えなくなった状態のサンプル値のシーケンスとが混在した時系列データが、自律エージェントに与えられることがある。
この場合、自律エージェントは、例えば、赤いボールが見えている状態から、見えなくなった状態に変化するときだけ、赤いボールに向かって手を動かす認知行動を行い、赤いボールが見えている状態にあるだけでは、赤いボールに向かって手を動かす認知行動を行わないような学習が行われるおそれががある。
本発明は、このような状況に鑑みてなされたものであり、時系列データを適切に分節化して学習を行うことができるようにするものである。
本発明の一側面のデータ処理装置、又は、プログラムは、ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段と、複数のサンプル値の時系列である時系列データに基づき、前記ネットワークのノードが保持するダイナミクスを自己組織的に更新する学習手段とを備え、前記学習手段が、観測される時系列データである観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを、前記観測時系列データのサンプル点ごとに決定する勝者ノード決定手段と、前記勝者ノードから各ノードまでの距離に応じて、各ノードが保持するダイナミクスを更新する程度を表す学習重みを、各ノードについて、前記観測時系列データのサンプル点ごとに決定する学習重み決定手段と、各ノードが保持するダイナミクスを、各ノードについてのサンプル点ごとの学習重みに応じて、前記観測時系列データのダイナミクスに近くなるように、自己組織的に更新する更新手段とを有するデータ処理装置、又は、データ処理装置として、コンピュータを機能させるプログラムである。
本発明の一側面のデータ処理方法は、ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段と、複数のサンプル値の時系列である時系列データに基づき、前記ネットワークのノードが保持するダイナミクスを自己組織的に更新する学習手段とを備えるデータ処理装置のデータ処理方法であり、前記学習手段が、観測される時系列データである観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを、前記観測時系列データのサンプル点ごとに決定し、前記勝者ノードから各ノードまでの距離に応じて、各ノードが保持するダイナミクスを更新する程度を表す学習重みを、各ノードについて、前記観測時系列データのサンプル点ごとに決定し、各ノードが保持するダイナミクスを、各ノードについてのサンプル点ごとの学習重みに応じて、前記観測時系列データのダイナミクスに近くなるように、自己組織的に更新するステップを含む。
本発明の一側面においては、観測される時系列データである観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードが、前記観測時系列データのサンプル点ごとに決定され、前記勝者ノードから各ノードまでの距離に応じて、各ノードが保持するダイナミクスを更新する程度を表す学習重みが、各ノードについて、前記観測時系列データのサンプル点ごとに決定される。そして、各ノードが保持するダイナミクスが、各ノードについてのサンプル点ごとの学習重みに応じて、前記観測時系列データのダイナミクスに近くなるように、自己組織的に更新される。
なお、データ処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。
また、プログラムは、伝送媒体を介して伝送し、又は、記録媒体に記録して、提供することができる。
本発明の一側面によれば、時系列データを適切に分節化して、ダイナミクスの学習を行うことができる。
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。したがって、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面のデータ処理装置、又は、プログラムは、
ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段(例えば、図1のネットワーク記憶部16)と、
複数のサンプル値の時系列である時系列データに基づき、前記ネットワークのノードが保持するダイナミクスを自己組織的に更新する学習手段(例えば、図1の学習部13)と
を備え、
前記学習手段は、
観測される時系列データである観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを、前記観測時系列データのサンプル点ごとに決定する勝者ノード決定手段(例えば、図9の勝者ノード決定部41)と、
前記勝者ノードから各ノードまでの距離に応じて、各ノードが保持するダイナミクスを更新する程度を表す学習重みを、各ノードについて、前記観測時系列データのサンプル点ごとに決定する学習重み決定手段(例えば、図9の学習重み決定部42)と、
各ノードが保持するダイナミクスを、各ノードについてのサンプル点ごとの学習重みに応じて、前記観測時系列データのダイナミクスに近くなるように、自己組織的に更新する更新手段(例えば、図9の時系列重み利用更新部33)と
を有する
データ処理装置、又は、データ処理装置として、コンピュータを機能させるプログラムである。
一側面のデータ処理装置には、
前記観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、前記観測時系列データの認識結果として出力する認識手段(例えば、図1の認識部14)をさらに設けることができる。
一側面のデータ処理装置には、
時系列データの生成に用いるノードである生成ノードを決定し、前記生成ノードが保持するダイナミクスを有する時系列データである生成時系列データを生成する生成手段(例えば、図1の生成部15)をさらに設けることができる。
一側面のデータ処理装置には、
前記観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、前記観測時系列データの認識結果として出力する認識手段(例えば、図1の認識部14)と、
前記認識手段が出力する情報が表す勝者ノードを、時系列データの生成に用いるノードである生成ノードに決定し、前記生成ノードが保持するダイナミクスを有する時系列データである生成時系列データを生成する生成手段(例えば、図1の生成部15)と
をさらに設けることができる。
一側面のデータ処理装置において、
前記ノードが、内部状態量を持つ力学系近似モデルによって、ダイナミクスを保持する場合には、
前記認識手段が前記勝者ノードを決定する処理において得られる前記内部状態量を記憶する内部状態記憶手段(例えば、図1の内部状態記憶部17)をさらに設けることができ、
前記認識手段は、前記観測時系列データに基づいて、前記内部状態量を更新しながら、前記観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定することができ、
前記生成手段は、前記内部状態記憶手段の記憶値に基づいて、前記生成ノードの力学系近似モデルの前記内部状態量を決定して、その内部状態量を更新しながら、前記生成時系列データを生成することができる。
本発明の一側面のデータ処理方法は、
ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段(例えば、図1のネットワーク記憶部16)と、
複数のサンプル値の時系列である時系列データに基づき、前記ネットワークのノードが保持するダイナミクスを自己組織的に更新する学習手段(例えば、図1の学習部13)と
を備えるデータ処理装置のデータ処理方法であり、
前記学習手段が、
観測される時系列データである観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを、前記観測時系列データのサンプル点ごとに決定し(例えば、図12のステップS24)、
前記勝者ノードから各ノードまでの距離に応じて、各ノードが保持するダイナミクスを更新する程度を表す学習重みを、各ノードについて、前記観測時系列データのサンプル点ごとに決定し(例えば、図12のステップS25)、
各ノードが保持するダイナミクスを、各ノードについてのサンプル点ごとの学習重みに応じて、前記観測時系列データのダイナミクスに近くなるように、自己組織的に更新する(例えば、図12のステップS26)
ステップを含む。
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明を適用したデータ処理装置の一実施の形態の構成例を示すブロック図である。
図1のデータ処理装置は、例えば、ロボット、マニピュレータシステム、パンチルトカメラ、船舶、航空機、自動車、その他の電子機器で扱われる信号の学習、認識、及び生成に利用される。特に、図1のデータ処理装置は、自律型ロボットなどの自律エージェントその他の自律システムにおいて、センサ、及びモータなどに対して入出力する信号の学習、認識、及び生成に利用される。
図1のデータ処理装置では、観測することができる観測信号が、信号入力部11に入力される。観測信号は、例えば音や画像の信号、LED(Light Emitting Diode)の明るさ、モータの回転角度や回転角速度などであり、自律システムに対して入出力し得る信号が、観測信号となり得る。
信号入力部11は、観測される観測信号に対応する電気信号を出力する。具体的には、信号入力部11は、例えば、観測信号が音の信号の場合は、センサとしてのマイクに対応し、観測信号が画像信号の場合は、センサとしてのカメラに対応する。また、モータの回転角度や回転速度の計測装置なども、信号入力部11に対応する。
ここで、以下、適宜、信号入力部11に入力される信号も、信号入力部11が出力する信号も、観測信号という。
なお、観測信号は、時間的に定常的な定常信号であっても良いし、時間的に変化する(定常的でない)非定常信号であっても良い。
以下では、例えば、センサモータ信号を観測信号とする。センサモータ信号とは、例えば、図示せぬ自律型ロボットが有するカメラやマイクその他のセンサが出力するセンサ信号と、自律型ロボットの腕や脚等を駆動するモータに与えられるモータ信号とを、一定の時間間隔でサンプリングして得られる、同一のサンプル点(時刻)のサンプル値をコンポーネントとするベクトルの時系列である。
信号入力部11は、時系列データである観測信号を、逐次、適当な長さに区切って出力する。すなわち、信号入力部11は、観測信号としてのセンサモータ信号から、例えば、100サンプル(点)を、1サンプルずつシフトしながら抽出し、その100サンプルの時系列データを、特徴量抽出部12に供給する。
なお、センサモータ信号のサンプリングの時間間隔や、信号入力部11がセンサモータ信号から抽出するサンプルの数(サンプル数)は、観測信号とするセンサモータ信号に応じて適切に調整される。
特徴量抽出部12は、信号入力部11から供給される観測信号から特徴量を抽出し、その特徴量の時系列を、学習部13、認識部14、及び生成部15に供給する。
すなわち、観測信号が、例えば、音声信号である場合には、特徴量抽出部12は、その音声信号の一定時間分ごとに、周波数分析その他の音響処理を施し、音声認識等で広く利用されている、例えば、メルケプストラムなどの音声の特徴量を抽出する。そして、特徴量抽出部12は、観測信号から抽出した特徴量を、時系列に出力し、これにより、特徴量抽出部12から学習部13、認識部14、及び生成部15に対して、特徴量の時系列データが供給される。
学習部13は、特徴量抽出部12からの時系列データに基づき、ダイナミクスを学習する学習処理を行い、認識部14及び生成部15は、特徴量抽出部12からの時系列データに基づき、学習処理の結果を利用して、時系列データを認識する認識処理や、時系列データを生成する生成処理、時系列データを認識し、その認識結果に応じて、時系列データを生成する認識生成処理を行う。
すなわち、学習部13は、特徴量抽出部12からの時系列データに基づき、後述するネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ダイナミクスを自己組織的に更新する学習処理を行う。
ここで、学習処理では、ダイナミクス記憶ネットワークのパラメータの更新が行われる。パラメータの更新は、学習と呼ばれることがある。
学習部13による学習処理の詳細は後述するが、学習処理では、基本的には、ラベル(正解ラベル)の付与されていない時系列データを、ダイナミクス記憶ネットワークに対して、繰り返し与えていく(供給していく)と、ダイナミクス記憶ネットワークが、その時系列データの中の特徴的なダイナミクスを自己組織的に獲得していく教師なし学習が実行される。その結果、ダイナミクス記憶ネットワークには、そこに与えられた時系列データの代表的なダイナミクスが記憶される。ダイナミクス記憶ネットワークに記憶されたダイナミクスは、認識部14や生成部15が必要に応じていつでも利用することができる。
ここで、ダイナミクス記憶ネットワークは、例えば、後述するように、力学系近似モデルの1つであるRNNによって、ダイナミクスを保持する。例えば、ある時刻tのデータの入力に対して、次の時刻t+1のデータを出力するRNN(の後述する入力層の入力ユニット)に対して入力される、ある時刻tのデータを、入力データというとともに、その時刻tのデータに対してRNNが出力する時刻t+1のデータを、出力データということとすると、学習部13、認識部14、及び生成部15に対して、特徴量抽出部12から供給される時系列データは、入力データである。
認識部14は、入力データ、つまり、特徴量抽出部12から供給される時系列データを認識の対象として、認識処理を行う。
すなわち、認識部14は、ネットワーク記憶部16のダイナミクス記憶ネットワークが記憶しているダイナミクスの中で、特徴量抽出部12から供給される時系列データに最も適合するダイナミクスを決定し、そのダイナミクスを表す情報を、入力データとしての時系列データの認識結果として出力する。
生成部15には、特徴量抽出部12から時系列データが供給される他、制御信号が供給される。生成部15は、ネットワーク記憶部16のダイナミクス記憶ネットワークが記憶しているダイナミクスの中から、時系列データの生成に用いるダイナミクスを、そこに供給される制御信号に従って決定し、そのダイナミクスを有する時系列データを、特徴量抽出部12から供給される時系列データを必要に応じて用いて生成する生成処理を行う。
なお、生成部15が生成処理を行うことによって得られる時系列データは、必要な処理が施されて出力される。
ネットワーク記憶部16は、ダイナミクス記憶ネットワークを記憶している。
ダイナミクス記憶ネットワークは、ダイナミクスを1つのノードに保持し、複数のノードによって構成される。
ここで、ダイナミクス記憶ネットワークは、ダイナミクスを記憶(保持)するから、ダイナミクス記憶ネットワークに記憶されるものがダイナミクスである。
ダイナミクスは、時間変化する力学系を表すもので、例えば、具体的な関数によって表現することができる。ダイナミクス記憶ネットワークでは、時系列データの時間変化の特徴が、ダイナミクスとして記憶される。
なお、本実施の形態では、ダイナミクス記憶ネットワークのノードにおいて、例えば、内部状態量を持つ力学系近似モデルによってモデル化されたダイナミクスを保持することとする。この場合、ダイナミクス記憶ネットワークは、内部状態量を持つ力学系近似モデルをノードとするネットワーク(内部状態量を持つ力学系近似モデルを保持(記憶)するノードによって構成されるネットワーク)である。
ここで、内部状態量を持つ(力学系近似)モデルとは、例えば、ある入力があると、その入力に応じて出力をするモデルを考えた場合に、外部から観測することができる入力と出力とは別に、外部からは観測されない(できない)、モデルの内部の状態を表す内部状態量を有するモデルである。内部状態量を持つモデルでは、入力の他に、内部状態量をも用いて出力が求められるため、同一の入力があっても、内部状態量が異なると、異なる出力が得られる。
内部状態記憶部17は、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの内部状態量を記憶する。内部状態記憶部17に記憶された内部状態量は、認識生成処理において、時系列データの認識時に、適宜更新され、時系列データの生成時に、必要に応じて利用される。この認識生成処理によって、自律型ロボットの認知行動を実現することができる。
次に、図2は、図1のネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの例を、模式的に示している。
ダイナミクス記憶ネットワークは、複数のノードとリンクによって構成される。
ノードは、ダイナミクスを保持(記憶)する。
リンクは、ノードどうしの間に結合関係を与える。
図2では、ダイナミクス記憶ネットワークは、9個のノードN1ないしN9を有し、各ノードNi(i=1,2,・・・,9)には、9個のノードN1ないしN9が2次元の格子状に配置されるように、縦方向及び横方向に隣接するノードとの間にリンクが与えられている。
すなわち、図2では、リンクによって、9個のノードN1ないしN9に、2次元の配置構造が与えられている。
ここで、ダイナミクス記憶ネットワークにおいては、ノードNiの配置構造に応じて、ノードNiの位置を表す座標系を定義することができる。すなわち、例えば、図2に示すように、2次元の配置構造のノードNiについては、2次元座標系を定義し、その2次元座標系上の座標によって、ノードNiの位置を表すことができる。
例えば、いま、図2のダイナミクス記憶ネットワークについて、左下のノードN7の位置を原点(0,0)とするとともに、左から右方向をx軸とし、下から上方向をy軸とする2次元座標系を定義して、リンクの長さを0.5とすると、図2のダイナミクス記憶ネットワークにおいて、例えば、右上のノードN3の位置の座標は、(1,1)となる。
また、ダイナミクス記憶ネットワークを構成する任意の2つのノードNi及びNjそれぞれが保持するダイナミクスどうしが類似している(近い)度合いを表す尺度として、ノードNiとNjとの間の距離を導入する。
いま、ノードNiとNjとの間の距離として、ノードNiとNjとの間のユークリッド距離を採用することとすると、例えば、左下のノードN7と、右上のノードN3との間の距離は、√((0-1)2+(0-1)2)=√2となる。
図3は、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークのノードNiの構成例を模式的に示している。
ノードNiは、例えば、内部状態量を持ち、力学系を表すことができる力学系近似モデルを有する。
図3では、内部状態量を持つ力学系近似モデルとして、例えば、RNNが採用されている。
図3において、力学系近似モデルとしてのRNNは、3層型NN(Neural Network)に、その出力層から入力層への回帰ループを持たせたものとなっており、その回帰ループによって、内部状態量が保持される。
すなわち、図3において、力学系近似モデルとしてのRNNは、入力層、隠れ層(中間層)、及び出力層の3層により構成されている。入力層、隠れ層、及び出力層は、それぞれ任意の数の、ニューロンに相当するユニットにより構成される。
図3において、入力層は、入力ユニット、及びコンテキストユニットを有する。
入力ユニットには、時刻tの入力データ(ベクトル)Xtとしての時系列データが入力される。
コンテキストユニットには、例えば、出力層の一部のユニットが出力するデータが、内部状態量であるコンテキストとしてフィードバックされる。すなわち、図3のRNNでは、コンテキストユニットと、出力層の一部のユニットとが、回帰ループによって接続されており、コンテキストユニットには、出力層の一部のユニットが出力するデータが、回帰ループを介して、コンテキストとして入力される。
ここで、時刻tの入力データXtが入力ユニットに入力されるときに、コンテキストユニットに入力される時刻tのコンテキストCtは、1時刻前の時刻t-1の入力データXt-1に対して、出力層の一部のユニットが出力したデータである。したがって、時刻tの入力データXtの入力に対して出力層の一部のユニットが出力したデータは、次の時刻t+1のコンテキストCt+1となる。
隠れ層のユニットは、入力層に入力される入力データXt、及びコンテキストCtを対象として、ニューロンとしてのユニットどうしを結合する結合重み(結合荷重)を用いた重み付け加算を行い、その重み付け加算の結果を引数とする非線形関数の演算を行って、その演算結果を、出力層のユニットに出力する。
出力層の一部のユニットからは、上述したように、次の時刻t+1のコンテキストCt+1
なるデータが出力され、入力層のコンテキストユニットにフィードバックされる。また、出力層の残りのユニットからは、例えば、入力データXtに対する出力データとして、その入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1が出力される。
以上のようなRNNにおいて、入力データとしての時系列データを、RNNの学習用の学習データとして用い、時刻tの時系列データXtから、次の時刻t+1の時系列データXt+1を予測することを学習(予測学習(prediction learning))することにより、学習データ(時系列データ)の時間発展法則を学習することができる。
ここで、RNNのような内部状態量を持つ力学系近似モデルのパラメータを求める学習の方法としては、例えば、BPTT(Back-Propagation Through Time)法を採用することができる。BPTT法については、例えば、D. E. Rumelhart, G. E. Hinton & R. E. Williams, 1986 "Learning internal representations by error propagation", In D. E. Rumelhart & J. McClelland, "Parallel distributed processing, pp. 318-364, Cambridge, MA: MIT Pressや、R. J. Williams and D. Zipser, "A learning algorithm for continually running fully recurrent neural networks", Neural Computation, 1:270-280, 1989等に記載されている。
学習部13は、力学系近似モデルとしてのRNNが保持するダイナミクスが、学習データの影響を受けるように、RNNのパラメータである結合重みを更新するRNNの学習を行う。
なお、学習部13は、力学系近似モデルが保持するダイナミクスが、学習データの影響を受ける度合いを強くしたり弱くしたりするための調整機能を有している。
すなわち、ダイナミクス記憶ネットワークの学習は、オンライン学習で行われ、学習データが入力されるたびに、ダイナミクス記憶ネットワークを構成するモジュールとしてのノードが有する力学系近似モデルのパラメータが少しずつ更新される。このパラメータの更新時に、学習部13は、ノードごとに、そのノードが保持するダイナミクスを更新する程度、つまり、学習データを、ノードが保持するダイナミクスに影響させる程度を表す学習重みを決定する。
学習部13は、学習重みに応じて、ノードが保持するダイナミクスを、学習データのダイナミクスに近くなるように、自己組織的に更新する
すなわち、学習部13は、ノードの力学系近似モデルが、例えば、RNNである場合には、そのRNNが保持するダイナミクスが、学習データの影響を受ける度合いを、学習重みに応じて調整しながら、RNNのパラメータを、BPTT法により更新する。
学習部13において、RNNが保持するダイナミクスが学習データの影響を受ける度合いの調整は、例えば、BPTT法によるRNNのパラメータ(結合重み)の更新時の、パラメータを計算する繰り返し回数を、学習重みに応じて制限することや、パラメータを更新する程度に影響を与える誤差(予測誤差)を、学習重みに応じて補正すること等によって行われる。
すなわち、BPTT法によるRNNのパラメータの更新では、例えば、入力データXtに対する出力データとしての、その入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1の、真値(時刻t+1の入力データXt+1)に対する予測誤差が小さくなるように、RNNのパラメータとしての結合重みを、予測誤差に応じた値だけ更新する計算が、RNNのパラメータが収束するまで繰り返し行われる。
学習部13は、例えば、学習重みが小さいほど、パラメータの計算の繰り返し回数を少なくすることで、RNNが保持するダイナミクスが学習データの影響を受ける度合いを小に調整する。
あるいは、学習部13は、例えば、学習重みが小さいほど、予測誤差を小さい値に補正することで、RNNが保持するダイナミクスが学習データの影響を受ける度合いを小に調整する。
いずれにしても、学習重みが大きいときには、RNNのパラメータは、RNNが保持するダイナミクスが学習データの影響を大きく受けるように更新される。また、学習重みが小さいときには、RNNのパラメータは、RNNが保持するダイナミクスが学習データの影響をあまり受けないように(少ししか受けないように)更新される。
次に、図1の学習部13が行う学習処理について説明する。
ここで、学習部13が行う学習処理のモード(学習モード)には、学習処理に用いられる時系列データを適切に分節する分節化モードと、そのような分節を行わない非分節化モードとがあり、まず、非分節化モードの学習処理について説明する。
図4及び図5は、非分節化モードの学習処理での学習重みの決定の方法を説明する図である。
すなわち、図4は、ダイナミクス記憶ネットワークのノードが有する力学系近似モデルとしてのRNNを示している。
図4では、RNNは、入力層、隠れ層、及び出力層の3層により構成されている。入力層は5個のユニットを、隠れ層は7個のユニットを、出力層は5個のユニットを、それぞれ有している。
また、図4では、隠れ層の各ユニットには、入力層の5個のユニットすべてが接続され、出力層の各ユニットには、隠れ層の7個のユニットすべてが接続されている。さらに、入力層の5個のユニットのうちの、1個のユニットがコンテキストユニットになっており、コンテキストユニットには、出力層の5個のユニットのうちの1個のユニットが、回帰ループによって接続されている。
そして、図4のRNNでは、入力データXtである4次元ベクトル(xt (1),xt (2),xt (3),xt (4))が入力層に入力されると、その入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1である4次元ベクトル(x't (1),x't (2),x't (3),x't (4))が、入力データXtに対する出力データX't+1として出力される。
ここで、例えば、入力データXtである4次元ベクトル(xt (1),xt (2),xt (3),xt (4))の1番目及び2番目のコンポーネントxt (1)及びxt (2)が、時刻tのセンサ信号であるとすると、出力データX't+1である4次元ベクトル(x't (1),x't (2),x't (3),x't (4))の1番目及び2番目のコンポーネントx't (1)及びx't (2)は、時刻t+1のセンサ信号の予測値である。また、例えば、入力データXtである4次元ベクトル(xt (1),xt (2),xt (3),xt (4))の3番目及び4番目のコンポーネントxt (3)及びxt (4)が、時刻tのモータ信号であるとすると、出力データX't+1である4次元ベクトル(x't (1),x't (2),x't (3),x't (4))の3番目及び4番目のコンポーネントx't (3)及びx't (4)は、時刻t+1のモータ信号の予測値である。
学習部13は、ダイナミクス記憶ネットワークのノードの中から、学習データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードから各ノードまでの距離に応じて、各ノードが保持するダイナミクスを更新する程度を表す学習重みを決定する。
すなわち、学習部13は、特徴量抽出部12から1サンプルの特徴量が供給されると、その1サンプルの特徴量と、特徴量抽出部12から直前に供給された過去のT-1サンプルの特徴量とによって、Tサンプルの特徴量(サンプル値)の時系列データを、観測される(た)観測時系列データとして生成する。
ここで、この場合、特徴量抽出部12が出力する特徴量の時系列データを、1サンプルずつシフトしながら、Tサンプルずつ逐次抽出して得られる時系列データが、観測時系列データとなる。
なお、時刻tの(観測)時系列データXtとは、例えば、時刻t-T+1のサンプル値から、時刻tのサンプル値までのTサンプルのサンプル値Xt-T+1,Xt-T+2,・・・,Xt-1,Xtを意味することとする。
学習部13は、時刻tの観測時系列データを生成すると、その時刻tの観測時系列データを学習データとして、ダイナミクス記憶ネットワークの各ノード(が有するダイナミクス)が学習データに適合する度合いを表すスコアを求める。
すなわち、いま、学習データとしての時刻tの時系列データとしてのTサンプルのサンプル値Xt-T+1,Xt-T+2,・・・,Xt-1,Xtのうちの時刻tのサンプル値Xtを、ノードが有する力学系近似モデルとしてのRNNに入力したときに、そのRNNが出力する時刻t+1のサンプル値Xt+1の予測値X't+1の、時刻t+1のサンプル値(の真値)Xt+1に対する予測誤差δ(t)が、例えば、式δ(t)=|X't+1-Xt+1|2で定義されることとすると、学習部13は、時刻tの時系列データとしてのTサンプルのサンプル値Xt-T+1,Xt-T+2,・・・,Xt-1,Xtについての予測誤差δ(t-T+1),δ(t-T+2),・・・,δ(t-1),δ(t)の、例えば、加算値(総和)Et(=δ(t-T+1)+δ(t-T+2)+・・・+δ(t-1)+δ(t))を、学習データとしての時刻tの時系列データ(の全体)に対するノードのスコアとして求める。
なお、この場合、スコアが小さいほど、予測値が真値に近いことを表す。そこで、以下、適宜、スコアが小さいことを、スコアが良い、又は高いともいい、スコアが大きいことを、スコアが悪い、又は低いともいう。
RNNのような内部状態量を持つ力学系近似モデルについては、その内部状態量を適切な値とすることで、スコアはより良くなる。
そのため、学習部13は、スコアの計算にあたっては、予測誤差を最小化するように、BPTT法によって、内部状態量としてのRNNのコンテキストを調整した後、そのコンテキストを更新しながら、スコアを計算する。
そして、学習部13は、ダイナミクス記憶ネットワークのノードの中から、スコアが最も良いRNNを有するノードを、学習データに最も適合するダイナミクスを保持する勝者ノードに決定する。
さらに、学習部13は、ダイナミクス記憶ネットワークの各ノードと、勝者ノードとの間の距離dを求める。
ここで、例えば、図2で説明したように、ノードNiとNjとの間の距離として、ノードNiとNjとの間のユークリッド距離を採用した場合においては、図2の9個のノードN1ないしN9のうちの、例えば、ノードN6が勝者ノードであるときには、勝者ノードであるノードN6が、勝者ノードとの間の距離が最も近い(0である)ノードとなる。また、ノードN3,N5、及びN9が、勝者ノードとの間の距離が2番目に近いノードとなり、ノードN2及びN8が、勝者ノードとの間の距離が3番目に近いノードとなる。さらに、ノードN4が、勝者ノードとの間の距離が4番目に近いノードとなり、ノードN1及びN7が、勝者ノードとの間の距離が最も遠い(5番目に近いノード)となる。
なお、ノードNiとNjとの間の距離としては、ノードNiとNjとの間のユークリッド距離の他、例えば、ノードNiとNjとのスコアの差(の絶対値)を採用することが可能である。この場合、スコアがより良いノードが、勝者ノードとの間の距離がより近いノードとなる。
また、任意のノードNiと勝者ノードとの間の距離としては、ノードNiのスコアそのもの(又は、逆数等)を採用することが可能である。
学習部13は、ダイナミクス記憶ネットワークの各ノードの、勝者ノードとの間の距離dを求めると、距離dの増加に対して学習重みαが減少する関係を表す曲線(以下、距離/重み曲線という)に従って、ノードの学習重みαを決定する。
すなわち、図5は、距離/重み曲線の例を示している。
図5の距離/重み曲線において、横軸(左から右方向)は、学習重みαを示しており、縦軸(上から下方向)は、勝者ノードからの距離dを示している。
図5の距離/重み曲線によれば、勝者ノードとの距離dが近いノードほど、大きな学習重みαが決定され、距離dが遠いノードほど、小さな学習重みαが決定される。
ここで、図5では、縦軸に沿って、ダイナミクス記憶ネットワークを構成する6個のノードN1'ないしN6'が、各ノードNi'と勝者ノードとの距離dに対応する位置(縦軸の位置)に記載されている。
図5では、ダイナミクス記憶ネットワークを構成する6個のノードN1'ないしN6'が、その順で、勝者ノードとの距離dが近いノードになっている。ダイナミクス記憶ネットワークを構成する6個のノードN1'ないしN6'のうち、勝者ノードとの距離dが最も近いノード、即ち、勝者ノードとの距離が0のノードであるノードN1'は、勝者ノード(となっているノード)である。
図5の距離/重み曲線は、例えば、式(1)によって与えられる。
Figure 2009070033
・・・(1)
ここで、式(1)において、γは0<γ<1の範囲の減衰係数であり、Δは、勝者ノードを中心として各ノードの学習重みαを調整するための変数(以下、適宜、調整変数という)である。
調整変数をΔを大きい値から少しずつ0に近づけていくと、学習重みαは勝者ノードから離れるにしたがってより小さい値となる。基本的には、調整変数Δは、学習の開始時は大きくし、時間の経過とともに小さくなるように調整される。
式(1)の学習重みαに基づき、勝者ノードのパラメータ(ノードが有する力学系近似モデルのパラメータ)は、学習データの影響を最も強く受けるように更新され、勝者ノードから離れるにしたがって、学習データの影響が小さくなるように、他のノード(勝者ノード以外のノード)のパラメータの更新が行われる。
次に、図6のフローチャートを参照して、図1の学習部13による、非分節化モードの学習処理について説明する。
学習部13は、ステップS11において、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークのすべてのパラメータの初期化を行う。具体的には、ダイナミクス記憶ネットワークの各ノードの内部状態量を持つ力学系近似モデル(図3)のパラメータに適当な値が初期値として付与される。
ここで、ダイナミクス記憶ネットワークのノードが有する力学系近似モデルが、例えば、RNNである場合には、ステップS11では、そのRNNのユニットに入力される信号に与えられる結合重み等を、力学系近似モデルのパラメータとして、そのパラメータに適当な初期値がセットされる。
その後、特徴量抽出部12から学習部13に対して、1サンプルの特徴量が供給されるのを待って、処理は、ステップS11からステップS12に進み、学習部13は、学習データを生成する。
すなわち、学習部13は、特徴量抽出部12から1サンプルの特徴量が供給されると、その1サンプルの特徴量と、特徴量抽出部12から直前に供給されたT-1サンプルの特徴量とによって、Tサンプルの特徴量(サンプル値)の時系列データを、観測時系列データとして生成する。
その後、処理は、ステップS12からステップS13に進み、学習部13は、直前のステップS12で生成した観測時系列データを学習データとして、その学習データに対する、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ノードのスコアの計算を、ノードが有する、内部状態量を持つ力学系近似モデルの内部状態量を更新しながら行う。
ここで、内部状態量を持つ力学系近似モデルが、例えば、RNNである場合には、所定の基準値を基準として値を変えていく(更新していく)変数の値のうちの、スコアを最も良くする値が、内部状態量としてのRNNのコンテキストの初期値に決定され、コンテキストを初期値から更新しながら、スコアの計算が行われる。
なお、コンテキストの初期値の決定に用いる所定の基準値としては、例えば、ランダムな値や、前回のRNNのパラメータの更新時に求められた、コンテキストの最終的な更新値(以下、適宜、前回更新値という)などを採用することができる。
例えば、今回のRNNのパラメータの更新時に学習部13で生成された観測時系列データと、前回のRNNのパラメータの更新時に学習部13で生成された観測時系列データとが、何らの関係もないことが分かっている場合には、コンテキストの初期値の決定に用いる所定の基準値としては、ランダムな値を採用することができる。
また、例えば、今回のRNNのパラメータの更新時に学習部13で生成された観測時系列データと、前回のRNNのパラメータの更新時に学習部13で生成された観測時系列データとが、連続する時系列データなどのように、何らかの関係を有することが分かっている場合には、コンテキストの初期値の決定に用いる所定の基準値としては、前回更新値を採用することができる。なお、前回更新値を、コンテキストの初期値の決定に用いる所定の基準値として採用する場合には、前回更新値を、そのまま、コンテキストの初期値に決定することができる。
ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークのすべてのノードのスコアが求められると、処理は、ステップS13からステップS14に進み、学習部13は、ダイナミクス記憶ネットワークを構成するノードそれぞれのスコアを比較することによって、最もスコアの良いノードを、学習データに最も適合するノードである勝者ノードに決定して、処理は、ステップS15に進む。
ステップS15では、学習部13は、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ノードの学習重みを、図5で説明したように、勝者ノードを中心として決定する。
その後、処理は、ステップS15からステップS16に進み、学習部13が、学習データを用い、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ノードが有する、内部状態量を持つ力学系近似モデルのパラメータの更新を、学習重みに応じて行う。
ここで、内部状態量を持つ力学系近似モデルが、例えば、RNNである場合には、ステップS16でのパラメータの更新は、BPTT法によりパラメータ(結合重み)を計算する繰り返し回数を、学習重みに応じて制限して行われる。すなわち、学習重みが小さいほど、繰り返し回数は、小さい値に制限される。
なお、勝者ノードのパラメータだけを更新する方法はWTA(winner-take-all)と呼ばれる学習方法であり、勝者ノードの近傍のノードに対してもパラメータの更新を行う方法はSMA(soft-max adaptation)と呼ばれる学習方法である。学習部13は、SMAで、ダイナミクス記憶ネットワーク(のノードが有する力学系近似モデル)のパラメータの更新を行う。
すなわち、図5で説明したように、学習重みは、勝者ノードとの距離が近い、勝者ノードの近傍にあるノードについてほど大きな値に決定され、逆に、勝者ノードとの距離が遠いノードについてほど小さな値に決定される。その結果、勝者ノードの近傍にあるノードについては、学習データの影響をより強く受けるように、ノードのパラメータを更新し、勝者ノードとの距離が遠いノードについては、学習データの影響をあまり受けないように、ノードのパラメータを更新する近傍競合学習が行われる。
その後、特徴量抽出部12から学習部13に対して、1サンプルの特徴量が新たに供給されるのを待って、処理は、ステップS16からステップS12に戻り、以下、ステップS12ないしS16の処理が繰り返される。
次に、分節化モードの学習処理について説明するが、その前段階の準備として、非分節化モードの学習処理について、再度、簡単に説明する。
図7は、非分節化モードの学習処理で用いられる学習データとしての時刻tの観測時系列データXtを示している。
非分節化モードの学習処理では、時刻tの観測時系列データとしてのTサンプルのサンプル値Xt-T+1,Xt-T+2,・・・,Xt-1,Xtについての予測誤差δ(t-T+1),δ(t-T+2),・・・,δ(t-1),δ(t)の加算値Et(=δ(t-T+1)+δ(t-T+2)+・・・+δ(t-1)+δ(t))が、学習データとしての時刻tの観測時系列データ(の全体)に対するノードのスコアとして求められる。
そして、そのスコアが最も良いノードが、勝者ノードに決定される。
すなわち、時刻tの観測時系列データとしてのTサンプルのサンプル値Xt-T+1,Xt-T+2,・・・,Xt-1,Xtについての予測誤差δ(t-T+1),δ(t-T+2),・・・,δ(t-1),δ(t)それぞれを、サンプルスコアSt-T+1,St-T+2,・・・,St-1,Stと呼ぶとともに、予測誤差δ(t-T+1),δ(t-T+2),・・・,δ(t-1),δ(t)の加算値Et(=δ(t-T+1)+δ(t-T+2)+・・・+δ(t-1)+δ(t))であるスコアを、合計スコアSTと呼ぶこととすると、非分節化モードの学習処理では、サンプルスコアSt-T+1,St-T+2,・・・,St-1,Stの加算値である合計スコアSTが最も良いノードが、勝者ノードに決定される。
そして、いま、ダイナミクス記憶ネットワークが有するノードがK個であり、そのK個のノードのうちのk番目のノードをノードNk(k=1,2,・・・,K)と表すこととすると、非分節化モードの学習処理では、勝者ノードの決定後は、勝者ノードと各ノードNkとの間の距離dに応じて、各ノードNkの学習重みαkが、式(1)に従って決定される。
したがって、非分節化モードの学習処理では、学習重みαkは、ノードNkごとにのみ決定される。
ノードNkごとの学習重みαkの決定後は、ノードNk(が有する、内部状態量を持つ力学系近似モデル)のパラメータが、そのノードNkの学習重みαkに応じて更新される。
次に、図8を参照して、分節化モードの学習処理の概要について説明する。
図8は、分節化モードの学習処理で用いられる学習データとしての時刻tの観測時系列データXtを示している。
分節化モードの学習処理では、学習データとしての観測時系列データXt(の各サンプル値)に最も適合するダイナミクスを保持するノードである勝者ノードが、学習データとしての観測時系列データXtのサンプル点t-T+1,t-T+2,・・・,t-1,tごとに決定される。
さらに、学習重みも、勝者ノードから各ノードまでの距離に応じて、各ノードについて、学習データとしての観測時系列データXtのサンプル点t-T+1,t-T+2,・・・,t-1,tごとに決定される。
そして、各ノードが保持するダイナミクスが、各ノードについてのサンプル点t-T+1,t-T+2,・・・,t-1,tごとの学習重みに応じて、学習データとしての観測時系列データXtのダイナミクスに近くなるように、自己組織的に更新される。
すなわち、分節化モードの学習処理では、時刻tの観測時系列データXtとしてのTサンプルのサンプル値Xt-T+1,Xt-T+2,・・・,Xt-1,Xtについての予測誤差δ(t-T+1),δ(t-T+2),・・・,δ(t-1),δ(t)が、それぞれ、サンプル点t-T+1,t-T+2,・・・,t-1,tごとのサンプルスコアSt-T+1,St-T+2,・・・,St-1,Stとして求められる。
さらに、サンプル点t-T+1,t-T+2,・・・,t-1,tそれぞれにおいて、サンプルスコアSt-T+1,St-T+2,・・・,St-1,Stが最も良いノードが勝者ノードに決定される。
そして、いま、図7の場合と同様に、ダイナミクス記憶ネットワークが有するノードがK個であり、そのK個のノードのうちのk番目のノードをノードNk(k=1,2,・・・,K)と表すこととすると、分節化モードの学習処理では、勝者ノードの決定後は、勝者ノードと各ノードNkとの間の距離dに応じて、各ノードNkの学習重みαk,t-n(n=0,1,・・・,T-1)が、式(1)に従って、サンプル点t-nごとに決定される。
したがって、分節化モードの学習処理では、学習重みαk,t-nは、ノードNkごとに、かつ、学習データとしての時刻tの観測時系列データXtのサンプル点t-nごとに決定される。
各ノードNkについて、サンプル点t-nごとの学習重みαk,t-nの決定後は、ノードNk(が有する、内部状態量を持つ力学系近似モデル)のパラメータが、そのノードNkについての各サンプル点t-T+1,t-T+2,・・・,t-1,tごとの学習重み(の時系列)αk,t-T+1k,t-T+2,・・・,αk,t-1k,tに応じて更新される。
図9は、分節化モードの学習処理を行う図1の学習部13の構成例を示している。
図9において、学習部13は、時系列生成部31、学習重み時系列生成部32、及び時系列重み利用更新部33から構成される。
時系列生成部31には、特徴量抽出部12から特徴量が供給される。時系列生成部31は、特徴量抽出部12から1サンプルの特徴量が供給されると、その1サンプルの特徴量と、特徴量抽出部12から直前に供給された過去のT-1サンプルの特徴量とによって、Tサンプルの特徴量(サンプル値)の時系列データを、観測時系列データXtとして生成する。
そして、時系列生成部31は、観測時系列データXtを、学習データとして、学習重み時系列生成部32、及び時系列重み利用更新部33に供給する。
学習重み時系列生成部32は、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ノードNkについて、時系列生成部31からの学習データとしての観測時系列データXtのサンプル点t-nごとの学習重みαk,t-nを決定し、時系列重み利用更新部33に供給する。
すなわち、学習重み時系列生成部32は、勝者ノード決定部41、及び学習重み決定部42から構成される。
勝者ノード決定部41は、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ノードNkの、時系列生成部31からの学習データとしての観測時系列データXtのサンプル点t-nごとのサンプルスコアSt-nを計算し、サンプル点t-nごとに、サンプルスコアSt-nが最も良いノードを、勝者ノードに決定する。
学習重み決定部42は、サンプル点t-nの勝者ノードから各ノードNkまでの距離に応じて、サンプル点t-nごとに、各ノードNkの学習重みαk,t-nを決定し、時系列重み利用更新部33に供給する。
時系列重み利用更新部33は、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ノードNkが保持するダイナミクスを、学習重み決定部42からの各ノードNkについてのサンプル点t-nごとの学習重みαk,t-nに応じて、時系列生成部31からの学習データとしての観測時系列データXtのダイナミクスに近くなるように、各ノードNkが有する、内部状態量を持つ力学系近似モデルのパラメータの更新を行う。
図10は、図9の学習重み決定部42が決定する、各ノードNkについてのサンプル点t-nごとの学習重みαk,t-n(行列)を示している。
分節化モードの学習処理では、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークのある1個のノードNkに注目すると、その1個のノードNkについては、学習データとしての観測時系列データXtのサンプル点t-T+1,t-T+2,・・・,t-1,tごとに、学習重みαk,t-T+1k,t-T+2,・・・,αk,t-1k,tが求められる。
その結果、分節化モードの学習処理では、ノードNkのパラメータの更新が、時刻(サンプル点)t-T+1,t-T+2,・・・,t-1,tごとに異なる学習重みαk,t-T+1k,t-T+2,・・・,αk,t-1k,tに応じて行われる。
ここで、非分節化モードの学習処理(図7)では、学習重みαkは、ノードNkごとには異なるが、時刻t-T+1,t-T+2,・・・,t-1,tごとには異ならず、一定の値となる。
これに対して、分節化モードの学習処理では、学習重みαk,t-nは、ノードNkごとには勿論、時刻t-T+1,t-T+2,・・・,t-1,tごとにも異なる。
したがって、分節化モードの学習処理によれば、時刻tの観測時系列データXtとしてのTサンプルのサンプル値Xt-T+1,Xt-T+2,・・・,Xt-1,Xtのうちの、あるサンプル点t-nでは、そのサンプル点t-nのサンプル値Xt-nの影響を強く受け、他のサンプル点t-n'では、そのサンプル点t-n'のサンプル値Xt-n'の影響をあまり受けないような、ノードNkのパラメータの更新を行うことができる。
さらに、学習重みαk,t-nは、図8で説明したように、サンプル点t-nにおいて、サンプルスコアSt-nが最も良い勝者ノードとの間の距離dに基づき、式(1)に従って決定される。
すなわち、学習重みαk,t-nは、サンプル点t-nにおいて、サンプルスコアSt-nが最も良い勝者ノードとの間の距離dが近いノードNkの学習重みαk,t-nほど、大きな値に決定される。
したがって、分節化モードの学習処理では、ノードNkの学習重みαk,t-nは、時刻tの観測時系列データXtとしてのTサンプルのサンプル値Xt-T+1,Xt-T+2,・・・,Xt-1,Xtのうちの、そのノードNkが獲得しているダイナミクスに適合しているサンプル値のサンプル点では大きな値になって、そのサンプル値の影響を強く受けるように、ノードNkのパラメータの更新が行われる。
一方、ノードNkの学習重みαk,t-nは、時刻tの観測時系列データXtとしてのTサンプルのサンプル値Xt-T+1,Xt-T+2,・・・,Xt-1,Xtのうちの、そのノードNkが獲得しているダイナミクスに適合しないサンプル値のサンプル点では小さな値になって、そのサンプル値の影響を(ほとんど)受けないように、ノードNkのパラメータの更新が行われる。
その結果、分節化モードの学習処理によれば、等価的に、学習データとしての観測時系列データを適切に分節化して学習(ノードのパラメータの更新)が行われる。
すなわち、ノードNkのパラメータの更新は、そのノードNkが獲得しているダイナミクスに適合するサンプル値の影響を強く受けるように、かつ、そのノードNkが獲得しているダイナミクスに適合しないサンプル値の影響を受けないように行われ、結果として、観測時系列データから、ノードNkが獲得しているダイナミクスに適合するサンプル値の時系列(区間)を分節化して学習データとして用いた場合と同様の学習が行われる。
図11は、ダイナミクス記憶ネットワークが、2個のノードN1及びN2で構成される場合の、その2個のノードN1及びN2それぞれについてのサンプル点ごとの学習重みの例を示している。
図11では、学習データとしての観測時系列データが、8個のサンプル値X1,X2,X3,X4,X5,X6,X7,X8から構成され、ノードN1については、サンプル点(時刻)1,2,3,4,5,6,7,8の学習重みが、それぞれ、1,1,1,0,0,0,0,0に決定されている。また、ノードN2については、サンプル点1ないし8の学習重みが、それぞれ、0,0,0,1,1,1,1,1に決定されている。
この場合、ノードN1のパラメータの更新は、観測時系列データとしての8個のサンプル値X1ないしX8のうちの、ノードN1の学習重みが1になっているサンプル点1ないし3それぞれのサンプル値X1ないしX3の影響を強く受け、かつ、ノードN1の学習重みが0になっているサンプル点4ないし8それぞれのサンプル値X4ないしX8の影響を受けないように行われる。
また、ノードN2のパラメータの更新は、観測時系列データとしての8個のサンプル値X1ないしX8のうちの、ノードN2の学習重みが0になっているサンプル点1ないし3それぞれのサンプル値X1ないしX3の影響を受けないように、かつ、ノードN2の学習重みが1になっているサンプル点4ないし8それぞれのサンプル値X4ないしX8の影響を強く受けるように行われる。
その結果、ノードN1及びN2のパラメータの更新は、8個のサンプル値X1ないしX8からなる観測時系列データを、3個のサンプル値X1ないしX3からなる時系列データと、5個のサンプル値X4ないしX8からなる時系列データとの2つの時系列データに分節化し、その2つの時系列データそれぞれを、学習データとして与えた場合と同様に行われる。
以上のように、サンプル点ごとの学習重みによれば、例えば、観測時系列データとしての8個のサンプル値X1ないしX8のうちの、3個のサンプル値X1ないしX3からなる時系列データを、ノードN1のパラメータの更新に利用し、5個のサンプル値X4ないしX8からなる時系列データを、ノードN2のパラメータの更新に利用する、といったように、観測時系列データにおいて、パラメータの更新に利用すべき区間を、ノードごとに指定することができる。
次に、図12のフローチャートを参照して、図1の学習部13による、分節化モードの学習処理について説明する。
分節化モードの学習処理では、ステップS21及びS22において、図6の非分節化モードの学習処理のステップS11及びS12の場合とそれぞれ同様の処理が行われる。
すなわち、ステップS21では、学習部13は、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークのすべてのパラメータの初期化を行う。
その後、特徴量抽出部12から学習部13に対して、1サンプルの特徴量が供給されるのを待って、処理は、ステップS21からステップS22に進み、学習部13は、学習データを生成する。
すなわち、学習部13(図9)の時系列生成部31は、特徴量抽出部12から1サンプルの特徴量が供給されると、その1サンプルの特徴量と、特徴量抽出部12から直前に供給されたT-1サンプルの特徴量とによって、Tサンプルの特徴量(サンプル値)の時系列データを、観測時系列データとして生成し、学習重み時系列生成部32、及び時系列重み利用更新部33に供給する。
その後、処理は、ステップS22からステップS23に進み、学習重み時系列生成部32(図9)の勝者ノード決定部41は、時系列生成部31からの観測時系列データを学習データとして、図6のステップS13の場合と同様に、学習データに対する、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ノードのスコアの計算を、ノードが有する、内部状態量を持つ力学系近似モデルの内部状態量を更新しながら行う。
但し、ステップS23では、勝者ノード決定部41は、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ノードNkの、時系列生成部31からの学習データとしての観測時系列データのサンプル点ごとのサンプルスコアを計算する。
ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークのすべてのノードについて、サンプル点ごとのスコアが求められると、処理は、ステップS23からステップS24に進み、勝者ノード決定部41は、サンプル点ごとに、ダイナミクス記憶ネットワークを構成するノードそれぞれのスコアを比較することによって、最もスコアの良いノードを、学習データに最も適合するノードである勝者ノードに決定して、処理は、ステップS25に進む。
ステップS25では、学習重み時系列生成部32(図9)の学習重み決定部42は、サンプル点ごとに、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ノードの学習重みを、例えば、図5で説明したように、勝者ノードを中心として決定する。そして、学習重み決定部42は、サンプル点ごとの各ノードの学習重みを、時系列重み利用更新部33(図9)に供給して、処理は、ステップS25からステップS26に進む。
ステップS26では、時系列重み利用更新部33は、時系列生成部31(図9)からの観測時系列データを学習データとして、その学習データを用い、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ノードが有する、内部状態量を持つ力学系近似モデルのパラメータの更新を、学習重み決定部42からの、サンプル点ごとの各ノードの学習重みに応じて行う。
ここで、内部状態量を持つ力学系近似モデルが、例えば、RNNである場合には、ステップS26でのパラメータの更新は、BPTT法によるパラメータ(結合重み)の更新の度合いに影響を与える予測誤差を、学習重みに応じて補正しながら行われる。
その後、特徴量抽出部12から学習部13に対して、1サンプルの特徴量が新たに供給されるのを待って、処理は、ステップS26からステップS22に戻り、以下、ステップS22ないしS26の処理が繰り返される。
次に、ダイナミクス記憶ネットワークのノードが有する力学系近似モデルが、RNNである場合の、分節化モードの学習処理の詳細について説明する。
RNNは、回帰ループを有するNN(Neural Network)であるが、回帰ループを有しないNNの学習方法として、BP(Back-propagation)法(誤差逆伝播法)が知られている。
例えば、いま、入力層、隠れ層、及び出力層からなる3層の(回帰ループを有しない)NNにおいて、入力層以外のユニットの出力の計算に、シグモイド関数が用いられることとし、入力層のユニットに対して、入力データX=(x0,x1,・・・,xP-1)を入力すると、出力層のユニットから、出力データR=(r0,r1,・・・,rQ-1)を出力することを、BP法によって学習することとする。
なお、Pは、入力層のユニットの数を表し、Qは、出力層のユニットの数を表す。
図13は、NNの2つのユニット#i及び#jを示している。
NNでは、あるユニットを、注目ユニットとして注目すると、注目ユニットに対して、入力層側のユニットからの出力が入力される。注目ユニットでは、そこへの入力に基づいて、所定の演算が行われ、その演算結果が、注目ユニットの出力として、出力層側のユニットに入力される。
いま、ユニット#jを、注目ユニットとすると、注目ユニット#jの出力ojは、式(2)で表される。
Figure 2009070033
・・・(2)
ここで、oiは、注目ユニット#jに接続している入力層側のユニット#iの出力を表し、wijは、注目ユニット#jとユニット#iとを結合する結合重み(ユニット#iの出力oiに付される重み)を表す。また、f()は、シグモイド関数を表し、Mは、注目ユニット#jに接続している入力層側のユニット#iの総数を表す。
BP法では、式(2)で求められる出力ojの誤差を小さくするように、結合重みwijの更新が、出力層側のユニットから、入力層側のユニットに向けて行われる。
結合重みwijの更新は、例えば、式(3)に従って行われる。
Figure 2009070033
・・・(3)
ここで、wij (p)は、ユニット#jと#iとを結合する結合重みのp回目の更新後の値を表す。また、ηは、結合重みの更新量(更新の度合い)を調節するゲインを表し、δjは、ユニット#jの出力ojの予測誤差を表す。
予測誤差δjは、ユニット#jが出力層のユニットである場合には、出力データRを、出力ojの真値として計算される。また、ユニット#jが隠れ層のユニットである場合には、予測誤差δjは、その1つだけ出力層側の層のユニット(ここでは、3層のNNを仮定しているので、出力層のユニット)の予測誤差を伝播させて求められる。
式(3)によれば、結合重みwijは、予測誤差δjが大であるほど、大きく更新される。
BP法では、式(3)に従った結合重みwijの更新(計算)が、出力層のユニットの出力が出力データR(真値)に十分近づくまで、繰り返し行われる。
なお、BP法についての詳細は、例えば、R.ビール、T.ジャクソン, 「ニューラルコンピューティング入門」(海文堂)に記載されている。
ところで、いま、式(3)の予測誤差δjを補正する誤差補正重みWを導入し、式(4)に従って、予測誤差δjを補正することとする。
Figure 2009070033
・・・(4)
ここで、誤差補正重みWは、式0≦W≦1で表される範囲の値をとる。また、δj'は、補正後の予測誤差を表す。
この場合、結合重みwijの更新は、式(3)に代えて、補正後の予測誤差δj'を用いた式(5)に従って行われる。
Figure 2009070033
・・・(5)
式(4)及び式(5)によれば、誤差補正重みWが、1である場合には、結合重みwijの更新は、予測誤差δjの影響を受けて行われる。そして、誤差補正重みWが小さい値になるほど、結合重みwijの更新において、予測誤差δjの影響は小さくなり、誤差補正重みWが、0である場合には、結合重みwijの更新は、予測誤差δjの影響を受けない(結合重みwijは更新されない)。
したがって、誤差補正重みWを調整することにより、結合重みwijの更新において、予測誤差δjが影響する度合いを調整することができる。
例えば、2つのNNのうちの一方のNNに対して、値が1の誤差補正重みWを与えるとともに、他方のNNに対して、値が0の誤差補正重みWを与え、同一の学習データを用いて、2つのNNのパラメータ(結合重み)の更新を行った場合、一方のNNは、学習データを学習するが、他方のNNでは、学習データの学習は行われない。
BP法は、最急降下法に基づく学習方法であり、BP法によれば、繰り返し計算に基づく勾配法によって学習が行われる。また、BP法は、RNNに対して拡張されており、BPTT法と呼ばれる。BPTT法は、最急降下法に基づく学習方法である点、及び、出力層のユニットの出力が真値に十分近づくまで、結合重みwijが繰り返し更新される点で、BP法と共通する。
したがって、BPTT法でも、BP法と同様に、RNNのパラメータの更新は、式(3)に従って行われるので、誤差補正重みWを導入することにより、式(5)に従って行うこともできる。
但し、BPTT法では、RNNの入力層に入力される入力データが時系列データであり、時刻tの入力データに対して出力層から出力される時刻t+1の入力データの予測値の予測誤差を、時系列データの全時刻(サンプル点)に亘って伝播させることで、パラメータの更新が行われる。
このため、式(4)及び式(5)で説明したように、誤差補正重みWを導入する場合には、各時刻tの入力データに対して得られる予測値の予測誤差を、誤差補正重みWで補正する必要がある。
すなわち、時刻tの入力データに対して得られる予測値の予測誤差を、Etと表すとともに、その予測誤差Etの補正に用いる誤差補正重みを、Wtと表すこととすると、予測誤差Etは、例えば、式(6)に従って補正される。
Figure 2009070033
・・・(6)
ここで、誤差補正重みWtは、式0≦Wt≦1で表される範囲の値をとる。また、Et'は、補正後の予測誤差を表す。
分節化モードの学習処理では、ダイナミクス記憶ネットワークのノードNkが有する力学系近似モデルとしてのRNNのパラメータの更新において、誤差補正重みWtとして、学習重みαk,tを用いて、予測誤差Etを補正し、その補正後の予測誤差Et'が小さくなるように、結合重みwijが繰り返し更新される。
その結果、分節化モードの学習処理によれば、等価的に(結果として)、学習データとしての観測時系列データを適切に分節化して学習(ノードのパラメータの更新)が行われる。
すなわち、ノードNkのパラメータの更新は、そのノードNkが獲得しているダイナミクスに適合するサンプル値の影響を強く受けるように、かつ、そのノードNkが獲得しているダイナミクスに適合しないサンプル値の影響を受けないように行われ、結果として、観測時系列データから、ノードNkが獲得しているダイナミクスに適合するサンプル値の時系列(区間)を分節化して、学習データとして用いた場合と同様の学習が行われる。
そして、分節化モードの学習処理では、学習データとしての観測時系列データの各区間に対して適合する(スコアが最も良い)ノードが勝者ノードとなり、その区間のサンプル値の影響を強く受けるように、勝者ノードの近傍のノードのパラメータを更新することが、逐次的に繰り返され、これにより、各ノード(が有するRNN)は、そのノードが勝者ノードとなった区間のサンプル値が有するダイナミクスを自己組織的に獲得し、その結果、ノードの分節化の能力と予測精度とが向上する。
したがって、分節化モードの学習処理によれば、ノードがダイナミクスを自己組織的に獲得することにより、ダイナミクス記憶ネットワークによるダイナミクスの自己組織化が進行して、各ノードの分節化の能力及び予測精度が向上し、その結果、ダイナミクス記憶ネットワークによるダイナミクスの自己組織化がさらに進行することが、逐次的に繰り返される。
なお、上述した分節化モードの学習処理では、ノードが学習データとしての観測時系列データに適合する度合いを表すサンプルスコアを、観測時系列データのサンプル点ごとに求め、各サンプル点において、サンプルスコアが最も良いノードを、そのサンプル点での勝者ノードに決定するが、この場合、観測時系列データのある所定の区間のサンプル値が、全体としては、あるノードNiに適合するのに、たまたま、その所定の区間の1つのサンプル点のサンプル値の予測誤差が、他のノードNjにおいて最も小さくなること、つまり、所定の区間の1つのサンプル点を除くサンプル点では、ノードNiのサンプルスコアが最も良くなり、所定の区間の1つのサンプル点だけで、たまたま、他のノードNjのサンプルスコアが最も良くなることがあり得る。
この場合、他のノードNjのサンプルスコアが最も良くなるサンプル点と、そのサンプル点の前後それぞれとに分節化が行われることとなり、必ずしも適切な分節化が行われているとは言えない。
そこで、学習部13の学習重み時系列生成部32(図9)では、勝者ノード決定部41において、サンプル点ごとのサンプルスコアをスムージングし、スムージング後のサンプルスコアが最も良いノードを、勝者ノードに決定することができる。
サンプルスコアのスムージングは、例えば、式(7)に従って行うことができる。
Figure 2009070033
・・・(7)
ここで、St+1は、サンプル点(時刻)t+1の、スムージング後のサンプルスコアを表し、Et+1は、サンプル点t+1の、スムージング前のサンプルスコアとしての予測誤差を表す。また、βは、スムージングの度合いを調整するスムージング係数であり、0以上1未満の値が設定される。
スムージング係数βとして、0を設定した場合、サンプル点t+1のスムージング後のサンプルスコアSt+1は、サンプル点t+1の、スムージング前のサンプルスコアとしての予測誤差Et+1に一致し、この場合、スムージングを行わないこととなる。
また、スムージング係数βとして、例えば、0.9などの1に近い設定した場合、スムージング後のサンプルスコアSt+1は、1時刻前のサンプルスコアStから急激に変化することがなくなり(緩やかに変化するようになり)、1つのサンプル点において、たまたま、他のノードNjのサンプルスコアが最も良くなること等を防止することができる。
分節化モードの学習処理では、サンプル点ごとの学習重みを決定するために、勝者ノードをサンプル点ごとに決定するが、その、サンプル点ごとの勝者ノードの決定は、他のサンプル点の勝者ノードに関係なく、いわば時間的な連続性を無視して行われるため、上述したようなスムージングの処理は、勝者ノードが頻繁に変化することを防止するのに有用である。
なお、上述した図6では、説明を簡単にするため、非分節化モードの学習処理において、特徴量抽出部12から学習部13に対して、1サンプルの特徴量が供給されると、その1サンプルの特徴量と、特徴量抽出部12から直前に供給されたT-1サンプルの特徴量とを合わせたTサンプルの特徴量(サンプル値)の時系列データを、観測時系列データとして、そのTサンプルの観測時系列データを、学習データとして用いることとしたが、非分節化モードの学習処理において、ダイナミクス記憶ネットワークの適切な学習を行うには、例えば、人手によって、あらかじめ適切に分節した時系列データを、学習データとして用いる必要がある。
これに対して、分節化モードの学習処理では、上述したように、ノードのパラメータの更新時に、結果として、適切な分節が行われるため、非分節化モードの学習処理のように、時系列データを、人手によって、あらかじめ分節しておく必要はない。したがって、分節化モードの学習処理では、連続的に入力される時系列データを用いて、ダイナミクス記憶ネットワークの適切な学習を行うことができる。
次に、図14のフローチャートを参照して、図1の認識部14による認識処理について説明する。
ステップS31において、認識部14は、認識処理に用いる認識データを生成する。
すなわち、認識部14は、例えば、特徴量抽出部12から、Tサンプルの特徴量(サンプル値)が供給されるのを待って、そのTサンプルの特徴量の時系列である観測時系列データを、認識データとする。
そして、処理は、ステップS31からステップS32に進み、認識部14は、認識データに対するダイナミクス記憶ネットワークの各ノードのスコア(合計スコア)の計算を、図6の非分節化モードの学習処理の場合と同様に、ノードが有する、内部状態量を持つ力学系近似モデルの内部状態量を更新しながら行う。
ダイナミクス記憶ネットワークのすべてのノードのスコアが求められると、処理は、ステップS32からステップS33に進み、認識部14は、ダイナミクス記憶ネットワークを構成するノードそれぞれのスコアを比較することによって、最もスコアの良いノードを、認識データに最も適合するノードである勝者ノードに決定して、処理は、ステップS34に進む。
ステップS35では、認識部14は、勝者ノードを表す情報を、認識データの認識結果として出力して、処理は終了する。
ここで、認識部14が出力した認識結果は、図1のデータ処理装置の外部に出力することができる。また、認識部14が出力した認識結果は、制御信号として、生成部15に供給することができる。
次に、図15のフローチャートを参照して、図1の生成部15による生成処理について説明する。
図6や図12の学習処理によれば、ダイナミクス記憶ネットワークの各ノードは、内部状態量を持つ力学系近似モデルによってダイナミクスを学習し、記憶(獲得)するが、その後は、その各ノードの内部状態量を持つ力学系近似モデルから、その力学系近似モデルによってモデル化されたダイナミクスを有する時系列データ(ダイナミクスとして獲得された時系列パターンの時系列データ)を生成することができる。
内部状態量を持つ力学系近似モデルとしてRNNを用いた場合には、所定の内部状態量をRNNに与えることで、そのRNNを有するノードに保持されるダイナミクスから時系列データを容易に生成することができる。
具体的には、RNNの入力にある時刻tの状態ベクトルを与えると、次の時刻t+1の状態ベクトルが出力される。したがって、この操作を所定の時間ステップ(サンプル点)分だけ行うことで、ダイナミクス記憶ネットワークの各ノードから、その所定の時間ステップ分に相当するサンプル数の時系列データを生成することができる。
すなわち、図15のステップS51において、生成部15は、ダイナミクス記憶ネットワークのノードのうちの、どのダイナミクスに対応するノードから時系列データを生成するかを決定する。
ここで、時系列データの生成に用いられるノードを、以下、適宜、生成ノードともいう。生成処理では、生成部15は、例えば、ダイナミクス記憶ネットワークのノードの中から、1個のノードをランダムに選択し、そのノードを、生成ノードに決定する。あるいは、生成部15は、例えば、ユーザからの指示等に応じて供給される制御信号に基づいて、ダイナミクス記憶ネットワークのノードの中から、生成ノードとするノードを決定する。
生成ノードが決定されると、処理は、ステップS51からステップS52に進み、生成部15は、生成ノードが保持する内部状態量を持つ力学系近似モデルのパラメータに基づき、時系列データを、力学系近似モデルの内部状態量を更新しながら生成して、処理は、ステップS53に進む。
ステップS53では、生成部15は、生成ノードの力学系近似モデルから生成された時系列データ(以下、適宜、生成時系列データともいう)を必要に応じて変換し、出力して、処理は終了する。
ここで、学習部13が学習処理に用いる学習データとしての観測時系列データは、センサモータ信号の特徴量であるため、生成部15が生成する生成時系列データも、センサモータ信号の特徴量である。生成時系列データとしてのセンサモータ信号の特徴量は、生成部15が、ステップS53において、センサモータ信号に変換し、そのセンサモータ信号のうちのモータ信号が、例えば、自律型ロボットに供給される。
なお、力学系近似モデルが、例えば、RNNである場合、生成部15での生成時系列データの生成時には、内部状態量としてのRNNのコンテキストユニット(図3)に入力されるコンテキストの初期値、及び入力ユニット(図3)に入力されるデータの初期値として、例えば、ランダムな値が用いられる。
また、ある時刻t+1においてRNNの入力ユニット(図3)に入力されるデータとしては、直前の時刻tにおいてRNNの出力層から出力された、時刻t+1のデータの予測値が用いられる。
次に、図16のフローチャートを参照して、図1の認識部14、及び生成部15による認識生成処理について説明する。
上述したように、認識生成処理によれば、自律型ロボットの認知行動を実現することができる。
認識部14、及び生成部15において、内部状態量を持つ力学系近似モデルによってダイナミクスを学習したダイナミクス記憶ネットワークを用いて、認識生成を行う場合、図14の認識処理と図15の生成処理を逐次的に組み合わせるだけでは、力学系近似モデルの内部状態量を考慮した認識生成を行うことは困難である。
そこで、認識部14、及び生成部15は、内部状態記憶部17において、図14の認識処理において更新された力学系近似モデルの内部状態量(内部状態)を記憶し、その内部状態量を図15の生成処理において用いることで、観測信号から得られる時刻tの観測時系列データに対して、次の時刻t+1の観測時系列データの予測値を生成する認識生成処理を行う。
すなわち、認識生成処理では、ステップS71において、認識部14が、図14のステップS31の場合と同様に、特徴量抽出部12からの、Tサンプルの特徴量(サンプル値)の時系列である観測時系列データを、認識データとする。
その後、処理は、ステップS71からステップS72に進み、認識部14は、認識データに対する、ダイナミクス記憶ネットワークの各ノードのスコア(合計スコア)の計算を、図6の非分節化モードの学習処理の場合と同様に、ノードが有する、内部状態量を持つ力学系近似モデルの内部状態量を更新しながら行う。
但し、ステップS72のスコアの計算では、認識部14は、内部状態記憶部17から前回更新されて記憶されている内部状態量を読み込み、その内部状態記憶部17から読み込んだ値を、力学系近似モデルの内部状態量(例えば、RNNのコンテキスト)の初期値とする。
ダイナミクス記憶ネットワークのすべてのノードのスコアが求められると、処理は、ステップS72からステップS73に進み、認識部14は、ダイナミクス記憶ネットワークを構成するノードそれぞれのスコアを比較することによって、最もスコアの良いノードを、認識データに最も適合するノードである勝者ノードに決定する。
さらに、ステップS73では、認識部14は、勝者ノードが決定されたときの内部状態量の更新値(更新された内部状態量)と、その勝者ノードが決定されたときの内部状態量の初期値とを、内部状態記憶部17に保存する(記憶させる)。
ここで、内部状態記憶部17に記憶された内部状態量の更新値は、認識部14での次回のスコアの計算を行うステップS72において、力学系近似モデルの内部状態量(例えば、RNNのコンテキスト)の初期値として用いられる。
また、内部状態記憶部17に記憶された内部状態量の初期値は、生成部15において、時系列データの生成時に用いられる。
その後、認識部14は、勝者ノードを表す情報を出力し、処理は、ステップS73からステップS74に進む。認識部14が出力した情報は、制御信号として、生成部15に供給される。
ステップS74では、生成部15は、ダイナミクス記憶ネットワークのノードのうちの、認識部14から制御信号として供給される情報が表す勝者ノードを、生成ノードとして、その生成ノードが保持する内部状態量を持つ力学系近似モデルのパラメータに基づき、生成時系列データを、力学系近似モデルの内部状態量を更新しながら生成して、処理は、ステップS75に進む。
すなわち、生成部15は、内部状態記憶部17の記憶値を、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの生成ノードの力学系近似モデルの内部状態量の初期値として読み込む。
つまり、生成部15は、内部状態記憶部17の記憶値のうちの、生成ノードが認識部14において勝者ノードに決定されたときの内部状態量の初期値を読み出し、生成ノードの力学系近似モデルの内部状態量の初期値にセットする。
さらに、生成部15は、特徴量抽出部12から供給される特徴量の時系列から、認識部14がステップS71で生成するのと同一の認識データを生成し、その認識データを、生成ノードの力学系近似モデルに与え、その力学系近似モデルの内部状態量を更新しながら、生成時系列データを生成する。
具体的には、力学系近似モデルが、例えば、RNNである場合、RNNのコンテキストユニット(図3)に対して、内部状態記憶部17の記憶値のうちの、生成ノードが認識部14において勝者ノードに決定されたときのコンテキストの初期値が、生成時系列データを生成するときのコンテキストの初期値として入力される。
さらに、RNNの入力ユニット(図3)に対して、認識データが入力される。
そして、力学系近似モデルの内部状態量を更新しながら、認識データとしての観測時系列データの次の時刻の観測時系列データの予測値としての生成時系列データが生成される。
ステップS75では、生成部15は、生成ノードの力学系近似モデルから生成された生成時系列データを、図15のステップS53の場合と同様に、必要に応じて変換し、出力して、処理は、ステップS71に戻り、以下、ステップS71ないしS75の処理が繰り返される。
ここで、生成部15が生成する生成時系列データは、図15で説明したように、センサモータ信号の特徴量であるが、そのセンサモータ信号の特徴量は、生成部15が、ステップS75において、センサモータ信号に変換する。そして、そのセンサモータ信号のうちのモータ信号が、例えば、自律型ロボットに供給される。
以上のような、図16ステップS71ないしS75の認識生成処理が、例えば、1時刻ごとに行われることで、ロボットは認知行動を行う。
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
そこで、図17は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク105やROM103に予め記録しておくことができる。
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体111に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体111は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体111からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部108で受信し、内蔵するハードディスク105にインストールすることができる。
コンピュータは、CPU(Central Processing Unit)102を内蔵している。CPU102には、バス101を介して、入出力インタフェース110が接続されており、CPU102は、入出力インタフェース110を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部107が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)103に格納されているプログラムを実行する。あるいは、また、CPU102は、ハードディスク105に格納されているプログラム、衛星若しくはネットワークから転送され、通信部108で受信されてハードディスク105にインストールされたプログラム、またはドライブ109に装着されたリムーバブル記録媒体111から読み出されてハードディスク105にインストールされたプログラムを、RAM(Random Access Memory)104にロードして実行する。これにより、CPU102は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU102は、その処理結果を、必要に応じて、例えば、入出力インタフェース110を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部106から出力、あるいは、通信部108から送信、さらには、ハードディスク105に記録等させる。
なお、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
なお、前述の特許文献1に記載されている、複数のRNNモジュールの出力をゲート機構によって統合するMixture of RNN Expertでは、式(6)の誤差補正重みWtに相当するパラメータが、所定の尤度関数を最大化するように調整される。
しかしながら、Mixture of RNN Expertの学習は、全体最適化に基づく方法によって行われるため、RNNモジュールの数が大規模になった場合には、そのすべてのRNNモジュールを考慮して、尤度を最大化するように、誤差補正重みWtに相当するパラメータを調整する必要があり、学習が困難になる。
これに対して、分節化モードの学習処理では、SOMの学習などで利用されるような近傍競合学習に基づいて、誤差補正重みWtが調整される。すなわち、勝者ノードが決定され、その勝者ノードから各ノードまでの距離に応じて、誤差補正重みWtとなる学習重みが決定される。近傍競合学習は、全体最適化に基づく学習則ではないため、必ずしも最適な結果が得られることは保証されないが、その反面、モジュール数(ダイナミクス記憶ネットワークを構成するノードの数)が大規模になった場合でも、実用的に学習(ノードのパラメータの更新)を行うことができ、多数のダイナミクスを効率的に記憶することができる。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
すなわち、ダイナミクス記憶ネットワークのノードが有するモデルとしては、例えば、内部状態量を有しない力学系近似モデルや、力学系近似モデル以外のダイナミクスの学習及び記憶を行うことができるモデルを採用することができる。
本発明を適用したデータ処理装置の一実施の形態の構成例を示すブロック図である。 ダイナミクス記憶ネットワークの例を、模式的に示す図である。 ノードの構成例を、模式的に示す図である。 非分節化モードの学習処理での学習重みの決定の方法を説明する図である。 非分節化モードの学習処理での学習重みの決定の方法を説明する図である。 非分節化モードの学習処理を説明するフローチャートである。 非分節化モードの学習処理を説明する図である。 分節化モードの学習処理を説明する図である。 分節化モードの学習処理を行う学習部13の構成例を示すブロック図である。 各ノードNkについてのサンプル点t-nごとの学習重みαk,t-nを示す図である。 2個のノードN1及びN2それぞれについてのサンプル点ごとの学習重みの例を示す図である。 分節化モードの学習処理を説明するフローチャートである。 NNの2つのユニット#i及び#jを示す図である。 認識処理を説明するフローチャートである。 生成処理を説明するフローチャートである。 認識生成処理を説明するフローチャートである。 本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
符号の説明
11 信号入力部, 12 特徴量抽出部, 13 学習部, 14 認識部, 15 生成部, 16 ネットワーク記憶部, 17 内部状態記憶部, 31 時系列生成部, 32 学習重み時系列生成部, 33 時系列重み利用更新部, 41 勝者ノード決定部, 42 学習重み決定部, 101 バス, 102 CPU, 103 ROM, 104 RAM, 105 ハードディスク, 106 出力部, 107 入力部, 108 通信部, 109 ドライブ, 110 入出力インタフェース, 111 リムーバブル記録媒体

Claims (10)

  1. ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段と、
    複数のサンプル値の時系列である時系列データに基づき、前記ネットワークのノードが保持するダイナミクスを自己組織的に更新する学習手段と
    を備え、
    前記学習手段は、
    観測される時系列データである観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを、前記観測時系列データのサンプル点ごとに決定する勝者ノード決定手段と、
    前記勝者ノードから各ノードまでの距離に応じて、各ノードが保持するダイナミクスを更新する程度を表す学習重みを、各ノードについて、前記観測時系列データのサンプル点ごとに決定する学習重み決定手段と、
    各ノードが保持するダイナミクスを、各ノードについてのサンプル点ごとの学習重みに応じて、前記観測時系列データのダイナミクスに近くなるように、自己組織的に更新する更新手段と
    を有する
    データ処理装置。
  2. 各ノードが前記観測時系列データに適合する度合いを表すスコアを、前記観測時系列データのサンプル点ごとに求め、各サンプル点において、スコアが最も良いノードを、そのサンプル点での勝者ノードに決定する場合において、
    前記勝者ノード決定手段は、サンプル点ごとのスコアをスムージングし、スムージング後のスコアが最も良いノードを、勝者ノードに決定する
    請求項1に記載のデータ処理装置。
  3. 前記ノードは、内部状態量を持つ力学系近似モデルによってモデル化されたダイナミクスを保持する
    請求項1に記載のデータ処理装置。
  4. 前記ノードは、リカレントニューラルネットワークによってモデル化されたダイナミクスを保持する
    請求項1に記載のデータ処理装置。
  5. 前記観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、前記観測時系列データの認識結果として出力する認識手段をさらに備える
    請求項1に記載のデータ処理装置。
  6. 時系列データの生成に用いるノードである生成ノードを決定し、前記生成ノードが保持するダイナミクスを有する時系列データである生成時系列データを生成する生成手段をさらに備える
    請求項1に記載のデータ処理装置。
  7. 前記観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードを表す情報を、前記観測時系列データの認識結果として出力する認識手段と、
    前記認識手段が出力する情報が表す勝者ノードを、時系列データの生成に用いるノードである生成ノードに決定し、前記生成ノードが保持するダイナミクスを有する時系列データである生成時系列データを生成する生成手段と
    をさらに備える
    請求項1に記載のデータ処理装置。
  8. 前記ノードが、内部状態量を持つ力学系近似モデルによって、ダイナミクスを保持する場合において、
    前記認識手段が前記勝者ノードを決定する処理において得られる前記内部状態量を記憶する内部状態記憶手段をさらに備え、
    前記認識手段は、前記観測時系列データに基づいて、前記内部状態量を更新しながら、前記観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、
    前記生成手段は、前記内部状態記憶手段の記憶値に基づいて、前記生成ノードの力学系近似モデルの前記内部状態量を決定して、その内部状態量を更新しながら、前記生成時系列データを生成する
    請求項7に記載のデータ処理装置。
  9. ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段と、
    複数のサンプル値の時系列である時系列データに基づき、前記ネットワークのノードが保持するダイナミクスを自己組織的に更新する学習手段と
    を備えるデータ処理装置のデータ処理方法において、
    前記学習手段が、
    観測される時系列データである観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを、前記観測時系列データのサンプル点ごとに決定し、
    前記勝者ノードから各ノードまでの距離に応じて、各ノードが保持するダイナミクスを更新する程度を表す学習重みを、各ノードについて、前記観測時系列データのサンプル点ごとに決定し、
    各ノードが保持するダイナミクスを、各ノードについてのサンプル点ごとの学習重みに応じて、前記観測時系列データのダイナミクスに近くなるように、自己組織的に更新する
    ステップを含むデータ処理方法。
  10. ダイナミクスを一つのノードに保持し、複数のノードによって構成されるネットワークを記憶するネットワーク記憶手段と、
    複数のサンプル値の時系列である時系列データに基づき、前記ネットワークのノードが保持するダイナミクスを自己組織的に更新する学習手段と
    を備えるデータ処理装置として、コンピュータを機能させるプログラムにおいて、
    前記学習手段は、
    観測される時系列データである観測時系列データに最も適合するダイナミクスを保持するノードである勝者ノードを、前記観測時系列データのサンプル点ごとに決定する勝者ノード決定手段と、
    前記勝者ノードから各ノードまでの距離に応じて、各ノードが保持するダイナミクスを更新する程度を表す学習重みを、各ノードについて、前記観測時系列データのサンプル点ごとに決定する学習重み決定手段と、
    各ノードが保持するダイナミクスを、各ノードについてのサンプル点ごとの学習重みに応じて、前記観測時系列データのダイナミクスに近くなるように、自己組織的に更新する更新手段と
    を有する
    データ処理装置として、コンピュータを機能させるプログラム。
JP2007236239A 2007-09-12 2007-09-12 データ処理装置、データ処理方法、及びプログラム Withdrawn JP2009070033A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007236239A JP2009070033A (ja) 2007-09-12 2007-09-12 データ処理装置、データ処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007236239A JP2009070033A (ja) 2007-09-12 2007-09-12 データ処理装置、データ処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2009070033A true JP2009070033A (ja) 2009-04-02

Family

ID=40606239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007236239A Withdrawn JP2009070033A (ja) 2007-09-12 2007-09-12 データ処理装置、データ処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP2009070033A (ja)

Similar Documents

Publication Publication Date Title
JP4803212B2 (ja) データ処理装置、データ処理方法、及びプログラム
US7672920B2 (en) Apparatus and method for embedding recurrent neural networks into the nodes of a self-organizing map
US7953683B2 (en) Learning apparatus, learning method, and program for efficiently learning dynamics
JP4710931B2 (ja) 学習装置、学習方法、およびプログラム
JP4710933B2 (ja) 学習装置、学習方法、およびプログラム
JP4169063B2 (ja) データ処理装置、データ処理方法、及びプログラム
KR101182965B1 (ko) 데이터 학습용 방법 및 장치, 데이터 인식용 장치, 및 데이터 생성용 장치
JP2007280053A (ja) データ処理装置、データ処理方法、およびプログラム
JP4169038B2 (ja) 情報処理装置および情報処理方法、並びにプログラム
EP3520038A1 (en) Learning coach for machine learning system
JP2010020445A (ja) 学習装置、学習方法、およびプログラム
JP2005199403A (ja) 情動認識装置及び方法、ロボット装置の情動認識方法、ロボット装置の学習方法、並びにロボット装置
US10825445B2 (en) Method and apparatus for training acoustic model
JP2009288933A (ja) 学習装置、学習方法、及びプログラム
JP2009140454A (ja) データ処理装置、データ処理方法、及びプログラム
KR20230141828A (ko) 적응형 그래디언트 클리핑을 사용하는 신경 네트워크들
JP2010067033A (ja) データ処理装置、データ処理方法、及び、プログラム
JP2009053782A (ja) データ処理装置、データ処理方法、及びプログラム
JP2009070033A (ja) データ処理装置、データ処理方法、及びプログラム
JP2007280057A (ja) データ処理装置、データ処理方法、およびプログラム
JP2007280007A (ja) データ処理装置、データ処理方法、およびプログラム
JP2007280058A (ja) 情報処理装置および情報処理方法、並びにプログラム
JP2010282556A (ja) 情報処理装置、情報処理方法、及び、プログラム
JP2007280059A (ja) 認識生成装置および認識生成方法、並びにプログラム
JP2008293259A (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: 20101207