(57)【要約】【課題】ユーザが所望する操作を先取りして行う。【解決手段】状況データ取得部１０１において、状況を表す時系列データである状況データを取得するとともに、操作データ取得部１０２において、ユーザが所望する操作に対応する時系列データである所望操作データを取得し、予測学習部１０３において、状況データ及び所望操作データのダイナミクスを学習し、予測部１０５において、ダイナミクスに基づき、状況データを入力として、所望操作データの予測値を求め、操作データ出力部１０６において、所望操作データの予測値を出力する。本発明は、例えば、PCや、TV、ゲーム装置等の、ユーザが操作を行う電子機器に適用できる。【選択図】図１
2009140454.tif 000002
【特許請求の範囲】
【請求項１】
時系列データを処理するデータ処理装置において、
状況を表す時系列データである状況データを取得する状況データ取得手段と、
ユーザが所望する操作に対応する時系列データである所望操作データを取得する操作データ取得手段と、
前記状況データ及び所望操作データのダイナミクスを学習する学習手段と、
前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求める予測手段と、
前記所望操作データの予測値を出力する出力手段と
を備えるデータ処理装置。
【請求項２】
前記予測手段は、前記所望操作データの予測値とともに、前記状況データの予測値をも求め、
前記出力手段は、前記状況データの真値に対する前記状況データの予測値の予測誤差が所定の閾値以下であるときに、前記所望操作データの予測値を出力する
請求項１に記載のデータ処理装置。
【請求項３】
前記学習手段は、ダイナミクスを獲得することができるモデルであるダイナミクス学習モデルによって、前記状況データ及び所望操作データのダイナミクスを学習する
請求項１に記載のデータ処理装置。
【請求項４】
前記ダイナミクス学習モデルは、RNN(Recurrent Neural Network)，FNN(Feed Forward Neural Network)，SVR(Support Vector Regression)、又はRNN-PB(Recurrent Neural Net with Parametric Bias)である
請求項３に記載のデータ処理装置。
【請求項５】
前記ダイナミクス学習モデルは、複数のノードによって構成され、前記複数のノードそれぞれにダイナミクスを保持するダイナミクス記憶ネットワークである
請求項３に記載のデータ処理装置。
【請求項６】
前記学習手段は、前記状況データ及び所望操作データに基づき、前記ダイナミクス記憶ネットワークの各ノードのダイナミクスを自己組織的に更新し、
前記予測手段は、
前記状況データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、
前記勝者ノードを、時系列データの生成に用いるノードである生成ノードに決定し、
前記生成ノードが保持するダイナミクスを有する時系列データを、前記所望操作データの予測値として生成する
請求項５に記載のデータ処理装置。
【請求項７】
時系列データを処理するデータ処理装置のデータ処理方法において、
状況を表す時系列データである状況データを取得するとともに、ユーザが所望する操作に対応する時系列データである所望操作データを取得し、
前記状況データ及び所望操作データのダイナミクスを学習し、
前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求め、
前記所望操作データの予測値を出力する
ステップを含むデータ処理方法。
【請求項８】
時系列データを処理するデータ処理装置として、コンピュータを機能させるプログラムにおいて、
状況を表す時系列データである状況データを取得する状況データ取得手段と、
ユーザが所望する操作に対応する時系列データである所望操作データを取得する操作データ取得手段と、
前記状況データ及び所望操作データのダイナミクスを学習する学習手段と、
前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求める予測手段と、
前記所望操作データの予測値を出力する出力手段と
して、コンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法、及びプログラムに関し、特に、例えば、ユーザが行おうとしている操作を先取りして行うことができるようにするデータ処理装置、データ処理方法、及びプログラムに関する。
【背景技術】
【０００２】
例えば、PC(Personal Computer)や、TV（テレビジョン受像機）等の電子機器のユーザインタフェースでは、ユーザが過去に行ったことがある操作であっても、ユーザは、マウスやリモートコマンダの操作を、過去に行った場合と同様に繰り返し行う必要があった。
【０００３】
また、ユーザの視線を用いたユーザインタフェースが提案されている（例えば、非特許文献１を参照）。
【０００４】
かかるユーザインタフェースによれば、ユーザは、マウスやリモートコマンダを操作せずに、視線を動かすだけでコンピュータの操作を行うことができる。
【０００５】
【非特許文献１】大野 健彦、「視線を用いたインタフェース」、情報処理４４巻７号、２００３年７月
【発明の開示】
【発明が解決しようとする課題】
【０００６】
先に提案されている、視線を用いるユーザインタフェースは、様々なユーザに共通する特定の視線の動きのパターンから、「迷い」状態の検出や、単語の理解度の推定等を行い、ある検出結果や推定結果等に対して、電子機器の操作を、いわば固定的に対応付け、ユーザの作業を支援する。
【０００７】
したがって、先に提案されているユーザインタフェースでは、例えば、ユーザごとに、そのユーザに特有の視線の動きを認識し、その動きに応じて、ユーザが行おうとしている操作を行うことは困難であった。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、ユーザが行おうとしている操作、つまり、ユーザが所望する操作を先取りして行うことができるようにするものである。
【課題を解決するための手段】
【０００９】
本発明の一側面のデータ処理装置、又は、プログラムは、時系列データを処理するデータ処理装置であり、状況を表す時系列データである状況データを取得する状況データ取得手段と、ユーザが所望する操作に対応する時系列データである所望操作データを取得する操作データ取得手段と、前記状況データ及び所望操作データのダイナミクスを学習する学習手段と、前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求める予測手段と、前記所望操作データの予測値を出力する出力手段とを備えるデータ処理装置、又は、データ処理装置として、コンピュータを機能させるプログラムである。
【００１０】
本発明の一側面のデータ処理方法は、時系列データを処理するデータ処理装置のデータ処理方法であり、状況を表す時系列データである状況データを取得するとともに、ユーザが所望する操作に対応する時系列データである所望操作データを取得し、前記状況データ及び所望操作データのダイナミクスを学習し、前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求め、前記所望操作データの予測値を出力するステップを含むデータ処理方法である。
【００１１】
本発明の一側面においては、状況を表す時系列データである状況データと、ユーザが所望する操作に対応する時系列データである所望操作データとが取得され、前記状況データ及び所望操作データのダイナミクスの学習が行われる。そして、前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値が求められ、前記所望操作データの予測値が出力される。
【００１２】
なお、データ処理装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【００１３】
また、プログラムは、伝送媒体を介して伝送し、又は、記録媒体に記録して、提供することができる。
【発明の効果】
【００１４】
本発明の一側面によれば、ユーザが所望する操作を先取りして行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。したがって、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１６】
本発明の一側面のデータ処理装置、又は、プログラムは、
時系列データを処理するデータ処理装置（例えば、図１のデータ処理装置）であり、
状況を表す時系列データである状況データを取得する状況データ取得手段（例えば、図１の状況データ取得部１０１）と、
ユーザが所望する操作に対応する時系列データである所望操作データを取得する操作データ取得手段（例えば、図１の操作データ取得部１０２）と、
前記状況データ及び所望操作データのダイナミクスを学習する学習手段（例えば、図１の予測学習部１０３）と、
前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求める予測手段（例えば、図１の予測部１０５）と、
前記所望操作データの予測値を出力する出力手段（例えば、図１の操作データ出力部１０６）と
を備えるデータ処理装置、又は、データ処理装置として、コンピュータを機能させるプログラムである。
【００１７】
本発明の一側面のデータ処理方法は、
時系列データを処理するデータ処理装置のデータ処理方法であり、
状況を表す時系列データである状況データを取得するとともに、ユーザが所望する操作に対応する時系列データである所望操作データを取得し（例えば、図３のステップＳ１０１、及びＳ１０２）、
前記状況データ及び所望操作データのダイナミクスを学習し（例えば、図３のステップＳ１０４）、
前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求め（例えば、図４のステップＳ１１３）、
前記所望操作データの予測値を出力する（例えば、図４のステップＳ１１４）
ステップを含むデータ処理方法である。
【００１８】
以下、図面を参照して、本発明の実施の形態について説明する。
【００１９】
図１は、本発明を適用したデータ処理装置の一実施の形態の構成例を示すブロック図である。
【００２０】
図１のデータ処理装置は、例えば、PCや、TVその他の、ユーザが操作を行う電子機器の一部を構成する。
【００２１】
図１において、データ処理装置は、状況データ取得部１０１、操作データ取得部１０２、予測学習部１０３、ダイナミクス学習モデル記憶部１０４、予測部１０５、及び操作データ出力部１０６から構成される。
【００２２】
状況データ取得部１０１は、状況を表す時系列データである状況データsit,sit+1,・・・,sit+Tを取得し、予測学習部１０３、及び予測部１０５に供給する。
【００２３】
ここで、sitは、i番目(i=1,2,・・・,I)の種類の状況データの時刻tのサンプル値を表す。
【００２４】
状況データ取得部１０１は、例えば、PCやTVにおける、マウスカーソルや、アイコン、ウインドウ、GUI(Graphical User Interface)で表示されるボタン、ユーザの視線の位置等の、各種の状況を表す状況データを取得する。
【００２５】
操作データ取得部１０２は、ユーザが所望する操作に対応する時系列データである所望操作データajt,ajt+1,・・・,ajt+Tを取得し、予測学習部１０３に供給する。
【００２６】
ここで、ajtは、j番目(j=1,2,・・・,J)の種類の所望操作データの時刻tのサンプル値を表す。
【００２７】
操作データ取得部１０２は、例えば、PCやTVのキーボードのキーに対するユーザの操作、ユーザによるウインドウの選択の操作、GUIで表示されるボタンに対するユーザの操作、マウスのボタンに対するユーザの操作、スクロールバーに対するユーザの操作等の、ユーザの操作に対応する時系列データ、つまり、ユーザの操作がどのような状態（ユーザによる操作が行われていない状態を含む）にあるのかを表す時系列データを、ユーザが、そのときに所望している操作を表す所望操作データとして取得する。
【００２８】
なお、どのようなデータを、状況データ及び所望操作データとするかは、例えば、図１のデータ処理装置に、あらかじめ設定しておくこともできるし、ユーザに設定してもらうようにすることもできる。
【００２９】
どのようなデータを、状況データ及び所望操作データとするかを、ユーザに設定してもらう場合には、上述したマウスカーソルの位置等や、キーに対するユーザの操作等の、状況データ及び所望操作データになり得るデータの一覧を表示し、そのデータの一覧の中から、状況データ及び所望操作データとするデータそれぞれを、ユーザに選択してもらえば良い。
【００３０】
予測学習部１０３は、状況データ取得部１０１からの状況データ、及び、操作データ取得部１０２からの所望操作データのダイナミクスを、ダイナミクス学習モデル記憶部１０４に記憶されたダイナミクス学習モデルによって学習する。
【００３１】
すなわち、予測学習部１０３は、ダイナミクス学習モデル記憶部１０４に記憶されたダイナミクス学習モデルのパラメータを、状況データ取得部１０１からの状況データ、及び、操作データ取得部１０２からの所望操作データを用いて更新する、ダイナミクス学習モデルの学習を行い、これにより、ダイナミクス学習モデル記憶部１０４に記憶されたダイナミクス学習モデルが、状況データ取得部１０１からの状況データ、及び、操作データ取得部１０２からの所望操作データのダイナミクスを獲得する。
【００３２】
ダイナミクス学習モデル記憶部１０４は、ダイナミクスを獲得することができるモデルであるダイナミクス学習モデルを記憶する。
【００３３】
ここで、ダイナミクス学習モデルとしては、例えば、RNN(Recurrent Neural Network)、FNN(Feed Forward Neural Network)、及びRNN-PB(Recurrent Neural Net with Parametric Bias)等のNN(Neural Network)や、SVR(Support Vector Regression)、その他のダイナミクスを獲得することができるモデルを採用することができる。
【００３４】
なお、多数のダイナミクスを獲得することができるモデルとして、複数のノードによって構成され、その複数のノードそれぞれにダイナミクスを保持するダイナミクス記憶ネットワークがある。ダイナミクス記憶ネットワークについては、後述する。
【００３５】
予測部１０５は、ダイナミクス学習モデル記憶部１０４に記憶されたダイナミクス学習モデルが獲得したダイナミクスに基づき、状況データ取得部１０１から供給される状況データsit,sit+1,・・・,sit+Tを入力として、所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+T、さらには、必要に応じて、状況データの予測値s'jt,s'jt+1,・・・,s'jt+Tを求め、操作データ出力部１０６に供給する。
【００３６】
なお、予測部１０５は、状況データの予測値s'jt,s'jt+1,・・・,s'jt+Tを求める場合には、状況データ取得部１０１からの状況データ（の真値）sit,sit+1,・・・,sit+Tも、操作データ出力部１０６に供給する。
【００３７】
操作データ出力部１０６は、予測部１０５からの所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tを、図１のデータ処理装置が一部を構成している電子機器としてのPCやTV等の操作データ（ユーザが行った操作に対応するデータ（操作を表すデータ））を受け付けるインタフェース（モジュール）に出力する。
【００３８】
操作データ出力部１０６が、予測部１０５からの所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tを、PCやTV等の操作データを受け付けるインタフェースに出力した場合、PCやTV等では、所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tに従った処理が行われる。
【００３９】
なお、操作データ出力部１０６は、予測部１０５から、所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tの他、状況データの予測値s'jt,s'jt+1,・・・,s'jt+T、及び、状況データの真値sit,sit+1,・・・,sit+Tが供給される場合には、状況データの予測値の予測誤差eit=|si-s'j|を求める。そして、操作データ出力部１０６は、例えば、予測誤差ejt,ejt+1,・・・,ejt+Tのそれぞれ、又は、すべての総和が、あらかじめ決定された所定の閾値以下（未満）であるときのみ、予測部１０５からの所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tを出力する。
【００４０】
この場合、予測誤差が大であるときには、操作データ出力部１０６は、予測部１０５からの所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tを出力しないので、PCやTV等では、所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tに従った処理は、行われない。すなわち、PCやTV等では、予測誤差が小であるときのみ、所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tに従った処理が行われる。
【００４１】
以上のような、予測誤差に基づく所望操作データの出力の制御は、例えば、ユーザの操作に従って、有効、又は無効とすることができる。
【００４２】
次に、図２を参照して、図１の状況データ取得部１０１が取得する状況データと、操作データ取得部１０２が取得する所望操作データについて、さらに説明する。
【００４３】
図２Ａは、PCの画面上のマウスカーソルの位置の軌跡と、PCの画面の左上の位置にあるアイコンがクリックされた状態を示している。
【００４４】
図２Ａでは、ユーザが、マウスカーソルを、PCの画面の右下から左上の方向に移動し、PCの画面の左上の位置にあるアイコンをクリックする操作をしている。
【００４５】
図２Ｂは、図２Ａの操作が行われた場合に、状況データ取得部１０１が取得する状況データを示している。
【００４６】
なお、図２Ｂにおいて、横軸は、時刻（時間）tを表し、縦軸は、図２Ａの画面の左下の点を原点とするxy座標系における座標(x,y)を表している。
【００４７】
状況データ取得部１０１は、図２Ｂに示すように、マウスカーソルの位置の軌跡を表す座標(mouse_xt,mouse_yt)を、i番目の種類の状況データsit,sit+1,・・・,sit+Tとして取得するとともに、図２Ａの画面の左上の位置にあるアイコンの位置を表す座標(icon_xt,icon_yt)を、i'番目の種類の状況データsi't,si't+1,・・・,si't+Tとして取得する。
【００４８】
図２Ｃは、図２Ａの操作が行われた場合に、操作データ取得部１０２が取得する所望操作データを示している。
【００４９】
なお、図２Ｃにおいて、横軸は、時刻tを表し、縦軸は、マウスのボタンのオフ(off)とオン(on)を表している。
【００５０】
操作データ取得部１０２は、図２Ｃに示すように、マウスのボタンの、オン又はオフの操作の状態を表す時系列データを、j番目の所望操作データajt,ajt+1,・・・,ajt+Tとして取得する。
【００５１】
次に、図１のデータ処理装置では、ダイナミクス学習モデル記憶部１０４に記憶されたダイナミクス学習モデルのパラメータを、状況データ及び所望操作データを用いて更新する、ダイナミクス学習モデルの学習の処理（学習処理）と、学習処理によってダイナミクスを獲得したダイナミクス学習モデルを用い、状況データを入力として、所望操作データの予測値（さらには、状況データの予測値）を求める予測の処理（予測処理）とが行われる。
【００５２】
図３は、図１のデータ処理装置で行われる学習処理を説明するフローチャートである。
【００５３】
学習処理は、例えば、周期的に、又は不定期のタイミングで開始され、ステップＳ１０１において、状況データ取得部１０１が、状況データを取得し、予測学習部１０３に供給して、処理は、ステップＳ１０２に進む。
【００５４】
ステップＳ１０２では、操作データ取得部１０２が、所望操作データを取得し、予測学習部１０３に供給して、処理は、ステップＳ１０３に進む。
【００５５】
ステップＳ１０３では、予測学習部１０３が、ダイナミクス学習モデル記憶部１０４に記憶されたダイナミクス学習モデルのパラメータを読み出し、処理は、ステップＳ１０４に進む。
【００５６】
ステップＳ１０４では、予測学習部１０３が、ステップＳ１０３でダイナミクス学習モデル記憶部１０４から読み出したダイナミクス学習モデルのパラメータを、状況データ取得部１０１からの状況データ、及び、操作データ取得部１０２からの所望操作データを用いて更新して、処理は、ステップＳ１０５に進む。
【００５７】
すなわち、例えば、いま、任意の数の、ニューロンに相当するユニットにより構成される入力層、隠れ層（中間層）、及び出力層の３層を有する３層型NNが、ダイナミクス学習モデルとして採用されていることとすると、予測学習部１０３は、入力層のユニットに、時刻tの入力データ（ベクトル）Xtとして、状況データ取得部１０１からの時刻tの状況データsit、及び、操作データ取得部１０２からの時刻tの所望操作データaitを入力する。
【００５８】
これにより、隠れ層のユニットでは、入力層に入力される入力データXtを対象として、ニューロンとしてのユニットどうしを結合する結合重み（結合荷重）を用いた重み付け加算が行われ、さらに、その重み付け加算の結果を引数とする非線形関数の演算が行われて、その演算結果が、出力層のユニットに出力される。
【００５９】
出力層のユニットからは、入力データXtに対する出力データとして、その入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1、すなわち、いまの場合、時刻t+1の状況データの予測値s'it+1、及び、時刻t+1の所望操作データの予測値a'it+1が出力される。
【００６０】
予測学習部１０３は、例えば、BP(Back-propagation)法に従い、入力データXtに対する出力データとしての、その入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1の、真値（時刻t+1の入力データXt+1）に対する予測誤差が小さくなるように、NNのパラメータとしての結合重みを、予測誤差に応じた値だけ更新する計算を、NNのパラメータが収束するまで繰り返し行う。
【００６１】
なお、NNのパラメータの更新は、ステップＳ１０３でダイナミクス学習モデル記憶部１０４から読み出されたパラメータを、パラメータの初期値として行われる。
【００６２】
以上のように、時刻tの時系列データXtから、次の時刻t+1の時系列データXt+1を予測することの学習（予測学習(prediction learning)）を行うことで、ダイナミクス学習モデルとしてのNNは、時系列データの時間発展法則を学習し、その時系列データのダイナミクスを獲得することができる。
【００６３】
ステップＳ１０５では、予測学習部１０３は、ステップＳ１０４で更新したダイナミクス学習モデルのパラメータを、ダイナミクス学習モデル記憶部１０４に上書きの形で書き込み（保存し）、処理は終了する。
【００６４】
図４は、図１のデータ処理装置で行われる予測処理を説明するフローチャートである。
【００６５】
予測処理は、例えば、周期的に、又は不定期のタイミングで開始され、ステップＳ１１１において、状況データ取得部１０１が、状況データを取得し、予測部１０５に供給して、処理は、ステップＳ１１２に進む。
【００６６】
ステップＳ１１２では、予測部１０５が、ダイナミクス学習モデル記憶部１０４に記憶されたダイナミクス学習モデルのパラメータを読み出し、処理は、ステップＳ１１３に進む。
【００６７】
ステップＳ１１３では、予測部１０５は、ダイナミクス学習モデル記憶部１０４に記憶されたダイナミクス学習モデルが獲得したダイナミクスに基づき、状況データ取得部１０１から供給される状況データを入力として、所望操作データの予測値を求め、操作データ出力部１０６に供給して、処理は、ステップＳ１１４に進む。
【００６８】
すなわち、例えば、いま、ダイナミクス学習モデルが、図３で説明した３層型NNであるとすると、予測部１０５は、入力層のユニットに、状況データ取得部１０１からの時刻tの状況データsitと、時刻tの所望操作データaitとしての、例えば、乱数やあらかじめ決められた値等とを、時刻tの入力データXtとして入力する。
【００６９】
これにより、隠れ層のユニットでは、入力層に入力される入力データXtを対象として、ダイナミクス学習モデルのパラメータとしての結合重みを用いた重み付け加算が行われ、さらに、その重み付け加算の結果を引数とする非線形関数の演算が行われて、その演算結果が、出力層のユニットに出力される。
【００７０】
出力層のユニットでは、隠れ層のユニットの演算結果を入力として、隠れ層のユニットと同様の演算が行われ、その演算結果が、入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1、すなわち、時刻t+1の状況データの予測値s'it+1、及び、時刻t+1の所望操作データの予測値a'it+1として出力される。
【００７１】
そして、出力層のユニットから出力される時刻t+1の所望操作データの予測値a'it+1が、予測部１０５から操作データ出力部１０６に供給される。
【００７２】
なお、入力層のユニットに、状況データ取得部１０１からの時刻tの状況データsitが入力された後は、状況データ取得部１０１からの次の時刻t+1の状況データsit+1が入力されるが、そのとき、時刻tの所望操作データaitとしては、例えば、出力層のユニットから出力された時刻t+1の所望操作データの予測値a'it+1が用いられる（入力層のユニットに入力される）。
【００７３】
また、上述の場合には、予測部１０５において、ダイナミクス学習モデルを用い、時刻tの入力データXtの入力に対して、入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1を求めることとしたが、予測部１０５では、ダイナミクス学習モデルを用いて得られた予測値を、さらにダイナミクス学習モデルの入力としてフィードバックすることを繰り返すことで、時刻t+1の入力データXt+1の予測値X't+1の他、その時刻t+1の先（未来）の時刻の予測値X't+2，X't+3，・・・をも求めることが可能である。後述する予測部１６５（図９）でも同様である。
【００７４】
ステップＳ１１４では、操作データ出力部１０６が、予測部１０５からの所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tを、図１のデータ処理装置が一部を構成している電子機器としてのPCやTV等の操作データを受け付けるインタフェースに出力し、処理は終了する。
【００７５】
これにより、PCやTV等では、所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tに従った処理が行われる。
【００７６】
なお、図４の予測処理は、図３の学習処理が行われていないときに行うこともできるし、図３の学習処理と並列して行うこともできる。
【００７７】
以上のように、状況データ取得部１０１において、状況を表す時系列データである状況データを取得するとともに、操作データ取得部１０２において、ユーザが所望する操作に対応する時系列データである所望操作データを取得し、予測学習部１０３において、状況データ及び所望操作データのダイナミクスを学習し、予測部１０５において、ダイナミクスに基づき、状況データを入力として、所望操作データの予測値を求め、操作データ出力部１０６において、所望操作データの予測値を出力するので、ユーザごとに、ユーザが行おうとしている操作、つまり、ユーザが所望する操作を先取りして行うことができる。
【００７８】
すなわち、例えば、図２Ａに示したように、ユーザが、マウスカーソルを、PCの画面の右下から左上の方向に移動し、PCの画面の左上の位置にあるアイコンをクリックする操作をした場合には、状況データ取得部１０１では、図２Ｂに示したように、マウスカーソルの位置の軌跡を表す座標(mouse_xt,mouse_yt)が、i番目の種類の状況データsit,sit+1,・・・,sit+Tとして取得されるとともに、図２Ａの画面の左上の位置にあるアイコンの位置を表す座標(icon_xt,icon_yt)が、i'番目の種類の状況データsi't,si't+1,・・・,si't+Tとして取得される。
【００７９】
さらに、操作データ取得部１０２では、図２Ｃに示したように、オフになっているマウスのボタンを所定のタイミングでオンにする操作を表す操作データが、j番目の所望操作データajt,ajt+1,・・・,ajt+Tとして取得される。
【００８０】
この場合、予測学習部１０３では、PCの画面の右下から左上の方向に向かうマウスカーソルの軌跡を表す座標(mouse_xt,mouse_yt)の時系列データ、PCの画面の左上の位置にあるアイコンの位置を表す座標(icon_xt,icon_yt)の時系列データ、及び、オフになっているマウスのボタンを所定のタイミングでオンにする操作を表す時系列データを用いて、ダイナミクス学習モデルの学習が行われる。
【００８１】
これにより、ダイナミクス学習モデルは、PCの画面の右下から左上の方向に向かうマウスカーソルの軌跡を表す座標(mouse_xt,mouse_yt)の時系列データ、PCの画面の左上の位置にあるアイコンの位置を表す座標(icon_xt,icon_yt)の時系列データ、及び、オフになっているマウスのボタンを所定のタイミングでオンにする操作を表す時系列データのダイナミクスを獲得する。
【００８２】
その後、状況データ取得部１０１において、PCの画面の右下から左上の方向に向かうマウスカーソルの軌跡を表す座標(mouse_xt,mouse_yt)の時系列データと、PCの画面の左上の位置にあるアイコンの位置を表す座標(icon_xt,icon_yt)の時系列データが取得され、予測部１０５に供給されると、予測部１０５では、ダイナミクス学習モデルが獲得したダイナミクスを有する所望操作データの予測値（さらには、状況データの予測値）、つまり、オフになっているマウスのボタンを所定のタイミングでオンにする操作を表す時系列データの予測値が求められ、操作データ出力部１０６を介して、PCのインタフェースに出力される。
【００８３】
したがって、PCでは、PCの画面の左上の位置に、アイコンが存在する状況であって、かつ、マウスカーソルが、PCの画面の右下から左上の方向に向かう軌跡を描いた状況となった場合、PCの画面の左上の位置にあるアイコンをクリックする操作に対応する所望操作データの予測値が求められ、これにより、PCでは、ユーザが、PCの画面の左上の位置にあるアイコンをクリックする操作をする前に、その操作を先取りする形で、その操作に従った処理が行われる。
【００８４】
なお、NNやSVR等の、ダイナミクスを獲得することができるダイナミクス学習モデルは、いわゆる汎化の能力（機能）を有する。かかる汎化の能力を有するダイナミクス学習モデルによれば、学習処理に用いられた時系列データと一致しない時系列データが与えられた場合であっても、その与えられた時系列データが、学習処理に用いられた時系列データとダイナミクスが類似するものであるときには、ある程度予測精度の高い予測値を出力する。
【００８５】
図５及び図６は、状況データと所望操作データの他の例を示している。
【００８６】
すなわち、図５は、PCの画面上のwebブラウザに表示された記事を見ているユーザの視線の軌跡と、その軌跡が描かれた後に、webブラウザ（の表示）のスクロールをする操作がされた状態を示している。
【００８７】
図５において、状況データ取得部１０１が、ユーザの視線の軌跡を表す座標を、i番目の種類の状況データsit,sit+1,・・・,sit+Tとして取得するとともに、操作データ取得部１０２が、webブラウザのスクロールをする操作に対応する操作データを、j番目の所望操作データajt,ajt+1,・・・,ajt+Tとして取得した場合、予測学習部１０３では、ユーザの視線の軌跡を表す座標の時系列データ、及び、webブラウザのスクロールをする操作を表す時系列データを用いて、ダイナミクス学習モデルの学習が行われる。
【００８８】
これにより、ダイナミクス学習モデルは、ユーザの視線の軌跡を表す座標の時系列データ、及び、webブラウザのスクロールをする操作を表す時系列データのダイナミクスを獲得する。
【００８９】
その後、状況データ取得部１０１において、図５に示したような、ユーザの視線の軌跡を表す座標の時系列データが取得され、予測部１０５に供給されると、予測部１０５では、ダイナミクス学習モデルが獲得したダイナミクスを有する所望操作データの予測値（さらには、状況データの予測値）、つまり、webブラウザのスクロールをする操作を表す時系列データの予測値が求められ、操作データ出力部１０６を介して、PCのインタフェースに出力される。
【００９０】
したがって、PCでは、webブラウザ上におけるユーザの視線が、図５に示したような軌跡を描いた状況となった場合、webブラウザのスクロールをする操作を表す時系列データの予測値が求められ、これにより、PCでは、ユーザが、webブラウザのスクロールをする操作をする前に、その操作を先取りする形で、その操作に従った処理、つまり、webブラウザのスクロールが行われる。
【００９１】
図６は、TVの画面（表示画面）を示している。
【００９２】
すなわち、図６では、TVの画面がメイン画面とサブ画面とに左右に分割され、メイン画面において、ユーザが選択した番組の画像が表示されるとともに、サブ画面において、４つの、いわゆる裏番組の画像それぞれを縮小した４つの縮小画像が縦に並ぶ形で表示されている。
【００９３】
さらに、図６では、メイン画面の番組の画像上と、サブ画面の上から２番目の番組の縮小画像上とを往復するユーザの視線の軌跡と、その軌跡が描かれた後に、サブ画面の上から２番目に縮小画像が表示された番組を選択する操作がされている。
【００９４】
図６において、状況データ取得部１０１が、ユーザの視線の軌跡を表す座標を、i番目の種類の状況データsit,sit+1,・・・,sit+Tとして取得するとともに、操作データ取得部１０２が、サブ画面の上から２番目に縮小画像が表示された番組を選択する操作に対応する操作データを、j番目の所望操作データajt,ajt+1,・・・,ajt+Tとして取得した場合、予測学習部１０３では、ユーザの視線の軌跡を表す座標の時系列データ、及び、サブ画面の上から２番目に縮小画像が表示された番組を選択する操作を表す時系列データを用いて、ダイナミクス学習モデルの学習が行われる。
【００９５】
これにより、ダイナミクス学習モデルは、ユーザの視線の軌跡（メイン画面の番組の画像上と、サブ画面の上から２番目の番組の縮小画像上とを往復するユーザの視線の軌跡）を表す座標の時系列データ、及び、サブ画面の上から２番目に縮小画像が表示された番組を選択する操作を表す時系列データ（番組を選択する操作（選択操作）と、その選択操作の前後で、選択操作がされていないことを表す時系列データ）のダイナミクスを獲得する。
【００９６】
その後、状況データ取得部１０１において、図６に示したような、ユーザの視線の軌跡を表す座標の時系列データが取得され、予測部１０５に供給されると、予測部１０５では、ダイナミクス学習モデルが獲得したダイナミクスを有する所望操作データの予測値（さらには、状況データの予測値）、つまり、サブ画面の上から２番目に縮小画像が表示された番組を選択する操作を表す時系列データの予測値が求められ、操作データ出力部１０６を介して、TVのインタフェースに出力される。
【００９７】
したがって、TVでは、画面上におけるユーザの視線が、図６に示したような軌跡を描いた状況となった場合、サブ画面の上から２番目に縮小画像が表示された番組を選択する操作を表す時系列データの予測値が求められ、これにより、TVでは、ユーザが、サブ画面の上から２番目に縮小画像が表示された番組を選択する操作をする前に、その操作を先取りする形で、その操作に従った処理、つまり、サブ画面の上から２番目に縮小画像が表示された番組の画像を、メイン画面に表示することが行われる。
【００９８】
なお、予測部１０５（図１）は、図４の予測処理において、上述したように、状況データ取得部１０１から供給される状況データsit,sit+1,・・・,sit+Tを入力として、所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tを求める他、状況データの予測値s'jt,s'jt+1,・・・,s'jt+Tを求め、状況データ取得部１０１から供給される状況データ（の真値）sit,sit+1,・・・,sit+Tとともに、操作データ出力部１０６に供給することができる。
【００９９】
この場合、操作データ出力部１０６は、予測部１０５からの状況データの予測値s'jt,s'jt+1,・・・,s'jt+T、及び、状況データの真値sit,sit+1,・・・,sit+Tを用いて、状況データの予測値の予測誤差eit=|si-s'j|を求め、予測誤差ejt,ejt+1,・・・,ejt+Tのそれぞれ、又は、すべての総和が、あらかじめ決定された所定の閾値以下であるときのみ、予測部１０５からの所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tを出力する。
【０１００】
この場合、状況データの予測値s'jt,s'jt+1,・・・,s'jt+Tが確からしくないときに、ひいては、所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tも確からしくないときに、そのような確からしくない所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tに従った処理が行われること、つまり、ユーザが意図しない処理が行われることを防止することができる。
【０１０１】
次に、図７は、本発明を適用したデータ処理装置の他の一実施の形態の構成例を示すブロック図である。
【０１０２】
図７のデータ処理装置は、例えば、ゲーム装置（又は、ゲームのソフトウェア）の一部を構成する。
【０１０３】
なお、ここでは、図７のデータ処理装置が一部を構成するゲーム装置が、ユーザが複数のキャラクタを操作する、例えば、サッカーや野球等のゲームのゲーム装置であるとする。
【０１０４】
図７において、データ処理装置は、教示キャラクタ選択部１５１、及び、ユーザが操作する複数としてのN人のキャラクタと同一の数のN個のキャラクタ動作補助モジュール１５２1，１５２2，・・・，１５２Nから構成される。
【０１０５】
教示キャラクタ選択部１５１は、例えば、ユーザの操作に応じて、N人のキャラクタの中から、動作を学習させるキャラクタを選択し、そのキャラクタの動作の補助を担当するキャラクタ動作補助モジュール１５２nを、学習処理を行うように制御する。
【０１０６】
キャラクタ動作補助モジュール１５２1ないし１５２Nは、上述したように、ユーザが操作するN人のキャラクタと同一の数であるN個だけ設けられている。キャラクタ動作補助モジュール１５２nは、N人のキャラクタのうちの、n番目のキャラクタの動作の補助を担当する。
【０１０７】
すなわち、キャラクタ動作補助モジュール１５２nは、n番目のキャラクタの動作を学習し、その学習結果に従い、n番目のキャラクタの動作を補助する。
【０１０８】
図８は、図７のデータ処理装置が一部を構成するゲーム装置が表示するゲームの画面（ゲーム画面）を示している。
【０１０９】
すなわち、図８は、サッカーのゲームのゲーム画面を示している。
【０１１０】
図８では、サッカーのプレイヤのキャラクタとして、ユーザのチームの一部のキャラクタである４人の味方キャラクタFC#1，FC#2，FC#3、及びFC#4と、ゲーム装置が操る敵のチームの一部のキャラクタである３人の敵キャラクタRC#1，RC#2、及びRC#3が表示されている。
【０１１１】
さらに、図８においては、サッカーのボールが表示されており、ゲーム中は、例えば、原則として、ボールの最も近くにいる味方キャラクタFC#nが、ユーザの操作に応じて動作し、他の味方キャラクタFC#n'は、ゲーム装置が動作させる。
【０１１２】
図８では、味方キャラクタFC#1ないしFC#4のうちの、味方キャラクタFC#1がボールに最も近く、したがって、味方キャラクタFC#1は、ユーザの操作に応じて動作し、他の味方キャラクタFC#2ないしFC#4は、ゲーム装置の制御に従って動作する。
【０１１３】
ゲーム装置が、他の味方キャラクタFC#n'を、どのように動作させるかは、ゲームのソフトウェアにあらかじめプログラミングされている。したがって、例えば、図８において、ユーザが、味方キャラクタFC#1を操作している最中に、他の味方キャラクタFC#2ないしFC#4それぞれが、矢印で示すように移動して欲しいと思っていても、ゲームのソフトウェアに、そのようなプログラミングがされていなければ、他の味方キャラクタFC#2ないしFC#4は、移動しない。
【０１１４】
そこで、キャラクタ動作補助モジュール１５２nは、n番目のキャラクタの動作を学習し、その学習結果に従い、n番目のキャラクタの動作を補助することで、そのn番目のキャラクタに、ユーザが所望する動作（ユーザが操作していたならば、行うであろう操作に対応する動作）を行わせる。
【０１１５】
すなわち、図９は、図７のキャラクタ動作補助モジュール１５２nの構成例を示している。
【０１１６】
図９において、キャラクタ動作補助モジュール１５２nは、状況データ取得部１６１、操作データ取得部１６２、予測学習部１６３、ダイナミクス学習モデル記憶部１６４、予測部１６５、及び操作データ出力部１６６から構成される。
【０１１７】
状況データ取得部１６１は、図１の状況データ取得部１０１と同様に、状況を表す時系列データである状況データsit,sit+1,・・・,sit+Tを取得し、予測学習部１６３、及び予測部１６５に供給する。
【０１１８】
但し、状況データ取得部１６１は、例えば、味方キャラクタFC#1ないしFC#4の位置や、ボールの位置、ゴールの位置、敵キャラクタRC#1ないしRC#3の位置等を表す、サッカーゲームの各種の状況を表す状況データを取得する。
【０１１９】
操作データ取得部１６２は、図１の操作データ取得部１０１と同様に、ユーザが所望する操作に対応する時系列データである所望操作データajt,ajt+1,・・・,ajt+Tを取得し、予測学習部１６３に供給する。
【０１２０】
但し、操作データ取得部１６２は、例えば、図９のキャラクタ動作補助モジュール１５２nが担当するn番目のキャラクタ（味方キャラクタ）を移動させるユーザの操作や、そのn番目のキャラクタに、シュート、パス、ドリブルをさせるユーザの操作等の、ユーザが、そのときに所望している動作をn番目のキャラクタに行わせる操作を表す所望操作データを取得する。
【０１２１】
予測学習部１６３は、図１の予測学習部１０３と同様に、状況データ取得部１６１からの状況データ、及び、操作データ取得部１６２からの所望操作データのダイナミクスを、ダイナミクス学習モデル記憶部１６４に記憶されたダイナミクス学習モデルによって学習する。
【０１２２】
ダイナミクス学習モデル記憶部１６４は、図１のダイナミクス学習モデル記憶部１０４と同様に、ダイナミクス学習モデルを記憶する。
【０１２３】
予測部１６５は、図１の予測部１０５と同様に、ダイナミクス学習モデル記憶部１６４に記憶されたダイナミクス学習モデルが獲得したダイナミクスに基づき、状況データ取得部１６１から供給される状況データsit,sit+1,・・・,sit+Tを入力として、所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+T、さらには、必要に応じて、状況データの予測値s'jt,s'jt+1,・・・,s'jt+Tを求め、操作データ出力部１６６に供給する。
【０１２４】
なお、予測部１６５は、状況データの予測値s'jt,s'jt+1,・・・,s'jt+Tを求める場合には、状況データ取得部１６１からの状況データ（の真値）sit,sit+1,・・・,sit+Tも、操作データ出力部１６６に供給する。
【０１２５】
操作データ出力部１６６は、図１の操作データ出力部１０６と同様に、予測部１６５からの所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tを、図７のデータ処理装置が一部を構成しているゲーム装置の操作データを受け付けるインタフェース（モジュール）に出力する。
【０１２６】
操作データ出力部１６６が、予測部１６５からの所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tを、ゲーム装置の操作データを受け付けるインタフェースに出力した場合、ゲーム装置では、n番目のキャラクタを、所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tに従って動作させる処理が行われる。
【０１２７】
なお、操作データ出力部１６６では、図１の操作データ出力部１０６と同様に、状況データの予測値の予測誤差eit=|si-s'j|を求め、予測誤差ejt,ejt+1,・・・,ejt+Tのそれぞれ、又は、すべての総和が、あらかじめ決定された所定の閾値以下（未満）であるときのみ、予測部１６５からの所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tを出力することができる。
【０１２８】
次に、図１０を参照して、図９の状況データ取得部１６１が取得する状況データと、操作データ取得部１６２が取得する所望操作データについて、さらに説明する。
【０１２９】
図１０Ａは、学習モード時のゲーム画面を示している。
【０１３０】
すなわち、図７のデータ処理装置が一部を構成するゲーム装置には、動作モードとして、ゲーム装置（又は、他のユーザ）が操る敵チームとサッカーの試合を行う通常モードと、ユーザのチームのキャラクタの動作の学習を行う学習モードとがある。
【０１３１】
図１０Ａは、動作モードが学習モードである場合のゲーム画面を示している。なお、動作モードの切り換えは、例えば、ユーザの操作に応じて行われる。
【０１３２】
図１０Ａは、図８の場合と同様のゲーム画面を示している。
【０１３３】
したがって、図１０Ａのゲーム画面では、ユーザのチームの一部のキャラクタである４人の味方キャラクタFC#1ないしFC#4と、ゲーム装置が操る敵のチームの一部のキャラクタである３人の敵キャラクタRC#1ないしRC#3が存在する状況であって、かつ、味方キャラクタFC#1ないしFC#4のうちの、味方キャラクタFC#1が、ボールに最も近い位置に存在する状況になっている。
【０１３４】
図１０Ａの状況において、ユーザは、ボールに最も近い味方キャラクタFC#1以外の他の味方キャラクタFC#2ないしFC#4それぞれを、矢印で示すように移動させたい場合、例えば、味方キャラクタFC#2を、動作の学習対象のキャラクタとして選択し、その味方キャラクタFC#2を、矢印で示すように移動させる操作を行う。
【０１３５】
この場合、教示キャラクタ選択部１５１（図７）は、味方キャラクタFC#2の動作の補助を担当する、例えば、2番目のキャラクタ動作補助モジュール１５２2を、学習処理を行うように制御する。キャラクタ動作補助モジュール１５２2は、教示キャラクタ選択部１５１の制御に従い、状況データ取得部１６１において、状況データを取得するとともに、操作データ取得部１６２において、所望操作データ（ここでは、味方キャラクタFC#2を、図１０Ａに矢印で示すように移動させる操作に対応する操作データ）を取得し、その状況データ及び所望操作データのダイナミクスを学習する学習処理を行う。
【０１３６】
図１０Ｂは、図１０Ａのゲーム画面において、ユーザが、味方キャラクタFC#2を、矢印で示すように移動させる操作を行った場合に、味方キャラクタFC#2の動作の補助を担当するキャラクタ動作補助モジュール１５２2の状況データ取得部１６１が取得する状況データを示している。
【０１３７】
なお、図１０Ｂにおいて、横軸は、時刻tを表し、縦軸は、図１０Ａのゲーム画面の左下の点を原点とするxy座標系における座標(x,y)を表している。
【０１３８】
状況データ取得部１６１は、例えば、図１０Ｂに示すように、ボールの位置の軌跡を表す座標(ball_xt,ball_yt)を、i番目の種類の状況データsit,sit+1,・・・,sit+Tとして取得する。
【０１３９】
図１０Ｃは、図１０Ａのゲーム画面において、ユーザが、味方キャラクタFC#2を、矢印で示すように移動させる操作を行った場合に、味方キャラクタFC#2の動作の補助を担当するキャラクタ動作補助モジュール１５２2の操作データ取得部１６２が取得する所望操作データを示している。
【０１４０】
なお、図１０Ｃにおいて、横軸は、時刻tを表し、縦軸は、動作の学習対象のキャラクタである味方キャラクタFC#2の図１０Ａのゲーム画面の左下の点を原点とするxy座標系における座標(x,y)を表している。
【０１４１】
操作データ取得部１６２は、図１０Ｃに示すように、ユーザの操作に従って移動する、動作の学習対象のキャラクタである味方キャラクタFC#2の位置の軌跡を表す座標(p_move_xt,p_move_yt)を、j番目の所望操作データajt,ajt+1,・・・,ajt+Tとして取得する。
【０１４２】
以下、同様に、ユーザは、味方キャラクタFC#3及びFC#4それぞれを、動作の学習対象のキャラクタとして選択し、矢印で示すように移動させる操作を行う。これにより、味方キャラクタFC#3及びFC#4の動作の補助を担当する、例えば、3番目のキャラクタ動作補助モジュール１５２3、及び４番目のキャラクタ動作補助モジュール１５２4それぞれでは、キャラクタ動作補助モジュール１５２2の場合と同様に、状況データと所望操作データとが取得される。
【０１４３】
次に、図７のデータ処理装置の動作について説明する。
【０１４４】
図７のデータ処理装置では、図１のデータ処理装置と同様に、キャラクタ動作補助モジュール１５２n（図９）において、ダイナミクス学習モデル記憶部１６４に記憶されたダイナミクス学習モデルのパラメータを、状況データ及び所望操作データを用いて更新する、ダイナミクス学習モデルの学習の処理（学習処理）と、学習処理によってダイナミクスを獲得したダイナミクス学習モデルを用い、状況データを入力として、所望操作データの予測値（さらには、状況データの予測値）を求める予測の処理（予測処理）とが行われる。
【０１４５】
図１１は、図７のデータ処理装置で行われる学習処理を説明するフローチャートである。
【０１４６】
学習処理は、例えば、動作モードが学習モードとされたときに行われる。
【０１４７】
教示キャラクタ選択部１５１は、ステップＳ１５１において、ユーザが、動作を学習させるキャラクタを選択する操作を行うのを待って、そのキャラクタの動作の補助を担当するキャラクタ動作補助モジュール１５２nを、学習を行う学習対象モジュールとして選択し、処理は、ステップＳ１５２に進む。
【０１４８】
ステップＳ１５２では、学習対象モジュールとして選択されたキャラクタ動作補助モジュール１５２n（図９）において、状況データ取得部１６１が、状況データを取得し、予測学習部１６３に供給して、処理は、ステップＳ１５３に進む。
【０１４９】
ステップＳ１５３では、操作データ取得部１６２が、所望操作データを取得し、予測学習部１６３に供給して、処理は、ステップＳ１５４に進む。
【０１５０】
ステップＳ１５４では、予測学習部１６３が、ダイナミクス学習モデル記憶部１６４に記憶されたダイナミクス学習モデルのパラメータを読み出し、処理は、ステップＳ１５５に進む。
【０１５１】
ステップＳ１５５では、予測学習部１６３が、ステップＳ１５４でダイナミクス学習モデル記憶部１６４から読み出したダイナミクス学習モデルのパラメータを、状況データ取得部１６１からの状況データ、及び、操作データ取得部１６２からの所望操作データを用いて更新して、処理は、ステップＳ１５６に進む。
【０１５２】
ステップＳ１５６では、予測学習部１６３は、ステップＳ１５５で更新したダイナミクス学習モデルのパラメータを、ダイナミクス学習モデル記憶部１６４に上書きの形で書き込み、処理は終了する。
【０１５３】
図１２は、図７のデータ処理装置で行われる予測処理を説明するフローチャートである。
【０１５４】
予測処理は、例えば、動作モードが通常モードとされたときに、N個のキャラクタ動作補助モジュール１５２1ないし１５２Nそれぞれ（但し、ユーザが操作しているキャラクタを担当するキャラクタ動作補助モジュール１５２n’は、除外することができる）において行われる。
【０１５５】
キャラクタ動作補助モジュール１５２nでは、ステップＳ１６１において、状況データ取得部１６１が、状況データを取得し、予測部１６５に供給して、処理は、ステップＳ１６２に進む。
【０１５６】
ステップＳ１６２では、予測部１６５が、ダイナミクス学習モデル記憶部１６４に記憶されたダイナミクス学習モデルのパラメータを読み出し、処理は、ステップＳ１６３に進む。
【０１５７】
ステップＳ１６３では、予測部１６５は、ダイナミクス学習モデル記憶部１６４に記憶されたダイナミクス学習モデルが獲得したダイナミクスに基づき、状況データ取得部１６１から供給される状況データを入力として、所望操作データの予測値を求め、操作データ出力部１６６に供給して、処理は、ステップＳ１６４に進む。
【０１５８】
ステップＳ１６４では、操作データ出力部１６６が、予測部１６５からの所望操作データの予測値を、図７のデータ処理装置が一部を構成しているゲーム装置の操作データを受け付けるインタフェースに出力し、処理は終了する。
【０１５９】
これにより、ゲーム装置では、キャラクタ動作補助モジュール１５２nが担当するキャラクタを、所望操作データの予測値に従って動作させる処理が行われる。
【０１６０】
以上のように、キャラクタ動作補助モジュール１５２nでは、状況データ取得部１６１において、状況を表す時系列データである状況データを取得するとともに、操作データ取得部１６２において、ユーザが所望する操作に対応する時系列データである所望操作データを取得し、予測学習部１６３において、状況データ及び所望操作データのダイナミクスを学習し、予測部１６５において、ダイナミクスに基づき、状況データを入力として、所望操作データの予測値を求め、操作データ出力部１６６において、所望操作データの予測値を出力するので、ユーザごとに、ユーザが行いたい操作、つまり、ユーザが所望する操作を先取りして行うことができる。
【０１６１】
すなわち、例えば、図８や図１０に示したように、ユーザが、味方キャラクタFC#1を操作している最中に、他の味方キャラクタFC#2ないしFC#4それぞれを、矢印で示すように移動する操作を行いたいときに、そのように移動させることができる。
【０１６２】
なお、上述したたように、操作データ出力部１６６において、状況データの予測値の予測誤差eit=|si-s'j|を求め、図１の操作データ出力部１０６と同様に、予測誤差ejt,ejt+1,・・・,ejt+Tに応じて、所望操作データの予測値a'jt,a'jt+1,・・・,a'jt+Tの出力を制御することにより、ユーザが意図しない処理が行われること、つまり、キャラクタが意図しない動作を行うことを防止することができる。
【０１６３】
次に、ダイナミクス学習モデルとしては、上述したように、多数のダイナミクスを保持することができるダイナミクス記憶ネットワークを採用することができる。
【０１６４】
そこで、以下では、例えば、自律型ロボット等の自律的に行動する自律エージェントへの適用を例に、ダイナミクス記憶ネットワークについて説明する。
【０１６５】
自律型ロボット等の自律エージェントは、様々なセンサ信号に基づいて、どのように振る舞うべきか、つまり、とるべき行動を決定し、その行動に応じたモータ信号を生成することで、自律的に行動する。
【０１６６】
ここで、センサ信号とは、例えば、カメラが、センシングとしての撮像を行うことで出力する画像信号や、マイク（マイクロフォン）が、センシングとしての集音を行うことで出力する音声信号等である。また、モータ信号とは、例えば、自律エージェントの腕や脚等を駆動するモータに与えられる信号や、音声合成装置に対して与えられる、音声合成に必要な信号等である。
【０１６７】
自律エージェントは、とるべき行動を決定するときに、センサ信号に基づいて、周囲の状態（例えば、何らかの物体がある位置等）や、自律エージェントの状態（例えば、腕や脚の状態等）等の状況を認識する。この、状況を認識することを、以下、適宜、認知ともいう。
【０１６８】
また、自律エージェントは、認知（認識）の結果に基づき、とるべき行動（動作）を決定し、その行動に応じたモータ信号を生成する。このモータ信号が、自律エージェントの腕や脚等を駆動するモータに与えられることで、自律エージェントは、腕や脚等を動かす行動をとる。
【０１６９】
ここで、以下、適宜、とるべき行動に応じたモータ信号を生成することを、単に、行動ともいう。
【０１７０】
また、以下、適宜、状況を認識し、その認識結果に基づき、とるべき行動を決定して、その行動に応じたモータ信号を生成する認識生成、つまり、認知を行い、その認知の結果に基づき、行動することを、認知行動ともいい、認知行動をモデル化したモデルを、認知行動モデルという。
【０１７１】
自律エージェントの認知行動は、時間発展法則により定められる力学系（dynamical systems）として記述することができ、様々な行動はその力学系が持つ特定のアトラクタダイナミクス（attractor dynamics）によって実現できることが知られている。例えば、人を模した二足型ロボットの歩行運動は、系の運動状態が様々な初期状態からある特定の周期軌道に落ち着くことを特徴とするリミットサイクルダイナミクス（limit cycle dynamics）として記述することができる。
【０１７２】
また、自律エージェントとしての、例えば、アームロボットがある対象物に対して手先を伸ばすようなリーチング運動は、様々な初期状態からある特定の固定点に落ち着くことを特徴とする不動点ダイナミクス（fixed-point dynamics）として記述することができる。さらに、全ての運動は、不動点ダイナミクスで実現可能な離散運動（discrete movement）とリミットサイクルダイナミクスで実現可能な周期運動（cyclic movement）の組み合わせにより実現できるとも言われている。
【０１７３】
したがって、ダイナミクスを学習するダイナミクス学習モデルは、認知行動モデルとして利用することができる。
【０１７４】
ダイナミクス学習モデルの１つである、例えば、RNNは、ネットワークに回帰ループで結合されるコンテキストユニットを持ち、そこに内部状態を保持することによって、理論的には、任意の力学系を近似可能である。
【０１７５】
但し、１つのRNNでは、多数のダイナミクスを獲得（学習）することは、学習の収束性などから難しいことがある。
【０１７６】
これに対して、ダイナミクス記憶ネットワークによれば、多数のダイナミクスを容易に獲得することができる。
【０１７７】
そこで、図１３は、ダイナミクス記憶ネットワークによって、時系列データのダイナミクスを獲得する学習をし、その学習結果を用いて、時系列データの認識及び生成を行うデータ処理装置の構成例を示している。
【０１７８】
図１３のデータ処理装置では、観測することができる観測信号が、信号入力部１１に入力される。観測信号は、例えば音や画像の信号、LED(Light Emitting Diode)の明るさ、モータの回転角度や回転角速度などであり、図１３のデータ処理装置が、例えば、自律エージェントの認知行動に利用されることとすると、その自律エージェントに対して入出力し得る信号が、観測信号となり得る。
【０１７９】
ここで、ダイナミクス学習モデルとして、ダイナミクス記憶ネットワークが採用される場合、状況データ、及び所望操作データが、観測信号に相当する。
【０１８０】
信号入力部１１は、観測される観測信号に対応する電気信号を出力する。具体的には、信号入力部１１は、例えば、観測信号が音の信号の場合は、センサとしてのマイクに対応し、観測信号が画像信号の場合は、センサとしてのカメラに対応する。また、モータの回転角度や回転速度の計測装置なども、信号入力部１１に対応する。
【０１８１】
ここで、以下、適宜、信号入力部１１に入力される信号も、信号入力部１１が出力する信号も、観測信号という。
【０１８２】
なお、観測信号は、時間的に定常的な定常信号であっても良いし、時間的に変化する（定常的でない）非定常信号であっても良い。
【０１８３】
以下では、例えば、センサモータ信号を観測信号とする。センサモータ信号とは、例えば、図示せぬ自律型ロボットが有するカメラやマイクその他のセンサが出力するセンサ信号と、自律型ロボットの腕や脚等を駆動するモータに与えられるモータ信号とを、一定の時間間隔でサンプリングして得られる、同一のサンプル点（時刻）のサンプル値をコンポーネントとするベクトルの時系列である。
【０１８４】
信号入力部１１は、時系列データである観測信号を、逐次、適当な長さに区切って出力する。すなわち、信号入力部１１は、観測信号としてのセンサモータ信号から、例えば、１００サンプル（点）を、１サンプルずつシフトしながら抽出し、その１００サンプルの時系列データを、特徴量抽出部１２に供給する。
【０１８５】
なお、センサモータ信号のサンプリングの時間間隔や、信号入力部１１がセンサモータ信号から抽出するサンプルの数（サンプル数）は、観測信号とするセンサモータ信号に応じて適切に調整される。
【０１８６】
特徴量抽出部１２は、信号入力部１１から供給される観測信号から特徴量を抽出し、その特徴量の時系列を、学習部１３、認識部１４、及び生成部１５に供給する。
【０１８７】
すなわち、観測信号が、例えば、音声信号である場合には、特徴量抽出部１２は、その音声信号の一定時間分ごとに、周波数分析その他の音響処理を施し、音声認識等で広く利用されている、例えば、メルケプストラムなどの音声の特徴量を抽出する。そして、特徴量抽出部１２は、観測信号から抽出した特徴量を、時系列に出力し、これにより、特徴量抽出部１２から学習部１３、認識部１４、及び生成部１５に対して、特徴量の時系列データが供給される。
【０１８８】
学習部１３は、特徴量抽出部１２からの時系列データに基づき、ダイナミクスを学習する学習処理を行い、認識部１４及び生成部１５は、特徴量抽出部１２からの時系列データに基づき、学習処理の結果を利用して、時系列データを認識する認識処理や、時系列データを生成する生成処理、時系列データを認識し、その認識結果に応じて、時系列データを生成する認識生成処理を行う。
【０１８９】
すなわち、学習部１３は、特徴量抽出部１２からの時系列データに基づき、後述するネットワーク記憶部１６に記憶されたダイナミクス記憶ネットワークの各ダイナミクスを自己組織的に更新する学習処理を行う。
【０１９０】
ここで、学習処理では、ダイナミクス記憶ネットワークのパラメータの更新が行われる。パラメータの更新は、学習とも呼ばれる。
【０１９１】
学習部１３による学習処理の詳細は後述するが、学習処理では、基本的には、ラベル（正解ラベル）の付与されていない時系列データを、ダイナミクス記憶ネットワークに対して、繰り返し与えていく（供給していく）と、ダイナミクス記憶ネットワークが、その時系列データの中の特徴的なダイナミクスを自己組織的に獲得していく教師なし学習が実行される。その結果、ダイナミクス記憶ネットワークには、そこに与えられた時系列データの代表的なダイナミクスが記憶される。
【０１９２】
ここで、ダイナミクス記憶ネットワークは、例えば、後述するように、力学系近似モデルの１つであるRNNによって、ダイナミクスを保持する。例えば、ある時刻tのデータの入力に対して、次の時刻t+1のデータを出力するRNN（の後述する入力層の入力ユニット）に対して入力される、ある時刻tのデータを、入力データというとともに、その時刻tのデータに対してRNNが出力する時刻t+1のデータを、出力データということとすると、学習部１３、認識部１４、及び生成部１５に対して、特徴量抽出部１２から供給される時系列データは、入力データである。
【０１９３】
認識部１４は、入力データ、つまり、特徴量抽出部１２から供給される時系列データを認識の対象として、認識処理を行う。
【０１９４】
すなわち、認識部１４は、ネットワーク記憶部１６のダイナミクス記憶ネットワークが記憶しているダイナミクスの中で、特徴量抽出部１２から供給される時系列データに最も適合するダイナミクスを決定し、そのダイナミクスを表す情報を、入力データとしての時系列データの認識結果として出力する。
【０１９５】
生成部１５には、特徴量抽出部１２から時系列データが供給される他、制御信号が供給される。生成部１５は、ネットワーク記憶部１６のダイナミクス記憶ネットワークが記憶しているダイナミクスの中から、時系列データの生成に用いるダイナミクスを、そこに供給される制御信号に従って決定し、そのダイナミクスを有する時系列データを、特徴量抽出部１２から供給される時系列データを必要に応じて用いて生成する生成処理を行う。
【０１９６】
なお、生成部１５が生成処理を行うことによって得られる時系列データは、必要な処理が施されて出力される。
【０１９７】
ネットワーク記憶部１６は、ダイナミクス記憶ネットワークを記憶する。
【０１９８】
ダイナミクス記憶ネットワークは、ダイナミクスを１つのノードに保持し、複数のノードによって構成される。
【０１９９】
ここで、ダイナミクスは、時間変化する力学系を表すもので、例えば、具体的な関数によって表現することができる。ダイナミクス記憶ネットワークでは、時系列データの時間変化の特徴が、ダイナミクスとして記憶される。
【０２００】
なお、本実施の形態では、ダイナミクス記憶ネットワークのノードにおいて、例えば、内部状態量を持つ力学系近似モデルによってモデル化されたダイナミクスを保持することとする。この場合、ダイナミクス記憶ネットワークは、内部状態量を持つ力学系近似モデルをノードとするネットワーク（内部状態量を持つ力学系近似モデルを保持（記憶）するノードによって構成されるネットワーク）である。
【０２０１】
ここで、内部状態量を持つ（力学系近似）モデルとは、例えば、ある入力があると、その入力に応じて出力をするモデルを考えた場合に、外部から観測することができる入力と出力とは別に、外部からは観測されない（できない）、モデルの内部の状態を表す内部状態量を有するモデルである。内部状態量を持つモデルでは、入力の他に、内部状態量をも用いて出力が求められるため、同一の入力があっても、内部状態量が異なると、異なる出力が得られる。
【０２０２】
内部状態記憶部１７は、ネットワーク記憶部１６に記憶されたダイナミクス記憶ネットワークの内部状態量を記憶する。内部状態記憶部１７に記憶された内部状態量は、認識生成処理において、時系列データの認識時に、適宜更新され、時系列データの生成時に、必要に応じて利用される。この認識生成処理によって、自律エージェントの認知行動を実現することができる。
【０２０３】
次に、図１４は、図１３のネットワーク記憶部１６に記憶されたダイナミクス記憶ネットワークの例を、模式的に示している。
【０２０４】
ダイナミクス記憶ネットワークは、複数のノードとリンクによって構成される。
【０２０５】
ノードは、ダイナミクスを保持（記憶）する。
【０２０６】
リンクは、ノードどうしの間に結合関係を与える。
【０２０７】
図１４では、ダイナミクス記憶ネットワークは、９個のノードN1ないしN9を有し、各ノードNi(i=1,2,・・・,9)には、９個のノードN1ないしN9が２次元の格子状に配置されるように、縦方向及び横方向に隣接するノードとの間にリンクが与えられている。
【０２０８】
すなわち、図１４では、リンクによって、９個のノードN1ないしN9に、２次元の配置構造が与えられている。
【０２０９】
ここで、ダイナミクス記憶ネットワークにおいては、ノードNiの配置構造に応じて、ノードNiの位置を表す座標系を定義することができる。すなわち、例えば、図１４に示すように、２次元の配置構造のノードNiについては、２次元座標系を定義し、その２次元座標系上の座標によって、ノードNiの位置を表すことができる。
【０２１０】
例えば、いま、図１４のダイナミクス記憶ネットワークについて、左下のノードN7の位置を原点(0,0)とするとともに、左から右方向をx軸とし、下から上方向をy軸とする２次元座標系を定義して、リンクの長さを0.5とすると、図１４のダイナミクス記憶ネットワークにおいて、例えば、右上のノードN3の位置の座標は、(1,1)となる。
【０２１１】
また、ダイナミクス記憶ネットワークを構成する任意の２つのノードNi及びNjそれぞれが保持するダイナミクスどうしが類似している（近い）度合いを表す尺度として、ノードNiとNjとの間の距離を導入する。
【０２１２】
いま、ノードNiとNjとの間の距離として、ノードNiとNjとの間のユークリッド距離を採用することとすると、例えば、左下のノードN7と、右上のノードN3との間の距離は、√((0-1)2+(0-1)2)=√2となる。
【０２１３】
図１５は、図１３のネットワーク記憶部１６に記憶されたダイナミクス記憶ネットワークのノードNiの構成例を模式的に示している。
【０２１４】
ノードNiは、例えば、内部状態量を持ち、力学系を表すことができる力学系近似モデルを有する。
【０２１５】
図１５では、内部状態量を持つ力学系近似モデルとして、例えば、RNNが採用されている。
【０２１６】
図１５において、力学系近似モデルとしてのRNNは、３層型NNに、その出力層から入力層への回帰ループを持たせたものとなっており、その回帰ループによって、内部状態量が保持される。
【０２１７】
すなわち、図１５において、力学系近似モデルとしてのRNNは、入力層、隠れ層（中間層）、及び出力層の３層により構成されている。入力層、隠れ層、及び出力層は、それぞれ任意の数の、ニューロンに相当するユニットにより構成される。
【０２１８】
図１５において、入力層は、入力ユニット、及びコンテキストユニットを有する。
【０２１９】
入力ユニットには、時刻tの入力データ（ベクトル）Xtとしての時系列データが入力される。
【０２２０】
コンテキストユニットには、例えば、出力層の一部のユニットが出力するデータが、内部状態量であるコンテキストとしてフィードバックされる。すなわち、図１５のRNNでは、コンテキストユニットと、出力層の一部のユニットとが、回帰ループによって接続されており、コンテキストユニットには、出力層の一部のユニットが出力するデータが、回帰ループを介して、コンテキストとして入力される。
【０２２１】
ここで、時刻tの入力データXtが入力ユニットに入力されるときに、コンテキストユニットに入力される時刻tのコンテキストCtは、１時刻前の時刻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等に記載されている。
【０２２６】
学習部１３は、力学系近似モデルとしてのRNNが保持するダイナミクスが、ダイナミクス記憶ネットワークの学習に用いられる時系列データである学習データの影響を受けるように、RNNのパラメータである結合重みを更新するRNNの学習を行う。
【０２２７】
なお、学習部１３は、力学系近似モデルが保持するダイナミクスが、学習データの影響を受ける度合いを強くしたり弱くしたりするための調整機能を有している。
【０２２８】
すなわち、ダイナミクス記憶ネットワークの学習では、学習データが入力されるたびに、ダイナミクス記憶ネットワークを構成するノードが有する力学系近似モデルのパラメータが少しずつ更新される。このパラメータの更新時に、学習部１３は、ノードごとに、そのノードが保持するダイナミクスを更新する程度、つまり、学習データを、ノードが保持するダイナミクスに影響させる程度を表す学習重みを決定する。
【０２２９】
学習部１３は、学習重みに応じて、ノードが保持するダイナミクスを、学習データのダイナミクスに近くなるように、自己組織的に更新する
【０２３０】
すなわち、学習部１３は、ノードの力学系近似モデルが、例えば、RNNである場合には、そのRNNが保持するダイナミクスが、学習データの影響を受ける度合いを、学習重みに応じて調整しながら、RNNのパラメータを、BPTT法により更新する。
【０２３１】
学習部１３において、RNNが保持するダイナミクスが学習データの影響を受ける度合いの調整は、例えば、BPTT法によるRNNのパラメータ（結合重み）の更新時の、パラメータを計算する繰り返し回数を、学習重みに応じて制限することや、パラメータを更新する程度に影響を与える予測誤差を、学習重みに応じて補正すること等によって行われる。
【０２３２】
すなわち、BPTT法によるRNNのパラメータの更新では、例えば、入力データXtに対する出力データとしての、その入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1の、真値（時刻t+1の入力データXt+1）に対する予測誤差が小さくなるように、RNNのパラメータとしての結合重みを、予測誤差に応じた値だけ更新する計算が、RNNのパラメータが収束するまで繰り返し行われる。
【０２３３】
学習部１３は、例えば、学習重みが小さいほど、パラメータの計算の繰り返し回数を少なくすることで、RNNが保持するダイナミクスが学習データの影響を受ける度合いを小に調整する。
【０２３４】
あるいは、学習部１３は、例えば、学習重みが小さいほど、予測誤差を小さい値に補正することで、RNNが保持するダイナミクスが学習データの影響を受ける度合いを小に調整する。
【０２３５】
いずれにしても、学習重みが大きいときには、RNNのパラメータは、RNNが保持するダイナミクスが学習データの影響を大きく受けるように更新される。また、学習重みが小さいときには、RNNのパラメータは、RNNが保持するダイナミクスが学習データの影響をあまり受けないように（少ししか受けないように）更新される。
【０２３６】
次に、学習重みの決定の方法について説明する。
【０２３７】
学習部１３は、ダイナミクス記憶ネットワークのノードの中から、学習データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードから各ノードまでの距離に応じて、各ノードが保持するダイナミクスを更新する程度を表す学習重みを決定する。
【０２３８】
すなわち、学習部１３は、特徴量抽出部１２から１サンプルの特徴量が供給されると、その１サンプルの特徴量と、特徴量抽出部１２から直前に供給された過去のT-1サンプルの特徴量とによって、Tサンプルの特徴量（サンプル値）の時系列データを、観測される（た）観測時系列データとして生成する。
【０２３９】
ここで、この場合、特徴量抽出部１２が出力する特徴量の時系列データを、１サンプルずつシフトしながら、Tサンプルずつ逐次抽出して得られる時系列データが、観測時系列データとなる。
【０２４０】
なお、以下では、時刻tの（観測）時系列データXtとは、例えば、時刻t-T+1のサンプル値から、時刻tのサンプル値までのTサンプルのサンプル値Xt-T+1,Xt-T+2,・・・,Xt-1,Xtを意味することとする。
【０２４１】
学習部１３は、時刻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で定義されることとすると、学習部１３は、時刻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のような内部状態量を持つ力学系近似モデルについては、その内部状態量を適切な値とすることで、スコアはより良くなる。
【０２４５】
そのため、学習部１３は、スコアの計算にあたっては、予測誤差を最小化するように、BPTT法によって、内部状態量としてのRNNのコンテキストを調整した後、そのコンテキストを更新しながら、スコアを計算する。
【０２４６】
そして、学習部１３は、ダイナミクス記憶ネットワークのノードの中から、スコアが最も良いRNNを有するノードを、学習データに最も適合するダイナミクスを保持する勝者ノードに決定する。
【０２４７】
さらに、学習部１３は、ダイナミクス記憶ネットワークの各ノードと、勝者ノードとの間の距離dを求める。
【０２４８】
なお、ノードNiとNjとの間の距離としては、図１４で説明したノードNiとNjとの間のユークリッド距離の他、例えば、ノードNiとNjとのスコアの差（の絶対値）を採用することが可能である。この場合、スコアがより良いノードが、勝者ノードとの間の距離がより近いノードとなる。
【０２４９】
また、任意のノードNiと勝者ノードとの間の距離としては、ノードNiのスコアそのもの（又は、逆数等）を採用することが可能である。
【０２５０】
学習部１３は、ダイナミクス記憶ネットワークの各ノードの、勝者ノードとの間の距離dを求めると、距離dの増加に対して学習重みαが減少する関係を表す曲線（以下、距離／重み曲線という）に従って、ノードの学習重みαを決定する。
【０２５１】
すなわち、図１６は、距離／重み曲線の例を示している。
【０２５２】
図１６の距離／重み曲線において、横軸（左から右方向）は、学習重みαを示しており、縦軸（上から下方向）は、勝者ノードからの距離dを示している。
【０２５３】
図１６の距離／重み曲線によれば、勝者ノードとの距離dが近いノードほど、大きな学習重みαが決定され、距離dが遠いノードほど、小さな学習重みαが決定される。
【０２５４】
ここで、図１６では、縦軸に沿って、ダイナミクス記憶ネットワークを構成する６個のノードN1'ないしN6'が、各ノードNi'と勝者ノードとの距離dに対応する位置（縦軸の位置）に記載されている。
【０２５５】
図１６では、ダイナミクス記憶ネットワークを構成する６個のノードN1'ないしN6'が、その順で、勝者ノードとの距離dが近いノードになっている。ダイナミクス記憶ネットワークを構成する６個のノードN1'ないしN6'のうち、勝者ノードとの距離dが最も近いノード、即ち、勝者ノードとの距離が０のノードであるノードN1'は、勝者ノード（となっているノード）である。
【０２５６】
図１６の距離／重み曲線は、例えば、式（１）によって与えられる。
【０２５７】
【数１】
2009140454.tif 000003
・・・（１）
【０２５８】
ここで、式（１）において、γは０＜γ＜１の範囲の減衰係数であり、Δは、勝者ノードを中心として各ノードの学習重みαを調整するための変数（以下、適宜、調整変数という）である。
【０２５９】
調整変数をΔを大きい値から少しずつ０に近づけていくと、学習重みαは勝者ノードから離れるにしたがってより小さい値となる。基本的には、調整変数Δは、学習の開始時は大きくし、時間の経過とともに小さくなるように調整される。
【０２６０】
式（１）の学習重みαに基づき、勝者ノードのパラメータ（ノードが有する力学系近似モデルのパラメータ）は、学習データの影響を最も強く受けるように更新され、勝者ノードから離れるにしたがって、学習データの影響が小さくなるように、他のノード（勝者ノード以外のノード）のパラメータの更新が行われる。
【０２６１】
次に、図１７のフローチャートを参照して、図１３の学習部１３による学習処理について説明する。
【０２６２】
学習部１３は、ステップＳ１１において、ネットワーク記憶部１６に記憶されたダイナミクス記憶ネットワークのすべてのパラメータの初期化を行う。具体的には、ダイナミクス記憶ネットワークの各ノードの内部状態量を持つ力学系近似モデル（図１５）のパラメータに適当な値が初期値として付与される。
【０２６３】
ここで、ダイナミクス記憶ネットワークのノードが有する力学系近似モデルが、例えば、RNNである場合には、ステップＳ１１では、そのRNNのユニットに入力される信号に与えられる結合重み等を、力学系近似モデルのパラメータとして、そのパラメータに適当な初期値がセットされる。
【０２６４】
その後、特徴量抽出部１２から学習部１３に対して、１サンプルの特徴量が供給されるのを待って、処理は、ステップＳ１１からステップＳ１２に進み、学習部１３は、学習データを生成する。
【０２６５】
すなわち、学習部１３は、特徴量抽出部１２から１サンプルの特徴量が供給されると、その１サンプルの特徴量と、特徴量抽出部１２から直前に供給されたT-1サンプルの特徴量とによって、Tサンプルの特徴量（サンプル値）の時系列データを、観測時系列データとして生成する。
【０２６６】
その後、処理は、ステップＳ１２からステップＳ１３に進み、学習部１３は、直前のステップＳ１２で生成した観測時系列データを学習データとして、その学習データに対する、ネットワーク記憶部１６に記憶されたダイナミクス記憶ネットワークの各ノードのスコアの計算を、ノードが有する、内部状態量を持つ力学系近似モデルの内部状態量を更新しながら行う。
【０２６７】
ここで、内部状態量を持つ力学系近似モデルが、例えば、RNNである場合には、所定の基準値を基準として値を変えていく（更新していく）変数の値のうちの、スコアを最も良くする値が、内部状態量としてのRNNのコンテキストの初期値に決定され、コンテキストを初期値から更新しながら、スコアの計算が行われる。
【０２６８】
なお、コンテキストの初期値の決定に用いる所定の基準値としては、例えば、ランダムな値や、前回のRNNのパラメータの更新時に求められた、コンテキストの最終的な更新値（以下、適宜、前回更新値という）などを採用することができる。
【０２６９】
例えば、今回のRNNのパラメータの更新時に学習部１３で生成された観測時系列データと、前回のRNNのパラメータの更新時に学習部１３で生成された観測時系列データとが、何らの関係もないことが分かっている場合には、コンテキストの初期値の決定に用いる所定の基準値としては、ランダムな値を採用することができる。
【０２７０】
また、例えば、今回のRNNのパラメータの更新時に学習部１３で生成された観測時系列データと、前回のRNNのパラメータの更新時に学習部１３で生成された観測時系列データとが、連続する時系列データなどのように、何らかの関係を有することが分かっている場合には、コンテキストの初期値の決定に用いる所定の基準値としては、前回更新値を採用することができる。なお、前回更新値を、コンテキストの初期値の決定に用いる所定の基準値として採用する場合には、前回更新値を、そのまま、コンテキストの初期値に決定することができる。
【０２７１】
ネットワーク記憶部１６に記憶されたダイナミクス記憶ネットワークのすべてのノードのスコアが求められると、処理は、ステップＳ１３からステップＳ１４に進み、学習部１３は、ダイナミクス記憶ネットワークを構成するノードそれぞれのスコアを比較することによって、最もスコアの良いノードを、学習データに最も適合するノードである勝者ノードに決定して、処理は、ステップＳ１５に進む。
【０２７２】
ステップＳ１５では、学習部１３は、ネットワーク記憶部１６に記憶されたダイナミクス記憶ネットワークの各ノードの学習重みを、図１６で説明したように、勝者ノードを中心として決定する。
【０２７３】
その後、処理は、ステップＳ１５からステップＳ１６に進み、学習部１３が、学習データを用い、ネットワーク記憶部１６に記憶されたダイナミクス記憶ネットワークの各ノードが有する、内部状態量を持つ力学系近似モデルのパラメータの更新を、学習重みに応じて行う。
【０２７４】
ここで、内部状態量を持つ力学系近似モデルが、例えば、RNNである場合には、ステップＳ１６でのパラメータの更新は、BPTT法によりパラメータ（結合重み）を計算する繰り返し回数を、学習重みに応じて制限して行われる。すなわち、学習重みが小さいほど、繰り返し回数は、小さい値に制限される。
【０２７５】
なお、勝者ノードのパラメータだけを更新する方法はWTA(winner-take-all)と呼ばれる学習方法であり、勝者ノードの近傍のノードに対してもパラメータの更新を行う方法はSMA(soft-max adaptation)と呼ばれる学習方法である。学習部１３は、SMAで、ダイナミクス記憶ネットワーク（のノードが有する力学系近似モデル）のパラメータの更新を行う。
【０２７６】
すなわち、図１６で説明したように、学習重みは、勝者ノードとの距離が近い、勝者ノードの近傍にあるノードについてほど大きな値に決定され、逆に、勝者ノードとの距離が遠いノードについてほど小さな値に決定される。その結果、勝者ノードの近傍にあるノードについては、学習データの影響をより強く受けるように、ノードのパラメータを更新し、勝者ノードとの距離が遠いノードについては、学習データの影響をあまり受けないように、ノードのパラメータを更新する近傍競合学習が行われる。
【０２７７】
その後、特徴量抽出部１２から学習部１３に対して、１サンプルの特徴量が新たに供給されるのを待って、処理は、ステップＳ１６からステップＳ１２に戻り、以下、ステップＳ１２ないしＳ１６の処理が繰り返される。
【０２７８】
次に、図１８のフローチャートを参照して、図１３の認識部１４による認識処理について説明する。
【０２７９】
ステップＳ３１において、認識部１４は、認識処理に用いる認識データを生成する。
【０２８０】
すなわち、認識部１４は、例えば、特徴量抽出部１２から、Tサンプルの特徴量（サンプル値）が供給されるのを待って、そのTサンプルの特徴量の時系列である観測時系列データを、認識データとする。
【０２８１】
そして、処理は、ステップＳ３１からステップＳ３２に進み、認識部１４は、認識データに対するダイナミクス記憶ネットワークの各ノードのスコアの計算を、図１７の学習処理の場合と同様に、ノードが有する、内部状態量を持つ力学系近似モデルの内部状態量を更新しながら行う。
【０２８２】
ダイナミクス記憶ネットワークのすべてのノードのスコアが求められると、処理は、ステップＳ３２からステップＳ３３に進み、認識部１４は、ダイナミクス記憶ネットワークを構成するノードそれぞれのスコアを比較することによって、最もスコアの良いノードを、認識データに最も適合するノードである勝者ノードに決定して、処理は、ステップＳ３４に進む。
【０２８３】
ステップＳ３５では、認識部１４は、勝者ノードを表す情報を、認識データの認識結果として出力して、処理は終了する。
【０２８４】
ここで、認識部１４が出力した認識結果は、図１３のデータ処理装置の外部に出力することができる。また、認識部１４が出力した認識結果は、制御信号として、生成部１５に供給することができる。
【０２８５】
次に、図１９のフローチャートを参照して、図１３の生成部１５による生成処理について説明する。
【０２８６】
図１７の学習処理によれば、ダイナミクス記憶ネットワークの各ノードは、内部状態量を持つ力学系近似モデルによってダイナミクスを学習し、記憶（獲得）するが、その後は、その各ノードの内部状態量を持つ力学系近似モデルから、その力学系近似モデルによってモデル化されたダイナミクスを有する時系列データ（ダイナミクスとして獲得された時系列パターンの時系列データ）を生成することができる。
【０２８７】
内部状態量を持つ力学系近似モデルとしてRNNを用いた場合には、所定の内部状態量をRNNに与えることで、そのRNNを有するノードに保持されるダイナミクスから時系列データを容易に生成することができる。
【０２８８】
具体的には、RNNの入力にある時刻tの状態ベクトルを与えると、次の時刻t+1の状態ベクトルが出力される。したがって、この操作を所定の時間ステップ（サンプル点）分だけ行うことで、ダイナミクス記憶ネットワークの各ノードから、その所定の時間ステップ分に相当するサンプル数の時系列データを生成することができる。
【０２８９】
すなわち、図１９のステップＳ５１において、生成部１５は、ダイナミクス記憶ネットワークのノードのうちの、どのダイナミクスに対応するノードから時系列データを生成するかを決定する。
【０２９０】
ここで、時系列データの生成に用いられるノードを、以下、適宜、生成ノードともいう。生成処理では、生成部１５は、例えば、ダイナミクス記憶ネットワークのノードの中から、１個のノードをランダムに選択し、そのノードを、生成ノードに決定する。あるいは、生成部１５は、例えば、ユーザからの指示等に応じて供給される制御信号に基づいて、ダイナミクス記憶ネットワークのノードの中から、生成ノードとするノードを決定する。
【０２９１】
生成ノードが決定されると、処理は、ステップＳ５１からステップＳ５２に進み、生成部１５は、生成ノードが保持する内部状態量を持つ力学系近似モデルのパラメータに基づき、時系列データを、力学系近似モデルの内部状態量を更新しながら生成して、処理は、ステップＳ５３に進む。
【０２９２】
ステップＳ５３では、生成部１５は、生成ノードの力学系近似モデルから生成された時系列データ（以下、適宜、生成時系列データともいう）を必要に応じて変換し、出力して、処理は終了する。
【０２９３】
ここで、学習部１３が学習処理に用いる学習データとしての観測時系列データは、センサモータ信号の特徴量であるため、生成部１５が生成する生成時系列データも、センサモータ信号の特徴量である。生成時系列データとしてのセンサモータ信号の特徴量は、生成部１５が、ステップＳ５３において、センサモータ信号に変換し、そのセンサモータ信号のうちのモータ信号が、例えば、自律エージェントに供給される。
【０２９４】
なお、力学系近似モデルが、例えば、RNNである場合、生成部１５での生成時系列データの生成時には、内部状態量としてのRNNのコンテキストユニット（図１５）に入力されるコンテキストの初期値、及び入力ユニット（図１５）に入力されるデータの初期値として、例えば、ランダムな値が用いられる。
【０２９５】
また、ある時刻t+1においてRNNの入力ユニット（図１５）に入力されるデータとしては、直前の時刻tにおいてRNNの出力層から出力された、時刻t+1のデータの予測値が用いられる。
【０２９６】
次に、図２０のフローチャートを参照して、図１３の認識部１４、及び生成部１５による認識生成処理について説明する。
【０２９７】
上述したように、認識生成処理によれば、自律エージェントの認知行動を実現することができる。
【０２９８】
認識部１４、及び生成部１５において、内部状態量を持つ力学系近似モデルによってダイナミクスを学習したダイナミクス記憶ネットワークを用いて、認識生成を行う場合、図１８の認識処理と図１９の生成処理を逐次的に組み合わせるだけでは、力学系近似モデルの内部状態量を考慮した認識生成を行うことは困難である。
【０２９９】
そこで、認識部１４、及び生成部１５は、内部状態記憶部１７において、図１８の認識処理において更新された力学系近似モデルの内部状態量（内部状態）を記憶し、その内部状態量を図１９の生成処理において用いることで、観測信号から得られる時刻tの観測時系列データに対して、次の時刻t+1の観測時系列データの予測値を生成する認識生成処理を行う。
【０３００】
すなわち、認識生成処理では、ステップＳ７１において、認識部１４が、図１８のステップＳ３１の場合と同様に、特徴量抽出部１２からの、Tサンプルの特徴量（サンプル値）の時系列である観測時系列データを、認識データとする。
【０３０１】
その後、処理は、ステップＳ７１からステップＳ７２に進み、認識部１４は、認識データに対する、ダイナミクス記憶ネットワークの各ノードのスコアの計算を、図１７の学習処理の場合と同様に、ノードが有する、内部状態量を持つ力学系近似モデルの内部状態量を更新しながら行う。
【０３０２】
但し、ステップＳ７２のスコアの計算では、認識部１４は、内部状態記憶部１７から前回更新されて記憶されている内部状態量を読み込み、その内部状態記憶部１７から読み込んだ値を、力学系近似モデルの内部状態量（例えば、RNNのコンテキスト）の初期値とする。
【０３０３】
ダイナミクス記憶ネットワークのすべてのノードのスコアが求められると、処理は、ステップＳ７２からステップＳ７３に進み、認識部１４は、ダイナミクス記憶ネットワークを構成するノードそれぞれのスコアを比較することによって、最もスコアの良いノードを、認識データに最も適合するノードである勝者ノードに決定する。
【０３０４】
さらに、ステップＳ７３では、認識部１４は、勝者ノードが決定されたときの内部状態量の更新値（更新された内部状態量）と、その勝者ノードが決定されたときの内部状態量の初期値とを、内部状態記憶部１７に保存する（記憶させる）。
【０３０５】
ここで、内部状態記憶部１７に記憶された内部状態量の更新値は、認識部１４での次回のスコアの計算を行うステップＳ７２において、力学系近似モデルの内部状態量（例えば、RNNのコンテキスト）の初期値として用いられる。
【０３０６】
また、内部状態記憶部１７に記憶された内部状態量の初期値は、生成部１５において、時系列データの生成時に用いられる。
【０３０７】
その後、認識部１４は、勝者ノードを表す情報を出力し、処理は、ステップＳ７３からステップＳ７４に進む。認識部１４が出力した情報は、制御信号として、生成部１５に供給される。
【０３０８】
ステップＳ７４では、生成部１５は、ダイナミクス記憶ネットワークのノードのうちの、認識部１４から制御信号として供給される情報が表す勝者ノードを、生成ノードとして、その生成ノードが保持する内部状態量を持つ力学系近似モデルのパラメータに基づき、生成時系列データを、力学系近似モデルの内部状態量を更新しながら生成して、処理は、ステップＳ７５に進む。
【０３０９】
すなわち、生成部１５は、内部状態記憶部１７の記憶値を、ネットワーク記憶部１６に記憶されたダイナミクス記憶ネットワークの生成ノードの力学系近似モデルの内部状態量の初期値として読み込む。
【０３１０】
つまり、生成部１５は、内部状態記憶部１７の記憶値のうちの、生成ノードが認識部１４において勝者ノードに決定されたときの内部状態量の初期値を読み出し、生成ノードの力学系近似モデルの内部状態量の初期値にセットする。
【０３１１】
さらに、生成部１５は、特徴量抽出部１２から供給される特徴量の時系列から、認識部１４がステップＳ７１で生成するのと同一の認識データを生成し、その認識データを、生成ノードの力学系近似モデルに与え、その力学系近似モデルの内部状態量を更新しながら、生成時系列データを生成する。
【０３１２】
具体的には、力学系近似モデルが、例えば、RNNである場合、RNNのコンテキストユニット（図１５）に対して、内部状態記憶部１７の記憶値のうちの、生成ノードが認識部１４において勝者ノードに決定されたときのコンテキストの初期値が、生成時系列データを生成するときのコンテキストの初期値として入力される。
【０３１３】
さらに、RNNの入力ユニット（図１５）に対して、認識データが入力される。
【０３１４】
そして、力学系近似モデルの内部状態量を更新しながら、認識データとしての観測時系列データの次の時刻の観測時系列データの予測値としての生成時系列データが生成される。
【０３１５】
ステップＳ７５では、生成部１５は、生成ノードの力学系近似モデルから生成された生成時系列データを、図１９のステップＳ５３の場合と同様に、必要に応じて変換し、出力して、処理は、ステップＳ７１に戻り、以下、ステップＳ７１ないしＳ７５の処理が繰り返される。
【０３１６】
ここで、生成部１５が生成する生成時系列データは、図１９で説明したように、センサモータ信号の特徴量であるが、そのセンサモータ信号の特徴量は、生成部１５が、ステップＳ７５において、センサモータ信号に変換する。そして、そのセンサモータ信号のうちのモータ信号が、例えば、自律エージェントに供給される。
【０３１７】
以上のような、図２０ステップＳ７１ないしＳ７５の認識生成処理が、例えば、１時刻ごとに行われることで、ロボットは認知行動を行う。
【０３１８】
図１のデータ処理装置において、ダイナミクス学習モデル記憶部１０４に記憶させるダイナミクス学習モデルとして、ダイナミクス記憶ネットワークを採用する場合には、予測学習部１０３において、図１７の学習処理を行うとともに、予測部１０５において、図２０の認識生成処理を予測処理として行うことで、多数のダイナミクスを獲得し、その多数のダイナミクスそれぞれを有する時系列データとしての所望操作データ（及び状況データ）の予測値を得ることができる。
【０３１９】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０３２０】
そこで、図２１は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０３２１】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク３０５やROM３０３に予め記録しておくことができる。
【０３２２】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体３１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体３１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０３２３】
なお、プログラムは、上述したようなリムーバブル記録媒体３１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部３０８で受信し、内蔵するハードディスク３０５にインストールすることができる。
【０３２４】
コンピュータは、CPU(Central Processing Unit)３０２を内蔵している。CPU３０２には、バス３０１を介して、入出力インタフェース３１０が接続されており、CPU３０２は、入出力インタフェース３１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部３０７が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)３０３に格納されているプログラムを実行する。あるいは、また、CPU３０２は、ハードディスク３０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部３０８で受信されてハードディスク３０５にインストールされたプログラム、またはドライブ３０９に装着されたリムーバブル記録媒体３１１から読み出されてハードディスク３０５にインストールされたプログラムを、RAM(Random Access Memory)３０４にロードして実行する。これにより、CPU３０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU３０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース３１０を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部３０６から出力、あるいは、通信部３０８から送信、さらには、ハードディスク３０５に記録等させる。
【０３２５】
なお、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０３２６】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０３２７】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【０３２８】
【図１】本発明を適用したデータ処理装置の第１実施の形態の構成例を示すブロック図である。
【図２】状況データ及び所望操作データの例を示す図である。
【図３】学習処理を説明するフローチャートである。
【図４】予測処理を説明するフローチャートである。
【図５】PCの画面上のwebブラウザを示す図である。
【図６】TVの表示画面を示す図である。
【図７】本発明を適用したデータ処理装置の第２実施の形態の構成例を示すブロック図である。
【図８】ゲーム画面を示す図である。
【図９】キャラクタ動作補助モジュール１５２nの構成例を示すブロック図である。
【図１０】状況データ及び所望操作データの例を示す図である。
【図１１】学習処理を説明するフローチャートである。
【図１２】予測処理を説明するフローチャートである。
【図１３】本発明を適用したデータ処理装置の一実施の形態の構成例を示すブロック図である。
【図１４】ダイナミクス記憶ネットワークの例を、模式的に示す図である。
【図１５】ノードの構成例を、模式的に示す図である。
【図１６】学習処理での学習重みの決定の方法を説明する図である。
【図１７】学習処理を説明するフローチャートである。ある。
【図１８】認識処理を説明するフローチャートである。
【図１９】生成処理を説明するフローチャートである。
【図２０】認識生成処理を説明するフローチャートである。
【図２１】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０３２９】
１１  信号入力部，  １２  特徴量抽出部，  １３  学習部，  １４  認識部，  １５
生成部，  １６  ネットワーク記憶部，  １７  内部状態記憶部，  １０１  状況データ取得部，  １０２  操作データ取得部，  １０３  予測学習部，  １０４  ダイナミクス学習モデル記憶部，  １０５  予測部，  １０６  操作データ出力部，  １５１  教示キャラクタ選択部，  １５２1ないし１５２N  キャラクタ動作補助モジュール，  １６１  状況データ取得部，  １６２  操作データ取得部，  １６３  予測学習部，  １６４  ダイナミクス学習モデル記憶部，  １６５  予測部，  １６６  操作データ出力部，  ３０１  バス，  ３０２  CPU，  ３０３  ROM，  ３０４  RAM，  ３０５  ハードディスク，  ３０６  出力部，  ３０７  入力部，  ３０８  通信部，  ３０９  ドライブ，  ３１０  入出力インタフェース，  ３１１  リムーバブル記録媒体
【図１】
2009140454.tif 000004
【図２】
2009140454.tif 000005
【図３】
2009140454.tif 000006
【図４】
2009140454.tif 000007
【図５】
2009140454.tif 000008
【図６】
2009140454.tif 000009
【図７】
2009140454.tif 000010
【図８】
2009140454.tif 000011
【図９】
2009140454.tif 000012
【図１０】
2009140454.tif 000013
【図１１】
2009140454.tif 000014
【図１２】
2009140454.tif 000015
【図１３】
2009140454.tif 000016
【図１４】
2009140454.tif 000017
【図１５】
2009140454.tif 000018
【図１６】
2009140454.tif 000019
【図１７】
2009140454.tif 000020
【図１８】
2009140454.tif 000021
【図１９】
2009140454.tif 000022
【図２０】
2009140454.tif 000023
【図２１】
2009140454.tif 000024