JP2007305072A - Information processor, information processing method and program - Google Patents
Information processor, information processing method and program Download PDFInfo
- Publication number
- JP2007305072A JP2007305072A JP2006135715A JP2006135715A JP2007305072A JP 2007305072 A JP2007305072 A JP 2007305072A JP 2006135715 A JP2006135715 A JP 2006135715A JP 2006135715 A JP2006135715 A JP 2006135715A JP 2007305072 A JP2007305072 A JP 2007305072A
- Authority
- JP
- Japan
- Prior art keywords
- time
- learning
- data
- rnn
- series data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Feedback Control In General (AREA)
Abstract
Description
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、学習済みのRNNの重み係数を変更しにくくすることにより、追加される時系列データを効率的に学習することができるようにする情報処理装置、情報処理方法、およびプログラムに関する。 The present invention relates to an information processing device, an information processing method, and a program, and in particular, by making it difficult to change a weighting factor of a learned RNN, it is possible to efficiently learn added time-series data. The present invention relates to an information processing apparatus, an information processing method, and a program.
本出願人は、リカレント型ニューラルネットワークを用いて、時系列データを、学習した結果に応じて発生させることを先に提案した(例えば、特許文献1参照)。 The present applicant has previously proposed to generate time-series data according to the learning result using a recurrent neural network (see, for example, Patent Document 1).
この提案においては、図1に示されるように、情報処理装置が、基本的に、リカレント型ニューラルネットワーク(以下、RNNという)1−1乃至1−vを有する下位の階層のネットワークと、RNN11−1乃至11−vを有する上位の階層のネットワークとで構成される。 In this proposal, as shown in FIG. 1, the information processing apparatus basically includes a network in a lower hierarchy having recurrent neural networks (hereinafter referred to as RNN) 1-1 to 1-v, and RNN11- 1 to 11-v and an upper layer network.
下位の階層のネットワークにおいては、RNN1−1乃至1−vの出力が、それぞれ対応するゲート2−1乃至2−vを介して、合成回路3に供給され、合成される。
In the lower layer network, the outputs of RNNs 1-1 to 1-v are supplied to the
上位の階層のネットワークにおいても、RNN11−1乃至11−vの出力が、対応するゲート12−1乃至12−vを介して合成回路13に供給され、合成される。そして、上位の階層の合成回路13の出力に基づいて、下位の階層のゲート2−1乃至2−vのオン、オフが制御される。
Also in the upper layer network, the outputs of the RNNs 11-1 to 11-v are supplied to the
図1に示す構成を有する情報処理装置では、下位の階層のRNN1−1乃至1−vに、それぞれ時系列データP1乃至Pvを発生させ、上位の階層の合成回路13の出力に基づいて、下位の階層のゲート2−1乃至2−vのうちの所定のものをオンまたはオフさせるようにすることで、合成回路3からRNN1−1乃至1−vのうちの所定のものが発生した時系列データP1乃至Pvのいずれかを選択的に出力させることができる。
In the information processing apparatus having the configuration shown in FIG. 1, time series data P1 to Pv are generated in RNNs 1-1 to 1-v in the lower hierarchy, respectively, and based on the output of the
これにより、例えば、図2に示されるように、所定の時間、時系列データP1を生成させた後、次の所定の時間、時系列データP2を生成させ、さらに、その次の所定の時間、再び時系列データP1を生成させるなどして、時系列データを生成させることができる。
しかしながら、図1の情報処理装置のように複数のRNNに時系列データを学習させる場合であって、所定の時系列データを学習させた後、新たな時系列データを追加して学習させる場合、新たな時系列データが、学習済みの時系列データと特徴が似ていると、本来異なる時系列データであるのに、その特徴が似ている学習済みの時系列データを学習したRNNの重み係数が変更されてしまうという問題があった。 However, when the time series data is learned by a plurality of RNNs as in the information processing apparatus of FIG. 1, after learning the predetermined time series data and adding new time series data to learn, If the new time-series data has similar characteristics to the trained time-series data, it is inherently different time-series data, but the weighted coefficient of the RNN that learned the learned time-series data with similar characteristics There was a problem that changed.
本発明は、このような状況に鑑みてなされたものであり、学習済みのRNNの重み係数を変更しにくくすることにより、追加される時系列データを効率的に学習することができるようにするものである。 The present invention has been made in view of such a situation, and makes it possible to efficiently learn added time-series data by making it difficult to change the weighting factor of the learned RNN. Is.
本発明の一側面の情報処理装置は、複数のリカレント型ニューラルネットワークに対して所定の時系列データを学習させた後、前記複数のリカレント型ニューラルネットワークに対して、新たな時系列データを追加して学習させる場合に、前記所定の時系列データを以前に学習したときの前記複数のリカレント型ニューラルネットワークそれぞれの利用頻度に負の相関を有する学習の重みを決定する学習重み決定手段を備え、前記複数のリカレント型ニューラルネットワークそれぞれは、前記学習重み決定手段によって決定された前記学習の重みに応じて、前記新たな時系列データを学習する。 An information processing apparatus according to an aspect of the present invention adds predetermined time series data to a plurality of recurrent neural networks after learning predetermined time series data for a plurality of recurrent neural networks. Learning weight determining means for determining a learning weight having a negative correlation with the frequency of use of each of the plurality of recurrent neural networks when the predetermined time-series data was previously learned. Each of the plurality of recurrent neural networks learns the new time-series data according to the learning weight determined by the learning weight determining means.
本発明の一側面の情報処理方法は、複数のリカレント型ニューラルネットワークに対して所定の時系列データを学習させた後、前記複数のリカレント型ニューラルネットワークに対して、新たな時系列データを追加して学習させる場合に、前記所定の時系列データを以前に学習したときの前記複数のリカレント型ニューラルネットワークそれぞれの利用頻度に負の相関を有する学習の重みを決定し、決定された前記学習の重みに応じて、前記新たな時系列データを学習するステップを含む。 According to an information processing method of one aspect of the present invention, after a plurality of recurrent neural networks learn predetermined time series data, new time series data is added to the plurality of recurrent neural networks. The learning weight having a negative correlation with the usage frequency of each of the plurality of recurrent neural networks when the predetermined time-series data was previously learned is determined, and the determined learning weight And learning the new time series data.
本発明の一側面のプログラムは、複数のリカレント型ニューラルネットワークに対して所定の時系列データを学習させた後、前記複数のリカレント型ニューラルネットワークに対して、新たな時系列データを追加して学習させる場合に、前記所定の時系列データを以前に学習したときの前記複数のリカレント型ニューラルネットワークそれぞれの利用頻度に負の相関を有する学習の重みを決定し、決定された前記学習の重みに応じて、前記新たな時系列データを学習するステップを含む処理をコンピュータに実行させる。 The program according to one aspect of the present invention learns predetermined time-series data from a plurality of recurrent neural networks, and then adds new time-series data to the plurality of recurrent neural networks to learn. Determining a learning weight having a negative correlation with the usage frequency of each of the plurality of recurrent neural networks when the predetermined time series data was previously learned, and depending on the determined learning weight And causing the computer to execute a process including the step of learning the new time-series data.
本発明の一側面においては、複数のリカレント型ニューラルネットワークに対して所定の時系列データを学習させた後、複数のリカレント型ニューラルネットワークに対して、新たな時系列データを追加して学習させる場合に、所定の時系列データを以前に学習したときの複数のリカレント型ニューラルネットワークそれぞれの利用頻度に負の相関を有する学習の重みが決定され、決定された学習の重みに応じて、新たな時系列データが学習される。 In one aspect of the present invention, when a plurality of recurrent neural networks are trained with predetermined time-series data, and then a plurality of recurrent-type neural networks are additionally trained with new time-series data. In addition, a learning weight having a negative correlation with the usage frequency of each of the plurality of recurrent neural networks when the predetermined time series data was previously learned is determined, and a new time is determined according to the determined learning weight. Series data is learned.
本発明の一側面によれば、学習済みのRNNの重み係数を変更しにくくすることにより、追加される時系列データを効率的に学習することができる。 According to one aspect of the present invention, it is possible to efficiently learn time-series data to be added by making it difficult to change a weighting factor of a learned RNN.
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。 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 which is described in the specification or the drawings but is not described here as an embodiment corresponding 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 here 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.
本発明の一側面の情報処理装置(例えば、図3の情報処理装置51)は、複数のリカレント型ニューラルネットワークに対して所定の時系列データを学習させた後、前記複数のリカレント型ニューラルネットワークに対して、新たな時系列データを追加して学習させる場合に、前記所定の時系列データを以前に学習したときの前記複数のリカレント型ニューラルネットワークそれぞれの利用頻度に負の相関を有する学習の重みを決定する学習重み決定手段(例えば、図3の制御回路76)を備え、前記複数のリカレント型ニューラルネットワークそれぞれは、前記学習重み決定手段によって決定された前記学習の重みに応じて、前記新たな時系列データを学習する。
An information processing apparatus according to an aspect of the present invention (for example, the
本発明の一側面の情報処理方法またはプログラム(例えば、図11の追加学習処理方法)は、複数のリカレント型ニューラルネットワークに対して所定の時系列データを学習させた後、前記複数のリカレント型ニューラルネットワークに対して、新たな時系列データを追加して学習させる場合に、前記所定の時系列データを以前に学習したときの前記複数のリカレント型ニューラルネットワークそれぞれの利用頻度に負の相関を有する学習の重みを決定し(例えば、図11のステップS102)、決定された前記学習の重みに応じて、前記新たな時系列データを学習する(例えば、図11のステップS103)ステップを含む。 An information processing method or program according to an aspect of the present invention (for example, the additional learning processing method of FIG. 11) causes a plurality of recurrent neural networks to learn predetermined time-series data, and then the plurality of recurrent neural networks. Learning to add negative time-series data to the network and learning negatively correlated with the frequency of use of each of the plurality of recurrent neural networks when the predetermined time-series data was previously learned Is determined (for example, step S102 in FIG. 11), and the new time series data is learned (for example, step S103 in FIG. 11) according to the determined learning weight.
以下、図を参照して、本発明の実施の形態について説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図3は、本発明を適用した情報処理装置の構成例を示している。 FIG. 3 shows a configuration example of an information processing apparatus to which the present invention is applied.
図3の情報処理装置51は、例えば、ロボットなどに組み込まれるものである。情報処理装置51が組み込まれるロボットには、視認の対象となる対象物を検出するセンサと、ロボットを移動させるために駆動されるモータ(いずれも図示せず)が少なくとも具備されており、センサおよびモータからの信号であるセンサモータ信号が情報処理装置51に供給される。
The
情報処理装置51は、下位時系列予測生成器61、上位時系列予測生成器62、およびゲート信号変換部63により構成され、教師データとして与えられる時系列データを学習する学習処理と、その学習した結果に応じて、入力に対する時系列データを生成(再現)する生成処理を実行する。
The
本実施の形態では、情報処理装置51が、ヒューマノイドロボットが行う一連の動作である行動シーケンスを学習および生成する例について説明する。
In the present embodiment, an example will be described in which the
以下の例では、情報処理装置51が3つの行動シーケンスA,B、およびCを学習する。
In the following example, the
行動シーケンスAとしてのヒューマノイドロボットの動作は、初期状態としての両腕を左右に広げた状態のロボットが、目の前のテーブルに置かれた四角い物体を視認し、物体を両手で掴んで所定の高さだけ持ち上げ、再びテーブルに置く動作を複数回行い、その後、初期状態の位置(以下、ホームポジションともいう)に両腕を戻す動作である。 The action of humanoid robot as action sequence A is as follows.A robot with both arms extended to the left and right as an initial state visually recognizes a square object placed on the table in front of the user, grabs the object with both hands, and This is an operation of lifting the height and placing it again on the table a plurality of times, and then returning both arms to the initial position (hereinafter also referred to as the home position).
行動シーケンスBとしてのヒューマノイドロボットの動作は、初期状態から、目の前のテーブルに置かれた四角い物体を視認し、右手で物体に触る、ホームポジションに戻す、左手で物体に触る、ホームポジションに戻るという動作、即ち、物体を片手で交互に触る動作を複数回行う動作である。 From the initial state, the humanoid robot moves as an action sequence B by visually recognizing a square object placed on the table in front of you, touching the object with the right hand, returning to the home position, touching the object with the left hand, and moving to the home position. The operation of returning, that is, the operation of alternately touching the object with one hand is performed a plurality of times.
行動シーケンスCとしてのヒューマノイドロボットの動作は、初期状態から、目の前のテーブルに置かれた四角い物体を視認し、両手で同時に物体を1回触って、ホームポジションに戻る動作である。 The action of the humanoid robot as the action sequence C is an action of visually recognizing a square object placed on a table in front of the eyes from the initial state, touching the object once with both hands, and returning to the home position.
以上のような行動シーケンスA乃至Cそれぞれを実行するときのセンサ(例えば、視覚センサなど)やモータの信号を、情報処理装置51は学習および生成する。
The
下位時系列予測生成器61は、N個のリカレント型ニューラルネットワーク(Recurrent Neural Network;以下、RNNという)71−1乃至71−N、そのRNN71−1乃至71−Nの後段に配置されるゲート72−1乃至72−N、合成回路73、演算回路74、メモリ75、および制御回路76により構成される。なお、RNN71−1乃至71−Nを特に区別する必要がない場合には、単にRNN71と称する。その他のゲート72などについても同様である。
The low-order time series prediction generator 61 includes N recurrent neural networks (hereinafter referred to as RNNs) 71-1 to 71-N, and a
下位時系列予測生成器61には、ヒューマノイドロボットに具備されたセンタおよびモータからのセンサモータ信号が入力される。ここで、時刻tに、下位時系列予測生成器61に入力されるセンサモータ信号をsm(t)と表す。 The lower time series prediction generator 61 receives sensor motor signals from the center and motor provided in the humanoid robot. Here, the sensor motor signal input to the low-order time series prediction generator 61 at time t is represented as sm (t).
下位時系列予測生成器61は、そこに入力される時刻tのセンサモータ信号sm(t)に対して、時刻t+1のセンサモータ信号sm(t+1)を、予め学習した結果に応じて予測して、出力する。 The low-order time series prediction generator 61 predicts the sensor motor signal sm (t + 1) at time t + 1 according to the previously learned result with respect to the sensor motor signal sm (t) at time t input thereto. ,Output.
具体的には、RNN71−n(n=1,2,・・・,N)は、入力された時刻tのセンサモータ信号sm(t)に対して、予め学習した結果に応じて時刻t+1のセンサモータ信号sm(t+1)を生成し、ゲート72−nに出力する。 Specifically, the RNN 71-n (n = 1, 2,..., N) receives the sensor motor signal sm (t) at the input time t at the time t + 1 according to the result learned in advance. A sensor motor signal sm (t + 1) is generated and output to the gate 72-n.
ところで、行動シーケンスは、さまざまな複数の行動部品(運動プリミティブ(primitive))の集まり(連続)で構成されると考えることができる。例えば、上述した行動シーケンスAは、物体を視認する、両腕を物体に(掴むまで)近づける、物体を持ち上げる、持ち上げた物体を下げる、ホームポジションに戻る、等の行動部品の集まりであると考えることができる。RNN71−1乃至71−Nのそれぞれは、1つの行動部品に対応するセンサモータ信号の時系列データを排他的に学習する。 By the way, the action sequence can be considered to be composed of a collection (continuous) of various action parts (motion primitives). For example, the above-described behavior sequence A is considered to be a collection of behavioral parts such as visually recognizing an object, bringing both arms close to the object (until grasping), lifting the object, lowering the lifted object, and returning to the home position. be able to. Each of the RNNs 71-1 to 71-N exclusively learns time series data of sensor motor signals corresponding to one action component.
従って、RNN71−1乃至71−Nそれぞれに学習されている行動部品が異なるために、RNN71−1乃至71−Nのそれぞれには、同一のセンサモータ信号sm(t)が入力されるが、RNN71−1乃至71−Nのそれぞれが出力するセンサモータ信号sm(t+1)は異なるものとなる。ここで、RNN71−nが出力するセンサモータ信号sm(t+1)をセンサモータ信号smn(t+1)と表す。 Therefore, since the behavioral components learned by the RNNs 71-1 to 71-N are different, the same sensor motor signal sm (t) is input to each of the RNNs 71-1 to 71-N. The sensor motor signals sm (t + 1) output from −1 to 71-N are different. Here, the sensor motor signal sm (t + 1) output by the RNN 71-n is represented as a sensor motor signal sm n (t + 1).
RNN71−nの後段に配置されるゲート72−nには、RNN71−nからの時刻t+1のセンサモータ信号smn(t+1)の他に、ゲート信号変換部63から、ゲート72−1乃至72−Nの開閉状態の制御信号であるゲート信号gate[N]={g1,g2,・・・,gN}が供給される。なお、後述するように、ゲート信号gate[N]を構成するゲート信号gnの総和は1(Σgn=1)となっている。 In addition to the sensor motor signal sm n (t + 1) at the time t + 1 from the RNN 71-n, the gate 72-n disposed at the subsequent stage of the RNN 71-n receives the gates 72-1 to 72- from the gate signal conversion unit 63. A gate signal gate [N] = {g 1 , g 2 ,..., G N }, which is a control signal for N open / close states, is supplied. As will be described later, the total sum of the gate signals g n constituting the gate signal gate [N] is 1 (Σg n = 1).
ゲート72−nは、ゲート信号gnに応じて、RNN71−nからのセンサモータ信号smn(t+1)の出力を開閉する。即ち、ゲート72−nは、時刻t+1において、gn×smn(t+1)を合成回路73に出力する。
Gate 72-n in response to the gate signal g n, to open and close the output of the sensor motor signal sm n (t + 1) from RNN71-n. That is, the gate 72-n outputs g n × sm n (t + 1) to the
合成回路73は、ゲート72−1乃至72−Nそれぞれからの出力を合成し、その合成の結果を、時刻t+1のセンサモータ信号sm(t+1)として出力する。即ち、合成回路73は、次式(1)で表されるセンサモータ信号sm(t+1)を出力する。
The
演算回路74は、センサモータ信号の時系列データの学習時、時刻tのセンサモータ信号sm(t)に対してRNN71−1乃至71−Nそれぞれが出力した時刻t+1のセンサモータ信号sm1(t+1)乃至smN(t+1)と、教師データとして下位時系列予測生成器61に与えられる時刻t+1の教師センサモータ信号sm*(t+1)との予測誤差errorLt+1[N]={errorLt+1 1,errorLt+1 2,・・・,errorLt+1 N}を計算する。なお、予測誤差errorLt+1[N]は、後述する式(16)で表されるように、時刻t+1における誤差だけではなく、時刻t+1から過去Lステップ分を考慮した誤差として計算される。
When learning the time series data of the sensor motor signal, the
演算回路74により計算された時刻t+1におけるRNN71−nの予測誤差errorLt+1 nは、メモリ75に供給され、記憶される。
The prediction error errorL t + 1 n of RNN 71-n at time t + 1 calculated by the
演算回路74において、予測誤差errorLt+1[N]の計算が時系列に繰り返され、メモリ75に記憶されることにより、メモリ75には、教師データに対する予測誤差の時系列データerrorL[N]が記憶される。この予測誤差の時系列データerrorL[N]は、上位時系列予測生成器62に供給される。なお、演算回路74は、教師データに対する予測誤差の時系列データerrorL[N]を、0から1の範囲の値に正規化してから出力する。
In the
メモリ75は、上述したように、教師データに対する予測誤差の時系列データerrorL[N]を記憶する。また、メモリ75は、RNN71−1乃至71−Nの利用頻度FREQ1乃至FREQNも記憶する。RNN71−1乃至71−Nの利用頻度FREQ1乃至FREQNについては図6を参照して後述する。
As described above, the
制御回路76は、RNN71−1乃至71−N、演算回路74、メモリ75など、下位時系列予測生成器61の各部を制御する。
The
一方、上位時系列予測生成器62は、1個の連続時間型のRNN(Continuous Time RNN:以下、CTRNNという)81により構成される。 On the other hand, the high-order time-series prediction generator 62 includes a single continuous-time RNN (Continuous Time RNN: hereinafter referred to as CTRNN) 81.
上位時系列予測生成器62のCTRNN81は、下位時系列生成器61のRNN71−1乃至71−Nが、生成時にどれくらいの予測誤差を発生させるかを推定(予測)して出力する。
The
即ち、CTRNN81は、RNN71−1乃至71−Nの予測誤差の時系列データerrorL[N]を教師データとして用いて学習し、その学習した結果に基づいて、RNN71−1乃至71−Nの推定予測誤差errorPredH[N]={errorPredH1,errorPredH2,・・・,errorPredHN}を生成し、出力する。ここで、時刻tにおける推定予測誤差errorPredH[N]を、errorPredHt[N]={errorPredHt 1,errorPredHt 2,・・・,errorPredHt N}とする。
That is, the
また、CTRNN81には、行動シーケンスA乃至Bのいずれの推定予測誤差errorPredH[N]を出力するかを切替えるタスク切替信号としてのタスクIDが与えられる。
Also,
ゲート信号変換部63は、ソフトマックス(softmax)関数を用いて、時刻tにおける推定予測誤差errorPredHt[N]を、ゲート信号gatet[N]={gt 1,gt 2,・・・,gt N}に変換し、変換した結果をゲート72−1乃至72−Nに出力する。
The gate signal converter unit 63, using the soft max (softmax) function, the estimated prediction at time t error errorPredH t [N], the gate signal gate t [N] = {g t 1,
時刻tにおけるゲート72−nに対するゲート信号gt nは、次式(2)で表される。 The gate signal g t n to the gate 72-n at time t is expressed by the following formula (2).
式(2)によれば、予測誤差の小さいものは大きい値に、予測誤差の大きいものは小さい値となるような非線形の変換が施される。その結果、予測誤差の小さいものほどゲートがより大きく開き、予測誤差の大きいものほどゲートがより小さく開くような制御が、下位時系列生成器61のゲート72−1乃至72−Nにおいて行われることになる。 According to Equation (2), nonlinear conversion is performed such that a small prediction error has a large value and a large prediction error has a small value. As a result, control is performed in the gates 72-1 to 72-N of the lower time series generator 61 such that the smaller the prediction error, the larger the gate opens, and the larger the prediction error, the smaller the gate opens. become.
以上のように構成される情報処理装置51では、上位時系列予測生成器62が、下位時系列生成器61のRNN71−1乃至71−Nが生成時に発生させる予測誤差の推定値である推定予測誤差errorPredH[N]を出力し、この推定予測誤差errorPredH[N]が、ゲート72−1乃至72−Nの開閉状態を制御するゲート信号gate[N]に変換される。そして、上述の(1)式で表される、開閉状態が制御されたゲート72−1乃至72−Nから出力されるRNN71−1乃至71−Nの出力信号sm1(t+1)乃至smN(t+1)の総和が、時刻t+1のセンサモータ信号sm(t+1)として、ヒューマノイドロボットのセンサおよびモータに供給される。
In the
なお、上位時系列予測生成器62は、上位時系列予測生成器62の出力である推定予測誤差errorPredH[N]が、後段のゲート信号変換部63においてゲート信号gate[N]に変換されるから、時刻tにおいて、どのゲート72−1乃至72−Nを(大きく)開放するかを予測しているとも言える。 The upper time series prediction generator 62 converts the estimated prediction error errorPredH [N], which is the output of the upper time series prediction generator 62, into the gate signal gate [N] in the subsequent gate signal conversion unit 63. It can also be said that the gates 72-1 to 72-N to be opened (largely) at the time t are predicted.
図4は、RNN71−nの詳細な構成例を示している。 FIG. 4 shows a detailed configuration example of the RNN 71-n.
RNN71−nは、図4に示されるように、入力層101、中間層(隠れ層)102、および出力層103により構成されており、入力層101は所定数のノード111を有し、中間層(隠れ層)102は、所定数のノード112を有し、出力層103は、所定数のノード113を有している。
As shown in FIG. 4, the RNN 71-n includes an input layer 101, an intermediate layer (hidden layer) 102, and an output layer 103. The input layer 101 has a predetermined number of
入力層101のノード111には、時刻tにおけるセンサモータ信号sm(t)と、時刻tの1つ前の時刻t−1に出力層103の一部のノード113から出力され、RNN71−nの内部状態を表すコンテキストc(t)としてフィードバックされたデータが、入力される。
To the
中間層102のノード112は、入力層101のノード111から入力されたデータと、予め学習によって求められたノード111との間の重み係数とを積和する重み付け加算処理を行い、その演算結果を出力層103のノード113に出力する。
The
出力層103を構成するノード113は、中間層102のノード112から入力されたデータと、予め学習によって求められたノード112との間の重み係数とを積和する重み付け加算処理の演算を行う。出力層103を構成する一部のノード113は、演算結果を、時刻t+1のセンサモータ信号smn(t+1)として出力する。また、出力層103を構成するその他の一部のノード113は、演算結果を、時刻t+1のコンテキストc(t+1)として、入力層101のノード111にフィードバックする。
The
以上のように、RNN71−nは、予め学習によって求められたノード間の重み係数を用いた重み付け加算処理により、入力された時刻tのセンサモータ信号sm(t)に対して、時刻t+1のセンサモータ信号smn(t+1)を予測して出力する。 As described above, the RNN 71-n detects the sensor at the time t + 1 with respect to the input sensor motor signal sm (t) at the time t by the weighted addition process using the weighting coefficient between the nodes obtained by learning in advance. The motor signal sm n (t + 1) is predicted and output.
なお、ノード間の重み係数を求める学習では、BPTT(Back Propagation Through Time)法が採用される。BPTT法は、コンテキストループを持つRNNの学習アルゴリズムであり、時間的な信号伝播の様子を空間的に展開することで、通常の階層型ニューラルネットワークにおけるバックプロパゲーション(BP)法を適用する手法である。次に後述するCTRNN81において重み係数を求める場合も同様である。
Note that a BPTT (Back Propagation Through Time) method is employed in learning for obtaining a weighting coefficient between nodes. The BPTT method is an RNN learning algorithm with a context loop, and it applies the back-propagation (BP) method in a normal hierarchical neural network by spatially expanding the state of signal propagation over time. is there. The same applies to the case where the weighting coefficient is obtained in
図5は、CTRNN81として採用されるCTRNNの詳細な構成例を示している。 FIG. 5 shows a detailed configuration example of CTRNN adopted as CTRNN81.
図5のCTRNN141は、入力層151、中間層(隠れ層)152、出力層153、並びに演算部154および155により構成されている。
The
入力層151は、入力ノード160−i(i=1,・・・,I)、パラメータノード161−r(r=1,・・・,R)、およびコンテキスト入力ノード162−k(k=1,・・・,K)を有しており、中間層152は、隠れノード163−j(j=1,・・・,J)を有している。また、出力層153は、出力ノード164−i(i=1,・・・,I)と、コンテキスト出力ノード165−k(k=1,・・・,K)を有している。 The input layer 151 includes input nodes 160-i (i = 1,..., I), parameter nodes 161-r (r = 1,..., R), and context input nodes 162-k (k = 1). ,..., K), and the intermediate layer 152 has hidden nodes 163-j (j = 1,..., J). The output layer 153 includes output nodes 164-i (i = 1,..., I) and context output nodes 165-k (k = 1,..., K).
なお、入力ノード160−i、パラメータノード161−r、コンテキスト入力ノード162−k、隠れノード163−j、出力ノード164−i、およびコンテキスト出力ノード165−kの各ノードを区別する必要がない場合には、単に、入力ノード160、パラメータノード161、コンテキスト入力ノード162、隠れノード163、出力ノード164、およびコンテキスト出力ノード165という。
Note that it is not necessary to distinguish between the input node 160-i, the parameter node 161-r, the context input node 162-k, the hidden node 163-j, the output node 164-i, and the context output node 165-k. Are simply referred to as an
CTRNN141では、そこに入力される時刻tの状態ベクトルxu(t)に対して、時刻t+1の状態ベクトルxu(t+1)を予測して、出力することが学習される。CTRNN141は、ネットワークの内部状態を表すコンテキストループと呼ばれる回帰ループをもち、その内部状態に基づく処理が行われることで対象となる時系列データの時間発展法則を学習することができる。
The
CTRNN141に供給される時刻tの状態ベクトルxu(t)は、入力ノード160に入力される。パラメータノード161には、パラメータtsdatauが入力される。パラメータtsdatauは、CTRNN141に供給される状態ベクトルxu(t)の種類(時系列データのパターン)を識別するデータであり、CTRNN81では、行動シーケンスを識別するデータとなる。パタメータtsdatauは固定値であるが、継続的に同一の値が入力されていると考えることができるので、時刻tにおいてパラメータノード161に入力されるデータ(ベクトル)をパラメータtsdatau(t)とする。
The state vector x u (t) at time t supplied to the
入力ノード160−iには、時刻tの状態ベクトルxu(t)を構成するi番目の要素であるデータxu i(t)が入力される。また、パラメータノード161−rには、時刻tのパラメータtsdatau(t)を構成するr番目の要素であるデータtsdatau r(t)が入力される。さらに、コンテキスト入力ノード162−kには、時刻tのCTRNN141の内部状態ベクトルcu(t)を構成するk番目の要素であるデータcu k(t)が入力される。
The input node 160-i receives data x u i (t) that is the i-th element constituting the state vector x u (t) at time t. The parameter node 161-r receives data tsdata u r (t) which is the r-th element constituting the parameter tsdata u (t) at time t. Furthermore, data c u k (t), which is the k-th element constituting the internal state vector c u (t) of
入力ノード160−i、パラメータノード161−r、およびコンテキスト入力ノード162−kのそれぞれにデータxu i(t)、tsdatau r(t)、およびcu k(t)が入力された場合に、入力ノード160−i、パラメータノード161−r、およびコンテキスト入力ノード162−kが出力するデータxi(t)、tsdatar(t)、およびck(t)は、それぞれ、次の式(3)、式(4)、および式(5)によって表される。 When data x u i (t), tsdata u r (t), and c u k (t) are input to the input node 160-i, the parameter node 161-r, and the context input node 162-k, respectively. , Input node 160-i, parameter node 161-r, and context input node 162-k output data x i (t), tsdata r (t), and c k (t), respectively, 3), represented by formula (4), and formula (5).
式(3)乃至式(5)における関数fは、シグモイド関数などの微分可能な連続関数であり、式(3)乃至式(5)は、入力ノード160−i、パラメータノード161−r、およびコンテキスト入力ノード162−kのそれぞれに入力されたデータxu i(t)、tsdatau r(t)、およびデータcu k(t)が、関数fにより活性化され、データxi(t)、tsdatar(t)、およびデータck(t)として入力ノード160−i、パラメータノード161−r、およびコンテキスト入力ノード162−kから出力されることを表している。なお、データxu i(t)、tsdatau r(t)、およびcu k(t)の上付きのuは、活性化される前のノードの内部状態を表す(他のノードについても同様)。 The function f in the equations (3) to (5) is a differentiable continuous function such as a sigmoid function, and the equations (3) to (5) include the input node 160-i, the parameter node 161-r, and Data x u i (t), tsdata u r (t), and data c u k (t) input to each of the context input nodes 162-k are activated by the function f, and the data x i (t) , Tsdata r (t), and data c k (t) are output from the input node 160-i, the parameter node 161-r, and the context input node 162-k. The superscript u of the data x u i (t), tsdata u r (t), and c u k (t) represents the internal state of the node before being activated (the same applies to other nodes). ).
隠れノード163−jに入力されるデータhu j(t)は、入力ノード160−iと隠れノード163−jの結合の重みを表す重み係数wh ij、パラメータノード161−rと隠れノード163−jの結合の重みを表す重み係数wh jr、およびコンテキスト入力ノード162−kと隠れノード163−jの結合の重みを表す重み係数wh jkとを用いて、式(6)で表すことができ、隠れノード163−jが出力するデータhj(t)は、式(7)で表すことができる。
The data h u j (t) input to the hidden node 163-j is a weight coefficient w h ij representing the weight of the connection between the input node 160-i and the hidden node 163-j, the parameter node 161-r and the
なお、式(6)の右辺の第1項のΣは、i=1乃至Iの全てについて加算することを表し、第2項のΣは、r=1乃至Rの全てについて加算することを表し、第3項のΣは、k=1乃至Kの全てについて加算することを表す。 Note that Σ in the first term on the right side of Equation (6) indicates that addition is performed for all of i = 1 to I, and Σ in the second term indicates that addition is performed for all of r = 1 to R. Σ in the third term represents addition for all of k = 1 to K.
同様にして、出力ノード164−iに入力されるデータyu i(t)と、出力ノード164−iが出力するデータyi(t)、および、コンテキスト出力ノード165−kに入力されるデータou k(t)と、コンテキスト出力ノード165−kが出力するデータok(t)は、次式で表すことができる。 Similarly, the data y u i which is input to the output node 164-i (t), the output node 164-i outputs data y i (t), and the data to be input to the context output nodes 165-k o u k (t) and data o k (t) output from the context output node 165-k can be expressed by the following equations.
式(8)のwy ijは、隠れノード163−jと出力ノード164−iの結合の重みを表す重み係数であり、Σは、j=1乃至Jの全てについて加算することを表す。また、式(10)のwo jkは、隠れノード163−jとコンテキスト出力ノード165−kの結合の重みを表す重み係数であり、Σは、j=1乃至Jの全てについて加算することを表す。 In formula (8), w y ij is a weighting coefficient that represents the weight of the connection between the hidden node 163-j and the output node 164-i, and Σ represents that all j = 1 to J are added. Also, w o jk in equation (10) is a weighting coefficient that represents the weight of the connection between the hidden node 163-j and the context output node 165-k, and Σ is added for all of j = 1 to J. To express.
演算部154は、出力ノード164−iが出力するデータyi(t)から、時刻tのデータxu i(t)と時刻t+1のデータxu i(t+1)との差分△xu i(t+1)を式(12)により求め、さらに、式(13)により、時刻t+1のデータxu i(t+1)を計算して、出力する。
ここで、αおよびτは、任意の係数を表す。 Here, α and τ represent arbitrary coefficients.
したがって、CTRNN141に時刻tのデータxu i(t)が入力されると、時刻t+1のデータxu i(t+1)がCTRNN141の演算部154から出力される。また、演算部154から出力された時刻t+1のデータxu i(t+1)は、入力ノード160−iにも供給される(フィードバックされる)。
Therefore, when data x u i (t) at time t is input to CTRNN 141, data x u i (t + 1) at time t + 1 is output from the
演算部155は、コンテキスト出力ノード165−kが出力するデータok(t)から、時刻tのデータcu k(t)と、時刻t+1のデータcu k(t+1)との差分△cu k(t+1)を式(14)により求め、さらに、式(15)により、時刻t+1のデータcu k(t+1)を計算して、出力する。
The
演算部155から出力された時刻t+1のデータcu k(t+1)は、コンテキスト入力ノード162−kにフィードバックされる。
The data c u k (t + 1) at time t + 1 output from the
式(15)は、ネットワークの現在の内部状態を表す内部状態ベクトルcu(t)に、コンテキスト出力ノード165−kの出力であるデータok(t)を係数αで重み付けて加算する(所定の割合で足しこむ)ことによって次の時刻t+1のネットワークの内部状態ベクトルcu(t+1)とすることを意味しており、その意味で、図5のCTRNN141は、連続時間型のRNNであると言うことができる。
Expression (15) adds the data o k (t), which is the output of the context output node 165-k, to the internal state vector c u (t) representing the current internal state of the network, weighted by the coefficient α (predetermined). This means that the internal state vector c u (t + 1) of the network at the next time t + 1 is obtained. In this sense,
以上のように、CTRNN141では、時刻tのデータxu(t)およびデータcu(t)が入力されると、時刻t+1のデータxu(t+1)およびデータcu(t+1)を生成して出力する処理を逐次的に行うので、重み係数wh ij,wh ir,wh jk,wy ij、およびwo jkが学習により求められているとすると、入力ノード160に入力する入力データxu(t)の初期値xu(t0)=X0、パラメータノード161に入力するパラメータtsdatau、コンテキスト入力ノード162に入力するコンテキスト入力データcu(t)の初期値cu(t0)=C0を与えることにより、時系列データを生成することができる。
As described above, when data x u (t) and data c u (t) at time t are input,
図5に示したCRTNN141を、図3のCRTNN81として採用し、CRTNN141の入力ノード160に対してerrorL[N]が与えられ、パラメータノード161に対してタスクIDが与えられる。従って、図5の入力ノード160の個数Iは、下位時系列予測生成器61のRNN71の個数Nと一致する。なお、コンテキスト入力ノード162に入力するコンテキスト入力データcu(t)の初期値cu(t0)=C0には、例えば、ランダムな所定の値が与えられる。
The
次に、図6のフローチャートを参照して、下位時系列予測生成器61における、行動シーケンスに対応するセンサモータ信号の時系列データの学習処理について説明する。 Next, with reference to the flowchart of FIG. 6, the learning process of the time series data of the sensor motor signal corresponding to the action sequence in the lower time series prediction generator 61 will be described.
初めに、ステップS1において、下位時系列予測生成器61の制御回路76は、教師データとして供給された所定の時刻の入力データを読み込む。ここでの入力データは、上述したようにセンサモータ信号であり、例えば、時刻tのセンサモータ信号sm(t)が読み込まれたものとする。読み込まれた時刻tのセンサモータ信号sm(t)は、制御回路76により、下位時系列予測生成器61を構成するN個のRNN71−1乃至71−Nそれぞれに供給される。
First, in step S1, the
ステップS2において、下位時系列予測生成器61のRNN71−n(n=1,2,・・・,N)は、時刻tのセンサモータ信号sm(t)に対して、時刻t+1のセンサモータ信号smn(t+1)を算出する。 In step S2, the RNN 71-n (n = 1, 2,..., N) of the lower time series prediction generator 61 detects the sensor motor signal at time t + 1 with respect to the sensor motor signal sm (t) at time t. sm n (t + 1) is calculated.
また、ステップS2において、演算回路74は、RNN71−nの予測誤差errorLt+1 nを算出する。具体的には、演算回路74は、予測誤差errorLt+1 nとして、式(16)によって表される、時刻t+1から過去L時間ステップ分のセンサモータ信号に対する予測誤差を算出する。
In step S2, the
式(16)において、smn,i'(T)は、時刻Tのセンサモータ信号sm(T)を出力するRNN71−nの出力層103のノード113(図4)がI’個あるうちのi’番目のノード113が出力するセンサモータ信号を表し、sm* n,i'(T)は、それに対する教師データとしてのセンサモータ信号を表す。
In equation (16), sm n, i ′ (T) is the number of nodes 113 (FIG. 4) in the output layer 103 of the RNN 71-n that outputs the sensor motor signal sm (T) at time T. The sensor motor signal output from the
式(16)によれば、時刻T=t+1−Lからt+1までの、RNN71−nの出力層103のi’番目のノード113のセンサモータ信号smn,i'(T)と教師データsm* n,i'(T)との誤差の総和が、時刻t+1におけるRNN71−nの予測誤差errorLt+1 nとされる。なお、過去のセンサモータ信号がL時間ステップ分ない場合には、存在する時間ステップ分のデータのみで予測誤差errorLt+1 nが求められる。
According to equation (16), the sensor motor signal sm n, i ′ (T) and the teacher data sm * of the i′-
ステップS3において、演算回路74は、時刻t+1におけるRNN71−nの予測誤差errorLt+1 nをメモリ75に供給する。これにより、メモリ75には、RNN71−1乃至71−Nのn個の予測誤差errorLt+1 1乃至errorLt+1 Nが供給され、メモリ75は、予測誤差errorLt+1[N]={errorLt+1 1,errorLt+1 2,・・・,errorLt+1 N}を記憶する。また、後述するステップS7の処理NOと判定された場合、ステップS3の処理が所定時間ステップだけ繰り返されるので、メモリ75には、教師データに対する予測誤差の時系列データerrorL[N]が記憶される。
In step S <b > 3 , the
ステップS4において、制御回路76は、予測誤差errorLt+1 nに応じたRNN71−nの学習重みγnを算出する。具体的には、制御回路76は、ソフトマックス関数(softmax関数)を用いた式(17)により、学習重みγnを算出する。
In step S4, the
ステップS5において、制御回路76は、BPTT(Back Propagation Through Time)法によりRNN71−nの重み係数wab,nを更新する。ここで、重み係数wab,nは、RNN71−nの入力層101のノード111と中間層102のノード112との重み係数、または、RNN71−nの中間層102のノード112と出力層102のノード113との重み係数を表す。
In step S5, the
RNN71−nの重み係数wab,nの更新では、ステップS4で算出された学習重みγnに応じてRNN71−nの重み係数wab,nが算出される。具体的には、次式(18)および(19)により、BPTT法の繰り返し計算におけるs回目の重み係数wab,n(s)から、s+1回目の重み係数wab,n(s+1)を求めることができる。 RNN71-n weighting coefficient w ab, and in updating n, the weighting coefficient w ab of RNN71-n in accordance with the learning weights gamma n calculated in step S4, n is calculated. Specifically, the s + 1-th weight coefficient w ab, n (s + 1) is obtained from the s- th weight coefficient w ab, n (s) in the repetitive calculation of the BPTT method by the following equations (18) and (19). be able to.
式(18)において、η1は学習係数を表し、α1は慣性係数を表す。なお、式(18)において、s=1の場合の△wab,n(s)は、0とする。 In Expression (18), η 1 represents a learning coefficient, and α 1 represents an inertia coefficient. In Equation (18), Δwab, n (s) when s = 1 is set to 0.
ステップS6において、制御回路76は、RNN71−1乃至71−Nの利用頻度FREQ1乃至FREQNをメモリ75に供給する。メモリ75は、供給されたRNN71−1乃至71−Nの利用頻度FREQ1乃至FREQNを記憶する。上述したステップS5において学習重みγnが大きいほど、そのRNN71−nの重み係数wab,nが更新され、RNN71−nが利用されたことになる。従って、制御回路76は、例えば、学習重みγnが所定の値以上であるRNN71−nの利用頻度FREQnをカウントアップさせる。この利用頻度FREQ1乃至FREQNは、図10を参照して後述する追加学習で使用される。
In step S <b> 6, the
ステップS7において、下位時系列予測生成器61の制御回路76は、入力データの供給が終了したかを判定する。
In step S7, the
ステップS7で、入力データの供給が終了していないと判定された場合、即ち、ステップS1で供給された入力データの次の時刻の入力データが供給された場合、ステップS1に戻り、それ以降の処理が繰り返される。 If it is determined in step S7 that the supply of input data has not ended, that is, if input data at the next time of the input data supplied in step S1 is supplied, the process returns to step S1, and thereafter The process is repeated.
一方、ステップS7で、入力データの供給が終了したと判定された場合、学習処理は終了する。 On the other hand, if it is determined in step S7 that the supply of input data has ended, the learning process ends.
次に、上位時系列予測生成器62のCRTNN81における予測誤差の時系列データの学習について説明する。
Next, learning of time series data of prediction errors in the
情報処理装置51を搭載したヒューマノイドロボットに、複数の行動シーケンスを学習させる場合、学習の結果得られた入力層151と中間層152の各ノード間の重み係数wh ij,wh jr、およびwh jkと、中間層152と出力層153の各ノード間の重み係数wy ijおよびwo jkが、すべての行動シーケンスに対応可能な値である必要がある。
When a humanoid robot equipped with the
そこで、学習処理では、複数の行動シーケンスに対応する時系列データの学習が同時に実行される。即ち、学習処理では、学習させる行動シーケンスの数と同数のCTRNN141(図5)が用意され、行動シーケンスごとに重み係数wh ij,wh jr,wh jk,wy ij、およびwo jkをそれぞれ求め、それらの平均値を1つの重み係数wh ij,wh jr,wh jk,wy ij、およびwo jkとする処理を繰り返し実行することによって、生成処理で利用されるCTRNN81の重み係数wh ij,wh jr,wh jk,wy ij、およびwo jkが求められる。 Therefore, in the learning process, learning of time series data corresponding to a plurality of action sequences is performed simultaneously. That is, in the learning process, the same number of CTRNNs 141 (FIG. 5) as the number of action sequences to be learned are prepared, and the weight coefficients w h ij , w h jr , w h jk , w y ij , and w o jk for each action sequence. CTRNN81 used in the generation process is obtained by repeatedly executing the process of obtaining each of the average values and setting the average value thereof as one weighting coefficient w h ij , w h jr , w h jk , w y ij , and w o jk. weight coefficients w h ij of, w h jr, w h jk , w y ij, and w o jk is required.
図7は、Q個の行動シーケンスに対応するQ個の予測誤差の時系列データを学習する、上位時系列予測生成器62の学習処理のフローチャートである。なお、本実施の形態では、学習する行動シーケンスは、行動シーケンスA,B、およびCの3つであるので、Q=3となる。 FIG. 7 is a flowchart of the learning process of the high-order time-series prediction generator 62 that learns time-series data of Q prediction errors corresponding to Q action sequences. In the present embodiment, since there are three action sequences to be learned, action sequences A, B, and C, Q = 3.
初めに、ステップS31において、上位時系列予測生成器62は、教師データとしての、Q個の予測誤差の時系列データerrorL[N]を下位時系列予測生成器61のメモリ75から読み込む。そして、上位時系列予測生成器62は、読み込んだQ個の時系列データerrorL[N]を、Q個のCRTNN141にそれぞれ供給する。
First, in step S <b> 31, the upper time series prediction generator 62 reads time series data errorL [N] of Q prediction errors as teacher data from the
ステップS32において、上位時系列予測生成器62は、Q個の行動シーケンスそれぞれを識別するタスクIDを読み込む。本実施の形態では、3つの行動シーケンスA,B、およびCそれぞれを識別するタスクIDを読み込む。そして、上位時系列予測生成器62は、行動シーケンスAの教師データを供給したCRT141には、行動シーケンスAを識別するタスクIDを供給し、行動シーケンスBの教師データを供給したCRT141には、行動シーケンスBを識別するタスクIDを供給し、行動シーケンスCの教師データを供給したCRT141には、行動シーケンスCを識別するタスクIDを供給する。
In step S32, the upper time-series prediction generator 62 reads a task ID for identifying each of the Q action sequences. In this embodiment, a task ID for identifying each of the three action sequences A, B, and C is read. Then, the upper time series prediction generator 62 supplies the task ID for identifying the action sequence A to the
ステップS33において、上位時系列予測生成器62は、学習回数を表す変数sに1を代入する。
In step S33, the higher-order time-series prediction generator 62
ステップS34において、上位時系列予測生成器62は、Q個の時系列データにそれぞれ対応するCTRNN141において、BPTT法を用いて、入力層151と中間層152の各ノード間の重み係数wh ij(s)、wh jr(s)、およびwh jk(s)の誤差量δwh ij、δwh jr、およびδwh jkと、中間層152と出力層153の各ノード間の重み係数wy ij(s)およびwo jk(s)の誤差量δwy ijおよびδwo jkを計算する。ここで、q(=1,・・・,Q)番目の時系列データが入力されたCTRNN141において、BPTT法を用いて得られた誤差量δwh ij,δwh jr,δwh jk,δwy ij、およびδwo jkを、それぞれ、誤差量δwh ij,q,δwh jr,q,δwh jk,q,δwy ij,q、およびδwo jk,qと表す。
In step S34, the higher-order time-series prediction generator 62 uses the BPTT method in the
なお、上位時系列予測生成器62は、ステップS34のBPTT法を用いた計算において、時刻t+1のコンテキスト入力ノード162−kのデータcu k(t+1)の誤差量δcu k(t+1)を、時刻tのコンテキスト出力ノード165−kのデータok(t)の誤差量δok(t)に逆伝播する際、任意の正の係数mで割ることにより、コンテキストデータの時定数の調整を行う。
In the calculation using the BPTT method in step S34, the upper time series prediction generator 62 calculates the error amount δc u k (t + 1) of the data c u k (t + 1) of the context input node 162-k at
即ち、上位時系列予測生成器62は、時刻tのコンテキスト出力ノード165−kのデータok(t)の誤差量δok(t)を、時刻t+1のコンテキスト入力ノード162−kのデータcu k(t+1)の誤差量δcu k(t+1)を用いた式(20)によって求める。 That is, the upper time series prediction generator 62, the error amount .delta.o k (t) of the data o k context output nodes 165-k at time t (t), the time t + 1 of the context input node 162-k of the data c u This is obtained by the equation (20) using the error amount δc u k (t + 1) of k (t + 1).
BPTT法において式(20)を採用することにより、CTRNN141の内部状態を表すコンテキストデータの1時間ステップ先の影響度を調整することができる。
By adopting the equation (20) in the BPTT method, it is possible to adjust the influence level of the context data representing the internal state of the
ステップS35において、上位時系列予測生成器62は、入力層151と中間層152の各ノード間の重み係数wh ij、wh jr、およびwh jkと、中間層152と出力層153の各ノード間の重み係数wy ijおよびwo jkのそれぞれを、Q個の時系列データで平均化して、更新する。 In step S35, the upper time series prediction generator 62, each of the input layer 151 and the weighting coefficients w h ij between nodes of the intermediate layer 152, w h jr, and w h jk and an intermediate layer 152 and the output layer 153 Each of the weight coefficients w y ij and w o jk between the nodes is averaged with Q time-series data and updated.
即ち、上位時系列予測生成器62は、式(21)乃至式(30)により、入力層151と中間層152の各ノード間の重み係数wh ij(s+1)、wh jr(s+1)、およびwh jk(s+1)と、中間層152と出力層153の各ノード間の重み係数wy ij(s+1)およびwo jk(s+1)を求める。 That is, the higher-order time series prediction generator 62 uses the weighting coefficients w h ij (s + 1), w h jr (s + 1), between the nodes of the input layer 151 and the intermediate layer 152 by the equations (21) to (30). And w h jk (s + 1), and weighting factors w y ij (s + 1) and w o jk (s + 1) between the nodes of the intermediate layer 152 and the output layer 153 are obtained.
ここで、η2は学習係数を表し、α2は慣性係数を表す。なお、式(21)、式(23)、式(25)、式(27)、および式(29)において、s=1の場合の△wh ij(s),△wh jr(s),△wh jk(s),△wy ij(s)、および△wo jk(s)は、0とする。 Here, η 2 represents a learning coefficient, and α 2 represents an inertia coefficient. In Expression (21), Expression (23), Expression (25), Expression (27), and Expression (29), Δw h ij (s), Δw h jr (s) when s = 1. , Δw h jk (s), Δw y ij (s), and Δw o jk (s) are set to zero.
ステップS36において、上位時系列予測生成器62は、変数sが所定の学習回数以下であるか否かを判定する。ここで設定される所定の学習回数は、学習誤差が十分に小さくなると認められる学習の回数である。 In step S36, the upper time series prediction generator 62 determines whether or not the variable s is less than or equal to a predetermined number of learning times. The predetermined number of learning times set here is the number of learning times that the learning error is recognized to be sufficiently small.
ステップS36で、変数sが所定の学習回数以下であると判定された場合、即ち、学習誤差が十分に小さくなると認められるだけの回数の学習をまだ行っていない場合、ステップS37において、上位時系列予測生成器62は、変数sを1だけインクリメントして、ステップS34に処理を戻す。これにより、ステップS34乃至S36の処理が繰り返される。一方、ステップS36で、変数sが所定の学習回数より大きいと判定された場合、学習処理は終了する。 If it is determined in step S36 that the variable s is less than or equal to the predetermined number of learning times, that is, if learning has not yet been performed for the number of times that the learning error is recognized to be sufficiently small, the upper time series is determined in step S37. The prediction generator 62 increments the variable s by 1, and returns the process to step S34. Thereby, the process of step S34 thru | or S36 is repeated. On the other hand, if it is determined in step S36 that the variable s is greater than the predetermined number of learning times, the learning process ends.
なお、ステップS36では、学習回数によって処理の終了を判定する以外に、学習誤差が所定の基準値以内となったか否かにより、処理の終了を判定してもよい。 In step S36, in addition to determining the end of the process based on the number of learnings, the end of the process may be determined based on whether or not the learning error is within a predetermined reference value.
以上のように、上位時系列予測生成器62の学習処理では、行動シーケンスごとに重み係数wh ij,wh jr,wh jk,wy ij、およびwo jkをそれぞれ求め、それらの平均値を求める処理を繰り返し実行することによって、生成処理で利用されるCTRNN81の重み係数wh ij,wh jr,wh jk,wy ij、およびwo jkが求められる。 As described above, in the learning process of the high-order time series prediction generator 62, the weight coefficients w h ij , w h jr , w h jk , w y ij , and w o jk are obtained for each action sequence, and their averages are obtained. By repeatedly executing the process for obtaining the value, the weight coefficients w h ij , w h jr , w h jk , w y ij , and w o jk of the CTRNN 81 used in the generation process are obtained.
なお、上述した学習処理では、各行動シーケンスの重み係数wh ij,wh jr,wh jk,wy ij、およびwo jkの平均値を求める処理を毎回実行するようにしたが、その処理は、所定回数ごとに実行するようにしてもよい。例えば、学習処理を終了する所定の学習回数が10000回である場合に、10回の学習回数ごとに各行動シーケンスの重み係数wh ij,wh jr,wh jk,wy ij、およびwo jkの平均値を求める処理を実行するようにしてもよい。 Incidentally, in the above-described learning process, the weight coefficient w h ij of each behavior sequence, w h jr, w h jk, was w y ij, and w o mean the seek processing jk to be executed each time the The process may be executed every predetermined number of times. For example, when the predetermined number of learnings to end the learning process is 10,000, the weighting factors w h ij , w h jr , w h jk , w y ij , and w for each action sequence every 10 learning times. o Processing for obtaining the average value of jk may be executed.
次に、図8のフローチャートを参照して、図6および図7を参照して説明した学習処理によって求められた重み係数が設定されたRNN71−1乃至71−NおよびCTRNN81を含む図3の情報処理装置51による、時系列データを生成する生成処理について説明する。
Next, referring to the flowchart of FIG. 8, the information of FIG. 3 including RNNs 71-1 to 71-N and
初めに、ステップS51において、上位時系列予測生成器62のCTRNN81は、入力データの初期値を読み込む。ここでの入力データの初期値とは、入力ノード160とコンテキスト入力ノード162に供給する初期値であり、そこには、例えば、ランダムな所定の値が供給される。
First, in step S51, the
ステップS52において、上位時系列予測生成器62のCTRNN81は、行動シーケンスを識別するタスクIDを読み込む。読み込まれたタスクIDは、パラメータノード161に供給される。
In step S52, the
ステップS53において、上位時系列予測生成器62のCTRNN81は、所定の時刻におけるRNN71−1乃至71−Nの推定予測誤差errorPredH[N]の生成処理を実行する。この生成処理の詳細は、図9を参照して後述するが、CTRNN81は、例えば、時刻t+1における推定予測誤差errorPredHt+1[N]を生成し、ゲート信号変換部63に出力する。
In step S53, the
ステップS54において、ゲート信号変換部63は、上述した式(2)により、供給された推定予測誤差errorPredHt+1[N]をゲート信号gatet+1[N]に変換し、変換した結果をゲート72−1乃至72−Nに出力する。 In step S54, the gate signal conversion unit 63 converts the supplied estimated prediction error errorPredH t + 1 [N] into the gate signal gate t + 1 [N] according to the above-described equation (2), and the converted result is obtained. Output to the gates 72-1 to 72-N.
ステップS55において、時刻tのセンサモータ信号sm(t)が下位時系列予測生成器61のRNN71−nに入力され、RNN71−nは、入力された時刻tのセンサモータ信号sm(t)に対して、時刻t+1のセンサモータ信号smn(t+1)を生成し、ゲート72−nに出力する。 In step S55, the sensor motor signal sm (t) at time t is input to the RNN 71-n of the lower time series prediction generator 61, and the RNN 71-n corresponds to the input sensor motor signal sm (t) at time t. Thus, the sensor motor signal sm n (t + 1) at time t + 1 is generated and output to the gate 72-n.
ステップS56において、ゲート72−nは、ゲート信号変換部63から供給されたゲート信号gatet+1[N]のうちのゲート信号gt+1 nに応じたセンサモータ信号smn(t+1)の出力を行う。即ち、ゲート72−nにおいては、ゲート信号gt+1 nが大きいときにはゲートが大きく開かれ、ゲート信号gt+1 nが小さいときにはゲートを小さく開かれる。合成回路73には、ゲート72−nのゲートの開き具合に応じたセンサモータsmn(t+1)が供給される。
In step S56, the gate 72-n outputs the sensor motor signal sm n (t + 1) corresponding to the gate signal g t + 1 n in the gate signal gate t + 1 [N] supplied from the gate signal conversion unit 63. Output. That is, in the gate 72-n, when the gate signal g t + 1 n is large, the gate is opened widely, and when the gate signal g t + 1 n is small, the gate is opened small. A sensor motor sm n (t + 1) corresponding to the degree of opening of the gate 72-n is supplied to the
ステップS57において、合成回路73は、式(1)によりゲート72−1乃至72−Nそれぞれからの出力を合成し、その合成の結果を、時刻t+1のセンサモータ信号sm(t+1)として出力する。
In step S57, the synthesizing
ステップS58において、情報処理装置51は、時系列データの生成を終了するかを判定する。ステップS58で、時系列データの生成を終了しないと判定された場合、処理はステップS53に戻り、それ以降の処理が繰り返される。その結果、上位時系列予測生成器62では、前回のステップS53で処理した時刻t+1の次の時刻t+2おける推定予測誤差errorPredHt+2[N]が生成され、下位時系列予測生成器61では、時刻t+1のセンサモータ信号sm(t+1)に対するセンサモータsm(t+2)が生成される。
In step S58, the
一方、ステップS58で、例えば、所定の時間ステップ数に到達するなどして、時系列データの生成を終了すると判定された場合、生成処理は終了する。 On the other hand, if it is determined in step S58 that generation of time-series data is to be terminated, for example, when a predetermined number of time steps has been reached, the generation process ends.
次に、図9のフローチャートを参照して、図8のステップS53における、推定予測誤差errorPredH[N]の生成処理について説明する。図9では、時刻t+1における推定予測誤差errorPredHt+1[N]を生成する例について説明する。
Next, the generation process of the estimated prediction error errorPredH [N] in step S53 of FIG. 8 will be described with reference to the flowchart of FIG. FIG. 9 illustrates an example of generating the estimated prediction error errorPredH t + 1 [N] at
初めに、ステップS71において、入力ノード161−iは、データxi(t)を式(3)により計算し、パラメータノード161−rは、データtsdatar(t)を式(4)により計算し、コンテキスト入力ノード162−kは、データck(t)を式(5)により計算して、それぞれ出力する。 First, in step S71, the input node 161-i calculates data x i (t) according to the equation (3), and the parameter node 161-r calculates data tsdata r (t) according to the equation (4). , The context input node 162-k calculates the data c k (t) according to the equation (5) and outputs them.
ステップS72において、隠れノード163−jは、式(6)を計算することによりデータhu j(t)を得て、データhj(t)を式(7)により計算して出力する。 In step S72, the hidden node 163-j obtains the data h u j (t) by calculating the expression (6), and calculates and outputs the data h j (t) by the expression (7).
ステップS73において、出力ノード164−iは、式(8)を計算することによりデータyu i(t)を得て、データyi(t)を式(9)により計算して出力する。 In step S73, the output node 164-i, with the data y u i (t) by calculating equation (8), and outputs data y i (t) is calculated by Equation (9).
ステップS74において、コンテキスト出力ノード165−kは、式(10)を計算することによりデータou k(t)を得て、データok(t)を式(11)により計算して出力する。 In step S74, the context output nodes 165-k, with the data o u k (t) by calculating equation (10), and outputs the data o k a (t) calculated by Equation (11).
ステップS75において、演算部154は、差分△xu i(t+1)を式(12)により求め、時刻t+1のデータxu i(t+1)を式(13)により計算し、ゲート信号変換部63に出力する。
In step S75, the
ステップS76において、演算部155は、差分△cu k(t+1)を式(14)により求め、時刻t+1のデータcu k(t+1)を式(15)により計算する。また、演算部155は、式(15)による計算の結果得られた時刻t+1のデータcu k(t+1)を、コンテキスト入力ノード162−kにフィードバックする。
In step S76, the
ステップS77において、演算部154は、式(13)による計算の結果得られた時刻t+1のデータxu i(t+1)を、入力ノード161−iにフィードバックする。そして、処理は図8のステップS53に戻り、ステップS54に進む。
In step S77, the
以上のように、図8の生成処理によれば、上位時系列予測生成器62が、下位時系列生成器61のRNN71−1乃至71−Nが生成時に発生させる予測誤差の推定値である推定予測誤差errorPredH[N]を出力し、この推定予測誤差errorPredH[N]が、ゲート72−1乃至72−Nの開閉状態を制御するゲート信号gate[N]に変換される。そして、上述の(1)式で表される、開閉状態が制御されたゲート72−1乃至72−Nから出力されたRNN71−1乃至71−Nの出力信号sm1(t+1)乃至smN(t+1)の総和が、時刻t+1のセンサモータ信号sm(t+1)として、ヒューマノイドロボットのセンサおよびモータに供給され、タスクIDで指定された行動シーケンスが実行される。
As described above, according to the generation process of FIG. 8, the upper time series prediction generator 62 is an estimation that is an estimation value of a prediction error generated by the RNNs 71-1 to 71-N of the lower time series generator 61 at the time of generation. Prediction error errorPredH [N] is output, and this estimated prediction error errorPredH [N] is converted into a gate signal gate [N] that controls the open / closed states of the gates 72-1 to 72-N. Then, the output signals sm 1 (t + 1) to sm N (output from the RNNs 71-1 to 71-N output from the gates 72-1 to 72-N whose open / close states are controlled, represented by the above-described equation (1). The sum of t + 1) is supplied to the sensor and motor of the humanoid robot as a sensor motor signal sm (t + 1) at
次に、情報処理装置51に、これまで学習させた行動シーケンスA,B、およびC以外の行動シーケンスを追加して学習させる追加学習について説明する。以下では、ホームポジションにいるロボットが、物体を両手で掴んで所定の高さだけ持ち上げ、物体が元々置かれていたテーブルより一段高い前方のテーブルに置いて、ホームポジションに戻る動作となる行動シーケンスDを追加学習させる。
Next, additional learning will be described in which the
下位時系列予測生成器61のRNN71−1乃至71−Nには、上述したように、それぞれ異なる行動部品が学習されている。また、一般的には、RNN71の個数であるN個は行動部品の数よりも十分大きく用意されるため、RNN71−1乃至71−Nの中には、行動部品が学習されていないRNN71(以下、適宜、未使用のRNN71とも称する)も存在する。
As described above, different behavioral components are learned in the RNNs 71-1 to 71-N of the lower time series prediction generator 61, respectively. In general, N, which is the number of
これまで学習させた行動シーケンスA,B、およびCに追加して、新たな行動シーケンスDを学習させる場合、既に行動部品が学習されているRNN71は、そのままにして、未使用のRNN71に、追加の行動シーケンスDに含まれる新たな行動部品を学習させるのが効率が良い。この場合、追加の行動シーケンスDの学習によってこれまで学習させたRNN71を壊す(RNN71の重み係数を変更する)ことがなく、新たな行動シーケンスDに、これまで学習させた行動部品が含まれていた場合、その行動部品を共通に利用することもできる。
In addition to the previously learned behavior sequences A, B, and C, when learning a new behavior sequence D, the
そこで、下位時系列予測生成器61は、行動シーケンスDを追加学習する際、既に行動部品が学習されているRNN71には、その重み係数を変更しにくくするような抵抗を与える。
Therefore, when the lower time-series prediction generator 61 additionally learns the behavior sequence D, the
既に行動部品が学習されているRNN71とは、即ち、図6のステップS6の処理により、メモリ75に記憶されている利用頻度FREQnが大きいRNN71−nである。
The
従って、下位時系列予測生成器61の制御回路76は、図10に示すような、利用頻度FREQnが少ないRNN71−nほど重み係数を更新し易く、利用頻度FREQnが大きいRNN71−nは、重み係数を更新しにくい、換言すれば、利用頻度FREQnに負の相関を有する関数h1によって学習重みμnを決定する。図10に示す関数h1が表す曲線は、利用頻度FREQnが小さいほど傾きが大きく、利用頻度FREQnが大きいほど傾きが小さくなる曲線である。なお、図10では、関数h1が非線形な曲線として示されているが、負の相関を有する関数であれば、線形な直線であっても勿論よい。
Accordingly, the
図11のフローチャートを参照して、情報処理装置51の追加学習処理について説明する。
The additional learning process of the
初めに、ステップS101において、下位時系列予測生成器61の制御回路76は、メモリ75に記憶されているRNN71−1乃至71−Nの利用頻度FREQ1乃至FREQNを読み出す。
First , in step S 101, the
ステップS102において、下位時系列予測生成器61の制御回路76は、図10に示した関数h1を用いて、RNN71−nの利用頻度FREQnに応じた学習重みμnを決定する。決定された学習重みμnは、RNN71−nに供給される。
In step S102, the
ステップS103において、情報処理装置51は、行動シーケンスDに対応するセンサモータ信号の時系列データを学習する、図6の下位時系列予測生成器61の学習処理、即ち、ステップS1乃至S7の処理を実行する。但し、ステップS103の処理での図6のステップS5においては、式(18)に代えて、学習重みμnが含まれる次式(31)を採用する。
In step S103, the
ステップS103の処理後、行動シーケンスDの予測誤差の時系列データerrorL[N]がメモリ75に記憶される。
After the process of step S <b> 103, the time series data errorL [N] of the prediction error of the action sequence D is stored in the
ステップS104において、情報処理装置51は、行動シーケンスA,B、およびCに、追加された行動シーケンスDの予測誤差の時系列データerrorL[N]をメモリ75から読み出し、その4個の予測誤差の時系列データについて、図7の上位時系列予測生成器62の学習処理、即ち、ステップS31乃至S37の処理を実行する。そして、追加学習処理は終了する。
In step S104, the
以上のように、情報処理装置51の追加学習処理では、これまでの学習で利用頻度FREQnが大きいRNN71−nについて、その重み係数を変更しにくくするような学習重みμnを与えて、RNN71−nの重み係数を学習する。これにより、追加の行動シーケンスDの学習によってこれまで学習させたRNN71の重み係数をできるだけ変更せずに、追加される行動シーケンスを効率的に学習することができる。
As described above, in the additional learning process of the
次に、本発明を適用した情報処理装置のその他の構成例について説明する。 Next, another configuration example of the information processing apparatus to which the present invention is applied will be described.
図12は、情報処理装置51のその他の構成例を示している。図12において、図3の情報処理装置51と対応する部分については同一の符号を付してあり、その説明は省略する。
FIG. 12 shows another configuration example of the
図12の情報処理装置51は、時間フィルタ部201と非線形フィルタ部202が新たに設けられている点を除いては、図3の情報処理装置51と同様に構成されている。
The
時間フィルタ部201には、下位時系列予測生成器61が出力する予測誤差の時系列データerrorL[N]が入力される。時間フィルタ部201と非線形フィルタ部202は、そこに入力される時系列データに所定のフィルタ処理を施し、処理後の時系列データを後段に出力する。非線形フィルタ部202は、処理後の時系列データを、予測誤差の時系列データerrorL’[N]として、上位時系列予測生成器62に供給する。
The
上位時系列予測生成器62は、予測誤差の時系列データを学習するが、ある程度長い時間ステップでのRNN71−1乃至71−Nの予測誤差の大まかな変動が分かればよく、短時間での微小な変動はあまり関係しない。 The high-order time-series prediction generator 62 learns time-series data of prediction errors, but only needs to know rough fluctuations in the prediction errors of the RNNs 71-1 to 71-N in a somewhat long time step. Such fluctuations are not so relevant.
時間フィルタ部201は、下位時系列予測生成器61が出力する予測誤差の時系列データerrorL[N]に対して、時間フィルタ処理を施す。即ち、時間フィルタ部201は、下位時系列予測生成器61が出力する予測誤差の時系列データerrorL[N]に、いわゆるローパスフィルタ処理を施し、処理後の時系列データを非線形フィルタ部202に供給する。例えば、ローパスフィルタ処理としては、所定の時間ステップ数の移動平均などを用いることができる。これにより、短時間での微小な変動が抑制された、RNN71−1乃至71−Nの予測誤差の時系列データを上位時系列予測生成器62に供給することができる。
The
なお、ある程度長い時間ステップでのRNN71−1乃至71−Nの予測誤差の大まかな変動を上位時系列予測生成器62が学習するためには、上位時系列予測生成器62のCTRNN81が時系列データをサンプリングするときのサンプリングレートを、下位時系列予測生成器61のRNN71のサンプリングレートよりも大きくすることによっても実現可能である。例えば、上位時系列予測生成器62は、下位時系列予測生成器61のRNN71の時系列データを所定の時間間隔で間引いた時系列データを学習することで、RNN71−1乃至71−Nの予測誤差の大まかな変動を学習することができる。また、式(13)および式(15)の係数τを調整することにより、時間サンプリングを調整することができる。この場合、係数τが大きいほど、RNN71−1乃至71−Nの予測誤差の大まかな変動を学習することができる。
In order for the upper time-series prediction generator 62 to learn rough fluctuations in the prediction errors of the RNNs 71-1 to 71-N in a somewhat long time step, the
非線形フィルタ部202は、図13に示すような、入力される予測誤差errorLnが小さい範囲では傾きが大きく、入力される予測誤差errorLnが大きくなるほど傾きが小さくなる非線形の曲線で表される関数h2によって、入力される予測誤差errorLnを変換する。非線形フィルタ部202は、変換処理後の予測誤差errorL’[N]を上位時系列予測生成器62に供給する。 The non-linear filter unit 202 has a function represented by a non-linear curve as shown in FIG. 13 in which the slope is large in the range where the input prediction error errorL n is small, and the slope is small as the input prediction error errorL n is large. The input prediction error errorL n is converted by h 2 . The nonlinear filter unit 202 supplies the prediction error errorL ′ [N] after the conversion process to the upper time series prediction generator 62.
情報処理装置51の生成処理では、図8を参照して説明したように、予測誤差errorL[N]の学習によって得られる推定予測誤差errorPredHnがより小さいRNN72−nほどゲートが大きく開くように制御される。反対に、推定予測誤差errorPredHnが大きいRNN72−nが出力するセンサモータ信号smn(t+1)は、ほとんど利用されない。
In the generation processing of the
従って、推定予測誤差errorPredHnがより小さいRNN72−nほど、下位時系列予測生成器61が出力するセンサモータ信号sm(t+1)への寄与率は高く、重要であると言うことができる。 Therefore, it can be said that the RNN 72- n having a smaller estimated prediction error errorPredH n has a higher contribution rate to the sensor motor signal sm (t + 1) output from the lower time series prediction generator 61 and is more important.
例えば、RNN72−1の予測誤差errorL1とRNN72−nの予測誤差errorLnが、0乃至1の間の小さい値(例えば、0.3など)で拮抗していた場合と、0乃至1の間の大きい値(例えば、0.9など)で拮抗していた場合とを考えると、RNN72−1の予測誤差errorL1とRNN72−nの予測誤差errorLnが0乃至1の間の小さい値で拮抗していた場合、生成時に、RNN72−1またはRNN72−nが出力するセンサモータ信号sm1(t+1)またはsmn(t+1)の、下位時系列予測生成器61が出力するセンサモータ信号sm(t+1)への寄与率は高いので、RNN72−1とRNN72−nのセンサモータ信号のどちらが優位であるかは重要になってくる。 For example, when the prediction error errorL 1 of the RNN 72-1 and the prediction error errorL n of the RNN 72- n are antagonized by a small value between 0 and 1 (for example, 0.3), and between 0 and 1 great value (e.g., 0.9, etc.) considering a case where not conflict with, antagonistic small value between the prediction error ErrorL n of the prediction error ErrorL 1 and RNN72-n of RNN72-1 is 0 to 1 In this case, the sensor motor signal sm (t + 1) output from the lower time series prediction generator 61 of the sensor motor signal sm 1 (t + 1) or sm n (t + 1) output from the RNN 72-1 or RNN 72-n at the time of generation. ) Is high, it becomes important which of the sensor motor signals of RNN 72-1 and RNN 72-n is superior.
一方、RNN72−1の予測誤差errorL1とRNN72−nの予測誤差errorLnが0乃至1の間の大きい値で拮抗していた場合、RNN72−1とRNN72−n以外に、より小さい予測誤差を有するRNN72がいると考えられ、生成時に、RNN72−1またはRNN72−nが出力するセンサモータ信号sm1(t+1)またはsmn(t+1)が、下位時系列予測生成器61が出力するセンサモータ信号sm(t+1)に含まれる率は少ないので、RNN72−1とRNN72−nのセンサモータ信号のどちらが優位であるかは、さほど重要ではない。 On the other hand, when the prediction error errorL 1 of the RNN 72-1 and the prediction error errorL n of the RNN 72-n compete with each other with a large value between 0 and 1, a smaller prediction error is obtained in addition to the RNN 72-1 and the RNN 72-n. The sensor motor signal sm 1 (t + 1) or sm n (t + 1) output from the RNN 72-1 or RNN 72 -n at the time of generation is the sensor motor signal output from the lower time series prediction generator 61. Since the rate included in sm (t + 1) is small, it is not so important which of the sensor motor signals of RNN 72-1 and RNN 72-n is dominant.
非線形フィルタ部202は、関数h2によって、センサモータ信号sm(t+1)の生成に重要な予測誤差errorLの小さいRNN72どうしの優位差を大きくし、センサモータ信号sm(t+1)の生成に重要ではない予測誤差errorLの大きいRNN72どうしの優位差を小さくする処理を行う。これにより、上位時系列予測生成器62において、学習に重要なRNN71が出力した予測誤差errorLを効率的に学習することができる。
The non-linear filter unit 202 increases the dominant difference between the
時間フィルタ部201と非線形フィルタ部202の動作は、図7を参照して説明したフローチャートのステップS31の、上位時系列予測生成器62が、教師データとしての、Q個の予測誤差の時系列データerrorL[N]を下位時系列予測生成器61のメモリ75から読み込む場合において、時間フィルタ部201と非線形フィルタ部202によって処理された後のQ個の予測誤差の時系列データerrorL’[N]を読み込む動作となる。
The operations of the
なお、時間フィルタ部201および非線形フィルタブ202は、必ずしも両方が同時に設けられる必要はなく、いずれか一方のみでもよい。
Note that both the
ところで、図3および図12に示した情報処理装置51では、複数のRNN71−1乃至71−nを有する下位時系列生成器61の構成として、複数のRNNの出力をゲート機構により統合して最終的な出力を決定するMixture of RNN Expertというモデルを採用したが、Mixture of RNN Expert以外の構成を採用することもできる。
By the way, in the
Mixture of RNN Expert以外の構成としては、例えば、ベクトルパターンのカテゴリ学習に用いられる自己組織化マップ(self-organization map)(以下、SOMという)を導入し、SOMの各ノードにRNNを採用し、自己組織的に外部入力に対し適切なRNNを選択し、RNNのパラメータ学習を行うRNN-SOMなどを採用することができる。なお、SOMについては、例えば、「T.コホネン、「自己組織化マップ」、シュプリンガー・フェアラーク東京」などにその詳細が記載されている。 As a configuration other than Mixture of RNN Expert, for example, a self-organization map (hereinafter referred to as SOM) used for vector pattern category learning is introduced, and RNN is adopted for each node of SOM. An RNN-SOM that performs RNN parameter learning by selecting an appropriate RNN for external input in a self-organizing manner can be employed. Details of SOM are described in, for example, “T. Kohonen,“ Self-Organizing Map ”, Springer Fairlark Tokyo”, and the like.
図3および図12に示したMixture of RNN Expertのモデルでは、ある新しい学習サンプル(即ち、時系列データ)に対して、全てのRNNが学習エラー(予測誤差)を算出し、その学習エラーの度合いに応じて各RNNが学習サンプルを学習する。 In the Mixture of RNN Expert model shown in FIGS. 3 and 12, all RNNs calculate a learning error (prediction error) for a new learning sample (that is, time series data), and the degree of the learning error. Each RNN learns a learning sample according to
これに対して、RNN-SOMでは、ある新しい学習サンプル(即ち、時系列データ)に対して、全てのRNNが学習エラー(予測誤差)を算出し、その中で、最も学習エラーの小さいRNNが勝者に決定される。勝者のRNNが決定された後は、各RNNの学習エラーは関係なく、勝者のRNNと距離が近いRNNが、勝者との近傍度合いに応じて学習サンプルを学習するという、各RNNに対して自分以外のRNNとの距離空間の概念が導入されたものである。 On the other hand, in RNN-SOM, all RNNs calculate learning errors (prediction errors) for a new learning sample (that is, time-series data). Among them, the RNN with the smallest learning error is calculated. The winner will be determined. After the winner's RNN is determined, the learning error of each RNN does not matter, and the RNN that is close to the winner's RNN learns the learning sample according to the degree of proximity to the winner. The concept of metric space with other RNNs was introduced.
図14は、下位時系列生成器61の構成としてRNN-SOMを採用した場合の、行動シーケンスに対応するセンサモータ信号の時系列データの学習処理のフローチャートである。 FIG. 14 is a flowchart of the learning process of the time series data of the sensor motor signal corresponding to the action sequence when the RNN-SOM is adopted as the configuration of the lower time series generator 61.
図14に示される処理は、ステップS124の処理が、図6のステップS4の処理と異なる以外は、図6に示した学習処理と同様である。 The process shown in FIG. 14 is the same as the learning process shown in FIG. 6 except that the process in step S124 is different from the process in step S4 in FIG.
即ち、図14のステップS121乃至S123およびS125乃至S127は、図6のステップS1乃至S3およびS5乃至S7と、それぞれ同様である。 That is, steps S121 to S123 and S125 to S127 in FIG. 14 are the same as steps S1 to S3 and S5 to S7 in FIG.
ステップS124では、下位時系列予測生成器61は、予測誤差errorLt+1が最小のRNN71を勝者とし、図15に示す近傍関数h3に基づいて、勝者からの距離(DISTANCEn)に応じた学習重みγnを算出する。
In step S124, the low-order time-series prediction generator 61 uses the
近傍関数h3は、図15に示されるように、勝者からの距離(DISTANCEn)が近いRNN71−nほど大きい学習重みγnが割り当てられる。 As shown in FIG. 15, the neighborhood function h 3 is assigned a learning weight γ n that is larger as the RNN 71-n has a shorter distance (DISTANCE n ) from the winner.
次に、図16乃至図19を参照して、上述した情報処理装置51に、ヒューマノイドロボットが行う行動シーケンスを学習および生成させた実験結果について説明する。
Next, with reference to FIG. 16 to FIG. 19, an experimental result in which the
なお、この実験では、下位時系列予測生成器61が出力する予測誤差の時系列データerrorL[N]に対して時間フィルタと非線形フィルタを施した、図12の情報処理装置51による例を示している。また、下位時系列生成器61のRNN71の個数Nは、16(N=16)となっている。
This experiment shows an example of the
図16は、行動シーケンスA,B、およびCを学習後、情報処理装置51が行動シーケンスAを生成した結果を示している。
FIG. 16 shows a result of the
図16Aは、生成処理時の、上位時系列予測生成器62のCTRNN81としてのCTRNN141のコンテキスト出力ノード165の出力データを示している。
FIG. 16A shows the output data of the context output node 165 of the
図16Bは、上位時系列予測生成器62のCTRNN81が出力する推定予測誤差errorPredH[N]を示している。
FIG. 16B shows the estimated prediction error errorPredH [N] output from the
図16Cは、図16Bに示される推定予測誤差errorPredH[N]がゲート信号変換部63によって変換されたゲート信号gate[N]を示している。 FIG. 16C shows the gate signal gate [N] obtained by converting the estimated prediction error errorPredH [N] shown in FIG. 16B by the gate signal conversion unit 63.
図16Dは、下位時系列予測生成器61の合成回路73から出力されたセンサモータ信号sm(t)のうちのモータ信号を、図16Eは、下位時系列予測生成器61の合成回路73から出力されたセンサモータ信号sm(t)のうちのセンサ信号を、それぞれ示している。なお、図16Dおよび図16Eでは、4つのモータ信号と2つのセンサ信号のデータが図示されているが、図を見やすくするため、実際のモータ信号およびセンサ信号よりも少ない数のデータを図示している。
16D shows the motor signal of the sensor motor signal sm (t) output from the
図16A乃至図16Eの横軸は、時間ステップ(step)を表す。また、図16A,図16D,および図16Eの縦軸は、コンテキスト出力ノード165、モータ信号、およびセンサ信号それぞれの出力値を表し、0乃至1の範囲の値である。図16Bおよび図16Cは、下位時系列予測生成器61のRNN71の番号(1乃至16)を表している。
The horizontal axis in FIGS. 16A to 16E represents a time step. 16A, 16D, and 16E represent output values of the context output node 165, the motor signal, and the sensor signal, and are values in the range of 0 to 1. 16B and 16C show the numbers (1 to 16) of the
図16BおよびCにおいては、RNN71−nに対応するerrorPredHnまたはゲート信号gt nの値とグレイレベルとが対応しており、図16Bでは、errorPredHnの値が小さい(即ち、0に近い)ほど黒く(濃く)表されており、図16Cでは、ゲート信号gt nの値が大きい(即ち、1に近い)ほど黒く(濃く)表されている。 In FIGS. 16B and C, the value of errorPredH n or gate signal g t n corresponding to RNN 71-n corresponds to the gray level, and in FIG. 16B, the value of errorPredH n is small (ie, close to 0). In FIG. 16C, the larger the value of the gate signal g t n (that is, closer to 1), the darker (darker) it is.
図17は、行動シーケンスA,B、およびCを学習後、情報処理装置51が行動シーケンスBを生成した結果を、図18は、行動シーケンスCを生成した結果を、それぞれ示している。
FIG. 17 shows the result of generating the action sequence B by the
また、図19は、行動シーケンスA,B、およびCを学習後に行動シーケンスDを追加学習させた後、情報処理装置51が行動シーケンスDを生成した結果を示している。
FIG. 19 shows the result of the
図17乃至図19において、図示されたデータが、行動シーケンスB乃至Dに関するものである以外は、同様である。 17 to 19 is the same except that the illustrated data is related to the action sequences B to D.
行動シーケンスAに対応する時系列データの生成では、図16Cを見て分かるように、シーケンスの前半では、ゲート72−14が開かれることによりRNN71−14が有効となり、その後、シーケンスの後半部分では、ゲート72−4が開かれることによりRNN71−4が有効となっている。 In the generation of time series data corresponding to the action sequence A, as can be seen from FIG. 16C, in the first half of the sequence, the RNN 71-14 is enabled by opening the gate 72-14, and thereafter, in the second half of the sequence. When the gate 72-4 is opened, the RNN 71-4 is activated.
但し、図16Bに示すデータから図16Cに示すデータへの変換、即ち、推定予測誤差errorPredH[N]からゲート信号gate[N]への変換は、errorPredH1乃至errorPredH16のうちの最も値の小さいものが唯一の勝者となるウィナーテイクオール(Winner-take-all)の原理ではなく、上述した式(2)のソフトマックス関数を用いて行われるため、所定の時刻(時間ステップ)から、離散的にRNN71−14からRNN71−4に有効なRNN71が切替わるのではなく、RNN71−14からRNN71−4への切替が時間の経過とともに緩やかに行われている。
However, conversion to the data shown in Figure 16C from the data shown in FIG. 16B, that is, conversion of the estimated prediction error errorPredH [N] to the gate signal Gate [N] is less the least value among the ErrorPredH 1 to ErrorPredH 16 Since it is performed using the softmax function of the above formula (2), not the principle of winner-take-all, where a thing is the only winner, it is discrete from a predetermined time (time step) However, the
従って、errorPredH1乃至errorPredH16のうちの複数の値が拮抗しているような場合であっても、勝者が頻繁に交替することはなく、拮抗している状態では、そのまま拮抗している状態として出力を行うことができ、これにより、学習された時系列データを正しく生成することができる。 Therefore, even if a plurality of values of errorPredH 1 to errorPredH 16 are antagonizing, the winner does not frequently change, and in the antagonizing state, Output can be performed, and thus the learned time-series data can be correctly generated.
行動シーケンスBの生成では、図17Cを見て分かるように、RNN71−14、RNN71−2、RNN71−13、RNN71−1、RNN71−11が、その順で有効となっている。 In the generation of the action sequence B, as can be seen from FIG. 17C, the RNN 71-14, the RNN 71-2, the RNN 71-13, the RNN 71-1, and the RNN 71-11 are effective in that order.
行動シーケンスCの生成では、図18Cを見て分かるように、RNN71−2、RNN71−12、RNN71−3が、その順で有効となっている。 In the generation of the action sequence C, as can be seen from FIG. 18C, the RNN 71-2, the RNN 71-12, and the RNN 71-3 are effective in that order.
行動シーケンスDの生成では、図19Cを見て分かるように、RNN71−5、RNN71−15、RNN71−3、RNN71−16が、その順で有効となっている。 In the generation of the action sequence D, as can be seen from FIG. 19C, the RNN 71-5, the RNN 71-15, the RNN 71-3, and the RNN 71-16 are valid in that order.
行動シーケンスB乃至Dのゲート72の切替においても、図16の行動シーケンスAにおける場合と同様のことが言える。
The same applies to the switching of the
即ち、所定の時刻に推定予測誤差errorPredHnが最も大きいRNN71−nから、所定時間後に次に推定予測誤差errorPredHn'が最も大きいRNN71−n’ (n≠n’)へゲート信号gate[N]が切替わる場合、ゲート信号gnは徐々に小さくなると同時に、ゲート信号gn'は徐々に大きくなる。即ち、ゲート72−nでは、センサモータ信号smn(t+1)の出力が徐々に抑えられ、ゲート72−n’では、センサモータ信号smn'(t+1)の出力が徐々に開放される。 That is, the gate signal gate [N] from the RNN 71- n having the largest estimated prediction error errorPredH n at a predetermined time to the next RNN 71-n ′ (n ≠ n ′) having the largest estimated prediction error errorPredH n ′ after a predetermined time. Are switched, the gate signal g n gradually decreases and the gate signal g n ′ gradually increases. That is, the output of the sensor motor signal sm n (t + 1) is gradually suppressed at the gate 72-n, and the output of the sensor motor signal sm n ′ (t + 1) is gradually opened at the gate 72-n ′.
従って、errorPredH1乃至errorPredH16のうちの複数の値が拮抗しているような場合であっても、勝者が頻繁に交替することはなく、拮抗している状態では、そのまま拮抗している状態として出力を行うことができ、これにより、学習された時系列データを正しく生成することができる。 Therefore, even if a plurality of values of errorPredH 1 to errorPredH 16 are antagonizing, the winner does not frequently change, and in the antagonizing state, Output can be performed, and thus the learned time-series data can be correctly generated.
また、図19に示される追加学習によって学習された行動シーケンスDの生成結果では、行動シーケンスA乃至Cでは有効となっていないRNN71−5、RNN71−15、RNN71−16が有効となっており、これまでに学習した行動シーケンスA乃至Cにない行動部品については新しいRNN71が学習していることが分かる。
In addition, in the generation result of the action sequence D learned by the additional learning shown in FIG. 19, RNN71-5, RNN71-15, and RNN71-16 that are not valid in the action sequences A to C are valid, It can be seen that the
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。 The series of processes described above can be executed by hardware or can be executed by software. When a series of processing is executed by software, a program constituting the software executes various functions by installing a computer incorporated in dedicated hardware or various programs. For example, it is installed from a program recording medium in a general-purpose personal computer or the like.
図20は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)301は、ROM(Read Only Memory)302、または記憶部308に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)303には、CPU301が実行するプログラムやデータなどが適宜記憶される。これらのCPU301、ROM302、およびRAM303は、バス304により相互に接続されている。
FIG. 20 is a block diagram showing an example of the configuration of a personal computer that executes the above-described series of processing by a program. A CPU (Central Processing Unit) 301 executes various processes according to a program stored in a ROM (Read Only Memory) 302 or a
CPU301にはまた、バス304を介して入出力インタフェース305が接続されている。入出力インタフェース305には、キーボード、マウス、マイクロホンなどよりなる入力部306、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、スピーカなどよりなる出力部307が接続されている。CPU301は、入力部306から入力される指令に対応して各種の処理を実行する。そして、CPU301は、処理の結果を出力部307に出力する。
An input /
入出力インタフェース305に接続されている記憶部308は、例えばハードディスクからなり、CPU301が実行するプログラムや各種のデータを記憶する。通信部309は、インターネットやローカルエリアネットワークなどのネットワークを介して、または直接に接続された外部の装置と通信する。
The
入出力インタフェース305に接続されているドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア321が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部308に転送され、記憶される。また、プログラムやデータは、通信部309を介して取得され、記憶部308に記憶されてもよい。
The
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図20に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスクを含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア321、または、プログラムが一時的もしくは永続的に格納されるROM302や、記憶部308を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部309を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
As shown in FIG. 20, a program recording medium for storing a program that is installed in a computer and is ready to be executed by the computer includes a magnetic disk (including a flexible disk), an optical disk (CD-ROM (Compact Disc-Read Only). Memory), DVD (including Digital Versatile Disc), magneto-optical disk), or
上述した例では、生成時の行動シーケンスA乃至Cの切替を、CTRNN81のタスクIDを変更することによって行うようにしたが、CTRNN81には、タスクIDの入力を持たせずに、コンテキスト入力ノード162に与える初期値を変更することによって、生成時の行動シーケンスA乃至Cの切替を行うようにしてもよい。
In the example described above, the behavior sequences A to C at the time of generation are switched by changing the task ID of CTRNN 81. However, the context input node 162 does not have the task ID input in
本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In this specification, the steps described in the flowcharts include processes that are executed in parallel or individually even if they are not necessarily processed in time series, as well as processes that are executed in time series in the described order. Is also included.
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。 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.
51 情報処理装置, 61 下位時系列予測生成器, 62 上位時系列予測生成器, 63 ゲート信号変換部, 71−1乃至71−N RNN, 72−1乃至72−N ゲート, 73 合成回路, 74 演算回路, 75 メモリ, 76 制御回路, 81 CTRNN, 201 時間フィルタ部, 202 非線形フィルタ部, 301 CPU, 302 ROM, 303 RAM, 308 記憶部 51 Information Processing Device, 61 Lower Time Series Prediction Generator, 62 Upper Time Series Prediction Generator, 63 Gate Signal Conversion Unit, 71-1 to 71-N RNN, 72-1 to 72-N Gate, 73 Synthesis Circuit, 74 Arithmetic circuit, 75 memory, 76 control circuit, 81 CTRNN, 201 time filter unit, 202 nonlinear filter unit, 301 CPU, 302 ROM, 303 RAM, 308 storage unit
Claims (3)
前記複数のリカレント型ニューラルネットワークそれぞれは、前記学習重み決定手段によって決定された前記学習の重みに応じて、前記新たな時系列データを学習する
情報処理装置。 After learning predetermined time-series data for a plurality of recurrent type neural networks, when adding new time-series data to the plurality of recurrent type neural networks to learn, the predetermined time series data Learning weight determination means for determining a learning weight having a negative correlation with the frequency of use of each of the plurality of recurrent neural networks when the data was previously learned;
Each of the plurality of recurrent neural networks learns the new time-series data according to the learning weight determined by the learning weight determining means.
決定された前記学習の重みに応じて、前記新たな時系列データを学習する
ステップを含む情報処理方法。 After learning predetermined time-series data for a plurality of recurrent type neural networks, when adding new time-series data to the plurality of recurrent type neural networks to learn, the predetermined time series data Determining a learning weight having a negative correlation with the frequency of use of each of the plurality of recurrent neural networks when the data was previously learned;
An information processing method including a step of learning the new time-series data according to the determined learning weight.
決定された前記学習の重みに応じて、前記新たな時系列データを学習する
ステップを含む処理をコンピュータに実行させるプログラム。 After learning predetermined time-series data for a plurality of recurrent type neural networks, when adding new time-series data to the plurality of recurrent type neural networks to learn, the predetermined time series data Determining a learning weight having a negative correlation with the frequency of use of each of the plurality of recurrent neural networks when the data was previously learned;
A program for causing a computer to execute a process including a step of learning the new time-series data according to the determined learning weight.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006135715A JP2007305072A (en) | 2006-05-15 | 2006-05-15 | Information processor, information processing method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006135715A JP2007305072A (en) | 2006-05-15 | 2006-05-15 | Information processor, information processing method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007305072A true JP2007305072A (en) | 2007-11-22 |
Family
ID=38838917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006135715A Withdrawn JP2007305072A (en) | 2006-05-15 | 2006-05-15 | Information processor, information processing method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007305072A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180082531A (en) * | 2015-11-12 | 2018-07-18 | 구글 엘엘씨 | CGR neural networks |
JP2021009622A (en) * | 2019-07-02 | 2021-01-28 | キヤノン株式会社 | Data processing device, data processing method, learning device, learning method, neural network, and program |
-
2006
- 2006-05-15 JP JP2006135715A patent/JP2007305072A/en not_active Withdrawn
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180082531A (en) * | 2015-11-12 | 2018-07-18 | 구글 엘엘씨 | CGR neural networks |
JP2018533804A (en) * | 2015-11-12 | 2018-11-15 | グーグル エルエルシー | Convoluted gate control recursive neural network |
US10977547B2 (en) | 2015-11-12 | 2021-04-13 | Google Llc | Convolutional gated recurrent neural networks |
KR102271262B1 (en) | 2015-11-12 | 2021-06-30 | 구글 엘엘씨 | CGR Neural Networks |
JP2021009622A (en) * | 2019-07-02 | 2021-01-28 | キヤノン株式会社 | Data processing device, data processing method, learning device, learning method, neural network, and program |
JP7389575B2 (en) | 2019-07-02 | 2023-11-30 | キヤノン株式会社 | Data processing device, data processing method, learning device, learning method, neural network, and program |
US12079717B2 (en) | 2019-07-02 | 2024-09-03 | Canon Kabushiki Kaisha | Data processing apparatus, training apparatus, method of detecting an object, method of training, and medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4388033B2 (en) | Information processing apparatus, information processing method, and program | |
Papageorgiou et al. | Unsupervised learning techniques for fine-tuning fuzzy cognitive map causal links | |
JP2007299365A (en) | Data processor, data processing method and program | |
JP2007299366A (en) | Learning system and method, recognition device and method, creation device and method, recognition and creation device and method, and program | |
US5598510A (en) | Self organizing adaptive replicate (SOAR) | |
KR20070100160A (en) | Learning apparatus, learning method, and program | |
JP2007265345A (en) | Information processor and method, learning device and method, and program | |
US20050119982A1 (en) | Information processing apparatus and method | |
CN110018675A (en) | Nonlinear system modeling method based on LWDNN-ARX model | |
JP2022530738A (en) | DNN training with asymmetric RPU devices | |
KR20200084010A (en) | Create control system for target system | |
Senn et al. | Reducing the computational effort of optimal process controllers for continuous state spaces by using incremental learning and post-decision state formulations | |
JP2007305072A (en) | Information processor, information processing method and program | |
JP2009140454A (en) | Data processor, data processing method, and program | |
JP2010266974A (en) | Information processing apparatus and method, and program | |
JP2010204974A (en) | Time series data prediction device | |
Junaid et al. | Evolutionary computing approach for the solution of initial value problems in ordinary differential equations | |
US7324980B2 (en) | Information processing apparatus and method | |
JP2009053782A (en) | Data processor, data processing method, and program | |
CN106651006A (en) | Soil moisture content prediction method and apparatus based on multilayer neural network | |
CN114995106A (en) | PID self-tuning method, device and equipment based on improved wavelet neural network | |
JP2545982B2 (en) | Pattern recognition method and standard pattern learning method | |
Chinnam et al. | Neural network-based quality controllers for manufacturing systems | |
JP2009116770A (en) | Data processing device and method, program, and recording medium | |
JP2021124974A (en) | Computing apparatus, computing method, program, and table generating apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090804 |