(57)【特許請求の範囲】
【請求項１】
入力される時系列データを時系列予測で予測する複数の予測手段と、
複数の前記予測手段の予測誤差に基づいてゲート係数を算出し、該ゲート係数を用いて前記複数の予測手段の出力をそれぞれ重み付けする複数のゲート手段と、
複数の前記ゲート手段により重み付けされた前記複数の予測手段の出力を合成して時系列データとする合成手段と
を備え、
前記予測手段、ゲート手段、および合成手段は、階層構造とされ、
上位の階層の合成手段からの前記時系列データの出力が下位の階層のゲート手段に入力されることにより、下位のゲート手段が制御される
ことを特徴とするデータ処理装置。
【請求項２】
前記予測手段は、リカレント型ニューラルネットワークである
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記予測手段は、回帰型多変量解析により予測を行う
ことを特徴とする請求項１に記載のデータ処理装置。
【請求項４】
入力される時系列データを時系列予測で予測する複数の予測ステップと、
複数の前記予測ステップの予測誤差に基づいてゲート係数を算出し、該ゲート係数を用いて前記複数の予測ステップの出力をそれぞれ重み付けする複数のゲートステップと、
複数の前記ゲートステップにより重み付けされた前記複数の予測ステップの出力を合成して時系列データとする合成ステップと
を含み、
前記予測ステップ、ゲートステップ、および合成ステップは、階層構造とされ、
上位の階層の合成ステップでの処理による前記時系列データで、下位の階層のゲートステップでの処理が制御される
ことを特徴とするデータ処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置および方法に関し、特に、時系列データを自動的に文節化し、処理することができるようにした、データ処理装置および方法に関する。
【０００２】
【従来の技術】
データを処理する手法の中に、数理解析、統計的手法、ニューラルネットなどがある。ジャコブス（R.A.Jacobs）と、ジョーダン（M.I.Jordan）は、module of experts networkにより、多様な空間的なパターンを有限数のエキスパートに自動的に割り当てる形で問題を分割し、かつ階層的に学習することを提案している（Adaptive mixtures of local experts. Neural Computation, vol. 3, No. 1,pp. 79-87,1991）。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記した提案においては、入力されたデータを時間方向に、自動的に文節化する手段が開示されておらず、ロボットのセンサモータに代表される連続時系列データから、文節化の構造を学習したり、その学習した構造から、元の時系列を再構成することができないという課題があった。
【０００４】
本発明はこのような状況に鑑みてなされたものであり、時系列データのパターンを階層的に学習し、生成することができるようにするものである。
【０００５】
【課題を解決するための手段】
本発明のデータ処理装置は、入力される時系列データを時系列予測で予測する複数の予測手段と、複数の予測手段の予測誤差に基づいてゲート係数を算出し、該ゲート係数を用いて複数の予測手段の出力をそれぞれ重み付けする複数のゲート手段と、複数のゲート手段により重み付けされた複数の予測手段の出力を合成して時系列データとする合成手段とを備え、予測手段、ゲート手段、および合成手段は、階層構造とされ、上位の階層の合成手段からの時系列データの出力が下位の階層のゲート手段に入力されることにより、下位のゲート手段が制御されることを特徴とする。
【０００６】
本発明のデータ処理方法は、入力される時系列データを時系列予測で予測する複数の予測ステップと、複数の予測ステップの予測誤差に基づいてゲート係数を算出し、該ゲート係数を用いて複数の予測ステップの出力をそれぞれ重み付けする複数のゲートステップと、複数のゲートステップにより重み付けされた複数の予測ステップの出力を合成して時系列データとする合成ステップとを含み、予測ステップ、ゲートステップ、および合成ステップは、階層構造とされ、上位の階層の合成ステップでの処理による時系列データで、下位の階層のゲートステップでの処理が制御されることを特徴とする。
【０００８】
本発明のデータ処理装置および方法においては、複数の予測手段の予測誤差に基づいてゲート係数が算出され、該ゲート係数が用いられて複数の予測手段の出力がそれぞれ重み付けされ、重み付けされた複数の予測手段の出力が合成されることにより時系列データが生成される。
【０００９】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段と以下の実施の形態との対応関係を明らかにするために、各手段の後の括弧内に、対応する実施の形態（但し一例）を付加して本発明の特徴を記述すると、次のようになる。但し勿論この記載は、各手段を記載したものに限定することを意味するものではない。
【００１０】
本発明のデータ処理装置は、入力される時系列データを時系列予測で予測する複数の予測手段（例えば、図１のリカレント型ニューラルネットワーク１−１乃至１−ｎ）と、複数の予測手段の予測誤差に基づいてゲート係数を算出し、該ゲート係数を用いて複数の予測手段の出力をそれぞれ重み付けする複数のゲート手段（例えば、図１のゲート２−１乃至２−ｎ）と、複数のゲート手段により重み付けされた複数の予測手段の出力を合成して時系列データとする合成手段（例えば、図１の合成回路３）とを備え、予測手段、ゲート手段、および合成手段は、階層構造とされ、上位の階層の合成手段からの時系列データの出力が下位の階層のゲート手段に入力されることにより、下位のゲート手段が制御される（例えば、図１７）ことを特徴とする。
【００１１】
図１は、本発明を適用したデータ処理装置の構成例を示している。このデータ処理装置は、例えば、ロボットなどに組み込まれるものである。そのロボットには、障害物を検出するセンサと、ロボットを移動させるために駆動されるモータ（いずれも図示せず）が具備されている。
【００１２】
ｎ個のリカレント型ニューラルネットワーク（RNN）１−１乃至１−ｎには、センサとモータの状態に対応する入力ｘtが入力されている。
【００１３】
図２は、リカレント型ニューラルネットワーク１−１の構成例を表している。なお、図示は省略するが、他のリカレント型ニューラルネットワーク１−２乃至１−ｎも、リカレント型ニューラルネットワーク１−１と同様に構成されている。
【００１４】
図２に示すように、リカレント型ニューラルネットワーク１−１は、所定の数の入力層のニューロン３１を有し、このニューロン３１に、センサの状態に対応する入力ｓtと、モータの状態に対応する入力ｍtが入力されている。ニューロン３１の出力は、中間層のニューロン３２を介して、出力層のニューロン３３に供給されるようになされている。そして、出力層のニューロン３３からは、リカレント型ニューラルネットワーク１−１のセンサの状態に対応する出力ｓt+1と、モータの状態に対応する出力ｍt+1が出力されるようになされている。また、出力の一部は、コンテキスト（context）Ｃtとして、入力層のニューロン３１にフィードバックされるようになされている。
【００１５】
リカレント型ニューラルネットワーク１−１乃至１−ｎの出力は、対応するゲート２−１乃至２−ｎを介して合成回路３に入力され、合成され、予測出力ｙt+1が出力されるようになされている。
【００１６】
学習時においては、教師信号としての目標値ｙ*t+1と、各RNN１−１乃至１−ｎの出力の誤差が、対応するゲート２−１乃至２−ｎの状態を制御するようになされている。
【００１７】
以上の下位のRNN１−１乃至１−ｎ、ゲート２−１乃至２−ｎ、および合成回路３と同様の構成が、より上位の階層にも形成されている。すなわち、上位の階層には、RNN１１−１乃至１１−ｎ、ゲート１２−１乃至１２−ｎ、および合成回路１３が設けられている。そして、RNN１１−１乃至１１−ｎには、下位の階層のゲート２−１乃至２−ｎの導通状態（開閉度）に対応するシーケンス（ゲートシーケンス）Ｇtが入力されるようになされている。そして、各RNN１１−１乃至１１−ｎからは、出力Ｇ1T+1乃至ＧnT+1が出力され、合成回路１３からは、予測出力ＧT+1が出力されるようになされている。また、学習時においては、教師信号として、目標値Ｇ*T+1が入力されている。
【００１８】
なお、図１には、２つの階層だけが示されているが、必要に応じて、さらに、より上位の階層を設けることも可能である。
【００１９】
図３は、上位の階層のRNN１１−１の構成を表している。なお、他のRNN１１−２乃至１１−ｎも、RNN１１−１と同様の構成とされている。
【００２０】
図３に示すように、RNN１１−１は、基本的に、図２に示したRNN１−１と同様に構成されており、入力層には複数のニューロン４１が、中間層には複数のニューロン４２が、そして出力層には複数のニューロン４３が配置されている。入力層には、ゲート２−１乃至２−ｎの導通状態に対応する信号ｇ1T乃至ｇnTが入力されるとともに、ゲートの導通（開放）している周期（時間）ＩTが入力される。出力層からは、これらの入力に対応して、出力ｇ1T+1乃至ｇnT+1と、ＩT+1が出力される。また、出力層の出力の一部は、コンテキストＣTとして入力層にフィードバックされている。
【００２１】
ここで、RNN１−１乃至１−ｎのアルゴリズムについて説明する。ゲートの導通状態は、ソフトマックス（soft-max）のアクティベーションファンクションを用いて、次式で示すように表される。
【００２２】
【数１】
0003922407.tif 000002
【００２３】
ここで、ｇiは、ｉ番目のゲートの導通状態に対応するゲート係数を表し、ｓiは、ｉ番目のゲートの導通状態の内部状態に対応する値を表している。従って、合成回路３の出力ｙt+1は、次式で表される。
【００２４】
【数２】
0003922407.tif 000003
【００２５】
ここで、予測学習時に最大の値となる次式で示す尤度関数を定義する。
【００２６】
【数３】
0003922407.tif 000004
【００２７】
なお、ここで、σは、スケーリングパラメータを表している。
【００２８】
学習時、RNN１−１乃至１−ｎの重み係数とゲート係数ｇは、尤度関数が最大となるように同時に更新される。認識時においては、ゲート係数だけが更新される。
【００２９】
これらの重み係数とゲート係数を更新するルールを確立するために、尤度関数の指数関数の内部変数ｓiに関する傾きと、ｉ番目のRNNの出力ｙiに関する傾きを次式のように求める。
【００３０】
【数４】
0003922407.tif 000005
【００３１】
ここで、ｇ（ｉ｜ｘt，ｙ*t+1）は、ｉ番目のRNNが入力ｘtのとき、目標出力ｙ*t+1を発生する事象後確率を意味し、次式で表される。
【００３２】
【数５】
0003922407.tif 000006
【００３３】
ここで、||ｙ*t+1−ｙjt+1||2は、現在の予測の自乗誤差を表している。
【００３４】
上記（４）式は、ｓiを更新する方向を表している。また、（５）式に示されるように、尤度関数の指数関数のｙit+1に関する傾きは、誤差条件ｙ*t+1−ｙit+1の誤差項を含んでいる。この誤差項は、ｉ番目のRNNの事象後確率により重み付けされている。
【００３５】
このように、RNN１−１乃至１−ｎの重み係数は、事象後確率にのみ比例して、ｉ番目のRNNの出力と目標値の誤差を補正するように調整される。これによりｎ個のRNNのうち、１つのエキスパートRNNだけが、与えられたトレーニングパターンを排他的に学習するようになされる。各RNNの誤差は、次式で表される。
【００３６】
【数６】
0003922407.tif 000007
【００３７】
RNN１−１乃至１−ｎの実際の学習は、上記式で得られた誤差に基づいてバックプロパゲーション法により実行される。
【００３８】
これにより、RNN１−１乃至１−ｎは、入力ｘtのうち、それぞれ他と異なる所定の時系列パターンを識別することができるエキスパートとなるように、学習が行われる。
【００３９】
以上のことは、より上位の階層におけるRNN１１−１乃至１１−ｎにおいても同様である。ただし、この場合における入力は、ゲートシーケンスＧTであり、その出力は、ＧiT+1となる。
【００４０】
このように構成したロボット５１で、図４または図５に示すようなルームＡまたはルームＢを移動させる実験を行った。図６は、図４のルームＡを２０方向の距離センサを持つロボット５１が移動した場合における２０次元の距離センサの状態の時系列的な変化を表している。図６においては、四角形の各ドットの大きさが、障害物までの距離の近さを表している（四角形が大きいほど、距離が近い）。
【００４１】
ロボット５１はルームＡとルームＢを移動し、その間に下位層を自己組織化する。さらに、下位の階層のネットワークにおける自己組織化を調べるために、図７に示すように、異なる形状のルームＣとルームＤが、ドア５２を介して連結されている空間を、ロボット５１に移動させる実験を行った。なお、ロボット５１の各階層のRNN１−１乃至１−ｎとRNN１１−１乃至１１−ｎの数は、それぞれ５個（ｎ＝５）とされている。
【００４２】
図８は、ロボット５１がルームＣを移動した場合のモータへの入力（実線）と、５個のゲートの変化を表している。同様に、図９は、ロボット５１がルームＤを移動した場合のモータの入力と、各ゲートの変化を表している。
【００４３】
図８に示すように、ルームＣにおいては、ゲート２−２は、ロボット５１が直進するとき開閉度が高くなり、ゲート２−５は、ロボット５１が分岐点を通過するとき開閉度が高くなり、ゲート２−１は、ロボット５１が左方向に曲がるとき開閉度が高くなる。図７に示すように、ルームＣにおいては、ロボット５１は、最初に直進するのでゲート２−２が先ず開放し、次に、分岐点を通過するのでゲート４が開放し、次に、左方向に曲がるのでゲート２−１が開放し、さらに、直進するのでゲート２−２が開放し、また、左方向に曲がるのでゲート２−１が開放し、直進するのでゲート２−２が開放し、左に曲がるのでゲート２−１が開放し、さらに、直進するのでゲート２−２が開放をする。以上により、ロボット５１がルームＣを１周したことになる。
【００４４】
従って、この場合は、RNN１−１が左に曲がるパターンを記憶し、RNN１−２が直進するパターンを記憶し、RNN１−５が分岐点のパターンを記憶していることになる。
【００４５】
一方、図９に示すように、ルームＤにおいては、ゲート２−１とゲート２−２は、図８におけるルームＣの場合と同様に、それぞれ左へ曲がる場合、または直進する場合にそれぞれ開放し、ゲート２−４は、右に曲がる場合に開放する。従って、RNN１−４は、右に曲がる場合のパターンを記憶していることになる。
【００４６】
図１０は、上位の階層のゲート１２−１乃至１２−５の開放状態を表している。同図に示すように、ルームＣにおけるロボット５１の移動は、ゲート１２−２とゲート１２−４の開放の繰り返しとして認識され、ルームＤにおける移動は、ゲート１２−５の開放として認識されている。
【００４７】
このように、より上位の階層のRNN１１−１乃至１１−ｎでは、ルーム単位の識別も可能となる。
【００４８】
図１１は、各ゲートの開放している周期ＩT（実線）と予測誤差（破線）の変化を表している。ルームＣからルームＤに、ステップＳ３６で移動するとき、予測誤差が大きくなっているが、それより前、あるいはそれより後においては、予測誤差の値は小さくなっている。
【００４９】
上位の階層のRNN１１−１乃至１１−ｎで、ゲート係数の時系列を学習させる場合、ゲート係数の時系列データは滑らかに変化するので、その特徴を抽出し、学習させてもよい。また、ゲートの開放する時間を学習させるようにしてもよい。
【００５０】
例えば、ゲート１２−１乃至１２−３の開閉度が、図１２に示すように、時間の経過にともなって変化するとき、、各ゲートのうち、１つのゲートがウィナーとなったとき、そのウィナーとなっている時間をテーブルに表すと、図１３に示すようになる。同図に示すように、ステップＳ１においては、ゲート１２−１がウィナーとなり、その時間は２０秒である。また、ステップＳ２において、ゲート１２−２がウィナーとなり、その時間は３０秒であり、ステップＳ３においては、ゲート１２−３がウィナーとなり、その継続時間は４０秒である。
【００５１】
この図１３のデータは、図１４に示すように、正規化して表すことができる。同図において、ゲートのウィナーは１．０で表され、時間は、単位時間（１００秒）に対する割合として示されている。
【００５２】
このような絶対時間または正規化した時間を学習させるようにしてもよい。
【００５３】
上記実施の形態においては、RNNを用いて、時系列データのパターンを判定（記憶）するようにしたが、例えば、図１５に示すように、RNN１−１乃至１−ｎに代えて、回帰型多変量解析の処理を行うモジュール６１−１乃至６１−ｎを用いるようにしてもよい。すなわち、モジュール６１−ｉは、次式を演算する。
【００５４】
【数７】
0003922407.tif 000008
【００５５】
ここで、ｆは非線形関数であり、Ｗは所定の係数である。
【００５６】
例えば、ｘt+1＝ａｘ2t＋ｂｘt＋ｃの式で表すこともできる。この場合、ａ，ｂ，ｃが、係数Ｗに対応する。
【００５７】
あるいはまた、各モジュールの行う演算式を（９）式のように、差分方程式で表したり、（１０）式で示すように、微分方程式で表現することもできる。
【００５８】
【数８】
0003922407.tif 000009
【数９】
0003922407.tif 000010
【００５９】
以上の実施の形態においては、時系列に出力されるロボットのデータを処理する場合を例として説明したが、例えば、図１６に示すように、時々刻々と変化する楽音信号を、各パターンＰ１，Ｐ２，Ｐ１，Ｐ３，Ｐ２のように、自動的に順次文節化することができる。すなわち、上記した各RNN１−１乃至１−ｎが、これらのパターンＰ１，Ｐ２，Ｐ３，・・・をそれぞれ選択的に記憶し、入力される時系列データから記憶したパターンを検出したとき、検出信号を対応するゲートを介して出力することになる。このようにして、例えば、音楽の所定のフレーズを学習し、これを検出することが可能となる。
【００６０】
また、以上の原理を利用して、楽音信号を合成することも可能である。図１７は、この場合の構成例を表している。
【００６１】
すなわち、同図に示すように、この構成例においては、合成回路３の出力が、RNN１−１乃至１−ｎに帰還されている。また、上位の階層においても、合成回路１３の出力が、RNN１１−１乃至１１−ｎに帰還されている。そして、下位のゲート２−１乃至２−ｎは、上位の階層の合成回路１３の出力で、その開閉度が制御される。RNN１−１乃至１−ｎ，１１−１乃至１１−ｎに所定のパターンを記憶させることで、例えば、図１６に示したパターンＰ１をRNN１−１に発生させ、パターンＰ２をRNN１−２に発生させ、パターンＰ３をRNN１−３（図示せず）に発生させることができる。いずれのパターンを発生させるかは、上位の階層のゲートシーケンスで制御される。
【００６２】
この図１７の構成をロボットに応用すれば、そのロボットは、実際に移動を行わなくても、移動を連想することができることになる。
【００６３】
本発明は、このほか、例えば、人間の動きを学習し、コンピュータシステム上のエージェントに学習させ、同一の動きを生成する場合にも、応用することが可能である。
【００６４】
なお、上記したような処理を行うコンピュータプログラムをユーザに伝送する伝送媒体としては、磁気ディスク、CD-ROM、固体メモリなどの記録媒体の他、ネットワーク、衛星などの通信媒体を利用することができる。
【００６５】
【発明の効果】
以上の如く、データ処理装置および方法によれば、入力される時系列データを時系列予測で予測し、その予測誤差に基づいてゲート係数を算出し、そのゲート係数を用いて予測手段からの出力を重み付けし、重み付け後の予測手段からの出力を合成するようにしたので、時系列データのパターンを時間方向に文節化し、検出処理することが可能となる。
【図面の簡単な説明】
【図１】本発明のデータ処理装置の構成例を示すブロック図である。
【図２】図１のRNN１−１の構成例を示す図である。
【図３】図１のRNN１１−１の構成例を示す図である。
【図４】ロボットの移動するルームの例を示す図である。
【図５】ロボットの移動するルームの例を示す図である。
【図６】ロボットの移動に対応して発生する時系列のデータを示す図である。
【図７】ロボットの移動するルームの例を示す図である。
【図８】ロボットが図７のルームＣを移動した場合のゲートの変化を示す図である。
【図９】ロボットが図７のルームＤを移動した場合のゲートの変化を示す図である。
【図１０】ロボットが図７のルームＣとルームＤを移動した場合の上位の階層のゲートの開閉度の変化を示す図である。
【図１１】ロボットが図７のルームＣとルームＤを移動した場合のゲートの開放している時間の周期の変化と予測誤差の変化を示す図である。
【図１２】ゲートの開閉度の変化を示す図である。
【図１３】図１２の開放しているゲートとその開放時間の対応関係を表す図である。
【図１４】図１３の対応関係を正規化した状態を示す図である。
【図１５】本発明のデータ処理装置の他の構成例を示す図である。
【図１６】音声データの変化を示す図である。
【図１７】本発明のデータ処理装置のさらに他の構成例を示すブロック図である。
【符号の説明】
１−１乃至１−ｎ  リカレント型ニューラルネットワーク，  ２−１乃至２−ｎ  ゲート，  ３  合成回路，  １１−１乃至１１−ｎ  リカレント型ニューラルネットワーク，  １２−１乃至１２−ｎ  ゲート，  １３  合成回路
【図１】
0003922407.tif 000011
【図２】
0003922407.tif 000012
【図３】
0003922407.tif 000013
【図４】
0003922407.tif 000014
【図５】
0003922407.tif 000015
【図６】
0003922407.tif 000016
【図７】
0003922407.tif 000017
【図８】
0003922407.tif 000018
【図９】
0003922407.tif 000019
【図１０】
0003922407.tif 000020
【図１１】
0003922407.tif 000021
【図１２】
0003922407.tif 000022
【図１３】
0003922407.tif 000023
【図１４】
0003922407.tif 000024
【図１５】
0003922407.tif 000025
【図１６】
0003922407.tif 000026
【図１７】
0003922407.tif 000027