JP2009140454A - Data processor, data processing method, and program - Google Patents
Data processor, data processing method, and program Download PDFInfo
- Publication number
- JP2009140454A JP2009140454A JP2007319213A JP2007319213A JP2009140454A JP 2009140454 A JP2009140454 A JP 2009140454A JP 2007319213 A JP2007319213 A JP 2007319213A JP 2007319213 A JP2007319213 A JP 2007319213A JP 2009140454 A JP2009140454 A JP 2009140454A
- Authority
- JP
- Japan
- Prior art keywords
- data
- dynamics
- unit
- learning
- 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.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
Description
本発明は、データ処理装置、データ処理方法、及びプログラムに関し、特に、例えば、ユーザが行おうとしている操作を先取りして行うことができるようにするデータ処理装置、データ処理方法、及びプログラムに関する。 The present invention relates to a data processing device, a data processing method, and a program, and more particularly, to a data processing device, a data processing method, and a program that enable, for example, an operation that a user is about to perform in advance.
例えば、PC(Personal Computer)や、TV(テレビジョン受像機)等の電子機器のユーザインタフェースでは、ユーザが過去に行ったことがある操作であっても、ユーザは、マウスやリモートコマンダの操作を、過去に行った場合と同様に繰り返し行う必要があった。 For example, in a user interface of an electronic device such as a PC (Personal Computer) or a TV (TV receiver), the user can operate a mouse or a remote commander even if the user has performed in the past. It was necessary to repeat the same as in the past.
また、ユーザの視線を用いたユーザインタフェースが提案されている(例えば、非特許文献1を参照)。 A user interface using the user's line of sight has been proposed (see, for example, Non-Patent Document 1).
かかるユーザインタフェースによれば、ユーザは、マウスやリモートコマンダを操作せずに、視線を動かすだけでコンピュータの操作を行うことができる。 According to such a user interface, the user can operate the computer only by moving the line of sight without operating the mouse or the remote commander.
先に提案されている、視線を用いるユーザインタフェースは、様々なユーザに共通する特定の視線の動きのパターンから、「迷い」状態の検出や、単語の理解度の推定等を行い、ある検出結果や推定結果等に対して、電子機器の操作を、いわば固定的に対応付け、ユーザの作業を支援する。 The previously proposed user interface using gaze detects a “stray” state or estimates word comprehension from a specific gaze movement pattern common to various users. In other words, the operation of the electronic device is fixedly associated with the estimation result or the like to support the user's work.
したがって、先に提案されているユーザインタフェースでは、例えば、ユーザごとに、そのユーザに特有の視線の動きを認識し、その動きに応じて、ユーザが行おうとしている操作を行うことは困難であった。 Therefore, with the previously proposed user interface, for example, it is difficult for each user to recognize the movement of the line of sight unique to the user and perform the operation that the user is trying to perform according to the movement. It was.
本発明は、このような状況に鑑みてなされたものであり、ユーザが行おうとしている操作、つまり、ユーザが所望する操作を先取りして行うことができるようにするものである。 The present invention has been made in view of such a situation, and makes it possible to perform in advance a user's operation, that is, an operation desired by the user.
本発明の一側面のデータ処理装置、又は、プログラムは、時系列データを処理するデータ処理装置であり、状況を表す時系列データである状況データを取得する状況データ取得手段と、ユーザが所望する操作に対応する時系列データである所望操作データを取得する操作データ取得手段と、前記状況データ及び所望操作データのダイナミクスを学習する学習手段と、前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求める予測手段と、前記所望操作データの予測値を出力する出力手段とを備えるデータ処理装置、又は、データ処理装置として、コンピュータを機能させるプログラムである。 A data processing apparatus or program according to an aspect of the present invention is a data processing apparatus that processes time-series data, and a user desires a situation data acquisition unit that acquires situation data that is time-series data representing a situation. Operation data acquisition means for acquiring desired operation data that is time-series data corresponding to an operation, learning means for learning the dynamics of the situation data and desired operation data, and the situation data as input based on the dynamics, A program that causes a computer to function as a data processing apparatus or a data processing apparatus that includes a predicting unit that calculates a predicted value of desired operation data and an output unit that outputs the predicted value of desired operation data.
本発明の一側面のデータ処理方法は、時系列データを処理するデータ処理装置のデータ処理方法であり、状況を表す時系列データである状況データを取得するとともに、ユーザが所望する操作に対応する時系列データである所望操作データを取得し、前記状況データ及び所望操作データのダイナミクスを学習し、前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求め、前記所望操作データの予測値を出力するステップを含むデータ処理方法である。 A data processing method according to one aspect of the present invention is a data processing method of a data processing apparatus that processes time-series data, acquires situation data that is time-series data representing a situation, and corresponds to an operation desired by a user. Obtaining desired operation data as time series data, learning dynamics of the situation data and desired operation data, obtaining the predicted value of the desired operation data based on the dynamics, using the situation data as input, and obtaining the desired operation A data processing method including a step of outputting a predicted value of data.
本発明の一側面においては、状況を表す時系列データである状況データと、ユーザが所望する操作に対応する時系列データである所望操作データとが取得され、前記状況データ及び所望操作データのダイナミクスの学習が行われる。そして、前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値が求められ、前記所望操作データの予測値が出力される。 In one aspect of the present invention, situation data that is time-series data representing a situation and desired operation data that is time-series data corresponding to an operation desired by the user are acquired, and the dynamics of the situation data and the desired operation data are acquired. Learning is done. Then, based on the dynamics, with the situation data as an input, a predicted value of the desired operation data is obtained, and a predicted value of the desired operation data is output.
なお、データ処理装置は、独立した装置であっても良いし、1つの装置を構成している内部ブロックであっても良い。 Note that the data processing device may be an independent device or an internal block constituting one device.
また、プログラムは、伝送媒体を介して伝送し、又は、記録媒体に記録して、提供することができる。 Further, the program can be provided by being transmitted via a transmission medium or by being recorded on a recording medium.
本発明の一側面によれば、ユーザが所望する操作を先取りして行うことができる。 According to an aspect of the present invention, an operation desired by a user can be performed in advance.
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。したがって、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。 Embodiments of the present invention will be described below. Correspondences between the constituent elements of the present invention and the embodiments described in the specification or the drawings are exemplified as follows. This description is intended to confirm that the embodiments supporting the present invention are described in the specification or the drawings. Therefore, even if there is an embodiment that is described in the specification or the drawings but is not described here as an embodiment that corresponds to the constituent elements of the present invention, that is not the case. It does not mean that the form does not correspond to the constituent requirements. Conversely, even if an embodiment is described herein as corresponding to a configuration requirement, that means that the embodiment does not correspond to a configuration requirement other than the configuration requirement. It's not something to do.
本発明の一側面のデータ処理装置、又は、プログラムは、
時系列データを処理するデータ処理装置(例えば、図1のデータ処理装置)であり、
状況を表す時系列データである状況データを取得する状況データ取得手段(例えば、図1の状況データ取得部101)と、
ユーザが所望する操作に対応する時系列データである所望操作データを取得する操作データ取得手段(例えば、図1の操作データ取得部102)と、
前記状況データ及び所望操作データのダイナミクスを学習する学習手段(例えば、図1の予測学習部103)と、
前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求める予測手段(例えば、図1の予測部105)と、
前記所望操作データの予測値を出力する出力手段(例えば、図1の操作データ出力部106)と
を備えるデータ処理装置、又は、データ処理装置として、コンピュータを機能させるプログラムである。
A data processing apparatus or program according to one aspect of the present invention is provided.
A data processing device that processes time-series data (for example, the data processing device of FIG. 1),
Situation data acquisition means (for example, the situation
Operation data acquisition means (for example, the operation
Learning means for learning the dynamics of the situation data and desired operation data (for example, the
Based on the dynamics, prediction means (for example, the
A data processing apparatus including an output unit (for example, the operation
本発明の一側面のデータ処理方法は、
時系列データを処理するデータ処理装置のデータ処理方法であり、
状況を表す時系列データである状況データを取得するとともに、ユーザが所望する操作に対応する時系列データである所望操作データを取得し(例えば、図3のステップS101、及びS102)、
前記状況データ及び所望操作データのダイナミクスを学習し(例えば、図3のステップS104)、
前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求め(例えば、図4のステップS113)、
前記所望操作データの予測値を出力する(例えば、図4のステップS114)
ステップを含むデータ処理方法である。
A data processing method according to one aspect of the present invention includes:
A data processing method of a data processing apparatus for processing time series data,
While acquiring the situation data which is the time series data representing the situation, the user obtains the desired operation data which is the time series data corresponding to the operation desired by the user (for example, steps S101 and S102 in FIG. 3).
Learning the dynamics of the situation data and desired operation data (for example, step S104 in FIG. 3),
Based on the dynamics, the situation data is used as an input to obtain a predicted value of the desired operation data (for example, step S113 in FIG. 4).
The predicted value of the desired operation data is output (for example, step S114 in FIG. 4).
A data processing method including steps.
以下、図面を参照して、本発明の実施の形態について説明する。 Embodiments of the present invention will be described below with reference to the drawings.
図1は、本発明を適用したデータ処理装置の一実施の形態の構成例を示すブロック図である。 FIG. 1 is a block diagram showing a configuration example of an embodiment of a data processing apparatus to which the present invention is applied.
図1のデータ処理装置は、例えば、PCや、TVその他の、ユーザが操作を行う電子機器の一部を構成する。 The data processing apparatus in FIG. 1 constitutes a part of an electronic device operated by a user, such as a PC, a TV, or the like.
図1において、データ処理装置は、状況データ取得部101、操作データ取得部102、予測学習部103、ダイナミクス学習モデル記憶部104、予測部105、及び操作データ出力部106から構成される。
In FIG. 1, the data processing apparatus includes a situation
状況データ取得部101は、状況を表す時系列データである状況データsi t,si t+1,・・・,si t+Tを取得し、予測学習部103、及び予測部105に供給する。
The situation
ここで、si tは、i番目(i=1,2,・・・,I)の種類の状況データの時刻tのサンプル値を表す。 Here, s i t represents a sample value at time t of the i-th (i = 1, 2,..., I) type of situation data.
状況データ取得部101は、例えば、PCやTVにおける、マウスカーソルや、アイコン、ウインドウ、GUI(Graphical User Interface)で表示されるボタン、ユーザの視線の位置等の、各種の状況を表す状況データを取得する。
The situation
操作データ取得部102は、ユーザが所望する操作に対応する時系列データである所望操作データaj t,aj t+1,・・・,aj t+Tを取得し、予測学習部103に供給する。
The operation
ここで、aj tは、j番目(j=1,2,・・・,J)の種類の所望操作データの時刻tのサンプル値を表す。 Here, a j t represents a sample value at time t of the desired operation data of the j-th (j = 1, 2,..., J) type.
操作データ取得部102は、例えば、PCやTVのキーボードのキーに対するユーザの操作、ユーザによるウインドウの選択の操作、GUIで表示されるボタンに対するユーザの操作、マウスのボタンに対するユーザの操作、スクロールバーに対するユーザの操作等の、ユーザの操作に対応する時系列データ、つまり、ユーザの操作がどのような状態(ユーザによる操作が行われていない状態を含む)にあるのかを表す時系列データを、ユーザが、そのときに所望している操作を表す所望操作データとして取得する。
The operation
なお、どのようなデータを、状況データ及び所望操作データとするかは、例えば、図1のデータ処理装置に、あらかじめ設定しておくこともできるし、ユーザに設定してもらうようにすることもできる。 Note that what kind of data is used as the situation data and the desired operation data can be set in advance in the data processing apparatus of FIG. 1 or can be set by the user. it can.
どのようなデータを、状況データ及び所望操作データとするかを、ユーザに設定してもらう場合には、上述したマウスカーソルの位置等や、キーに対するユーザの操作等の、状況データ及び所望操作データになり得るデータの一覧を表示し、そのデータの一覧の中から、状況データ及び所望操作データとするデータそれぞれを、ユーザに選択してもらえば良い。 When requesting the user to set what kind of data is the situation data and the desired operation data, the situation data and the desired operation data such as the position of the mouse cursor and the user's operation on the key described above. A list of possible data may be displayed, and the user may select the status data and the desired operation data from the list of data.
予測学習部103は、状況データ取得部101からの状況データ、及び、操作データ取得部102からの所望操作データのダイナミクスを、ダイナミクス学習モデル記憶部104に記憶されたダイナミクス学習モデルによって学習する。
The
すなわち、予測学習部103は、ダイナミクス学習モデル記憶部104に記憶されたダイナミクス学習モデルのパラメータを、状況データ取得部101からの状況データ、及び、操作データ取得部102からの所望操作データを用いて更新する、ダイナミクス学習モデルの学習を行い、これにより、ダイナミクス学習モデル記憶部104に記憶されたダイナミクス学習モデルが、状況データ取得部101からの状況データ、及び、操作データ取得部102からの所望操作データのダイナミクスを獲得する。
That is, the
ダイナミクス学習モデル記憶部104は、ダイナミクスを獲得することができるモデルであるダイナミクス学習モデルを記憶する。
The dynamics learning
ここで、ダイナミクス学習モデルとしては、例えば、RNN(Recurrent Neural Network)、FNN(Feed Forward Neural Network)、及びRNN-PB(Recurrent Neural Net with Parametric Bias)等のNN(Neural Network)や、SVR(Support Vector Regression)、その他のダイナミクスを獲得することができるモデルを採用することができる。 Here, as a dynamics learning model, for example, NN (Neural Network) such as RNN (Recurrent Neural Network), FNN (Feed Forward Neural Network), and RNN-PB (Recurrent Neural Net with Parametric Bias), SVR (Support Vector Regression) and other models that can acquire dynamics can be adopted.
なお、多数のダイナミクスを獲得することができるモデルとして、複数のノードによって構成され、その複数のノードそれぞれにダイナミクスを保持するダイナミクス記憶ネットワークがある。ダイナミクス記憶ネットワークについては、後述する。 As a model that can acquire a large number of dynamics, there is a dynamics storage network that includes a plurality of nodes and holds the dynamics in each of the plurality of nodes. The dynamics storage network will be described later.
予測部105は、ダイナミクス学習モデル記憶部104に記憶されたダイナミクス学習モデルが獲得したダイナミクスに基づき、状況データ取得部101から供給される状況データsi t,si t+1,・・・,si t+Tを入力として、所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+T、さらには、必要に応じて、状況データの予測値s'j t,s'j t+1,・・・,s'j t+Tを求め、操作データ出力部106に供給する。
The
なお、予測部105は、状況データの予測値s'j t,s'j t+1,・・・,s'j t+Tを求める場合には、状況データ取得部101からの状況データ(の真値)si t,si t+1,・・・,si t+Tも、操作データ出力部106に供給する。
When the
操作データ出力部106は、予測部105からの所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tを、図1のデータ処理装置が一部を構成している電子機器としてのPCやTV等の操作データ(ユーザが行った操作に対応するデータ(操作を表すデータ))を受け付けるインタフェース(モジュール)に出力する。
The operation
操作データ出力部106が、予測部105からの所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tを、PCやTV等の操作データを受け付けるインタフェースに出力した場合、PCやTV等では、所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tに従った処理が行われる。
The operation
なお、操作データ出力部106は、予測部105から、所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tの他、状況データの予測値s'j t,s'j t+1,・・・,s'j t+T、及び、状況データの真値si t,si t+1,・・・,si t+Tが供給される場合には、状況データの予測値の予測誤差ei t=|si-s'j|を求める。そして、操作データ出力部106は、例えば、予測誤差ej t,ej t+1,・・・,ej t+Tのそれぞれ、又は、すべての総和が、あらかじめ決定された所定の閾値以下(未満)であるときのみ、予測部105からの所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tを出力する。
Note that the operation
この場合、予測誤差が大であるときには、操作データ出力部106は、予測部105からの所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tを出力しないので、PCやTV等では、所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tに従った処理は、行われない。すなわち、PCやTV等では、予測誤差が小であるときのみ、所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tに従った処理が行われる。
In this case, when the prediction error is large, the operation
以上のような、予測誤差に基づく所望操作データの出力の制御は、例えば、ユーザの操作に従って、有効、又は無効とすることができる。 The control of the output of the desired operation data based on the prediction error as described above can be validated or invalidated according to a user operation, for example.
次に、図2を参照して、図1の状況データ取得部101が取得する状況データと、操作データ取得部102が取得する所望操作データについて、さらに説明する。
Next, the situation data acquired by the situation
図2Aは、PCの画面上のマウスカーソルの位置の軌跡と、PCの画面の左上の位置にあるアイコンがクリックされた状態を示している。 FIG. 2A shows the locus of the position of the mouse cursor on the PC screen and the state where the icon at the upper left position of the PC screen is clicked.
図2Aでは、ユーザが、マウスカーソルを、PCの画面の右下から左上の方向に移動し、PCの画面の左上の位置にあるアイコンをクリックする操作をしている。 In FIG. 2A, the user moves the mouse cursor from the lower right to the upper left of the PC screen, and clicks on the icon at the upper left position of the PC screen.
図2Bは、図2Aの操作が行われた場合に、状況データ取得部101が取得する状況データを示している。
FIG. 2B shows status data acquired by the status
なお、図2Bにおいて、横軸は、時刻(時間)tを表し、縦軸は、図2Aの画面の左下の点を原点とするxy座標系における座標(x,y)を表している。 In FIG. 2B, the horizontal axis represents time (time) t, and the vertical axis represents coordinates (x, y) in the xy coordinate system with the lower left point of the screen of FIG. 2A as the origin.
状況データ取得部101は、図2Bに示すように、マウスカーソルの位置の軌跡を表す座標(mouse_xt,mouse_yt)を、i番目の種類の状況データsi t,si t+1,・・・,si t+Tとして取得するとともに、図2Aの画面の左上の位置にあるアイコンの位置を表す座標(icon_xt,icon_yt)を、i'番目の種類の状況データsi' t,si' t+1,・・・,si' t+Tとして取得する。
As shown in FIG. 2B, the situation
図2Cは、図2Aの操作が行われた場合に、操作データ取得部102が取得する所望操作データを示している。
FIG. 2C shows desired operation data acquired by the operation
なお、図2Cにおいて、横軸は、時刻tを表し、縦軸は、マウスのボタンのオフ(off)とオン(on)を表している。 In FIG. 2C, the horizontal axis represents time t, and the vertical axis represents mouse button off (off) and on (on).
操作データ取得部102は、図2Cに示すように、マウスのボタンの、オン又はオフの操作の状態を表す時系列データを、j番目の所望操作データaj t,aj t+1,・・・,aj t+Tとして取得する。
As shown in FIG. 2C, the operation
次に、図1のデータ処理装置では、ダイナミクス学習モデル記憶部104に記憶されたダイナミクス学習モデルのパラメータを、状況データ及び所望操作データを用いて更新する、ダイナミクス学習モデルの学習の処理(学習処理)と、学習処理によってダイナミクスを獲得したダイナミクス学習モデルを用い、状況データを入力として、所望操作データの予測値(さらには、状況データの予測値)を求める予測の処理(予測処理)とが行われる。
Next, in the data processing apparatus of FIG. 1, a dynamics learning model learning process (learning process) in which parameters of the dynamics learning model stored in the dynamics learning
図3は、図1のデータ処理装置で行われる学習処理を説明するフローチャートである。 FIG. 3 is a flowchart for explaining a learning process performed by the data processing apparatus of FIG.
学習処理は、例えば、周期的に、又は不定期のタイミングで開始され、ステップS101において、状況データ取得部101が、状況データを取得し、予測学習部103に供給して、処理は、ステップS102に進む。
The learning process is started, for example, periodically or at irregular timing. In step S101, the situation
ステップS102では、操作データ取得部102が、所望操作データを取得し、予測学習部103に供給して、処理は、ステップS103に進む。
In step S102, the operation
ステップS103では、予測学習部103が、ダイナミクス学習モデル記憶部104に記憶されたダイナミクス学習モデルのパラメータを読み出し、処理は、ステップS104に進む。
In step S103, the
ステップS104では、予測学習部103が、ステップS103でダイナミクス学習モデル記憶部104から読み出したダイナミクス学習モデルのパラメータを、状況データ取得部101からの状況データ、及び、操作データ取得部102からの所望操作データを用いて更新して、処理は、ステップS105に進む。
In step S <b> 104, the
すなわち、例えば、いま、任意の数の、ニューロンに相当するユニットにより構成される入力層、隠れ層(中間層)、及び出力層の3層を有する3層型NNが、ダイナミクス学習モデルとして採用されていることとすると、予測学習部103は、入力層のユニットに、時刻tの入力データ(ベクトル)Xtとして、状況データ取得部101からの時刻tの状況データsi t、及び、操作データ取得部102からの時刻tの所望操作データai tを入力する。
That is, for example, a three-layer NN having three layers of an input layer, a hidden layer (intermediate layer), and an output layer composed of an arbitrary number of units corresponding to neurons is adopted as a dynamics learning model. If so, the
これにより、隠れ層のユニットでは、入力層に入力される入力データXtを対象として、ニューロンとしてのユニットどうしを結合する結合重み(結合荷重)を用いた重み付け加算が行われ、さらに、その重み付け加算の結果を引数とする非線形関数の演算が行われて、その演算結果が、出力層のユニットに出力される。 Thus, the units of the hidden layer, as the target input data X t which is input to the input layer, the weighted addition using the connection weight for coupling the units to each other as the neuron (connection weight) conducted, further, the weighting An operation of a nonlinear function using the addition result as an argument is performed, and the operation result is output to the output layer unit.
出力層のユニットからは、入力データXtに対する出力データとして、その入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1、すなわち、いまの場合、時刻t+1の状況データの予測値s'i t+1、及び、時刻t+1の所望操作データの予測値a'i t+1が出力される。 From the unit of the output layer, as the output data corresponding to input data X t, the predicted value X 't + 1 of the input data X t + 1 at the next time t + 1 of the input data X t, namely, in this case, predicted value s status data at time t + 1 'i t + 1, and the predicted value a desired operating data at time t + 1' i t + 1 is output.
予測学習部103は、例えば、BP(Back-propagation)法に従い、入力データXtに対する出力データとしての、その入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1の、真値(時刻t+1の入力データXt+1)に対する予測誤差が小さくなるように、NNのパラメータとしての結合重みを、予測誤差に応じた値だけ更新する計算を、NNのパラメータが収束するまで繰り返し行う。
なお、NNのパラメータの更新は、ステップS103でダイナミクス学習モデル記憶部104から読み出されたパラメータを、パラメータの初期値として行われる。
Note that the update of the NN parameter is performed using the parameter read from the dynamics learning
以上のように、時刻tの時系列データXtから、次の時刻t+1の時系列データXt+1を予測することの学習(予測学習(prediction learning))を行うことで、ダイナミクス学習モデルとしてのNNは、時系列データの時間発展法則を学習し、その時系列データのダイナミクスを獲得することができる。 As described above, from the time series data X t at time t, learning to predict time series data X t + 1 at the next time t + 1 (prediction learning (prediction learning)) by performing, dynamics learning NN as a model can learn the time evolution law of time series data and acquire the dynamics of the time series data.
ステップS105では、予測学習部103は、ステップS104で更新したダイナミクス学習モデルのパラメータを、ダイナミクス学習モデル記憶部104に上書きの形で書き込み(保存し)、処理は終了する。
In step S105, the
図4は、図1のデータ処理装置で行われる予測処理を説明するフローチャートである。 FIG. 4 is a flowchart for explaining a prediction process performed by the data processing apparatus of FIG.
予測処理は、例えば、周期的に、又は不定期のタイミングで開始され、ステップS111において、状況データ取得部101が、状況データを取得し、予測部105に供給して、処理は、ステップS112に進む。
The prediction process is started, for example, periodically or at irregular timing. In step S111, the situation
ステップS112では、予測部105が、ダイナミクス学習モデル記憶部104に記憶されたダイナミクス学習モデルのパラメータを読み出し、処理は、ステップS113に進む。
In step S112, the
ステップS113では、予測部105は、ダイナミクス学習モデル記憶部104に記憶されたダイナミクス学習モデルが獲得したダイナミクスに基づき、状況データ取得部101から供給される状況データを入力として、所望操作データの予測値を求め、操作データ出力部106に供給して、処理は、ステップS114に進む。
In step S113, the
すなわち、例えば、いま、ダイナミクス学習モデルが、図3で説明した3層型NNであるとすると、予測部105は、入力層のユニットに、状況データ取得部101からの時刻tの状況データsi tと、時刻tの所望操作データai tとしての、例えば、乱数やあらかじめ決められた値等とを、時刻tの入力データXtとして入力する。
That is, for example, if the dynamics learning model is the three-layer NN described with reference to FIG. 3, the
これにより、隠れ層のユニットでは、入力層に入力される入力データXtを対象として、ダイナミクス学習モデルのパラメータとしての結合重みを用いた重み付け加算が行われ、さらに、その重み付け加算の結果を引数とする非線形関数の演算が行われて、その演算結果が、出力層のユニットに出力される。 Thus, the units of the hidden layer, as the target input data X t which is input to the input layer, is performed weighting addition using a link weight as the parameter dynamics learning model, further argument the result of the weighted addition And the result of the calculation is output to the output layer unit.
出力層のユニットでは、隠れ層のユニットの演算結果を入力として、隠れ層のユニットと同様の演算が行われ、その演算結果が、入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1、すなわち、時刻t+1の状況データの予測値s'i t+1、及び、時刻t+1の所望操作データの予測値a'i t+1として出力される。
In the output layer unit, the calculation result of the hidden layer unit is input, and the same calculation as that of the hidden layer unit is performed. The calculation result is the input data X t at the time t + 1 next to the input data X t. As the predicted value X ′ t + 1 of +1 , that is, the predicted value s ′ i t + 1 of the situation data at
そして、出力層のユニットから出力される時刻t+1の所望操作データの予測値a'i t+1が、予測部105から操作データ出力部106に供給される。
Then, the predicted value a ′ i t + 1 of the desired operation data at time t + 1 output from the output layer unit is supplied from the
なお、入力層のユニットに、状況データ取得部101からの時刻tの状況データsi tが入力された後は、状況データ取得部101からの次の時刻t+1の状況データsi t+1が入力されるが、そのとき、時刻tの所望操作データai tとしては、例えば、出力層のユニットから出力された時刻t+1の所望操作データの予測値a'i t+1が用いられる(入力層のユニットに入力される)。
Incidentally, the unit of the input layer, after the situation data s i t at time t from state
また、上述の場合には、予測部105において、ダイナミクス学習モデルを用い、時刻tの入力データXtの入力に対して、入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1を求めることとしたが、予測部105では、ダイナミクス学習モデルを用いて得られた予測値を、さらにダイナミクス学習モデルの入力としてフィードバックすることを繰り返すことで、時刻t+1の入力データXt+1の予測値X't+1の他、その時刻t+1の先(未来)の時刻の予測値X't+2,X't+3,・・・をも求めることが可能である。後述する予測部165(図9)でも同様である。
In the foregoing paragraphs, the
ステップS114では、操作データ出力部106が、予測部105からの所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tを、図1のデータ処理装置が一部を構成している電子機器としてのPCやTV等の操作データを受け付けるインタフェースに出力し、処理は終了する。
In step S114, the operation
これにより、PCやTV等では、所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tに従った処理が行われる。 As a result, processing according to the predicted values a ′ j t , a ′ j t + 1 ,..., A ′ j t + T of the desired operation data is performed on a PC, TV, or the like.
なお、図4の予測処理は、図3の学習処理が行われていないときに行うこともできるし、図3の学習処理と並列して行うこともできる。 4 can be performed when the learning process of FIG. 3 is not performed, or can be performed in parallel with the learning process of FIG.
以上のように、状況データ取得部101において、状況を表す時系列データである状況データを取得するとともに、操作データ取得部102において、ユーザが所望する操作に対応する時系列データである所望操作データを取得し、予測学習部103において、状況データ及び所望操作データのダイナミクスを学習し、予測部105において、ダイナミクスに基づき、状況データを入力として、所望操作データの予測値を求め、操作データ出力部106において、所望操作データの予測値を出力するので、ユーザごとに、ユーザが行おうとしている操作、つまり、ユーザが所望する操作を先取りして行うことができる。
As described above, the situation
すなわち、例えば、図2Aに示したように、ユーザが、マウスカーソルを、PCの画面の右下から左上の方向に移動し、PCの画面の左上の位置にあるアイコンをクリックする操作をした場合には、状況データ取得部101では、図2Bに示したように、マウスカーソルの位置の軌跡を表す座標(mouse_xt,mouse_yt)が、i番目の種類の状況データsi t,si t+1,・・・,si t+Tとして取得されるとともに、図2Aの画面の左上の位置にあるアイコンの位置を表す座標(icon_xt,icon_yt)が、i'番目の種類の状況データsi' t,si' t+1,・・・,si' t+Tとして取得される。
That is, for example, as shown in FIG. 2A, when the user moves the mouse cursor from the lower right to the upper left of the PC screen and clicks on the icon at the upper left position of the PC screen. In the situation
さらに、操作データ取得部102では、図2Cに示したように、オフになっているマウスのボタンを所定のタイミングでオンにする操作を表す操作データが、j番目の所望操作データaj t,aj t+1,・・・,aj t+Tとして取得される。
Furthermore, in the operation
この場合、予測学習部103では、PCの画面の右下から左上の方向に向かうマウスカーソルの軌跡を表す座標(mouse_xt,mouse_yt)の時系列データ、PCの画面の左上の位置にあるアイコンの位置を表す座標(icon_xt,icon_yt)の時系列データ、及び、オフになっているマウスのボタンを所定のタイミングでオンにする操作を表す時系列データを用いて、ダイナミクス学習モデルの学習が行われる。
In this case, the
これにより、ダイナミクス学習モデルは、PCの画面の右下から左上の方向に向かうマウスカーソルの軌跡を表す座標(mouse_xt,mouse_yt)の時系列データ、PCの画面の左上の位置にあるアイコンの位置を表す座標(icon_xt,icon_yt)の時系列データ、及び、オフになっているマウスのボタンを所定のタイミングでオンにする操作を表す時系列データのダイナミクスを獲得する。 As a result, the dynamics learning model uses time series data of coordinates (mouse_x t , mouse_y t ) representing the locus of the mouse cursor from the lower right to the upper left of the PC screen, and the icon at the upper left position of the PC screen. Time-series data of coordinates (icon_x t , icon_y t ) representing a position and dynamics of time-series data representing an operation of turning on a mouse button that is turned off at a predetermined timing are acquired.
その後、状況データ取得部101において、PCの画面の右下から左上の方向に向かうマウスカーソルの軌跡を表す座標(mouse_xt,mouse_yt)の時系列データと、PCの画面の左上の位置にあるアイコンの位置を表す座標(icon_xt,icon_yt)の時系列データが取得され、予測部105に供給されると、予測部105では、ダイナミクス学習モデルが獲得したダイナミクスを有する所望操作データの予測値(さらには、状況データの予測値)、つまり、オフになっているマウスのボタンを所定のタイミングでオンにする操作を表す時系列データの予測値が求められ、操作データ出力部106を介して、PCのインタフェースに出力される。
Then, there the situation
したがって、PCでは、PCの画面の左上の位置に、アイコンが存在する状況であって、かつ、マウスカーソルが、PCの画面の右下から左上の方向に向かう軌跡を描いた状況となった場合、PCの画面の左上の位置にあるアイコンをクリックする操作に対応する所望操作データの予測値が求められ、これにより、PCでは、ユーザが、PCの画面の左上の位置にあるアイコンをクリックする操作をする前に、その操作を先取りする形で、その操作に従った処理が行われる。 Therefore, on a PC, when there is an icon at the upper left position of the PC screen, and the mouse cursor is in a situation that draws a trajectory from the lower right side of the PC screen toward the upper left direction. The predicted value of the desired operation data corresponding to the operation of clicking on the icon at the upper left position of the PC screen is obtained, and on this PC, the user clicks on the icon at the upper left position of the PC screen Before an operation is performed, processing according to the operation is performed in a form that preempts the operation.
なお、NNやSVR等の、ダイナミクスを獲得することができるダイナミクス学習モデルは、いわゆる汎化の能力(機能)を有する。かかる汎化の能力を有するダイナミクス学習モデルによれば、学習処理に用いられた時系列データと一致しない時系列データが与えられた場合であっても、その与えられた時系列データが、学習処理に用いられた時系列データとダイナミクスが類似するものであるときには、ある程度予測精度の高い予測値を出力する。 A dynamics learning model that can acquire dynamics, such as NN and SVR, has a so-called generalization ability (function). According to the dynamics learning model having the generalization ability, even when time-series data that does not match the time-series data used in the learning process is given, the given time-series data is converted into the learning process. When the time series data used in the above and the dynamics are similar, a prediction value with a certain degree of prediction accuracy is output.
図5及び図6は、状況データと所望操作データの他の例を示している。 5 and 6 show other examples of situation data and desired operation data.
すなわち、図5は、PCの画面上のwebブラウザに表示された記事を見ているユーザの視線の軌跡と、その軌跡が描かれた後に、webブラウザ(の表示)のスクロールをする操作がされた状態を示している。 That is, FIG. 5 shows the locus of the line of sight of the user who is viewing the article displayed on the web browser on the PC screen, and the operation of scrolling the web browser (display) after the locus is drawn. Shows the state.
図5において、状況データ取得部101が、ユーザの視線の軌跡を表す座標を、i番目の種類の状況データsi t,si t+1,・・・,si t+Tとして取得するとともに、操作データ取得部102が、webブラウザのスクロールをする操作に対応する操作データを、j番目の所望操作データaj t,aj t+1,・・・,aj t+Tとして取得した場合、予測学習部103では、ユーザの視線の軌跡を表す座標の時系列データ、及び、webブラウザのスクロールをする操作を表す時系列データを用いて、ダイナミクス学習モデルの学習が行われる。
In FIG. 5, the situation
これにより、ダイナミクス学習モデルは、ユーザの視線の軌跡を表す座標の時系列データ、及び、webブラウザのスクロールをする操作を表す時系列データのダイナミクスを獲得する。 As a result, the dynamics learning model acquires time-series data of coordinates representing the locus of the user's line of sight, and dynamics of time-series data representing an operation of scrolling the web browser.
その後、状況データ取得部101において、図5に示したような、ユーザの視線の軌跡を表す座標の時系列データが取得され、予測部105に供給されると、予測部105では、ダイナミクス学習モデルが獲得したダイナミクスを有する所望操作データの予測値(さらには、状況データの予測値)、つまり、webブラウザのスクロールをする操作を表す時系列データの予測値が求められ、操作データ出力部106を介して、PCのインタフェースに出力される。
After that, when the situation
したがって、PCでは、webブラウザ上におけるユーザの視線が、図5に示したような軌跡を描いた状況となった場合、webブラウザのスクロールをする操作を表す時系列データの予測値が求められ、これにより、PCでは、ユーザが、webブラウザのスクロールをする操作をする前に、その操作を先取りする形で、その操作に従った処理、つまり、webブラウザのスクロールが行われる。 Therefore, in the PC, when the user's line of sight on the web browser is in a situation where a locus as shown in FIG. 5 is drawn, a predicted value of time series data representing an operation of scrolling the web browser is obtained, Thus, on the PC, before the user performs an operation for scrolling the web browser, processing in accordance with the operation, that is, scrolling of the web browser is performed in advance.
図6は、TVの画面(表示画面)を示している。 FIG. 6 shows a TV screen (display screen).
すなわち、図6では、TVの画面がメイン画面とサブ画面とに左右に分割され、メイン画面において、ユーザが選択した番組の画像が表示されるとともに、サブ画面において、4つの、いわゆる裏番組の画像それぞれを縮小した4つの縮小画像が縦に並ぶ形で表示されている。 That is, in FIG. 6, the TV screen is divided into a main screen and a sub screen on the left and right, and the image of the program selected by the user is displayed on the main screen, and four so-called back programs are displayed on the sub screen. Four reduced images obtained by reducing the respective images are displayed in a vertically arranged form.
さらに、図6では、メイン画面の番組の画像上と、サブ画面の上から2番目の番組の縮小画像上とを往復するユーザの視線の軌跡と、その軌跡が描かれた後に、サブ画面の上から2番目に縮小画像が表示された番組を選択する操作がされている。 Furthermore, in FIG. 6, the locus of the user's line of sight that reciprocates between the image of the program on the main screen and the reduced image of the second program from the top of the sub screen, and after the locus is drawn, An operation for selecting the program on which the second reduced image is displayed from the top is performed.
図6において、状況データ取得部101が、ユーザの視線の軌跡を表す座標を、i番目の種類の状況データsi t,si t+1,・・・,si t+Tとして取得するとともに、操作データ取得部102が、サブ画面の上から2番目に縮小画像が表示された番組を選択する操作に対応する操作データを、j番目の所望操作データaj t,aj t+1,・・・,aj t+Tとして取得した場合、予測学習部103では、ユーザの視線の軌跡を表す座標の時系列データ、及び、サブ画面の上から2番目に縮小画像が表示された番組を選択する操作を表す時系列データを用いて、ダイナミクス学習モデルの学習が行われる。
In FIG. 6, the situation
これにより、ダイナミクス学習モデルは、ユーザの視線の軌跡(メイン画面の番組の画像上と、サブ画面の上から2番目の番組の縮小画像上とを往復するユーザの視線の軌跡)を表す座標の時系列データ、及び、サブ画面の上から2番目に縮小画像が表示された番組を選択する操作を表す時系列データ(番組を選択する操作(選択操作)と、その選択操作の前後で、選択操作がされていないことを表す時系列データ)のダイナミクスを獲得する。 As a result, the dynamics learning model has coordinates of the user's line of sight (the locus of the user's line of sight that reciprocates between the program image on the main screen and the reduced image of the second program from the top of the sub screen). Time-series data and time-series data representing an operation for selecting the program on which the second reduced image is displayed from the top of the sub screen (selection before and after the operation for selecting the program (selection operation)) Acquire dynamics of time-series data indicating that no operation has been performed.
その後、状況データ取得部101において、図6に示したような、ユーザの視線の軌跡を表す座標の時系列データが取得され、予測部105に供給されると、予測部105では、ダイナミクス学習モデルが獲得したダイナミクスを有する所望操作データの予測値(さらには、状況データの予測値)、つまり、サブ画面の上から2番目に縮小画像が表示された番組を選択する操作を表す時系列データの予測値が求められ、操作データ出力部106を介して、TVのインタフェースに出力される。
After that, when the situation
したがって、TVでは、画面上におけるユーザの視線が、図6に示したような軌跡を描いた状況となった場合、サブ画面の上から2番目に縮小画像が表示された番組を選択する操作を表す時系列データの予測値が求められ、これにより、TVでは、ユーザが、サブ画面の上から2番目に縮小画像が表示された番組を選択する操作をする前に、その操作を先取りする形で、その操作に従った処理、つまり、サブ画面の上から2番目に縮小画像が表示された番組の画像を、メイン画面に表示することが行われる。 Therefore, in the TV, when the user's line of sight on the screen is in a state of drawing a locus as shown in FIG. 6, an operation for selecting the program on which the second reduced image is displayed from the top of the sub screen is performed. The predicted value of the time-series data to be expressed is obtained, so that, on the TV, before the user performs the operation of selecting the program on which the second reduced image is displayed from the top of the sub screen, the operation is preempted. Thus, processing according to the operation, that is, displaying the image of the program on which the second reduced image is displayed from the top of the sub screen is performed on the main screen.
なお、予測部105(図1)は、図4の予測処理において、上述したように、状況データ取得部101から供給される状況データsi t,si t+1,・・・,si t+Tを入力として、所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tを求める他、状況データの予測値s'j t,s'j t+1,・・・,s'j t+Tを求め、状況データ取得部101から供給される状況データ(の真値)si t,si t+1,・・・,si t+Tとともに、操作データ出力部106に供給することができる。
In addition, in the prediction process of FIG. 4, the prediction unit 105 (FIG. 1), as described above, the situation data s i t , s i t + 1 ,..., S i supplied from the situation
この場合、操作データ出力部106は、予測部105からの状況データの予測値s'j t,s'j t+1,・・・,s'j t+T、及び、状況データの真値si t,si t+1,・・・,si t+Tを用いて、状況データの予測値の予測誤差ei t=|si-s'j|を求め、予測誤差ej t,ej t+1,・・・,ej t+Tのそれぞれ、又は、すべての総和が、あらかじめ決定された所定の閾値以下であるときのみ、予測部105からの所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tを出力する。
In this case, the operation
この場合、状況データの予測値s'j t,s'j t+1,・・・,s'j t+Tが確からしくないときに、ひいては、所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tも確からしくないときに、そのような確からしくない所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tに従った処理が行われること、つまり、ユーザが意図しない処理が行われることを防止することができる。 In this case, when the predicted values s ′ j t , s ′ j t + 1 ,..., S ′ j t + T of the situation data are not certain, eventually, the predicted values a ′ j t , When a ′ j t + 1 ,..., a ′ j t + T are not certain, the predicted value a ′ j t , a ′ j t + 1 ,. It is possible to prevent the processing according to a ′ j t + T from being performed, that is, the processing not intended by the user.
次に、図7は、本発明を適用したデータ処理装置の他の一実施の形態の構成例を示すブロック図である。 Next, FIG. 7 is a block diagram showing a configuration example of another embodiment of the data processing apparatus to which the present invention is applied.
図7のデータ処理装置は、例えば、ゲーム装置(又は、ゲームのソフトウェア)の一部を構成する。 The data processing device in FIG. 7 constitutes a part of a game device (or game software), for example.
なお、ここでは、図7のデータ処理装置が一部を構成するゲーム装置が、ユーザが複数のキャラクタを操作する、例えば、サッカーや野球等のゲームのゲーム装置であるとする。 Here, it is assumed that the game device that is a part of the data processing device of FIG. 7 is a game device for games such as soccer and baseball, in which a user operates a plurality of characters.
図7において、データ処理装置は、教示キャラクタ選択部151、及び、ユーザが操作する複数としてのN人のキャラクタと同一の数のN個のキャラクタ動作補助モジュール1521,1522,・・・,152Nから構成される。
7, the data processing apparatus includes a teaching
教示キャラクタ選択部151は、例えば、ユーザの操作に応じて、N人のキャラクタの中から、動作を学習させるキャラクタを選択し、そのキャラクタの動作の補助を担当するキャラクタ動作補助モジュール152nを、学習処理を行うように制御する。
The teaching
キャラクタ動作補助モジュール1521ないし152Nは、上述したように、ユーザが操作するN人のキャラクタと同一の数であるN個だけ設けられている。キャラクタ動作補助モジュール152nは、N人のキャラクタのうちの、n番目のキャラクタの動作の補助を担当する。
As described above, the character motion assist
すなわち、キャラクタ動作補助モジュール152nは、n番目のキャラクタの動作を学習し、その学習結果に従い、n番目のキャラクタの動作を補助する。
That is, the character
図8は、図7のデータ処理装置が一部を構成するゲーム装置が表示するゲームの画面(ゲーム画面)を示している。 FIG. 8 shows a game screen (game screen) displayed by a game device that constitutes a part of the data processing device of FIG.
すなわち、図8は、サッカーのゲームのゲーム画面を示している。 That is, FIG. 8 shows a game screen of a soccer game.
図8では、サッカーのプレイヤのキャラクタとして、ユーザのチームの一部のキャラクタである4人の味方キャラクタFC#1,FC#2,FC#3、及びFC#4と、ゲーム装置が操る敵のチームの一部のキャラクタである3人の敵キャラクタRC#1,RC#2、及びRC#3が表示されている。
In FIG. 8, four teammate
さらに、図8においては、サッカーのボールが表示されており、ゲーム中は、例えば、原則として、ボールの最も近くにいる味方キャラクタFC#nが、ユーザの操作に応じて動作し、他の味方キャラクタFC#n'は、ゲーム装置が動作させる。 Further, in FIG. 8, a soccer ball is displayed. During the game, for example, as a general rule, the ally character FC # n closest to the ball moves according to the user's operation, and other ally The character FC # n ′ is operated by the game device.
図8では、味方キャラクタFC#1ないしFC#4のうちの、味方キャラクタFC#1がボールに最も近く、したがって、味方キャラクタFC#1は、ユーザの操作に応じて動作し、他の味方キャラクタFC#2ないしFC#4は、ゲーム装置の制御に従って動作する。
In FIG. 8, among the teammate
ゲーム装置が、他の味方キャラクタFC#n'を、どのように動作させるかは、ゲームのソフトウェアにあらかじめプログラミングされている。したがって、例えば、図8において、ユーザが、味方キャラクタFC#1を操作している最中に、他の味方キャラクタFC#2ないしFC#4それぞれが、矢印で示すように移動して欲しいと思っていても、ゲームのソフトウェアに、そのようなプログラミングがされていなければ、他の味方キャラクタFC#2ないしFC#4は、移動しない。
It is programmed in advance in the game software how the game device operates other teammate characters FC # n '. Therefore, for example, in FIG. 8, while the user is operating the teammate
そこで、キャラクタ動作補助モジュール152nは、n番目のキャラクタの動作を学習し、その学習結果に従い、n番目のキャラクタの動作を補助することで、そのn番目のキャラクタに、ユーザが所望する動作(ユーザが操作していたならば、行うであろう操作に対応する動作)を行わせる。
Therefore, the character
すなわち、図9は、図7のキャラクタ動作補助モジュール152nの構成例を示している。
That is, FIG. 9 shows a configuration example of the character
図9において、キャラクタ動作補助モジュール152nは、状況データ取得部161、操作データ取得部162、予測学習部163、ダイナミクス学習モデル記憶部164、予測部165、及び操作データ出力部166から構成される。
In FIG. 9, the character
状況データ取得部161は、図1の状況データ取得部101と同様に、状況を表す時系列データである状況データsi t,si t+1,・・・,si t+Tを取得し、予測学習部163、及び予測部165に供給する。
The situation
但し、状況データ取得部161は、例えば、味方キャラクタFC#1ないしFC#4の位置や、ボールの位置、ゴールの位置、敵キャラクタRC#1ないしRC#3の位置等を表す、サッカーゲームの各種の状況を表す状況データを取得する。
However, the situation
操作データ取得部162は、図1の操作データ取得部101と同様に、ユーザが所望する操作に対応する時系列データである所望操作データaj t,aj t+1,・・・,aj t+Tを取得し、予測学習部163に供給する。
Similar to the operation
但し、操作データ取得部162は、例えば、図9のキャラクタ動作補助モジュール152nが担当するn番目のキャラクタ(味方キャラクタ)を移動させるユーザの操作や、そのn番目のキャラクタに、シュート、パス、ドリブルをさせるユーザの操作等の、ユーザが、そのときに所望している動作をn番目のキャラクタに行わせる操作を表す所望操作データを取得する。
However, the operation
予測学習部163は、図1の予測学習部103と同様に、状況データ取得部161からの状況データ、及び、操作データ取得部162からの所望操作データのダイナミクスを、ダイナミクス学習モデル記憶部164に記憶されたダイナミクス学習モデルによって学習する。
Similar to the
ダイナミクス学習モデル記憶部164は、図1のダイナミクス学習モデル記憶部104と同様に、ダイナミクス学習モデルを記憶する。
The dynamics learning
予測部165は、図1の予測部105と同様に、ダイナミクス学習モデル記憶部164に記憶されたダイナミクス学習モデルが獲得したダイナミクスに基づき、状況データ取得部161から供給される状況データsi t,si t+1,・・・,si t+Tを入力として、所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+T、さらには、必要に応じて、状況データの予測値s'j t,s'j t+1,・・・,s'j t+Tを求め、操作データ出力部166に供給する。
Like the
なお、予測部165は、状況データの予測値s'j t,s'j t+1,・・・,s'j t+Tを求める場合には、状況データ取得部161からの状況データ(の真値)si t,si t+1,・・・,si t+Tも、操作データ出力部166に供給する。
In addition, when the
操作データ出力部166は、図1の操作データ出力部106と同様に、予測部165からの所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tを、図7のデータ処理装置が一部を構成しているゲーム装置の操作データを受け付けるインタフェース(モジュール)に出力する。
The operation
操作データ出力部166が、予測部165からの所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tを、ゲーム装置の操作データを受け付けるインタフェースに出力した場合、ゲーム装置では、n番目のキャラクタを、所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tに従って動作させる処理が行われる。
An interface in which the operation
なお、操作データ出力部166では、図1の操作データ出力部106と同様に、状況データの予測値の予測誤差ei t=|si-s'j|を求め、予測誤差ej t,ej t+1,・・・,ej t+Tのそれぞれ、又は、すべての総和が、あらかじめ決定された所定の閾値以下(未満)であるときのみ、予測部165からの所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tを出力することができる。
In operation
次に、図10を参照して、図9の状況データ取得部161が取得する状況データと、操作データ取得部162が取得する所望操作データについて、さらに説明する。
Next, the situation data acquired by the situation
図10Aは、学習モード時のゲーム画面を示している。 FIG. 10A shows a game screen in the learning mode.
すなわち、図7のデータ処理装置が一部を構成するゲーム装置には、動作モードとして、ゲーム装置(又は、他のユーザ)が操る敵チームとサッカーの試合を行う通常モードと、ユーザのチームのキャラクタの動作の学習を行う学習モードとがある。 That is, in the game device in which the data processing device of FIG. 7 constitutes a part, the normal mode for playing a soccer game with the enemy team operated by the game device (or another user) as the operation mode, There is a learning mode for learning the movement of the character.
図10Aは、動作モードが学習モードである場合のゲーム画面を示している。なお、動作モードの切り換えは、例えば、ユーザの操作に応じて行われる。 FIG. 10A shows a game screen when the operation mode is the learning mode. Note that the operation mode is switched in accordance with, for example, a user operation.
図10Aは、図8の場合と同様のゲーム画面を示している。 FIG. 10A shows the same game screen as in FIG.
したがって、図10Aのゲーム画面では、ユーザのチームの一部のキャラクタである4人の味方キャラクタFC#1ないしFC#4と、ゲーム装置が操る敵のチームの一部のキャラクタである3人の敵キャラクタRC#1ないしRC#3が存在する状況であって、かつ、味方キャラクタFC#1ないしFC#4のうちの、味方キャラクタFC#1が、ボールに最も近い位置に存在する状況になっている。
Therefore, in the game screen of FIG. 10A, four friendly
図10Aの状況において、ユーザは、ボールに最も近い味方キャラクタFC#1以外の他の味方キャラクタFC#2ないしFC#4それぞれを、矢印で示すように移動させたい場合、例えば、味方キャラクタFC#2を、動作の学習対象のキャラクタとして選択し、その味方キャラクタFC#2を、矢印で示すように移動させる操作を行う。
In the situation of FIG. 10A, when the user wants to move each of the teammate characters FC # 2 to FC # 4 other than the teammate
この場合、教示キャラクタ選択部151(図7)は、味方キャラクタFC#2の動作の補助を担当する、例えば、2番目のキャラクタ動作補助モジュール1522を、学習処理を行うように制御する。キャラクタ動作補助モジュール1522は、教示キャラクタ選択部151の制御に従い、状況データ取得部161において、状況データを取得するとともに、操作データ取得部162において、所望操作データ(ここでは、味方キャラクタFC#2を、図10Aに矢印で示すように移動させる操作に対応する操作データ)を取得し、その状況データ及び所望操作データのダイナミクスを学習する学習処理を行う。
In this case, teaching character selection section 151 (FIG. 7) is responsible for assisting the operation of the teammate character FC # 2, for example, the second character operation
図10Bは、図10Aのゲーム画面において、ユーザが、味方キャラクタFC#2を、矢印で示すように移動させる操作を行った場合に、味方キャラクタFC#2の動作の補助を担当するキャラクタ動作補助モジュール1522の状況データ取得部161が取得する状況データを示している。
FIG. 10B shows a character motion assistance that assists the movement of the teammate character FC # 2 when the user performs an operation of moving the teammate character FC # 2 as indicated by an arrow on the game screen of FIG. 10A. It shows a situation data status
なお、図10Bにおいて、横軸は、時刻tを表し、縦軸は、図10Aのゲーム画面の左下の点を原点とするxy座標系における座標(x,y)を表している。 In FIG. 10B, the horizontal axis represents time t, and the vertical axis represents coordinates (x, y) in the xy coordinate system with the lower left point of the game screen of FIG. 10A as the origin.
状況データ取得部161は、例えば、図10Bに示すように、ボールの位置の軌跡を表す座標(ball_xt,ball_yt)を、i番目の種類の状況データsi t,si t+1,・・・,si t+Tとして取得する。
For example, as shown in FIG. 10B, the situation
図10Cは、図10Aのゲーム画面において、ユーザが、味方キャラクタFC#2を、矢印で示すように移動させる操作を行った場合に、味方キャラクタFC#2の動作の補助を担当するキャラクタ動作補助モジュール1522の操作データ取得部162が取得する所望操作データを示している。
FIG. 10C shows a character motion assistance that assists the movement of the teammate character FC # 2 when the user performs an operation of moving the teammate character FC # 2 as indicated by an arrow on the game screen of FIG. 10A. It indicates the desired operation data operation
なお、図10Cにおいて、横軸は、時刻tを表し、縦軸は、動作の学習対象のキャラクタである味方キャラクタFC#2の図10Aのゲーム画面の左下の点を原点とするxy座標系における座標(x,y)を表している。 In FIG. 10C, the horizontal axis represents time t, and the vertical axis represents the xy coordinate system having the origin at the lower left point of the game screen of FIG. The coordinates (x, y) are represented.
操作データ取得部162は、図10Cに示すように、ユーザの操作に従って移動する、動作の学習対象のキャラクタである味方キャラクタFC#2の位置の軌跡を表す座標(p_move_xt,p_move_yt)を、j番目の所望操作データaj t,aj t+1,・・・,aj t+Tとして取得する。
As shown in FIG. 10C, the operation
以下、同様に、ユーザは、味方キャラクタFC#3及びFC#4それぞれを、動作の学習対象のキャラクタとして選択し、矢印で示すように移動させる操作を行う。これにより、味方キャラクタFC#3及びFC#4の動作の補助を担当する、例えば、3番目のキャラクタ動作補助モジュール1523、及び4番目のキャラクタ動作補助モジュール1524それぞれでは、キャラクタ動作補助モジュール1522の場合と同様に、状況データと所望操作データとが取得される。
Hereinafter, similarly, the user performs an operation of selecting each of the teammate characters FC # 3 and FC # 4 as a character to be learned for movement and moving it as indicated by an arrow. Thus, for example, the third character
次に、図7のデータ処理装置の動作について説明する。 Next, the operation of the data processing apparatus in FIG. 7 will be described.
図7のデータ処理装置では、図1のデータ処理装置と同様に、キャラクタ動作補助モジュール152n(図9)において、ダイナミクス学習モデル記憶部164に記憶されたダイナミクス学習モデルのパラメータを、状況データ及び所望操作データを用いて更新する、ダイナミクス学習モデルの学習の処理(学習処理)と、学習処理によってダイナミクスを獲得したダイナミクス学習モデルを用い、状況データを入力として、所望操作データの予測値(さらには、状況データの予測値)を求める予測の処理(予測処理)とが行われる。
In the data processing device of FIG. 7, as in the data processing device of FIG. 1, in the character motion assist module 152 n (FIG. 9), the parameters of the dynamics learning model stored in the dynamics learning
図11は、図7のデータ処理装置で行われる学習処理を説明するフローチャートである。 FIG. 11 is a flowchart illustrating the learning process performed by the data processing apparatus of FIG.
学習処理は、例えば、動作モードが学習モードとされたときに行われる。 The learning process is performed, for example, when the operation mode is set to the learning mode.
教示キャラクタ選択部151は、ステップS151において、ユーザが、動作を学習させるキャラクタを選択する操作を行うのを待って、そのキャラクタの動作の補助を担当するキャラクタ動作補助モジュール152nを、学習を行う学習対象モジュールとして選択し、処理は、ステップS152に進む。
In step S151, the teaching
ステップS152では、学習対象モジュールとして選択されたキャラクタ動作補助モジュール152n(図9)において、状況データ取得部161が、状況データを取得し、予測学習部163に供給して、処理は、ステップS153に進む。
In step S152, in the character motion assistance module 152 n (FIG. 9) selected as the learning target module, the situation
ステップS153では、操作データ取得部162が、所望操作データを取得し、予測学習部163に供給して、処理は、ステップS154に進む。
In step S153, the operation
ステップS154では、予測学習部163が、ダイナミクス学習モデル記憶部164に記憶されたダイナミクス学習モデルのパラメータを読み出し、処理は、ステップS155に進む。
In step S154, the
ステップS155では、予測学習部163が、ステップS154でダイナミクス学習モデル記憶部164から読み出したダイナミクス学習モデルのパラメータを、状況データ取得部161からの状況データ、及び、操作データ取得部162からの所望操作データを用いて更新して、処理は、ステップS156に進む。
In step S155, the
ステップS156では、予測学習部163は、ステップS155で更新したダイナミクス学習モデルのパラメータを、ダイナミクス学習モデル記憶部164に上書きの形で書き込み、処理は終了する。
In step S156, the
図12は、図7のデータ処理装置で行われる予測処理を説明するフローチャートである。 FIG. 12 is a flowchart for explaining a prediction process performed by the data processing apparatus of FIG.
予測処理は、例えば、動作モードが通常モードとされたときに、N個のキャラクタ動作補助モジュール1521ないし152Nそれぞれ(但し、ユーザが操作しているキャラクタを担当するキャラクタ動作補助モジュール152n’は、除外することができる)において行われる。
For example, when the motion mode is set to the normal mode, the prediction process includes N character motion assist
キャラクタ動作補助モジュール152nでは、ステップS161において、状況データ取得部161が、状況データを取得し、予測部165に供給して、処理は、ステップS162に進む。
In the character
ステップS162では、予測部165が、ダイナミクス学習モデル記憶部164に記憶されたダイナミクス学習モデルのパラメータを読み出し、処理は、ステップS163に進む。
In step S162, the
ステップS163では、予測部165は、ダイナミクス学習モデル記憶部164に記憶されたダイナミクス学習モデルが獲得したダイナミクスに基づき、状況データ取得部161から供給される状況データを入力として、所望操作データの予測値を求め、操作データ出力部166に供給して、処理は、ステップS164に進む。
In step S163, the
ステップS164では、操作データ出力部166が、予測部165からの所望操作データの予測値を、図7のデータ処理装置が一部を構成しているゲーム装置の操作データを受け付けるインタフェースに出力し、処理は終了する。
In step S164, the operation
これにより、ゲーム装置では、キャラクタ動作補助モジュール152nが担当するキャラクタを、所望操作データの予測値に従って動作させる処理が行われる。
Thereby, in the game device, a process of causing the character in charge of the character
以上のように、キャラクタ動作補助モジュール152nでは、状況データ取得部161において、状況を表す時系列データである状況データを取得するとともに、操作データ取得部162において、ユーザが所望する操作に対応する時系列データである所望操作データを取得し、予測学習部163において、状況データ及び所望操作データのダイナミクスを学習し、予測部165において、ダイナミクスに基づき、状況データを入力として、所望操作データの予測値を求め、操作データ出力部166において、所望操作データの予測値を出力するので、ユーザごとに、ユーザが行いたい操作、つまり、ユーザが所望する操作を先取りして行うことができる。
As described above, in the character
すなわち、例えば、図8や図10に示したように、ユーザが、味方キャラクタFC#1を操作している最中に、他の味方キャラクタFC#2ないしFC#4それぞれを、矢印で示すように移動する操作を行いたいときに、そのように移動させることができる。
That is, for example, as shown in FIGS. 8 and 10, while the user is operating the teammate
なお、上述したたように、操作データ出力部166において、状況データの予測値の予測誤差ei t=|si-s'j|を求め、図1の操作データ出力部106と同様に、予測誤差ej t,ej t+1,・・・,ej t+Tに応じて、所望操作データの予測値a'j t,a'j t+1,・・・,a'j t+Tの出力を制御することにより、ユーザが意図しない処理が行われること、つまり、キャラクタが意図しない動作を行うことを防止することができる。
As described above, the operation
次に、ダイナミクス学習モデルとしては、上述したように、多数のダイナミクスを保持することができるダイナミクス記憶ネットワークを採用することができる。 Next, as the dynamics learning model, as described above, a dynamics storage network that can hold a large number of dynamics can be employed.
そこで、以下では、例えば、自律型ロボット等の自律的に行動する自律エージェントへの適用を例に、ダイナミクス記憶ネットワークについて説明する。 Therefore, in the following, a dynamics storage network will be described taking an example of application to an autonomous agent that acts autonomously such as an autonomous robot.
自律型ロボット等の自律エージェントは、様々なセンサ信号に基づいて、どのように振る舞うべきか、つまり、とるべき行動を決定し、その行動に応じたモータ信号を生成することで、自律的に行動する。 Autonomous agents such as autonomous robots act autonomously by deciding how to behave based on various sensor signals, that is, determining the action to be taken and generating a motor signal according to the action. To do.
ここで、センサ信号とは、例えば、カメラが、センシングとしての撮像を行うことで出力する画像信号や、マイク(マイクロフォン)が、センシングとしての集音を行うことで出力する音声信号等である。また、モータ信号とは、例えば、自律エージェントの腕や脚等を駆動するモータに与えられる信号や、音声合成装置に対して与えられる、音声合成に必要な信号等である。 Here, the sensor signal is, for example, an image signal output when the camera performs imaging as sensing, an audio signal output when the microphone (microphone) collects sound as sensing, or the like. The motor signal is, for example, a signal given to a motor that drives an arm or leg of an autonomous agent, a signal necessary for speech synthesis, etc. given to a speech synthesizer.
自律エージェントは、とるべき行動を決定するときに、センサ信号に基づいて、周囲の状態(例えば、何らかの物体がある位置等)や、自律エージェントの状態(例えば、腕や脚の状態等)等の状況を認識する。この、状況を認識することを、以下、適宜、認知ともいう。 When an autonomous agent decides an action to be taken, based on the sensor signal, the surrounding state (for example, the position where an object is present), the state of the autonomous agent (for example, the state of an arm or a leg, etc.) Recognize the situation. Recognizing this situation is hereinafter also referred to as recognition as appropriate.
また、自律エージェントは、認知(認識)の結果に基づき、とるべき行動(動作)を決定し、その行動に応じたモータ信号を生成する。このモータ信号が、自律エージェントの腕や脚等を駆動するモータに与えられることで、自律エージェントは、腕や脚等を動かす行動をとる。 Further, the autonomous agent determines an action (motion) to be taken based on the recognition (recognition) result, and generates a motor signal corresponding to the action. When this motor signal is given to the motor that drives the arms, legs, etc. of the autonomous agent, the autonomous agent takes action to move the arms, legs, etc.
ここで、以下、適宜、とるべき行動に応じたモータ信号を生成することを、単に、行動ともいう。 Here, the generation of a motor signal corresponding to an action to be taken as appropriate is hereinafter simply referred to as an action.
また、以下、適宜、状況を認識し、その認識結果に基づき、とるべき行動を決定して、その行動に応じたモータ信号を生成する認識生成、つまり、認知を行い、その認知の結果に基づき、行動することを、認知行動ともいい、認知行動をモデル化したモデルを、認知行動モデルという。 In addition, hereinafter, the situation is recognized as appropriate, the action to be taken is determined based on the recognition result, and the motor is generated according to the action. To act is also called cognitive behavior. A model that models cognitive behavior is called a cognitive behavior model.
自律エージェントの認知行動は、時間発展法則により定められる力学系(dynamical systems)として記述することができ、様々な行動はその力学系が持つ特定のアトラクタダイナミクス(attractor dynamics)によって実現できることが知られている。例えば、人を模した二足型ロボットの歩行運動は、系の運動状態が様々な初期状態からある特定の周期軌道に落ち着くことを特徴とするリミットサイクルダイナミクス(limit cycle dynamics)として記述することができる。 The cognitive behavior of autonomous agents can be described as dynamical systems defined by the law of time evolution, and it is known that various behaviors can be realized by specific attractor dynamics of the dynamic system. Yes. For example, the walking motion of a biped robot imitating a person can be described as limit cycle dynamics, which is characterized by the movement state of the system from various initial states to a specific periodic trajectory. it can.
また、自律エージェントとしての、例えば、アームロボットがある対象物に対して手先を伸ばすようなリーチング運動は、様々な初期状態からある特定の固定点に落ち着くことを特徴とする不動点ダイナミクス(fixed-point dynamics)として記述することができる。さらに、全ての運動は、不動点ダイナミクスで実現可能な離散運動(discrete movement)とリミットサイクルダイナミクスで実現可能な周期運動(cyclic movement)の組み合わせにより実現できるとも言われている。 In addition, as an autonomous agent, for example, a leaching movement in which an arm robot extends a hand against an object, a fixed point dynamics (fixed- point dynamics). Furthermore, it is said that all the movements can be realized by a combination of a discrete movement that can be realized by the fixed point dynamics and a cyclic movement that can be realized by the limit cycle dynamics.
したがって、ダイナミクスを学習するダイナミクス学習モデルは、認知行動モデルとして利用することができる。 Therefore, a dynamics learning model for learning dynamics can be used as a cognitive behavior model.
ダイナミクス学習モデルの1つである、例えば、RNNは、ネットワークに回帰ループで結合されるコンテキストユニットを持ち、そこに内部状態を保持することによって、理論的には、任意の力学系を近似可能である。 One of the dynamics learning models, for example, RNN has a context unit connected to the network by a regression loop, and can hold any internal state in theory, so it can theoretically approximate any dynamic system. is there.
但し、1つのRNNでは、多数のダイナミクスを獲得(学習)することは、学習の収束性などから難しいことがある。 However, it may be difficult to acquire (learn) a large number of dynamics with one RNN because of the convergence of learning.
これに対して、ダイナミクス記憶ネットワークによれば、多数のダイナミクスを容易に獲得することができる。 On the other hand, according to the dynamics storage network, a large number of dynamics can be easily acquired.
そこで、図13は、ダイナミクス記憶ネットワークによって、時系列データのダイナミクスを獲得する学習をし、その学習結果を用いて、時系列データの認識及び生成を行うデータ処理装置の構成例を示している。 FIG. 13 shows an example of the configuration of a data processing apparatus that learns to acquire dynamics of time-series data using a dynamics storage network, and recognizes and generates time-series data using the learning results.
図13のデータ処理装置では、観測することができる観測信号が、信号入力部11に入力される。観測信号は、例えば音や画像の信号、LED(Light Emitting Diode)の明るさ、モータの回転角度や回転角速度などであり、図13のデータ処理装置が、例えば、自律エージェントの認知行動に利用されることとすると、その自律エージェントに対して入出力し得る信号が、観測信号となり得る。
In the data processing apparatus of FIG. 13, an observation signal that can be observed is input to the
ここで、ダイナミクス学習モデルとして、ダイナミクス記憶ネットワークが採用される場合、状況データ、及び所望操作データが、観測信号に相当する。 Here, when the dynamics storage network is adopted as the dynamics learning model, the situation data and the desired operation data correspond to the observation signal.
信号入力部11は、観測される観測信号に対応する電気信号を出力する。具体的には、信号入力部11は、例えば、観測信号が音の信号の場合は、センサとしてのマイクに対応し、観測信号が画像信号の場合は、センサとしてのカメラに対応する。また、モータの回転角度や回転速度の計測装置なども、信号入力部11に対応する。
The
ここで、以下、適宜、信号入力部11に入力される信号も、信号入力部11が出力する信号も、観測信号という。
Here, hereinafter, a signal input to the
なお、観測信号は、時間的に定常的な定常信号であっても良いし、時間的に変化する(定常的でない)非定常信号であっても良い。 Note that the observation signal may be a stationary signal that is stationary in time, or an unsteady signal that changes in time (not stationary).
以下では、例えば、センサモータ信号を観測信号とする。センサモータ信号とは、例えば、図示せぬ自律型ロボットが有するカメラやマイクその他のセンサが出力するセンサ信号と、自律型ロボットの腕や脚等を駆動するモータに与えられるモータ信号とを、一定の時間間隔でサンプリングして得られる、同一のサンプル点(時刻)のサンプル値をコンポーネントとするベクトルの時系列である。 In the following, for example, a sensor motor signal is used as an observation signal. The sensor motor signal is, for example, a constant of a sensor signal output by a camera, microphone, or other sensor of an autonomous robot (not shown) and a motor signal given to a motor that drives the arm or leg of the autonomous robot. This is a vector time series obtained by sampling at a time interval of the same and having sample values at the same sample point (time) as components.
信号入力部11は、時系列データである観測信号を、逐次、適当な長さに区切って出力する。すなわち、信号入力部11は、観測信号としてのセンサモータ信号から、例えば、100サンプル(点)を、1サンプルずつシフトしながら抽出し、その100サンプルの時系列データを、特徴量抽出部12に供給する。
The
なお、センサモータ信号のサンプリングの時間間隔や、信号入力部11がセンサモータ信号から抽出するサンプルの数(サンプル数)は、観測信号とするセンサモータ信号に応じて適切に調整される。
Note that the sampling time interval of the sensor motor signal and the number of samples (number of samples) extracted from the sensor motor signal by the
特徴量抽出部12は、信号入力部11から供給される観測信号から特徴量を抽出し、その特徴量の時系列を、学習部13、認識部14、及び生成部15に供給する。
The feature amount extraction unit 12 extracts a feature amount from the observation signal supplied from the
すなわち、観測信号が、例えば、音声信号である場合には、特徴量抽出部12は、その音声信号の一定時間分ごとに、周波数分析その他の音響処理を施し、音声認識等で広く利用されている、例えば、メルケプストラムなどの音声の特徴量を抽出する。そして、特徴量抽出部12は、観測信号から抽出した特徴量を、時系列に出力し、これにより、特徴量抽出部12から学習部13、認識部14、及び生成部15に対して、特徴量の時系列データが供給される。
That is, when the observation signal is, for example, a voice signal, the feature amount extraction unit 12 performs frequency analysis and other acoustic processing every predetermined time of the voice signal, and is widely used for voice recognition and the like. For example, a voice feature amount such as a mel cepstrum is extracted. Then, the feature amount extraction unit 12 outputs the feature amount extracted from the observation signal in time series, and thereby the feature amount extraction unit 12 provides the feature to the
学習部13は、特徴量抽出部12からの時系列データに基づき、ダイナミクスを学習する学習処理を行い、認識部14及び生成部15は、特徴量抽出部12からの時系列データに基づき、学習処理の結果を利用して、時系列データを認識する認識処理や、時系列データを生成する生成処理、時系列データを認識し、その認識結果に応じて、時系列データを生成する認識生成処理を行う。
The
すなわち、学習部13は、特徴量抽出部12からの時系列データに基づき、後述するネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ダイナミクスを自己組織的に更新する学習処理を行う。
That is, the
ここで、学習処理では、ダイナミクス記憶ネットワークのパラメータの更新が行われる。パラメータの更新は、学習とも呼ばれる。 Here, in the learning process, the parameters of the dynamics storage network are updated. The parameter update is also called learning.
学習部13による学習処理の詳細は後述するが、学習処理では、基本的には、ラベル(正解ラベル)の付与されていない時系列データを、ダイナミクス記憶ネットワークに対して、繰り返し与えていく(供給していく)と、ダイナミクス記憶ネットワークが、その時系列データの中の特徴的なダイナミクスを自己組織的に獲得していく教師なし学習が実行される。その結果、ダイナミクス記憶ネットワークには、そこに与えられた時系列データの代表的なダイナミクスが記憶される。
Although the details of the learning process by the
ここで、ダイナミクス記憶ネットワークは、例えば、後述するように、力学系近似モデルの1つであるRNNによって、ダイナミクスを保持する。例えば、ある時刻tのデータの入力に対して、次の時刻t+1のデータを出力するRNN(の後述する入力層の入力ユニット)に対して入力される、ある時刻tのデータを、入力データというとともに、その時刻tのデータに対してRNNが出力する時刻t+1のデータを、出力データということとすると、学習部13、認識部14、及び生成部15に対して、特徴量抽出部12から供給される時系列データは、入力データである。
Here, the dynamics storage network holds the dynamics by, for example, an RNN that is one of the dynamic system approximation models, as will be described later. For example, in response to an input of data at a certain time t, an input of data at a certain time t input to an RNN that outputs data at the next time t + 1 (an input unit of an input layer described later) When the data at the time t + 1 output by the RNN with respect to the data at the time t is referred to as output data, the feature amount extraction is performed for the
認識部14は、入力データ、つまり、特徴量抽出部12から供給される時系列データを認識の対象として、認識処理を行う。 The recognition unit 14 performs a recognition process using the input data, that is, the time-series data supplied from the feature amount extraction unit 12 as a recognition target.
すなわち、認識部14は、ネットワーク記憶部16のダイナミクス記憶ネットワークが記憶しているダイナミクスの中で、特徴量抽出部12から供給される時系列データに最も適合するダイナミクスを決定し、そのダイナミクスを表す情報を、入力データとしての時系列データの認識結果として出力する。
That is, the recognizing unit 14 determines the dynamics most suitable for the time-series data supplied from the feature amount extracting unit 12 among the dynamics stored in the dynamics storage network of the
生成部15には、特徴量抽出部12から時系列データが供給される他、制御信号が供給される。生成部15は、ネットワーク記憶部16のダイナミクス記憶ネットワークが記憶しているダイナミクスの中から、時系列データの生成に用いるダイナミクスを、そこに供給される制御信号に従って決定し、そのダイナミクスを有する時系列データを、特徴量抽出部12から供給される時系列データを必要に応じて用いて生成する生成処理を行う。
In addition to the time-series data supplied from the feature amount extraction unit 12, the
なお、生成部15が生成処理を行うことによって得られる時系列データは、必要な処理が施されて出力される。
The time-series data obtained by the
ネットワーク記憶部16は、ダイナミクス記憶ネットワークを記憶する。
The
ダイナミクス記憶ネットワークは、ダイナミクスを1つのノードに保持し、複数のノードによって構成される。 The dynamics storage network holds dynamics in one node and is composed of a plurality of nodes.
ここで、ダイナミクスは、時間変化する力学系を表すもので、例えば、具体的な関数によって表現することができる。ダイナミクス記憶ネットワークでは、時系列データの時間変化の特徴が、ダイナミクスとして記憶される。 Here, the dynamics represents a dynamic system that changes with time, and can be expressed by a specific function, for example. In the dynamics storage network, the temporal change characteristics of time-series data are stored as dynamics.
なお、本実施の形態では、ダイナミクス記憶ネットワークのノードにおいて、例えば、内部状態量を持つ力学系近似モデルによってモデル化されたダイナミクスを保持することとする。この場合、ダイナミクス記憶ネットワークは、内部状態量を持つ力学系近似モデルをノードとするネットワーク(内部状態量を持つ力学系近似モデルを保持(記憶)するノードによって構成されるネットワーク)である。 In this embodiment, the dynamics modeled by a dynamical approximate model having an internal state quantity, for example, is held in a node of the dynamics storage network. In this case, the dynamics storage network is a network having a dynamic system approximation model having an internal state quantity as a node (a network configured by nodes holding (storing) a dynamic system approximation model having an internal state quantity).
ここで、内部状態量を持つ(力学系近似)モデルとは、例えば、ある入力があると、その入力に応じて出力をするモデルを考えた場合に、外部から観測することができる入力と出力とは別に、外部からは観測されない(できない)、モデルの内部の状態を表す内部状態量を有するモデルである。内部状態量を持つモデルでは、入力の他に、内部状態量をも用いて出力が求められるため、同一の入力があっても、内部状態量が異なると、異なる出力が得られる。 Here, models with internal state quantities (dynamic system approximation) are, for example, inputs and outputs that can be observed from the outside when considering a model that outputs when there is an input. Apart from this, it is a model having an internal state quantity that cannot be observed from the outside and that represents the internal state of the model. In the model having the internal state quantity, the output is obtained using the internal state quantity in addition to the input. Therefore, even if the same input exists, a different output is obtained if the internal state quantity is different.
内部状態記憶部17は、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの内部状態量を記憶する。内部状態記憶部17に記憶された内部状態量は、認識生成処理において、時系列データの認識時に、適宜更新され、時系列データの生成時に、必要に応じて利用される。この認識生成処理によって、自律エージェントの認知行動を実現することができる。
The internal
次に、図14は、図13のネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの例を、模式的に示している。
Next, FIG. 14 schematically shows an example of the dynamics storage network stored in the
ダイナミクス記憶ネットワークは、複数のノードとリンクによって構成される。 The dynamics storage network is composed of a plurality of nodes and links.
ノードは、ダイナミクスを保持(記憶)する。 The node holds (stores) dynamics.
リンクは、ノードどうしの間に結合関係を与える。 A link provides a coupling relationship between nodes.
図14では、ダイナミクス記憶ネットワークは、9個のノードN1ないしN9を有し、各ノードNi(i=1,2,・・・,9)には、9個のノードN1ないしN9が2次元の格子状に配置されるように、縦方向及び横方向に隣接するノードとの間にリンクが与えられている。 In FIG. 14, the dynamics storage network has nine nodes N 1 to N 9 , and each node N i (i = 1, 2,..., 9) has nine nodes N 1 to N 9. Links are provided between nodes adjacent in the vertical direction and the horizontal direction so that 9 is arranged in a two-dimensional lattice pattern.
すなわち、図14では、リンクによって、9個のノードN1ないしN9に、2次元の配置構造が与えられている。 That is, in FIG. 14, a two-dimensional arrangement structure is given to nine nodes N 1 to N 9 by links.
ここで、ダイナミクス記憶ネットワークにおいては、ノードNiの配置構造に応じて、ノードNiの位置を表す座標系を定義することができる。すなわち、例えば、図14に示すように、2次元の配置構造のノードNiについては、2次元座標系を定義し、その2次元座標系上の座標によって、ノードNiの位置を表すことができる。 Here, in the dynamics storage network can, depending on the arrangement of the nodes N i, defines the coordinate system representing the position of the node N i. That is, for example, as shown in FIG. 14, the node N i of a two-dimensional arrangement structure, defines a two-dimensional coordinate system, the coordinates on the two-dimensional coordinate system, is possible to express the node position N i it can.
例えば、いま、図14のダイナミクス記憶ネットワークについて、左下のノードN7の位置を原点(0,0)とするとともに、左から右方向をx軸とし、下から上方向をy軸とする2次元座標系を定義して、リンクの長さを0.5とすると、図14のダイナミクス記憶ネットワークにおいて、例えば、右上のノードN3の位置の座標は、(1,1)となる。 For example, in the dynamics storage network of FIG. 14, the two-dimensional configuration is such that the position of the lower left node N 7 is the origin (0,0), the left to right direction is the x axis, and the bottom to upper direction is the y axis. If the coordinate system is defined and the link length is 0.5, for example, in the dynamics storage network of FIG. 14, the coordinates of the position of the upper right node N 3 are (1, 1).
また、ダイナミクス記憶ネットワークを構成する任意の2つのノードNi及びNjそれぞれが保持するダイナミクスどうしが類似している(近い)度合いを表す尺度として、ノードNiとNjとの間の距離を導入する。 Also, as a measure representing the degree of similarity (closeness) between the dynamics held by any two nodes N i and N j constituting the dynamics storage network, the distance between the nodes N i and N j is Introduce.
いま、ノードNiとNjとの間の距離として、ノードNiとNjとの間のユークリッド距離を採用することとすると、例えば、左下のノードN7と、右上のノードN3との間の距離は、√((0-1)2+(0-1)2)=√2となる。 Now, as the distance between the node N i and N j, When adopting the Euclidean distance between the node N i and N j, for example, the lower left node N 7, the upper right of the node N 3 The distance between them is √ ((0-1) 2 + (0-1) 2 ) = √2.
図15は、図13のネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークのノードNiの構成例を模式的に示している。
Figure 15 shows schematically an example of the configuration of the
ノードNiは、例えば、内部状態量を持ち、力学系を表すことができる力学系近似モデルを有する。 The node Ni has, for example, a dynamic system approximate model that has an internal state quantity and can represent a dynamic system.
図15では、内部状態量を持つ力学系近似モデルとして、例えば、RNNが採用されている。 In FIG. 15, for example, RNN is adopted as a dynamic system approximation model having an internal state quantity.
図15において、力学系近似モデルとしてのRNNは、3層型NNに、その出力層から入力層への回帰ループを持たせたものとなっており、その回帰ループによって、内部状態量が保持される。 In FIG. 15, the RNN as a dynamical system approximation model is a three-layer NN having a regression loop from its output layer to its input layer, and the internal state quantity is retained by the regression loop. The
すなわち、図15において、力学系近似モデルとしてのRNNは、入力層、隠れ層(中間層)、及び出力層の3層により構成されている。入力層、隠れ層、及び出力層は、それぞれ任意の数の、ニューロンに相当するユニットにより構成される。 That is, in FIG. 15, the RNN as a dynamic system approximation model is composed of three layers: an input layer, a hidden layer (intermediate layer), and an output layer. Each of the input layer, the hidden layer, and the output layer is configured by an arbitrary number of units corresponding to neurons.
図15において、入力層は、入力ユニット、及びコンテキストユニットを有する。 In FIG. 15, the input layer has an input unit and a context unit.
入力ユニットには、時刻tの入力データ(ベクトル)Xtとしての時系列データが入力される。 Time series data as input data (vector) X t at time t is input to the input unit.
コンテキストユニットには、例えば、出力層の一部のユニットが出力するデータが、内部状態量であるコンテキストとしてフィードバックされる。すなわち、図15のRNNでは、コンテキストユニットと、出力層の一部のユニットとが、回帰ループによって接続されており、コンテキストユニットには、出力層の一部のユニットが出力するデータが、回帰ループを介して、コンテキストとして入力される。 For example, data output by some units in the output layer is fed back to the context unit as a context that is an internal state quantity. That is, in the RNN of FIG. 15, the context unit and a part of the output layer are connected by the regression loop, and the data output by the unit of the output layer is stored in the context unit. Is input as a context.
ここで、時刻tの入力データXtが入力ユニットに入力されるときに、コンテキストユニットに入力される時刻tのコンテキストCtは、1時刻前の時刻t-1の入力データXt-1に対して、出力層の一部のユニットが出力したデータである。したがって、時刻tの入力データXtの入力に対して出力層の一部のユニットが出力したデータは、次の時刻t+1のコンテキストCt+1となる。
Here, when the input data X t at time t is input to the input unit, the context C t at time t is input to the context unit, the input data X t-1 of one time before the time t-1 On the other hand, it is data output by some units in the output layer. Therefore, the data output by some units in the output layer with respect to the input of the input data X t at time t becomes the context C t + 1 at the next
隠れ層のユニットは、入力層に入力される入力データXt、及びコンテキストCtを対象として、ニューロンとしてのユニットどうしを結合する結合重み(結合荷重)を用いた重み付け加算を行い、その重み付け加算の結果を引数とする非線形関数の演算を行って、その演算結果を、出力層のユニットに出力する。 The hidden layer unit performs weighted addition using connection weights (connection weights) that connect the units as neurons for the input data X t and context C t input to the input layer, and the weighted addition. A non-linear function is calculated using the result of the above as an argument, and the calculation result is output to the unit of the output layer.
出力層の一部のユニットからは、上述したように、次の時刻t+1のコンテキストCt+1となるデータが出力され、入力層のコンテキストユニットにフィードバックされる。また、出力層の残りのユニットからは、例えば、入力データXtに対する出力データとして、その入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1が出力される。 As described above, data serving as the context C t + 1 at the next time t + 1 is output from some units in the output layer and fed back to the context unit in the input layer. Further, from the remaining units of the output layer, for example, as output data to the input data X t, the predicted value X 't + 1 of the input data X t + 1 at the next time t + 1 of the input data X t Is output.
以上のようなRNNにおいて、入力データとしての時系列データを、RNNの学習用の学習データとして用い、時刻tの時系列データXtから、次の時刻t+1の時系列データXt+1を予測することを学習(予測学習(prediction learning))することにより、学習データ(時系列データ)の時間発展法則を学習することができる。 In the RNN as described above, time-series data as input data is used as learning data for learning of the RNN, and from the time-series data X t at the time t, the time-series data X t + 1 at the next time t + 1 By learning to predict (prediction learning), the time evolution law of learning data (time-series data) can be learned.
ここで、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等に記載されている。 Here, for example, a BPTT (Back-Propagation Through Time) method can be adopted as a learning method for obtaining the parameters of the dynamical approximate model having an internal state quantity such as RNN. For the BPTT method, see DE Rumelhart, GE Hinton & RE Williams, 1986 "Learning internal representations by error propagation", In DE Rumelhart & J. McClelland, "Parallel distributed processing, pp. 318-364, Cambridge, MA: MIT Press, RJ Williams and D. Zipser, “A learning algorithm for continuously running fully recurrent neural networks”, Neural Computation, 1: 270-280, 1989, and the like.
学習部13は、力学系近似モデルとしてのRNNが保持するダイナミクスが、ダイナミクス記憶ネットワークの学習に用いられる時系列データである学習データの影響を受けるように、RNNのパラメータである結合重みを更新するRNNの学習を行う。
The
なお、学習部13は、力学系近似モデルが保持するダイナミクスが、学習データの影響を受ける度合いを強くしたり弱くしたりするための調整機能を有している。
The
すなわち、ダイナミクス記憶ネットワークの学習では、学習データが入力されるたびに、ダイナミクス記憶ネットワークを構成するノードが有する力学系近似モデルのパラメータが少しずつ更新される。このパラメータの更新時に、学習部13は、ノードごとに、そのノードが保持するダイナミクスを更新する程度、つまり、学習データを、ノードが保持するダイナミクスに影響させる程度を表す学習重みを決定する。
That is, in learning of the dynamics storage network, every time learning data is input, the parameters of the dynamic system approximation model of the nodes constituting the dynamics storage network are updated little by little. At the time of updating this parameter, the
学習部13は、学習重みに応じて、ノードが保持するダイナミクスを、学習データのダイナミクスに近くなるように、自己組織的に更新する
The
すなわち、学習部13は、ノードの力学系近似モデルが、例えば、RNNである場合には、そのRNNが保持するダイナミクスが、学習データの影響を受ける度合いを、学習重みに応じて調整しながら、RNNのパラメータを、BPTT法により更新する。
That is, the
学習部13において、RNNが保持するダイナミクスが学習データの影響を受ける度合いの調整は、例えば、BPTT法によるRNNのパラメータ(結合重み)の更新時の、パラメータを計算する繰り返し回数を、学習重みに応じて制限することや、パラメータを更新する程度に影響を与える予測誤差を、学習重みに応じて補正すること等によって行われる。
In the
すなわち、BPTT法によるRNNのパラメータの更新では、例えば、入力データXtに対する出力データとしての、その入力データXtの次の時刻t+1の入力データXt+1の予測値X't+1の、真値(時刻t+1の入力データXt+1)に対する予測誤差が小さくなるように、RNNのパラメータとしての結合重みを、予測誤差に応じた値だけ更新する計算が、RNNのパラメータが収束するまで繰り返し行われる。 That is, updates the parameters of the RNN by the BPTT method, for example, input data X as the output data for t, the input data X t of the input data of the next time t + 1 X t + 1 of the predicted value X 't + The calculation to update the coupling weight as a parameter of RNN by a value corresponding to the prediction error so that the prediction error for the true value of 1 (input data X t + 1 at time t + 1) is small is Repeated until parameters converge.
学習部13は、例えば、学習重みが小さいほど、パラメータの計算の繰り返し回数を少なくすることで、RNNが保持するダイナミクスが学習データの影響を受ける度合いを小に調整する。
For example, the
あるいは、学習部13は、例えば、学習重みが小さいほど、予測誤差を小さい値に補正することで、RNNが保持するダイナミクスが学習データの影響を受ける度合いを小に調整する。
Alternatively, for example, the
いずれにしても、学習重みが大きいときには、RNNのパラメータは、RNNが保持するダイナミクスが学習データの影響を大きく受けるように更新される。また、学習重みが小さいときには、RNNのパラメータは、RNNが保持するダイナミクスが学習データの影響をあまり受けないように(少ししか受けないように)更新される。 In any case, when the learning weight is large, the parameters of the RNN are updated so that the dynamics held by the RNN are greatly affected by the learning data. When the learning weight is small, the RNN parameters are updated so that the dynamics held by the RNN are not significantly affected by the learning data (only a little).
次に、学習重みの決定の方法について説明する。 Next, a method for determining the learning weight will be described.
学習部13は、ダイナミクス記憶ネットワークのノードの中から、学習データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、その勝者ノードから各ノードまでの距離に応じて、各ノードが保持するダイナミクスを更新する程度を表す学習重みを決定する。
The
すなわち、学習部13は、特徴量抽出部12から1サンプルの特徴量が供給されると、その1サンプルの特徴量と、特徴量抽出部12から直前に供給された過去のT-1サンプルの特徴量とによって、Tサンプルの特徴量(サンプル値)の時系列データを、観測される(た)観測時系列データとして生成する。
That is, when a feature amount of one sample is supplied from the feature amount extraction unit 12, the
ここで、この場合、特徴量抽出部12が出力する特徴量の時系列データを、1サンプルずつシフトしながら、Tサンプルずつ逐次抽出して得られる時系列データが、観測時系列データとなる。 Here, in this case, the time-series data obtained by sequentially extracting the T-samples while shifting the time-series data of the feature values output from the feature-value extraction unit 12 by one sample becomes the observation time-series data.
なお、以下では、時刻tの(観測)時系列データXtとは、例えば、時刻t-T+1のサンプル値から、時刻tのサンプル値までのTサンプルのサンプル値Xt-T+1,Xt-T+2,・・・,Xt-1,Xtを意味することとする。
In the following, the (observation) time-series data X t at time t is, for example, the sample value X t-T + 1 of the T sample from the sample value at
学習部13は、時刻tの観測時系列データを生成すると、その時刻tの観測時系列データを学習データとして、ダイナミクス記憶ネットワークの各ノード(が有するダイナミクス)が学習データに適合する度合いを表すスコアを求める。
When learning
すなわち、いま、学習データとしての時刻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の時系列データ(の全体)に対するノードのスコアとして求める。
That is, the time among the sample values X t−T + 1 , X t−T + 2 ,..., X t−1 , X t of time samples at time t as learning data When the sample value X t of t is input to the RNN as a dynamic system approximation model possessed by the node, the predicted value X ′ t + 1 of the sample value X t + 1 of the time t + 1 output by the RNN, time t + 1 sample value (true value) X t + 1 the prediction error [delta] with respect to (t) is, for example, the formula [delta] (t) = | defined by 2 | X 't + 1 -X t + 1 If this is the case, the
なお、この場合、スコアが小さいほど、予測値が真値に近いことを表す。そこで、以下、適宜、スコアが小さいことを、スコアが良い、又は高いともいい、スコアが大きいことを、スコアが悪い、又は低いともいう。 In this case, the smaller the score, the closer the predicted value is to the true value. Therefore, hereinafter, as appropriate, a score that is small is also referred to as a good or high score, and a score that is large is also referred to as a poor or low score.
RNNのような内部状態量を持つ力学系近似モデルについては、その内部状態量を適切な値とすることで、スコアはより良くなる。 For a dynamical approximate model with an internal state quantity such as RNN, the score becomes better by setting the internal state quantity to an appropriate value.
そのため、学習部13は、スコアの計算にあたっては、予測誤差を最小化するように、BPTT法によって、内部状態量としてのRNNのコンテキストを調整した後、そのコンテキストを更新しながら、スコアを計算する。
Therefore, in calculating the score, the
そして、学習部13は、ダイナミクス記憶ネットワークのノードの中から、スコアが最も良いRNNを有するノードを、学習データに最も適合するダイナミクスを保持する勝者ノードに決定する。
Then, the
さらに、学習部13は、ダイナミクス記憶ネットワークの各ノードと、勝者ノードとの間の距離dを求める。
Further, the
なお、ノードNiとNjとの間の距離としては、図14で説明したノードNiとNjとの間のユークリッド距離の他、例えば、ノードNiとNjとのスコアの差(の絶対値)を採用することが可能である。この場合、スコアがより良いノードが、勝者ノードとの間の距離がより近いノードとなる。 As the distance between the node N i and N j, other Euclidean distance between the node N i and N j described in FIG. 14, for example, the difference in scores between the nodes N i and N j ( (Absolute value) can be adopted. In this case, a node with a better score is a node closer to the winner node.
また、任意のノードNiと勝者ノードとの間の距離としては、ノードNiのスコアそのもの(又は、逆数等)を採用することが可能である。 As the distance between any node N i and winning node, it is possible to employ the score itself node N i (or, reciprocal, etc.).
学習部13は、ダイナミクス記憶ネットワークの各ノードの、勝者ノードとの間の距離dを求めると、距離dの増加に対して学習重みαが減少する関係を表す曲線(以下、距離/重み曲線という)に従って、ノードの学習重みαを決定する。
When the
すなわち、図16は、距離/重み曲線の例を示している。 That is, FIG. 16 shows an example of a distance / weight curve.
図16の距離/重み曲線において、横軸(左から右方向)は、学習重みαを示しており、縦軸(上から下方向)は、勝者ノードからの距離dを示している。 In the distance / weight curve of FIG. 16, the horizontal axis (from left to right) represents the learning weight α, and the vertical axis (from top to bottom) represents the distance d from the winner node.
図16の距離/重み曲線によれば、勝者ノードとの距離dが近いノードほど、大きな学習重みαが決定され、距離dが遠いノードほど、小さな学習重みαが決定される。 According to the distance / weight curve of FIG. 16, a node having a shorter distance d to the winner node determines a larger learning weight α, and a node having a longer distance d determines a smaller learning weight α.
ここで、図16では、縦軸に沿って、ダイナミクス記憶ネットワークを構成する6個のノードN1'ないしN6'が、各ノードNi'と勝者ノードとの距離dに対応する位置(縦軸の位置)に記載されている。 Here, in FIG. 16, along the vertical axis, the six nodes N 1 ′ to N 6 ′ constituting the dynamics storage network correspond to the distance d between each node Ni ′ and the winner node (vertical). Axis position).
図16では、ダイナミクス記憶ネットワークを構成する6個のノードN1'ないしN6'が、その順で、勝者ノードとの距離dが近いノードになっている。ダイナミクス記憶ネットワークを構成する6個のノードN1'ないしN6'のうち、勝者ノードとの距離dが最も近いノード、即ち、勝者ノードとの距離が0のノードであるノードN1'は、勝者ノード(となっているノード)である。 In FIG. 16, the six nodes N 1 ′ to N 6 ′ constituting the dynamics storage network are nodes that are in the order of the distance d from the winner node. Among the six nodes N 1 ′ to N 6 ′ constituting the dynamics storage network, the node N 1 ′ having the closest distance d to the winner node, that is, the node N 1 ′ having a distance of 0 from the winner node is It is the winner node.
図16の距離/重み曲線は、例えば、式(1)によって与えられる。 The distance / weight curve in FIG. 16 is given by, for example, Expression (1).
ここで、式(1)において、γは0<γ<1の範囲の減衰係数であり、Δは、勝者ノードを中心として各ノードの学習重みαを調整するための変数(以下、適宜、調整変数という)である。 Here, in Expression (1), γ is an attenuation coefficient in a range of 0 <γ <1, and Δ is a variable for adjusting the learning weight α of each node around the winner node (hereinafter, appropriately adjusted). Variable).
調整変数をΔを大きい値から少しずつ0に近づけていくと、学習重みαは勝者ノードから離れるにしたがってより小さい値となる。基本的には、調整変数Δは、学習の開始時は大きくし、時間の経過とともに小さくなるように調整される。 As Δ is gradually approached to 0 from a large value, the learning weight α becomes a smaller value as the distance from the winner node increases. Basically, the adjustment variable Δ is adjusted so as to increase at the start of learning and to decrease with time.
式(1)の学習重みαに基づき、勝者ノードのパラメータ(ノードが有する力学系近似モデルのパラメータ)は、学習データの影響を最も強く受けるように更新され、勝者ノードから離れるにしたがって、学習データの影響が小さくなるように、他のノード(勝者ノード以外のノード)のパラメータの更新が行われる。 Based on the learning weight α in Expression (1), the parameter of the winner node (the parameter of the dynamic system approximation model that the node has) is updated so as to be most affected by the learning data, and the learning data increases as the distance from the winner node increases. The parameters of other nodes (nodes other than the winner node) are updated so as to reduce the influence of.
次に、図17のフローチャートを参照して、図13の学習部13による学習処理について説明する。
Next, the learning process by the
学習部13は、ステップS11において、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークのすべてのパラメータの初期化を行う。具体的には、ダイナミクス記憶ネットワークの各ノードの内部状態量を持つ力学系近似モデル(図15)のパラメータに適当な値が初期値として付与される。
In step S11, the
ここで、ダイナミクス記憶ネットワークのノードが有する力学系近似モデルが、例えば、RNNである場合には、ステップS11では、そのRNNのユニットに入力される信号に与えられる結合重み等を、力学系近似モデルのパラメータとして、そのパラメータに適当な初期値がセットされる。 Here, when the dynamic system approximation model possessed by the node of the dynamics storage network is, for example, an RNN, in step S11, the coupling weight given to the signal input to the unit of the RNN is represented by the dynamic system approximation model. A suitable initial value is set as the parameter.
その後、特徴量抽出部12から学習部13に対して、1サンプルの特徴量が供給されるのを待って、処理は、ステップS11からステップS12に進み、学習部13は、学習データを生成する。
Thereafter, after waiting for one sample of the feature amount to be supplied from the feature amount extraction unit 12 to the
すなわち、学習部13は、特徴量抽出部12から1サンプルの特徴量が供給されると、その1サンプルの特徴量と、特徴量抽出部12から直前に供給されたT-1サンプルの特徴量とによって、Tサンプルの特徴量(サンプル値)の時系列データを、観測時系列データとして生成する。
That is, when a feature amount of one sample is supplied from the feature amount extraction unit 12, the
その後、処理は、ステップS12からステップS13に進み、学習部13は、直前のステップS12で生成した観測時系列データを学習データとして、その学習データに対する、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ノードのスコアの計算を、ノードが有する、内部状態量を持つ力学系近似モデルの内部状態量を更新しながら行う。
Thereafter, the process proceeds from step S12 to step S13, and the
ここで、内部状態量を持つ力学系近似モデルが、例えば、RNNである場合には、所定の基準値を基準として値を変えていく(更新していく)変数の値のうちの、スコアを最も良くする値が、内部状態量としてのRNNのコンテキストの初期値に決定され、コンテキストを初期値から更新しながら、スコアの計算が行われる。 Here, when the dynamic system approximation model having the internal state quantity is, for example, RNN, the score of the variable values whose values are changed (updated) based on a predetermined reference value is calculated. The best value is determined as the initial value of the RNN context as the internal state quantity, and the score is calculated while updating the context from the initial value.
なお、コンテキストの初期値の決定に用いる所定の基準値としては、例えば、ランダムな値や、前回のRNNのパラメータの更新時に求められた、コンテキストの最終的な更新値(以下、適宜、前回更新値という)などを採用することができる。 The predetermined reference value used for determining the initial value of the context is, for example, a random value or the final update value of the context obtained when the previous RNN parameter was updated (hereinafter, the previous update is appropriately performed as appropriate). Value)).
例えば、今回のRNNのパラメータの更新時に学習部13で生成された観測時系列データと、前回のRNNのパラメータの更新時に学習部13で生成された観測時系列データとが、何らの関係もないことが分かっている場合には、コンテキストの初期値の決定に用いる所定の基準値としては、ランダムな値を採用することができる。
For example, the observation time series data generated by the
また、例えば、今回のRNNのパラメータの更新時に学習部13で生成された観測時系列データと、前回のRNNのパラメータの更新時に学習部13で生成された観測時系列データとが、連続する時系列データなどのように、何らかの関係を有することが分かっている場合には、コンテキストの初期値の決定に用いる所定の基準値としては、前回更新値を採用することができる。なお、前回更新値を、コンテキストの初期値の決定に用いる所定の基準値として採用する場合には、前回更新値を、そのまま、コンテキストの初期値に決定することができる。
Also, for example, when the observation time series data generated by the
ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークのすべてのノードのスコアが求められると、処理は、ステップS13からステップS14に進み、学習部13は、ダイナミクス記憶ネットワークを構成するノードそれぞれのスコアを比較することによって、最もスコアの良いノードを、学習データに最も適合するノードである勝者ノードに決定して、処理は、ステップS15に進む。
When the scores of all the nodes of the dynamics storage network stored in the
ステップS15では、学習部13は、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ノードの学習重みを、図16で説明したように、勝者ノードを中心として決定する。
In step S15, the
その後、処理は、ステップS15からステップS16に進み、学習部13が、学習データを用い、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの各ノードが有する、内部状態量を持つ力学系近似モデルのパラメータの更新を、学習重みに応じて行う。
Thereafter, the process proceeds from step S15 to step S16, where the
ここで、内部状態量を持つ力学系近似モデルが、例えば、RNNである場合には、ステップS16でのパラメータの更新は、BPTT法によりパラメータ(結合重み)を計算する繰り返し回数を、学習重みに応じて制限して行われる。すなわち、学習重みが小さいほど、繰り返し回数は、小さい値に制限される。 Here, when the dynamic system approximation model having the internal state quantity is, for example, RNN, the parameter update in step S16 is performed by using the number of iterations for calculating the parameter (binding weight) by the BPTT method as the learning weight. Depending on the limit. That is, the smaller the learning weight, the smaller the number of repetitions.
なお、勝者ノードのパラメータだけを更新する方法はWTA(winner-take-all)と呼ばれる学習方法であり、勝者ノードの近傍のノードに対してもパラメータの更新を行う方法はSMA(soft-max adaptation)と呼ばれる学習方法である。学習部13は、SMAで、ダイナミクス記憶ネットワーク(のノードが有する力学系近似モデル)のパラメータの更新を行う。
Note that the method of updating only the parameters of the winner node is a learning method called WTA (winner-take-all), and the method of updating parameters for nodes in the vicinity of the winner node is SMA (soft-max adaptation). ) Is a learning method. The
すなわち、図16で説明したように、学習重みは、勝者ノードとの距離が近い、勝者ノードの近傍にあるノードについてほど大きな値に決定され、逆に、勝者ノードとの距離が遠いノードについてほど小さな値に決定される。その結果、勝者ノードの近傍にあるノードについては、学習データの影響をより強く受けるように、ノードのパラメータを更新し、勝者ノードとの距離が遠いノードについては、学習データの影響をあまり受けないように、ノードのパラメータを更新する近傍競合学習が行われる。 That is, as described with reference to FIG. 16, the learning weight is determined to be larger for a node that is closer to the winner node and closer to the winner node, and conversely, for a node that is farther from the winner node. Decided to a small value. As a result, the node parameters are updated so that the nodes near the winner node are more affected by the learning data, and the nodes far from the winner node are less affected by the learning data. As described above, neighborhood competitive learning for updating the parameter of the node is performed.
その後、特徴量抽出部12から学習部13に対して、1サンプルの特徴量が新たに供給されるのを待って、処理は、ステップS16からステップS12に戻り、以下、ステップS12ないしS16の処理が繰り返される。
Thereafter, the process waits for the feature quantity of one sample to be newly supplied from the feature quantity extraction unit 12 to the
次に、図18のフローチャートを参照して、図13の認識部14による認識処理について説明する。 Next, the recognition process by the recognition unit 14 in FIG. 13 will be described with reference to the flowchart in FIG.
ステップS31において、認識部14は、認識処理に用いる認識データを生成する。 In step S31, the recognition unit 14 generates recognition data used for recognition processing.
すなわち、認識部14は、例えば、特徴量抽出部12から、Tサンプルの特徴量(サンプル値)が供給されるのを待って、そのTサンプルの特徴量の時系列である観測時系列データを、認識データとする。 That is, for example, the recognition unit 14 waits for the feature amount (sample value) of the T sample to be supplied from the feature amount extraction unit 12, and obtains the observation time series data that is the time series of the feature amount of the T sample. And recognition data.
そして、処理は、ステップS31からステップS32に進み、認識部14は、認識データに対するダイナミクス記憶ネットワークの各ノードのスコアの計算を、図17の学習処理の場合と同様に、ノードが有する、内部状態量を持つ力学系近似モデルの内部状態量を更新しながら行う。 Then, the process proceeds from step S31 to step S32, and the recognition unit 14 calculates the score of each node of the dynamics storage network for the recognition data, as in the learning process of FIG. This is done while updating the internal state quantity of the dynamic system approximation model with quantity.
ダイナミクス記憶ネットワークのすべてのノードのスコアが求められると、処理は、ステップS32からステップS33に進み、認識部14は、ダイナミクス記憶ネットワークを構成するノードそれぞれのスコアを比較することによって、最もスコアの良いノードを、認識データに最も適合するノードである勝者ノードに決定して、処理は、ステップS34に進む。 When the scores of all the nodes of the dynamics storage network are obtained, the process proceeds from step S32 to step S33, and the recognition unit 14 compares the scores of the respective nodes constituting the dynamics storage network to obtain the best score. The node is determined to be the winner node that is the most suitable node for the recognition data, and the process proceeds to step S34.
ステップS35では、認識部14は、勝者ノードを表す情報を、認識データの認識結果として出力して、処理は終了する。 In step S35, the recognition unit 14 outputs information representing the winner node as a recognition result of the recognition data, and the process ends.
ここで、認識部14が出力した認識結果は、図13のデータ処理装置の外部に出力することができる。また、認識部14が出力した認識結果は、制御信号として、生成部15に供給することができる。
Here, the recognition result output by the recognition unit 14 can be output to the outside of the data processing apparatus of FIG. The recognition result output from the recognition unit 14 can be supplied to the
次に、図19のフローチャートを参照して、図13の生成部15による生成処理について説明する。
Next, generation processing by the
図17の学習処理によれば、ダイナミクス記憶ネットワークの各ノードは、内部状態量を持つ力学系近似モデルによってダイナミクスを学習し、記憶(獲得)するが、その後は、その各ノードの内部状態量を持つ力学系近似モデルから、その力学系近似モデルによってモデル化されたダイナミクスを有する時系列データ(ダイナミクスとして獲得された時系列パターンの時系列データ)を生成することができる。 According to the learning process of FIG. 17, each node of the dynamics storage network learns and stores (acquires) the dynamics using a dynamical approximate model having an internal state quantity. Thereafter, the internal state quantity of each node is determined. It is possible to generate time series data having dynamics modeled by the dynamic system approximation model (time series data of a time series pattern acquired as dynamics) from the dynamic system approximation model.
内部状態量を持つ力学系近似モデルとしてRNNを用いた場合には、所定の内部状態量をRNNに与えることで、そのRNNを有するノードに保持されるダイナミクスから時系列データを容易に生成することができる。 When RNN is used as a dynamical system approximation model with an internal state quantity, time series data can be easily generated from the dynamics held in the node having the RNN by giving the predetermined internal state quantity to the RNN. Can do.
具体的には、RNNの入力にある時刻tの状態ベクトルを与えると、次の時刻t+1の状態ベクトルが出力される。したがって、この操作を所定の時間ステップ(サンプル点)分だけ行うことで、ダイナミクス記憶ネットワークの各ノードから、その所定の時間ステップ分に相当するサンプル数の時系列データを生成することができる。 Specifically, when the state vector at the time t at the input of the RNN is given, the state vector at the next time t + 1 is output. Therefore, by performing this operation for a predetermined time step (sample point), time series data of the number of samples corresponding to the predetermined time step can be generated from each node of the dynamics storage network.
すなわち、図19のステップS51において、生成部15は、ダイナミクス記憶ネットワークのノードのうちの、どのダイナミクスに対応するノードから時系列データを生成するかを決定する。
That is, in step S51 of FIG. 19, the
ここで、時系列データの生成に用いられるノードを、以下、適宜、生成ノードともいう。生成処理では、生成部15は、例えば、ダイナミクス記憶ネットワークのノードの中から、1個のノードをランダムに選択し、そのノードを、生成ノードに決定する。あるいは、生成部15は、例えば、ユーザからの指示等に応じて供給される制御信号に基づいて、ダイナミクス記憶ネットワークのノードの中から、生成ノードとするノードを決定する。
Here, a node used for generating time-series data is also referred to as a generation node as appropriate hereinafter. In the generation process, for example, the
生成ノードが決定されると、処理は、ステップS51からステップS52に進み、生成部15は、生成ノードが保持する内部状態量を持つ力学系近似モデルのパラメータに基づき、時系列データを、力学系近似モデルの内部状態量を更新しながら生成して、処理は、ステップS53に進む。
When the generation node is determined, the process proceeds from step S51 to step S52, and the
ステップS53では、生成部15は、生成ノードの力学系近似モデルから生成された時系列データ(以下、適宜、生成時系列データともいう)を必要に応じて変換し、出力して、処理は終了する。
In step S53, the
ここで、学習部13が学習処理に用いる学習データとしての観測時系列データは、センサモータ信号の特徴量であるため、生成部15が生成する生成時系列データも、センサモータ信号の特徴量である。生成時系列データとしてのセンサモータ信号の特徴量は、生成部15が、ステップS53において、センサモータ信号に変換し、そのセンサモータ信号のうちのモータ信号が、例えば、自律エージェントに供給される。
Here, since the observation time series data as learning data used by the
なお、力学系近似モデルが、例えば、RNNである場合、生成部15での生成時系列データの生成時には、内部状態量としてのRNNのコンテキストユニット(図15)に入力されるコンテキストの初期値、及び入力ユニット(図15)に入力されるデータの初期値として、例えば、ランダムな値が用いられる。
When the dynamic system approximation model is, for example, RNN, when the generation time series data is generated by the
また、ある時刻t+1においてRNNの入力ユニット(図15)に入力されるデータとしては、直前の時刻tにおいてRNNの出力層から出力された、時刻t+1のデータの予測値が用いられる。
Also, as data input to the RNN input unit (FIG. 15) at a certain
次に、図20のフローチャートを参照して、図13の認識部14、及び生成部15による認識生成処理について説明する。
Next, the recognition generation process by the recognition unit 14 and the
上述したように、認識生成処理によれば、自律エージェントの認知行動を実現することができる。 As described above, according to the recognition generation process, the recognition behavior of the autonomous agent can be realized.
認識部14、及び生成部15において、内部状態量を持つ力学系近似モデルによってダイナミクスを学習したダイナミクス記憶ネットワークを用いて、認識生成を行う場合、図18の認識処理と図19の生成処理を逐次的に組み合わせるだけでは、力学系近似モデルの内部状態量を考慮した認識生成を行うことは困難である。
When the recognition unit 14 and the
そこで、認識部14、及び生成部15は、内部状態記憶部17において、図18の認識処理において更新された力学系近似モデルの内部状態量(内部状態)を記憶し、その内部状態量を図19の生成処理において用いることで、観測信号から得られる時刻tの観測時系列データに対して、次の時刻t+1の観測時系列データの予測値を生成する認識生成処理を行う。
Therefore, the recognizing unit 14 and the generating
すなわち、認識生成処理では、ステップS71において、認識部14が、図18のステップS31の場合と同様に、特徴量抽出部12からの、Tサンプルの特徴量(サンプル値)の時系列である観測時系列データを、認識データとする。 That is, in the recognition generation process, in step S71, the recognition unit 14 observes a time series of feature values (sample values) of T samples from the feature amount extraction unit 12 as in step S31 of FIG. Time series data is taken as recognition data.
その後、処理は、ステップS71からステップS72に進み、認識部14は、認識データに対する、ダイナミクス記憶ネットワークの各ノードのスコアの計算を、図17の学習処理の場合と同様に、ノードが有する、内部状態量を持つ力学系近似モデルの内部状態量を更新しながら行う。 Thereafter, the process proceeds from step S71 to step S72, and the recognition unit 14 has a node that calculates the score of each node of the dynamics storage network for the recognition data, as in the learning process of FIG. This is done while updating the internal state quantity of the dynamical approximate model with the state quantity.
但し、ステップS72のスコアの計算では、認識部14は、内部状態記憶部17から前回更新されて記憶されている内部状態量を読み込み、その内部状態記憶部17から読み込んだ値を、力学系近似モデルの内部状態量(例えば、RNNのコンテキスト)の初期値とする。
However, in the calculation of the score in step S72, the recognition unit 14 reads the internal state quantity that has been updated and stored last time from the internal
ダイナミクス記憶ネットワークのすべてのノードのスコアが求められると、処理は、ステップS72からステップS73に進み、認識部14は、ダイナミクス記憶ネットワークを構成するノードそれぞれのスコアを比較することによって、最もスコアの良いノードを、認識データに最も適合するノードである勝者ノードに決定する。 When the scores of all the nodes in the dynamics storage network are obtained, the process proceeds from step S72 to step S73, and the recognition unit 14 compares the scores of the respective nodes constituting the dynamics storage network to obtain the best score. The node is determined to be the winner node that is the node that best matches the recognition data.
さらに、ステップS73では、認識部14は、勝者ノードが決定されたときの内部状態量の更新値(更新された内部状態量)と、その勝者ノードが決定されたときの内部状態量の初期値とを、内部状態記憶部17に保存する(記憶させる)。
Further, in step S73, the recognition unit 14 updates the internal state quantity update value (updated internal state quantity) when the winner node is determined and the initial value of the internal state quantity when the winner node is determined. Are stored (stored) in the internal
ここで、内部状態記憶部17に記憶された内部状態量の更新値は、認識部14での次回のスコアの計算を行うステップS72において、力学系近似モデルの内部状態量(例えば、RNNのコンテキスト)の初期値として用いられる。
Here, the updated value of the internal state quantity stored in the internal
また、内部状態記憶部17に記憶された内部状態量の初期値は、生成部15において、時系列データの生成時に用いられる。
The initial value of the internal state quantity stored in the internal
その後、認識部14は、勝者ノードを表す情報を出力し、処理は、ステップS73からステップS74に進む。認識部14が出力した情報は、制御信号として、生成部15に供給される。
Thereafter, the recognition unit 14 outputs information representing the winner node, and the process proceeds from step S73 to step S74. Information output from the recognition unit 14 is supplied to the
ステップS74では、生成部15は、ダイナミクス記憶ネットワークのノードのうちの、認識部14から制御信号として供給される情報が表す勝者ノードを、生成ノードとして、その生成ノードが保持する内部状態量を持つ力学系近似モデルのパラメータに基づき、生成時系列データを、力学系近似モデルの内部状態量を更新しながら生成して、処理は、ステップS75に進む。
In step S74, the
すなわち、生成部15は、内部状態記憶部17の記憶値を、ネットワーク記憶部16に記憶されたダイナミクス記憶ネットワークの生成ノードの力学系近似モデルの内部状態量の初期値として読み込む。
That is, the
つまり、生成部15は、内部状態記憶部17の記憶値のうちの、生成ノードが認識部14において勝者ノードに決定されたときの内部状態量の初期値を読み出し、生成ノードの力学系近似モデルの内部状態量の初期値にセットする。
That is, the
さらに、生成部15は、特徴量抽出部12から供給される特徴量の時系列から、認識部14がステップS71で生成するのと同一の認識データを生成し、その認識データを、生成ノードの力学系近似モデルに与え、その力学系近似モデルの内部状態量を更新しながら、生成時系列データを生成する。
Furthermore, the
具体的には、力学系近似モデルが、例えば、RNNである場合、RNNのコンテキストユニット(図15)に対して、内部状態記憶部17の記憶値のうちの、生成ノードが認識部14において勝者ノードに決定されたときのコンテキストの初期値が、生成時系列データを生成するときのコンテキストの初期値として入力される。
Specifically, when the dynamic system approximation model is, for example, RNN, the generation node of the stored values of the internal
さらに、RNNの入力ユニット(図15)に対して、認識データが入力される。 Furthermore, recognition data is input to the input unit of the RNN (FIG. 15).
そして、力学系近似モデルの内部状態量を更新しながら、認識データとしての観測時系列データの次の時刻の観測時系列データの予測値としての生成時系列データが生成される。 Then, while updating the internal state quantity of the dynamic system approximate model, generation time series data as a predicted value of observation time series data at the next time of observation time series data as recognition data is generated.
ステップS75では、生成部15は、生成ノードの力学系近似モデルから生成された生成時系列データを、図19のステップS53の場合と同様に、必要に応じて変換し、出力して、処理は、ステップS71に戻り、以下、ステップS71ないしS75の処理が繰り返される。
In step S75, the
ここで、生成部15が生成する生成時系列データは、図19で説明したように、センサモータ信号の特徴量であるが、そのセンサモータ信号の特徴量は、生成部15が、ステップS75において、センサモータ信号に変換する。そして、そのセンサモータ信号のうちのモータ信号が、例えば、自律エージェントに供給される。
Here, the generation time series data generated by the
以上のような、図20ステップS71ないしS75の認識生成処理が、例えば、1時刻ごとに行われることで、ロボットは認知行動を行う。 The robot performs the cognitive behavior by performing the recognition generation process in steps S71 to S75 in FIG. 20 as described above, for example, every hour.
図1のデータ処理装置において、ダイナミクス学習モデル記憶部104に記憶させるダイナミクス学習モデルとして、ダイナミクス記憶ネットワークを採用する場合には、予測学習部103において、図17の学習処理を行うとともに、予測部105において、図20の認識生成処理を予測処理として行うことで、多数のダイナミクスを獲得し、その多数のダイナミクスそれぞれを有する時系列データとしての所望操作データ(及び状況データ)の予測値を得ることができる。
In the case of adopting a dynamics storage network as a dynamics learning model to be stored in the dynamics learning
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。 Next, the series of processes described above can be performed by hardware or software. When a series of processing is performed by software, a program constituting the software is installed in a general-purpose computer or the like.
そこで、図21は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。 Thus, FIG. 21 shows a configuration example of an embodiment of a computer in which a program for executing the series of processes described above is installed.
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク305やROM303に予め記録しておくことができる。
The program can be recorded in advance on a
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory),MO(Magneto Optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体311に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体311は、いわゆるパッケージソフトウエアとして提供することができる。
Alternatively, the program is stored temporarily on a
なお、プログラムは、上述したようなリムーバブル記録媒体311からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部308で受信し、内蔵するハードディスク305にインストールすることができる。
The program is installed in the computer from the
コンピュータは、CPU(Central Processing Unit)302を内蔵している。CPU302には、バス301を介して、入出力インタフェース310が接続されており、CPU302は、入出力インタフェース310を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部307が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)303に格納されているプログラムを実行する。あるいは、また、CPU302は、ハードディスク305に格納されているプログラム、衛星若しくはネットワークから転送され、通信部308で受信されてハードディスク305にインストールされたプログラム、またはドライブ309に装着されたリムーバブル記録媒体311から読み出されてハードディスク305にインストールされたプログラムを、RAM(Random Access Memory)304にロードして実行する。これにより、CPU302は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU302は、その処理結果を、必要に応じて、例えば、入出力インタフェース310を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部306から出力、あるいは、通信部308から送信、さらには、ハードディスク305に記録等させる。
The computer includes a CPU (Central Processing Unit) 302. An input /
なお、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。 In this specification, the processing steps for describing a program for causing a computer to perform various types of processing do not necessarily have to be processed in chronological order according to the order described in the flowchart, and are executed in parallel or individually. Processing to be performed (for example, parallel processing or object processing) is also included.
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。 Further, the program may be processed by one computer or may be distributedly processed by a plurality of computers. Furthermore, the program may be transferred to a remote computer and executed.
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。 The embodiment of the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the gist of the present invention.
11 信号入力部, 12 特徴量抽出部, 13 学習部, 14 認識部, 15
生成部, 16 ネットワーク記憶部, 17 内部状態記憶部, 101 状況データ取得部, 102 操作データ取得部, 103 予測学習部, 104 ダイナミクス学習モデル記憶部, 105 予測部, 106 操作データ出力部, 151 教示キャラクタ選択部, 1521ないし152N キャラクタ動作補助モジュール, 161 状況データ取得部, 162 操作データ取得部, 163 予測学習部, 164 ダイナミクス学習モデル記憶部, 165 予測部, 166 操作データ出力部, 301 バス, 302 CPU, 303 ROM, 304 RAM, 305 ハードディスク, 306 出力部, 307 入力部, 308 通信部, 309 ドライブ, 310 入出力インタフェース, 311 リムーバブル記録媒体
11 signal input unit, 12 feature quantity extraction unit, 13 learning unit, 14 recognition unit, 15
Generation unit, 16 network storage unit, 17 internal state storage unit, 101 status data acquisition unit, 102 operation data acquisition unit, 103 prediction learning unit, 104 dynamics learning model storage unit, 105 prediction unit, 106 operation data output unit, 151 teaching Character selection unit, 152 1 to 152 N character motion assist module, 161 situation data acquisition unit, 162 operation data acquisition unit, 163 prediction learning unit, 164 dynamics learning model storage unit, 165 prediction unit, 166 operation data output unit, 301 bus , 302 CPU, 303 ROM, 304 RAM, 305 hard disk, 306 output unit, 307 input unit, 308 communication unit, 309 drive, 310 input / output interface, 311 removable recording medium
Claims (8)
状況を表す時系列データである状況データを取得する状況データ取得手段と、
ユーザが所望する操作に対応する時系列データである所望操作データを取得する操作データ取得手段と、
前記状況データ及び所望操作データのダイナミクスを学習する学習手段と、
前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求める予測手段と、
前記所望操作データの予測値を出力する出力手段と
を備えるデータ処理装置。 In a data processing device that processes time-series data,
Situation data acquisition means for acquiring situation data which is time-series data representing the situation;
Operation data acquisition means for acquiring desired operation data which is time-series data corresponding to an operation desired by the user;
Learning means for learning the dynamics of the situation data and desired operation data;
Based on the dynamics, with the situation data as an input, prediction means for obtaining a predicted value of the desired operation data;
A data processing apparatus comprising: output means for outputting a predicted value of the desired operation data.
前記出力手段は、前記状況データの真値に対する前記状況データの予測値の予測誤差が所定の閾値以下であるときに、前記所望操作データの予測値を出力する
請求項1に記載のデータ処理装置。 The prediction means also obtains a predicted value of the situation data together with a predicted value of the desired operation data,
The data processing apparatus according to claim 1, wherein the output means outputs the predicted value of the desired operation data when a prediction error of the predicted value of the situation data with respect to a true value of the situation data is equal to or less than a predetermined threshold. .
請求項1に記載のデータ処理装置。 The data processing apparatus according to claim 1, wherein the learning unit learns the dynamics of the situation data and the desired operation data using a dynamics learning model that is a model capable of acquiring dynamics.
請求項3に記載のデータ処理装置。 The data processing according to claim 3, wherein the dynamics learning model is RNN (Recurrent Neural Network), FNN (Feed Forward Neural Network), SVR (Support Vector Regression), or RNN-PB (Recurrent Neural Net with Parametric Bias). apparatus.
請求項3に記載のデータ処理装置。 The data processing apparatus according to claim 3, wherein the dynamics learning model is a dynamics storage network configured by a plurality of nodes and holding dynamics in each of the plurality of nodes.
前記予測手段は、
前記状況データに最も適合するダイナミクスを保持するノードである勝者ノードを決定し、
前記勝者ノードを、時系列データの生成に用いるノードである生成ノードに決定し、
前記生成ノードが保持するダイナミクスを有する時系列データを、前記所望操作データの予測値として生成する
請求項5に記載のデータ処理装置。 The learning means updates the dynamics of each node of the dynamics storage network based on the situation data and desired operation data in a self-organizing manner,
The prediction means includes
Determining a winner node that is a node that holds the dynamics most suitable for the situation data;
The winner node is determined as a generation node which is a node used for generating time-series data,
The data processing device according to claim 5, wherein time-series data having dynamics held by the generation node is generated as a predicted value of the desired operation data.
状況を表す時系列データである状況データを取得するとともに、ユーザが所望する操作に対応する時系列データである所望操作データを取得し、
前記状況データ及び所望操作データのダイナミクスを学習し、
前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求め、
前記所望操作データの予測値を出力する
ステップを含むデータ処理方法。 In a data processing method of a data processing apparatus for processing time series data,
While obtaining situation data that is time-series data representing the situation, obtain desired operation data that is time-series data corresponding to an operation desired by the user,
Learn the dynamics of the situation data and desired operation data,
Based on the dynamics, using the situation data as an input, obtain a predicted value of the desired operation data,
A data processing method including a step of outputting a predicted value of the desired operation data.
状況を表す時系列データである状況データを取得する状況データ取得手段と、
ユーザが所望する操作に対応する時系列データである所望操作データを取得する操作データ取得手段と、
前記状況データ及び所望操作データのダイナミクスを学習する学習手段と、
前記ダイナミクスに基づき、前記状況データを入力として、前記所望操作データの予測値を求める予測手段と、
前記所望操作データの予測値を出力する出力手段と
して、コンピュータを機能させるプログラム。 In a program that causes a computer to function as a data processing device that processes time-series data,
Situation data acquisition means for acquiring situation data which is time-series data representing the situation;
Operation data acquisition means for acquiring desired operation data which is time-series data corresponding to an operation desired by the user;
Learning means for learning the dynamics of the situation data and desired operation data;
Based on the dynamics, with the situation data as an input, prediction means for obtaining a predicted value of the desired operation data;
A program that causes a computer to function as output means for outputting a predicted value of the desired operation data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007319213A JP2009140454A (en) | 2007-12-11 | 2007-12-11 | Data processor, data processing method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007319213A JP2009140454A (en) | 2007-12-11 | 2007-12-11 | Data processor, data processing method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009140454A true JP2009140454A (en) | 2009-06-25 |
Family
ID=40870958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007319213A Pending JP2009140454A (en) | 2007-12-11 | 2007-12-11 | Data processor, data processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009140454A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013187295A1 (en) * | 2012-06-13 | 2013-12-19 | ソニー株式会社 | Information processing device, information processing method, and program |
JP2019091237A (en) * | 2017-11-14 | 2019-06-13 | 学校法人慶應義塾 | Time-series generator and program |
JP2019164753A (en) * | 2018-11-16 | 2019-09-26 | 株式会社Cygames | System, method, and program for inspecting game program, machine leaning support device, and data structure |
KR20200096452A (en) * | 2018-05-11 | 2020-08-12 | 한국과학기술연구원 | Method for designing catalyst based on deep-learning and the system thereof |
JP2020177264A (en) * | 2019-04-15 | 2020-10-29 | ファナック株式会社 | Machine learning apparatus, screen prediction apparatus and control apparatus |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05149602A (en) * | 1991-11-29 | 1993-06-15 | Matsushita Electric Ind Co Ltd | Operation learning device and controller of air conditioner |
JPH10267357A (en) * | 1997-03-26 | 1998-10-09 | F F C:Kk | Ventilation controller |
JP2001166804A (en) * | 1999-12-10 | 2001-06-22 | Sony Corp | Learning type action control device and its method, and providing medium |
JP2006235832A (en) * | 2005-02-23 | 2006-09-07 | Fujitsu Ltd | Processor, information processing method and program |
JP2007280058A (en) * | 2006-04-06 | 2007-10-25 | Sony Corp | Information processor, information processing method and program |
JP2007299366A (en) * | 2006-01-31 | 2007-11-15 | Sony Corp | Learning system and method, recognition device and method, creation device and method, recognition and creation device and method, and program |
-
2007
- 2007-12-11 JP JP2007319213A patent/JP2009140454A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05149602A (en) * | 1991-11-29 | 1993-06-15 | Matsushita Electric Ind Co Ltd | Operation learning device and controller of air conditioner |
JPH10267357A (en) * | 1997-03-26 | 1998-10-09 | F F C:Kk | Ventilation controller |
JP2001166804A (en) * | 1999-12-10 | 2001-06-22 | Sony Corp | Learning type action control device and its method, and providing medium |
JP2006235832A (en) * | 2005-02-23 | 2006-09-07 | Fujitsu Ltd | Processor, information processing method and program |
JP2007299366A (en) * | 2006-01-31 | 2007-11-15 | Sony Corp | Learning system and method, recognition device and method, creation device and method, recognition and creation device and method, and program |
JP2007280058A (en) * | 2006-04-06 | 2007-10-25 | Sony Corp | Information processor, information processing method and program |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013187295A1 (en) * | 2012-06-13 | 2013-12-19 | ソニー株式会社 | Information processing device, information processing method, and program |
JP2019091237A (en) * | 2017-11-14 | 2019-06-13 | 学校法人慶應義塾 | Time-series generator and program |
JP7395169B2 (en) | 2017-11-14 | 2023-12-11 | 慶應義塾 | Time series data generation device and program |
KR20200096452A (en) * | 2018-05-11 | 2020-08-12 | 한국과학기술연구원 | Method for designing catalyst based on deep-learning and the system thereof |
KR102288002B1 (en) | 2018-05-11 | 2021-08-11 | 한국과학기술연구원 | Method for designing catalyst based on deep-learning and the system thereof |
JP2019164753A (en) * | 2018-11-16 | 2019-09-26 | 株式会社Cygames | System, method, and program for inspecting game program, machine leaning support device, and data structure |
JP7199203B2 (en) | 2018-11-16 | 2023-01-05 | 株式会社Cygames | System, method, program, machine learning support device, and data structure for inspecting game programs |
JP7474832B2 (en) | 2018-11-16 | 2024-04-25 | 株式会社Cygames | System, method, program, machine learning assistance device, and data structure for inspecting game programs |
JP2020177264A (en) * | 2019-04-15 | 2020-10-29 | ファナック株式会社 | Machine learning apparatus, screen prediction apparatus and control apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4803212B2 (en) | Data processing apparatus, data processing method, and program | |
US10766136B1 (en) | Artificial intelligence system for modeling and evaluating robotic success at task performance | |
JP4201012B2 (en) | Data processing apparatus, data processing method, and program | |
US10766137B1 (en) | Artificial intelligence system for modeling and evaluating robotic success at task performance | |
CN110312471B (en) | Adaptive system for deriving control signals from neuromuscular activity measurements | |
JP4710931B2 (en) | Learning device, learning method, and program | |
JP4710933B2 (en) | Learning device, learning method, and program | |
CN110023965A (en) | For selecting the neural network of the movement executed by intelligent robot body | |
EP3596661A1 (en) | Data efficient imitation of diverse behaviors | |
CN111144580B (en) | Hierarchical reinforcement learning training method and device based on imitation learning | |
US20070185825A1 (en) | Learning system and method, recognition device and method, creation device and method, recognition and creation device and method, and program | |
JP2005199403A (en) | Emotion recognition device and method, emotion recognition method of robot device, learning method of robot device and robot device | |
CN110770759A (en) | Neural network system | |
JP4169038B2 (en) | Information processing apparatus, information processing method, and program | |
WO2021261474A1 (en) | Behavior control device, behavior control method, and program | |
JP2009140454A (en) | Data processor, data processing method, and program | |
JP7354460B2 (en) | Learning environment representation for agent control using bootstrapped latency predictions | |
JP2021501433A (en) | Generation of control system for target system | |
CN114521262A (en) | Controlling an agent using a causal correct environment model | |
CN116702872A (en) | Reinforced learning method and device based on offline pre-training state transition transducer model | |
Vasylkiv et al. | Shaping affective robot haru’s reactive response | |
JP7446178B2 (en) | Behavior control device, behavior control method, and program | |
JP2009053782A (en) | Data processor, data processing method, and program | |
KR20240057422A (en) | Control interactive agents using multi-mode input | |
JP2007280057A (en) | Data processor, data processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101026 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120918 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130129 |