説明

情報処理装置および方法、並びにプログラム

【課題】認識生成処理によって出力される信号の不連続性を抑制することができるようにする。
【解決手段】認識部111は、特徴抽出部13から供給される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを、ダイナミクス記憶ネットワークのノードから決定し、その決定された勝者ノードを表す情報を認識結果17として出力する。認識部111は、勝者ノードの切替によって生じる出力信号の不連続性を抑制するようにして、勝者ノードを決定する。本発明は、例えば、時系列データを認識生成する情報処理装置に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、認識生成処理によって出力される信号の不連続性を抑制することができるようにする情報処理装置および方法、並びにプログラムに関する。
【背景技術】
【0002】
ロボットの行動(運動)は、時間発展法則により定められる力学系(dynamical systems)として記述することができ、様々な行動はその力学系がある特定のアトラクタダイナミクス(attractor dynamics)によって実現可能であることが知られている。
【0003】
例えば、人間のような二足型ロボットの歩行運動は、系の運動状態が様々な初期状態からある特定の周期軌道に落ち着くことを特徴とするリミットサイクルダイナミクス(limit cycle dynamics)として記述することができる(例えば、非特許文献1,2参照)。また、アームロボットがある対象物に対して手先を伸ばすようなリーチング運動は、様々な初期状態からある特定の固定点に落ち着くことを特徴とする不動点ダイナミクス(fixed-point dynamics)として記述することができる。さらに、全ての運動は、不動点ダイナミクスで実現可能な離散運動(discrete movement)とリミットサイクルダイナミクスで実現可能な周期運動(cyclic movement)の組み合わせにより実現可能であるとも言われている。
【0004】
このアトラクタダイナミクスによってロボットの行動(運動)を制御する場合の問題は、まず、タスクに応じたアトラクタダイナミクスをどのように構成するのか、次に、センサ入力を通じて得た情報に基づいて、アトラクタダイナミクスに従いながら、対応するモータ出力を生成することであり、これを実現するためには、アトラクタダイナミクスが環境と連続的に相互作用するかたちでロボットの行動出力を生成する必要がある。
【0005】
こうしたアトラクタダイナミクスを人間が設計するのではなく、学習する方法が提案されている。その方法の1つに、リカレントニューラルネットワーク(recurrent neural network)(以下、RNNという)を利用する方法がある。RNNは、ネットワークに回帰ループで結合されるコンテキストユニットを持ち、そこに内部状態を保持することによって、理論的には、任意の力学系を近似可能であることが知られている。
【0006】
しかしながら、密結合した1つのネットワークモジュールで構成される学習モデルでは、大規模な行動学習に必要な多数のダイナミクスの学習をする際に、記憶しようとするダイナミクス間の干渉が非常に大きく、学習が困難であるという問題がある。
【0007】
そこで、複数のネットワークモジュールを組にして1つの学習モデルを構成するモジュラアーキテクチャ(modular architecture)を採用した学習モデルがいくつか提案されている。このモジュラアーキテクチャでは、原理的には、モジュールを増やすことによって記憶できるダイナミクスを容易に増やすことができるが、与えられた学習サンプルをどのモジュールで学習するかを決定するモジュール選択の問題が生じる。
【0008】
また、外部入力に対する行動出力や運動出力の信号を生成する認識生成処理において、どのモジュールを使って行動出力や運動出力の信号を生成するかという、モジュール選択問題も生じる。
【0009】
前者の問題に対しては、リカレントニューラルネットワーク(recurrent neural network、以下RNN)をモジュールとした、モジュール学習の方法の一つであるMixture of RNN Expertという学習モデルが提案されている(例えば、特許文献1参照)。この学習モデルでは、複数のRNNモジュールの出力をゲート機構により統合して最終的な出力を決定し、その最終的な出力の性能が最大化するように最尤推定法(maximum likelihood estimation)によりゲートを調整しながら各RNNモジュールの学習を行う。
【0010】
しかしながら、このような全体最適化に基づく方法では、モジュールの数が大規模になった場合に、学習が困難になるという問題がある。
【0011】
これに対して、ベクトルパターンのカテゴリ学習に用いられる自己組織化マップ(self-organization map)(以下、SOMという)(例えば、非特許文献1参照)などの方法では、全体最適化に基づく学習則を用いずに、最適性は保証されないが、適切なカテゴリ構造を自己組織的に教師なし学習することが可能であることが知られている。
【0012】
【特許文献1】特開平11−126198号公報
【非特許文献1】T.コホネン、「自己組織化マップ」、シュプリンガー・フェアラーク東京
【発明の開示】
【発明が解決しようとする課題】
【0013】
本出願人は、このSOMを導入し、SOMの各ノードにRNNモジュールを採用し、自己組織的に外部入力に対し適切なRNNモジュールを選択し、RNNのパラメータ学習を行う技術を先に提案している(特願2006−021804号)。
【0014】
この提案した技術によれば、モジュールの数が大規模になった場合でも、ダイナミクスの学習が実用的に可能となる。また、外部入力に対して最も予測誤差の少ない出力が可能なRNNモジュールを選択し、行動出力や運動出力を行うことで外部入力に対して認識生成処理を行うことができる。
【0015】
しかしながら、例えば、外部入力のダイナミクスが切り替わると、予測誤差の少ない出力が可能なRNNモジュールもそれに応じて切り替わることとなり、この切り替えの前後で、出力される信号が不連続になってしまうことがある。
【0016】
また、RNNモジュールの切り替え時以外においても、まだ学習していないような未知状態下での信号も入力されるため、認識生成処理後に出力される信号が不連続になってしまうことがある。
【0017】
本発明は、このような状況に鑑みてなされたものであり、認識生成処理によって出力される信号の不連続性を抑制することができるようにするものである。
【課題を解決するための手段】
【0018】
本発明の一側面の情報処理装置は、ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークを記憶する記憶手段と、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定する勝者ノード決定手段と、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する抑制手段とを備える。
【0019】
前記抑制手段には、前記勝者ノードの切替を抑制することにより、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制させることができる。
【0020】
前記勝者ノードは、前記ノードが持つスコアによって決定され、前記抑制手段には、現時点の前記ノードのスコアに、その1つ前に得られた前記ノードのスコアの影響を残すことにより、前記勝者ノードの切替を抑制させることができる。
【0021】
前記勝者ノードは、前記ノードが持つスコアによるノードの順位によって決定され、前記抑制手段には、現時点の前記ノードの順位に、その1つ前に得られた前記ノードの順位の影響を残すことにより、前記勝者ノードの切替を抑制させることができる。
【0022】
前記勝者ノードが第1のノードから第2のノードに切替わった場合、前記抑制手段には、切替発生から所定時間の間、前記第1のノードの前記出力信号と、前記第2のノードの前記出力信号とを線形補間することにより、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制させることができる。
【0023】
本発明の一側面の情報処理方法は、ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークから、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定し、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制するステップを含む。
【0024】
本発明の一側面のプログラムは、ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークから、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定し、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制するステップを含む処理をコンピュータに実行させる。
【0025】
本発明の一側面においては、ダイナミクスが1つのノードに保持され、複数のノードによって構成されるネットワークから、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードが決定され、勝者ノードの切替によって生じる出力信号の不連続性が抑制される。
【発明の効果】
【0026】
本発明の一側面によれば、認識生成処理によって出力される信号の不連続性を抑制することができる。
【発明を実施するための最良の形態】
【0027】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0028】
本発明の一側面の情報処理装置(例えば、図5の情報処理装置101)は、ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークを記憶する記憶手段(例えば、図5のネットワーク記憶部15)と、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定する勝者ノード決定手段(例えば、図6の勝者ノード決定部73)と、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する抑制手段(例えば、図6の重みスコア計算部121や図11のノード切替スムージング部223)とを備える。
【0029】
本発明の一側面の情報処理方法またはプログラムは、ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークから、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定し(例えば、図7のステップS15)、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する(例えば、図7のステップS13や図14のステップS58の処理)ステップを含む。
【0030】
以下、図を参照して、本発明の実施の形態について説明する。
【0031】
最初に、本発明の実施の形態を説明する前に、本発明を適用する情報処理装置の元となる装置について簡単に説明する。
【0032】
図1は、本発明を適用する情報処理装置の元となる装置の構成例を示すブロック図である。
【0033】
図1の情報処理装置1は、力学系を近似するモデルである力学系近似モデルのうちの、内部状態量を持つ力学系近似モデルを1つのノードとするダイナミクス記憶ネットワークを記憶するネットワーク記憶部15と、そのダイナミクス記憶ネットワークのパラメータを自己組織的に更新する学習部14とを含む。
【0034】
ダイナミクス記憶ネットワークの各ノードには、時系列データの力学的な特性がダイナミクスとして保持される。学習部14によって更新されたパラメータによって定義される、ダイナミクス記憶ネットワークのノードに保持されたダイナミクスは、時系列データの認識や生成のために利用される。
【0035】
情報処理装置1は、例えばロボットなどの制御信号の認識や生成に利用される。情報処理装置1は、特に、自律システムや自律型ロボットなどにおいて、時系列データとしてのセンサおよびモータの入出力信号を学習し、その学習結果に基づき、センサおよびモータの信号を認識および生成する。そういう意味で、情報処理装置1は、ダイナミクス認識生成装置であると言うことができる。
【0036】
情報処理装置1では、情報処理装置1に入力される信号と、情報処理装置1が出力する信号の両方が、観測される信号である観測信号11として、信号入力部12に入力される。観測信号11は、例えば音声や画像の信号、LED(Light Emitting Diode)の明るさを表す信号、モータの回転角度や回転角速度を表す信号などである。
【0037】
信号入力部12は、入力される観測信号11に対応する電気信号を、特徴抽出部13に出力する。具体的には、信号入力部12は、観測信号11が音声の信号である場合、例えばマイクロフォンに対応し、画像信号である場合、例えばカメラに対応する。また、観測信号11がモータの回転角度や回転速度を表す信号である場合、信号入力部12は、例えばモータの回転角度や回転速度を計測する計測装置に対応する。
【0038】
なお、以下では、信号入力部12に入力される信号だけでなく、信号入力部12が出力する信号も、観測信号11という。また、観測信号11は、定常信号であっても、時間的に変化する非定常信号であってもよい。
【0039】
さらに、以下では、主にロボットシステムにおけるセンサモータ信号を、観測信号11の例として説明する。このセンサモータ信号は、例えば、センサが出力する信号や、モータに入力されるモータを制御する制御信号をコンポーネントとするベクトルである。勿論、観測信号11は、センサモータ信号に限定されるものではない。
【0040】
また、信号入力部12は、区間検出装置などを含み、センサモータ信号を所定の区間で区切って出力するものとする。なお、信号入力部12からは、適当な長さに区切られたセンサモータ信号が出力されればよく、その区切り方は、特に限定されない。従って、入力されるセンサモータ信号に応じて、最も良い方法で適当な長さに区切られたセンサモータ信号が、観測信号11として、信号入力部12から出力されればよい。
【0041】
特徴抽出部13は、信号入力部12から出力された観測信号11から、特徴量を時系列に抽出する。例えば、特徴抽出部13は、センサ信号の1つである音声信号に対して、一定時間間隔で周波数分析などの処理を施し、メルケプストラムなどの特徴量を時系列に抽出する。ここで、メルケプストラムとは音声認識などで広く利用されている特徴量である。
【0042】
特徴抽出部13は、観測信号11から特徴量を時系列に抽出することにより得た特徴量の時系列データ(以下、単に、時系列データという)を、学習部14、認識部16、および生成部19に供給する。
【0043】
学習部14は、特徴抽出部13から供給される時系列データを用いて、ネットワーク記憶部15に記憶されているダイナミクス記憶ネットワークのパラメータ更新を行う。ここで行われるパラメータ更新のことを学習と呼ぶ場合がある。
【0044】
学習部14は、ラベルの付与されていない時系列データが繰り返し与えられると、その時系列データの中の特徴的なダイナミクスを自己組織的に獲得していく教師なし学習を実行する。その結果、ネットワーク記憶部15に記憶されるダイナミクス記憶ネットワークには、代表的なダイナミクスが効率的に保持される。その保持されたダイナミクスは、認識部16や生成部19が、必要に応じて、いつでも利用することができるようになされている。
【0045】
ここで、ダイナミクスは、時間変化する力学系を表すものであり、例えば、具体的な関数によって表現することができる。ダイナミクス記憶ネットワークでは、時系列データの時間変化の特徴が、ダイナミクスとして保持される。
【0046】
認識部16は、特徴抽出部13から供給される時系列データに対して、それまでの学習の結果得られたダイナミクス記憶ネットワークの各ノードに保持されるダイナミクスを照らし合わせ、最も類似したダイナミクスであるノードを決定し、その決定されたノードを表す情報を認識結果17として出力する。この最も類似したダイナミクスであるノードを決定(認識)する処理が、認識部16による認識処理である。なお、認識処理では、認識部16は、内部状態記憶部21に記憶されている内部状態量(内部状態)を初期値として読み込むとともに、認識処理によって更新された内部状態量を内部状態記憶部21に記憶させる。
【0047】
一方、ダイナミクス記憶ネットワークのノードに保持されたダイナミクスからは、必要に応じて、時系列データを生成することができるようになされている。生成部19は、時系列データを生成する生成処理を行う。
【0048】
具体的には、生成部19は、どのノードから時系列データを生成するかを指定する制御信号18を取得する。生成部19は、制御信号18、特徴抽出部13から供給される時系列データ、内部状態記憶部21に記憶されている内部状態量の初期値、およびダイナミクス記憶ネットワークに基づき、指定されたノードから時系列データを生成する。そして、生成部19は、その時系列データを生成結果20として出力する。
【0049】
内部状態記憶部21は、ダイナミクス記憶ネットワークの各ノードの内部状態量を保持する。内部状態記憶部21に記憶された内部状態量は、例えば、認識部16によって更新され、生成部19によって生成処理に利用される。
【0050】
情報処理装置1では、ダイナミクス記憶ネットワークを用いて、入力された観測信号11から認識結果17を出力する認識処理と、ダイナミクス記憶ネットワークを用いて、入力された制御信号18から生成結果20を出力する生成処理とを、それぞれ独立に行うこともできるし、認識処理により出力される認識結果17を用いて時系列データを生成する生成する(認識生成処理を行う)こともできる。この場合、ノードを表す情報である認識結果17が、どのノードから時系列データを生成するかを指定する制御信号18として利用される。
【0051】
認識生成処理によれば、例えば、人がロボットに呼びかける音声を発した場合に、そのロボットにおいて、その呼びかけに応じた動きをとるためのモータ信号や、その呼びかけに応答する合成音を生成するためのパラメータ信号等が生成される。
【0052】
図2は、図1のネットワーク記憶部15に記憶されるダイナミクス記憶ネットワークの例を示している。
【0053】
図2のダイナミクス記憶ネットワーク41では、ノード51−1乃至51−9が2次元的に配置され、縦方向および横方向に隣接するノード間にリンクが与えられている。なお、以下では、ノード51−1乃至51−9を特に区別する必要がない場合、単にノード51という。
【0054】
ノード51は、上述したように、力学系を近似するモデルである力学系近似モデルのうちの、内部状態量を持つ力学系近似モデルを表している。
【0055】
ここで、内部状態量を持つ力学系近似モデルとしては、例えば三層型ニューラルネットワーク(NN)の出力層から入力層への回帰ループを持つRNNなどを用いることができ、この場合、内部状態としては、例えば、RNNの出力層から入力層にフィードバックされるコンテキストがある。RNNでは、時系列データにおける時刻Tの状態ベクトルXTを入力し、時刻T+1の状態ベクトルXT+1を予測して出力することを学習(予測学習、prediction learning)することにより、対象となる時系列データの時間発展法則を学習することができる。
【0056】
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等に記載されている。
【0057】
また、内部状態量を持つ力学系近似モデルでは、学習データの力学的な特性が学習されるが、その学習に使われる学習データは、特徴抽出部13から供給される時系列データであり、ノード51の、内部状態量を持つ力学系近似モデルは、時系列データの時系列パターンをダイナミクスとして学習する。
【0058】
リンクは、空間上にノード51が配置される構造を与えるために利用される。即ち、図2のダイナミクス記憶ネットワーク41は、2次元的なノードの配置構造を与えたダイナミクス記憶ネットワークの例である。図2に示すように、リンクによって与えられる空間的なノード51の配置構造に基づき、ノード51どうしの空間上での距離関係が決定される。
【0059】
例えば、図2では、あるノード51に着目したとき、その着目したノード51である着目ノードとリンクで直接結合された、着目ノードに隣接するノードは、着目ノードとの距離が最も近く、その隣接するノードである隣接ノードから先のリンクを順にたどっていくことで到達するノード51は、着目ノードとの距離が少しずつ遠くなっていく。
【0060】
図2以外にも、リンクの構成の仕方によって、ノード51の空間上における配置構造を変化させることができ、その配置構造はリンクを使うことで任意に設定できる。また、リンクを持たないダイナミクス記憶ネットワークも設定可能である。
【0061】
図3は、図1の認識部16と生成部19の詳細な構成例を示すブロック図である。
【0062】
認識部16は、内部状態量更新部71、スコア計算部72、勝者ノード決定部73、および認識結果出力部74により構成される。生成部19は、生成ノード決定部81、内部状態読み込み部82、時系列データ生成部83、および生成結果出力部84により構成される。
【0063】
内部状態量更新部71は、内部状態記憶部21から前回更新されて記憶されている内部状態量をダイナミクス記憶ネットワーク41のノード51の力学系近似モデルへ読み込む。これにより、ノード51の力学系近似モデルにおいて、入力となる時系列データに基づいて、内部状態量更新部71が読み込んだ値を初期値として、内部状態量を更新することが可能となる。
【0064】
また、認識部16において、スコア計算部72は、入力された時系列データに基づき、力学系近似モデルの内部状態量を更新しながら、スコア計算を行う。スコア計算部72によるスコア計算の結果、ノード51にはスコアが付与される。上述したように、内部状態量を持つ力学系近似モデルがRNNで与えられる場合には、例えば、予測出力の平均二乗誤差の逆数がスコアとして利用される。
【0065】
勝者ノード決定部73は、最もスコアの良い(最もスコアの高い)ノード51を勝者ノードとして決定する。即ち、この最もスコアの良いノード(勝者ノード)51に保持されたダイナミクスが、入力された時系列データに最も適合するダイナミクスとして選択される。
【0066】
認識結果出力部74は、勝者ノード決定部73においてどのノード51が選択されたかという情報を認識結果17として出力する。
【0067】
なお、内部状態記憶部21では、勝者ノードが決定されたときの内部状態量の更新値(更新された内部状態量)と、その勝者ノードが決定されたときの内部状態量の初期値が、内部状態量更新部71により再び記憶される。内部状態記憶部21に記憶された内部状態量の更新値は、認識部16での次回のスコア計算に利用される。
【0068】
認識結果出力部74が出力する認識結果17が、制御信号18として、生成部19の生成ノード決定部81に供給される。そして、生成ノード決定部81は、この制御信号18に基づき、時系列データを生成すべきノード(生成ノード)を決定する。つまり、認識部16の認識処理において決定された勝者ノードが生成ノードに決定される。
【0069】
生成部19では、認識部16の認識処理において決定された勝者ノードから時系列データが生成される。
【0070】
即ち、内部状態読み込み部82は、生成ノードとなったノード51の力学系近似モデルに内部状態記憶部21の記憶値を、内部状態量の初期値として読み込む。より具体的には、内部状態読み込み部82は、内部状態記憶部21の記憶値のうちの、生成ノードが認識部16において勝者ノードに決定されたときの内部状態量の初期値を読み出し、生成ノードとなったノード51の力学系近似モデルの内部状態量の初期値にセットする。
【0071】
時系列データ生成部83は、特徴抽出部13(図1)で抽出された特徴量の時系列データを読み込み、その時系列データと、内部状態読み込み部82によって内部状態量の初期値がセットされた生成ノードの力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。時系列データ生成部83で生成された時系列データは、生成結果出力部84から生成結果20として出力される。
【0072】
ここで、ダイナミクス記憶ネットワーク41で学習されるダイナミクスの数は、ダイナミクス記憶ネットワーク41のノード数と一致するので、そのノード数に応じた時系列データを認識し、その認識結果に応じて、時系列データを生成することが可能となる。
【0073】
以上のように構成される情報処理装置1をロボットに実装し、ロボットのアーム部や脚部などの動きを制御するアクチュエータのモータ信号の時系列データを学習させた後、その学習結果に基づいて認識生成処理させた場合、認識生成処理により出力される時系列データが不連続なものとなり、その結果、ロボットが急激に姿勢を変えたり、過電流などのハードウエア的な問題を引き起こすことがあった。
【0074】
そこで、そのような現象が生じる原因として、アクチュエータへのモータ信号(時系列データ)の出力を担当するノード51の切替が起こっているか否か、即ち、勝者ノードの切替が起こっているか否かについてと、情報処理装置1に入力された時系列データが学習済みの時系列パターン(時系列データのパターン)であるか、および、時系列パターンの遷移が起こっているか否かについての2点に注目して不連続な信号(時系列データ)の生成状況の分析を行った。
【0075】
ここで、情報処理装置1に入力された時系列データが学習済みの時系列パターンであるか、および、時系列パターンの遷移が起こっているか否かとは、言い換えれば、入力される時系列データから観測されるロボットの状態(環境)が既知の状態であるのか、または未知の状態であるのか、および、既知から未知(未知から既知)への状態の遷移(切替)が発生しているのかということである。ここで、ロボットの状態(環境)とは、視覚センサなどにより得られる周囲の状況と、アクチュエータのモータ信号などのロボット自身の状態との両方を含む。さらに別の言い方をすれば、情報処理装置1に入力された時系列データが学習済みの時系列パターンであるか、および、時系列パターンの遷移が起こっているか否かとは、ロボットに学習させたタスク(行動)であるのか否か、および、タスクの切替が起こっているのか否かということができる。
【0076】
図4は、不連続な信号(時系列データ)の生成状況を分析した分析結果を示している。
【0077】
図4の行は、ロボットの状態が既知の状態であるのか、または未知の状態であるのか、および、既知から未知(未知から既知)への状態の遷移(切替)が発生しているのかについて場合分けしている。想定される場合としては、図4に示されるように、上の行から順に、所定の既知の状態(例えば、既知1の状態)のまま、状態の遷移が発生していない(既知1から既知1への状態)場合、既知1の状態から、その他の既知の状態(例えば、既知2の状態)に、状態が遷移している(既知1から既知2への状態)場合、既知の状態(例えば、既知1の状態)から未知の状態に、状態が遷移している(既知1から未知への状態)場合、未知の状態(例えば、未知1の状態)から既知の状態に、状態が遷移している(未知1から既知への状態)場合、所定の未知の状態(例えば、未知1の状態)のまま、状態の遷移が発生していない(未知1から未知1への状態)場合、および、所定の未知の状態(例えば、未知1の状態)からその他の未知の状態(例えば、未知2の状態)に、状態が遷移している(未知1から未知2への状態)場合がある。
【0078】
また、図4の列は、勝者ノード(生成ノード)の切替が起こっているか否かについての場合分けを示しており、勝者ノードの切替が有る場合と、勝者ノードの切替がない場合の2通りが考えられる。
【0079】
図4では、上述した各場合の全ての組み合わせについて不連続な信号(時系列データ)の生成状況を分析し、その結果を、不連続な信号が生成されることが多い場合を“A”とし、不連続な信号が生成されることが少ない場合を“B”とし、不連続な信号が生成されることが無い(ほとんど無い)場合を“C”として表している。
【0080】
なお、図4において、状態の遷移が既知1から既知2への状態で、ノード切替が無い場合については“D”で表しているが、この組み合わせの状況は起こることがない(ほとんどない)ため今回の分析の対象外とした。なぜなら、情報処理装置1のダイナミクス記憶ネットワーク41では、基本的に、所定の既知の状態(タスク)それぞれが1つのノード51に学習されるようになされているため、既知1から既知2へ状態が遷移していてノードの切替が発生していないということは起こり得ないためである。
【0081】
図4で示される分析の結果では、ノード切替が有る場合は、既知1から既知2への状態のときが、不連続な信号が生成されることが少ない(“B”で示されている)以外は、既知1から既知2への状態、既知1から未知への状態、未知1から既知への状態、未知1から未知1への状態、および未知1から未知2への状態のいずれのときも、不連続な信号が生成されることが多い(“A”で示されている)。
【0082】
一方、ノード切替が無い場合は、既知1から既知1への状態のときが、不連続な信号が生成されることは無く(“C”で示されており)、既知1から未知への状態、未知1から既知への状態、および未知1から未知2への状態のときが、不連続な信号が生成されることが多く(“A”で示されており)、未知1から未知1への状態のときが、不連続な信号が生成されることが少ない(“B”で示されている)。
【0083】
そこで、本発明では、図4の分析結果において、不連続な信号が生成されることがあると結論付けられたAおよびBで示されている組み合わせについて対策を施す。より具体的には、以下に述べる本発明を適用した情報処理装置において、図4の二重線で囲まれている、ノード切替有りで、すべての状態遷移に有効な第1の対策、図4の点線で囲まれている、ノード切替有りで、すべての状態遷移に有効な第2の対策、図4の一点鎖線で囲まれている、ノード切替に関係なく、未知の状態の継続時に有効な第3の対策、および、図4の実線で囲まれている、ノード切替に関係なく、既知から未知または未知から既知への状態遷移時に有効な第4の対策を実行する。
【0084】
図5は、本発明を適用した情報処理装置の第1の実施の形態の構成例を示すブロック図である。この第1の実施の形態は、上述した第1の対策を行う実施の形態である。
【0085】
即ち、図5の情報処理装置の第1の実施の形態では、状態遷移がどのようであるかに関わらず、ノードが切替わったときに発生する不連続な信号を抑制する機能を、図1の情報処理装置1に対して追加する。
【0086】
なお、図5において、図1の情報処理装置1と対応する部分については同一の符号を付してあり、その説明は適宜省略する。
【0087】
図5の情報処理装置101は、認識部16に代えて、認識部111が設けられている点において、図1の情報処理装置1と相違する。
【0088】
認識部111は、認識部16と同様に、特徴抽出部13から供給される時系列データに対する勝者ノードを決定し、その勝者ノードを表す情報を認識結果17として出力する。但し、認識部111は、ノイズ的なノード切替を抑制する機構が実装されている点が認識部16と相違する。
【0089】
図6は、認識部111の詳細な構成例を示すブロック図である。
【0090】
なお、図6において、図3の認識部16と対応する部分については同一の符号を付してあり、その説明を省略する。
【0091】
図6の認識部111は、内部状態量更新部71、スコア計算部72、勝者ノード決定部73、認識結果出力部74、重みスコア計算部121、およびスコア記憶部122により構成されている。
【0092】
即ち、認識部111は、内部状態量更新部71、スコア計算部72、勝者ノード決定部73、および認識結果出力部74を有する点において、図3の認識部16と共通し、重みスコア計算部121およびスコア記憶部122を有する点において図3の認識部16と相違する。
【0093】
重みスコア計算部121には、認識部111に供給された時系列データに対するダイナミクス記憶ネットワーク41のノード51のスコアが、スコア計算部72から供給される。ここで、ステップ(時刻)tsの時系列データに対して計算されたノード51のスコアをS(ts)とすると、重みスコア計算部121は、ステップtsの重みスコアS’(ts)を、次式(1)により求める。
【0094】
【数1】

【0095】
式(1)において、αは、0≦α≦1の定数であり、ステップtsのスコアS(ts)に、1つ前のステップts−1の重みスコアS’(ts−1)をどれくらいの割合で足し合わせるかを決定する重み係数である。なお、S’(0)は、例えば、0である。
【0096】
式(1)によれば、ノード51の重みスコアS’(ts)が、ステップtsのスコアS(ts)と、1つ前のステップts−1の重みスコアS’(ts−1)との重み付け和で求められる。また、式(1)は、ノード切替に対して一種のローパスフィルタリングを導入していると言うこともできる。
【0097】
重みスコア計算部121は、スコア記憶部122からステップts−1の重みスコアS’(ts−1)を取得して、ノード51のステップtsの重みスコアS’(ts)を計算し、勝者ノード決定部73とスコア記憶部122に供給する。
【0098】
スコア記憶部122は、重みスコア計算部121から供給される重みスコアS’(ts)を、そこに記憶されている1ステップ前の重みスコアS’(ts−1)に上書き記憶する。即ち、スコア記憶部122は、重みスコア計算部121による重みスコアの計算で使用される、求める重みスコアのステップより1ステップ前の重みスコアを記憶する。
【0099】
勝者ノード決定部73は、重みスコア計算部121から供給されるノード51の重みスコアS’(ts)のうち、最もスコアS’(ts)の良いノード51を勝者ノードとして決定する。そして、決定された勝者ノードを表す情報が、認識結果17として認識結果出力部74から出力される。
【0100】
次に、図7のフローチャートを参照して、図6の認識部111による認識処理について説明する。
【0101】
ステップtsに、特徴抽出部13から時系列データが供給されると、ステップS11において、内部状態量更新部71は、内部状態記憶部21から前回更新されて記憶されている内部状態量を初期値としてダイナミクス記憶ネットワーク41のノード51(の力学系近似モデル)へ読み込む。
【0102】
ステップS12において、スコア計算部72は、ステップtsに供給された時系列データに対する、ダイナミクス記憶ネットワーク41のノード51のスコアS(ts)を計算する。
【0103】
ステップS13において、重みスコア計算部121は、ステップtsのノード51の重みスコアS’(ts)を式(1)により計算し、勝者ノード決定部73とスコア記憶部122に供給する。
【0104】
ステップS14において、スコア記憶部122は、重みスコア計算部121から供給された重みスコアS’(ts)を、そこに記憶されている1ステップ前の重みスコアS’(ts−1)に上書き記憶する。
【0105】
ステップS15において、勝者ノード決定部73は、重みスコア計算部121から供給されるダイナミクス記憶ネットワーク41の各ノード51の重みスコアS’(ts)のうち、最もスコアS’(ts)の良いノード51を勝者ノードとして決定する。
【0106】
ステップS16において、認識結果出力部74は、ステップtsの時系列データにおける勝者ノードを表す情報を認識結果17として出力する。
【0107】
ステップS17において、内部状態更新部71は、現在の内部状態量の値(更新値)と、ステップS11で読み込んだ内部状態量の初期値とを内部状態量記憶部21に記憶させて、処理を終了する。
【0108】
以上のように、図7の認識処理によれば、ステップtsの時系列データの勝者ノードを決定するための重みスコアS’(ts)を、ステップtsのスコアS(ts)と、その1つ前のステップts−1の重みスコアS’(ts−1)との重み付け和として求めることによって、現時点のノード51の重みスコアS’(ts)に、ステップts−1の重みスコアS’(ts−1)の影響を残すようにして、勝者ノードの切替を抑制する。
【0109】
これにより、入力される時系列データにノイズが乗ったり、例えば、入力される時系列データが視覚センサデータであれば、オクルージョン(遮蔽)や照明の変化などの見えの変化により学習時に想定していないデータがノイズ的に入力されることによって、ノードF→ノードF→ノードF→ノードG→ノードF→ノードFのように、ノード51が一瞬切り替わることが図1の情報処理装置1と比べて少なくなるので、ノード51から出力される信号が不連続になることを抑制することができる。
【0110】
なお、入力される時系列データに対し、ダイナミクス記憶ネットワーク41のノード51が自己組織的に学習する教師なし学習においては、ダイナミクス記憶ネットワーク41のトポロジー距離が近いノード51では、似たようなダイナミクスが学習されているため、距離が近いノード51どうしの遷移では、不連続な信号が発生しにくく、距離が遠いノード51どうしの遷移では不連続な信号が発生しやすい。
【0111】
そこで、式(1)の重み係数αを、勝者ノードからのトポロジー距離dに関する減少関数α(d)とした式(2)により、重みスコアS’(ts)求めることもできる。
【0112】
【数2】

【0113】
ここで、減少関数α(d)は、例えば、α(d)=Kd(0<K<1)などである。
【0114】
式(2)によれば、勝者ノードからのトポロジー距離dが大きいノード51へのノード切替が抑制されるので、ノード51から出力される信号の不連続性を抑制することができる。
【0115】
図8は、認識部111のその他の詳細な構成例を示すブロック図である。図8において、図3の認識部16と対応する部分については同一の符号を付してあり、その説明を省略する。
【0116】
図8の認識部111は、内部状態量更新部71、スコア計算部72、認識結果出力部74、ノード順位決定部141、勝者ノード決定部142、およびノード記憶部143により構成されている。
【0117】
即ち、図8の認識部111は、内部状態量更新部71、スコア計算部72、および認識結果出力部74を有する点において、図3の認識部16と共通し、ノード順位決定部141、勝者ノード決定部142、およびノード記憶部143を有する点において図3の認識部16と相違する。
【0118】
ノード順位決定部141には、ステップtsに認識部111に供給された時系列データに対するダイナミクス記憶ネットワーク41のノード51のスコアが、スコア計算部72から供給される。ここで、ステップtsのノード51のスコアをS(ts)とする。
【0119】
ノード順位決定部141は、各ノード51のスコアS(ts)に基づいて、ダイナミクス記憶ネットワーク41の全ノード51に対し、それぞれのノード51が何番目のノードであるか、ノード51のノード順位rank(ts)を決定し、勝者ノード決定部142に供給する。

勝者ノード決定部142は、ステップtsより1ステップ前であるステップts−1の重み付けノード順位rank’(ts−1)をノード記憶部143から取得して、次式(3)により、ステップtsにおけるダイナミクス記憶ネットワーク41のノード51の重み付けノード順位rank’(ts)を計算する。
【0120】
【数3】

【0121】
式(3)において、βは、0≦β≦1の定数であり、ステップtsのノード順位rank(ts)に、1つ前のステップts−1の重み付けノード順位rank’(ts−1)をどれくらいの割合で足し合わせるかを決定する重み係数である。なお、rank’(0)は、例えば、0である。
【0122】
式(3)によれば、ノード51の重み付けノード順位rank’(ts)が、ステップtsのノード順位rank(ts)と、1ステップ前の重み付けノード順位rank’(ts)との重み付け和で求められる。この式(3)も、ノード切替に対して一種のローパスフィルタリングを導入していると言うことができる。
【0123】
勝者ノード決定部142は、ダイナミクス記憶ネットワーク41の全ノード51の重み付けノード順位rank’(ts)のうち、重み付けノード順位rank’(ts)が最も高いノード51を勝者ノードとして決定する。
【0124】
また、勝者ノード決定部142は、各ノード51の重み付けノード順位rank’(ts)をノード記憶部143に供給する。
【0125】
ノード記憶部143は、勝者ノード決定部142から供給される重み付けノード順位rank’(ts)を、そこに記憶されている1ステップ前の重み付けノード順位rank’(ts−1)に上書き記憶する。即ち、ノード記憶部143は、勝者ノード決定部142による重み付けノード順位の計算で使用される、求める重み付けノード順位のステップより1ステップ前の重み付けノード順位を記憶する。
【0126】
認識結果出力部74は、勝者ノード決定部142で決定された勝者ノードを表す情報を認識結果17として出力する。
【0127】
図9は、図8の認識部111による認識処理のフローチャートである。
【0128】
ステップtsに、特徴抽出部13から時系列データが供給されると、ステップS31において、内部状態量更新部71は、内部状態記憶部21から前回更新されて記憶されている内部状態量を初期値としてダイナミクス記憶ネットワーク41のノード51(の力学系近似モデル)へ読み込む。
【0129】
ステップS32において、スコア計算部72は、ステップtsに供給された時系列データに対する、ダイナミクス記憶ネットワーク41のノード51のスコアS(ts)を計算する。
【0130】
ステップS33において、ノード順位決定部141は、ノード51のノード順位rank(ts)を決定し、勝者ノード決定部142に供給する。
【0131】
ステップS34において、勝者ノード決定部142は、次式(3)により、ダイナミクス記憶ネットワーク41の全ノード51の重み付けノード順位rank’(ts)を計算し、重み付けノード順位rank’(ts)が最も高いノード51を勝者ノードとして決定する。
【0132】
ステップS35において、勝者ノード決定部142は、各ノード51の重み付けノード順位rank’(ts)をノード記憶部143に供給し、ノード記憶部143は、勝者ノード決定部142から供給される重み付けノード順位rank’(ts)を、そこに記憶されている1ステップ前の重み付けノード順位rank’(ts−1)に上書き記憶する。
【0133】
ステップS36において、認識結果出力部74は、ステップtsの時系列データにおける勝者ノードを表す情報を認識結果17として出力する。
【0134】
ステップS37において、内部状態更新部71は、現在の内部状態量の値(更新値)と、ステップS31で読み込んだ内部状態量の初期値とを内部状態量記憶部21に記憶させて、処理を終了する。
【0135】
以上のように、図9の認識処理によれば、ステップtsの時系列データの勝者ノードを決定するためのノード51の重み付けノード順位rank’(ts)が、ステップtsのノード順位rank(ts)と、1ステップ前の重み付けノード順位rank’(ts−1)との重み付け和として求めることによって、現時点のノード51の重み付けノード順位rank’(ts)に、ステップts−1の重み付けノード順位rank’(ts−1)の影響を残すようにして、勝者ノードの切替を抑制する。これにより、図7の認識処理と同様に、ノード51の遷移が抑制されるため、ノード51から出力される信号が不連続になることを抑制することができる。
【0136】
なお、式(3)に対しても、上述した式(2)のように、重み係数βを、勝者ノードからのトポロジー距離dに関する減少関数β(d)(0<β(d)<1)としても良い。
【0137】
図10は、本発明を適用した情報処理装置の第2の実施の形態の構成例を示すブロック図である。この第2の実施の形態は、上述した第2乃至第4の対策を行う実施の形態である。
【0138】
なお、図10において、図1の情報処理装置1と対応する部分については同一の符号を付してあり、その説明は適宜省略する。
【0139】
図10の情報処理装置201は、生成部19に代えて、生成部211が設けられている点において、図1の情報処理装置1と相違する。
【0140】
生成部211には、認識部16が出力する認識結果17が、制御信号18として入力され、生成部211は、生成部19と同様に、制御信号18で決定される生成ノードに基づいて時系列データを生成し、その時系列データを生成結果20として出力する。しかしながら、生成部211から出力される時系列データは、所定のスムージング処理が施されている点が、生成部19と相違する。
【0141】
図11は、図10の生成部211の第1の実施の形態の構成例を示すブロック図である。この実施の形態は、上述した第2の対策を行う実施の形態である。
【0142】
生成部211の第1の実施の形態では、状態遷移がどのようであるかに関わらず、ノードが切替わったときに発生する不連続な信号を抑制する機能を、図1の情報処理装置1に対して追加する。具体的には、ノードの切替が発生したときに、その発生した時刻から所定時間をかけて緩やかにノード切替前の信号からノード切替後の信号に切替わるようにする。
【0143】
なお、図11において、図3の生成部19と対応する部分については同一の符号を付してあり、その説明は適宜省略する。
【0144】
図11の生成部211は、生成ノード決定部81、内部状態読み込み部82、時系列データ生成部83、生成結果出力部84、生成ノード記憶部221、ノード切替検出部222、ノード切替スムージング部223、および時系列データ記憶部224により構成されている。
【0145】
即ち、図11の生成部211は、生成ノード決定部81、内部状態読み込み部82、時系列データ生成部83、および生成結果出力部84を有する点において、図3の生成部19と共通し、生成ノード記憶部221、ノード切替検出部222、ノード切替スムージング部223、および時系列データ記憶部224を有する点において、図3の生成部19と相違する。
【0146】
生成ノード決定部81は、制御信号18に基づいて、時系列データに対する生成ノードを決定し、その決定された生成ノードを表す情報(以下、適宜、生成ノード情報という)を、内部状態読み込み部82、生成ノード記憶部221、およびノード切替検出部222に供給する。
【0147】
生成ノード記憶部221は、生成ノード決定部81から供給される生成ノード情報より1つ前に供給された生成ノード情報(以下、適宜、旧生成ノード情報という)を記憶する。そして、生成ノード記憶部221は、生成ノード決定部81から(新しい)生成ノード情報が供給された場合、そこに記憶されている旧生成ノード情報に上書きして、生成ノード決定部81から供給された(新しい)生成ノード情報を記憶する。
【0148】
ノード切替検出部222は、生成ノードの切替を検出する。即ち、生成ノード記憶部221に記憶されている旧生成ノード情報と、生成ノード決定部81から供給された新しい生成ノード情報とを比較して、生成ノードの切替が発生したかどうかを判定する。生成ノードの切替が発生したと判定された場合、ノード切替検出部222は、ノード切替発生を表すノード切替信号を、ノード切替スムージング部223に供給する。
【0149】
内部状態読み込み部82は、生成ノードの力学系近似モデルに内部状態記憶部21の記憶値を、内部状態量の初期値として読み込む。
【0150】
時系列データ生成部83は、特徴抽出部13から供給される時系列データと、内部状態読み込み部82によって内部状態量の初期値がセットされた生成ノードの力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。時系列データ生成部83により生成された時系列データ(以下、適宜、生成時系列データという)は、ノード切替スムージング部223に供給される。なお、以下において、所定の時間ステップtに時系列データ生成部83から出力される、生成時系列データを構成する信号を出力信号JoutI(t)という。また、時間ステップtを特に区別しない場合には、単に出力信号JoutIともいう。その他の出力信号についても同様である。
【0151】
ノード切替スムージング部223は、生成ノードの切替が発生しなかった場合には、時系列データ生成部83から供給される生成時系列データをそのまま(出力信号JoutIIとして)、生成結果出力部84と時系列データ記憶部224に供給する。
【0152】
一方、ノード切替検出部222からノード切替スムージング部223にノード切替信号が供給された場合、即ち、生成ノードの切替が発生した場合、ノード切替スムージング部223は、ノードの切替が発生した時刻(サンプル)である時間ステップtから時間ステップt−1+TまでのT−1時間ステップの出力信号に対してスムージング処理を施す。なお、以下において、ノード切替スムージング部223によるスムージング処理をノード切替スムージング処理という。
【0153】
時間ステップtから時間ステップt−1+TまでのT−1時間ステップのノード切替スムージング処理後の出力信号JoutII(t−1+τ)(τ=1乃至T)は、次式(4)で表すことができる。
【0154】
【数4】

【0155】
但し、式(4)では、時間ステップtにおいて、生成ノードが、時間ステップt−1までの生成ノードnode1から生成ノードnode2に切替わったものとする。
【0156】
式(4)において、w(τ)は、ノード切替直前の時間ステップt−1のノード切替スムージング部223からの出力信号JoutII(t−1)をラッチしたラッチ信号Jlatchと、生成ノード切替後の時系列データ生成部83からの出力信号JoutI=Jnode2との重みを決定する重み係数であり、本実施の形態では、その重みを、経過ステップ数で線形に補間することとし、w(τ)=τ/Tとされる。
【0157】
ノード切替スムージング部223は、ラッチ期間中は、式(4)による出力信号JoutII(t−1+τ)を生成結果出力部84に供給し、ラッチ期間後は、ノード切替後の時系列データ生成部83からの出力信号JoutI=Jnode2を、出力信号JoutIIとして出力する。
【0158】
また、ノード切替スムージング部223は、ノードの切替が発生した場合に必要となる、ノード切替前の生成時系列データ(出力信号)を時系列データ記憶部224に記憶させる。時系列データ記憶部224は、ノード切替スムージング部223から供給される生成時系列データを記憶する。
【0159】
生成結果出力部84は、ノード切替スムージング部223から供給される生成時系列データ(ノード切替が発生した場合には、切替直後の時間ステップtからT−1時間ステップの間スムージング処理が施された生成時系列データ)を生成結果20として出力する。
【0160】
図12と図13を参照して、図1の情報処理装置1によるノード切替発生時の出力信号と、図11の生成部211を有する図10の情報処理装置201によるノード切替発生時の出力信号とを比較する。
【0161】
図12は、図1の情報処理装置1によるノード切替発生時の出力信号の例を示している。
【0162】
図12では、図1の情報処理装置1(の生成部19)から出力される出力信号JoutIが、実線で示されている。また、ノードnode1とノードnode2によって出力される出力信号Jnode1およびJnode2は、点線で示されている。なお、実線と点線が重なっている部分については、実線が図示されている。
【0163】
実環境における認識生成時には、入力される時系列データから観測されるロボットの状態(環境)がたとえ既知1の状態から既知2の状態に遷移したとしても、情報処理装置1が、学習によりそれぞれの状態を別々のノードに獲得している限りにおいて、生成ノードが既知1の状態に対応するノードnode1から既知2の状態に対応するノードnode2に離散的に切り替わる。
【0164】
時間ステップtにおいて、生成ノードがノードnode1からノードnode2に切替わった場合、太線の実線で示されるように、時間ステップtより前の時間ステップでは、出力信号JoutI=Jnode1が図1の生成部19から出力され、時間ステップt以降のステップでは、出力信号JoutI=Jnode2が図1の生成部19から出力される。
【0165】
ノードnode1とノードnode2が生成する生成時系列データは、多少なりとも異なっており、このように、生成ノードの切替が発生した時間ステップtより前と時間ステップt以降とで生成時系列データが不連続となってしまう。
【0166】
図13は、図11の生成部211を有する図10の情報処理装置201によるノード切替発生時の出力信号の例を示している。なお、ノードnode1およびノードnode2が生成する出力信号は、図12における場合と同様である。
【0167】
時間ステップtにおいて、生成ノードがノードnode1からノードnode2に切替わった場合、図11の生成部211は、出力信号JoutIIを、太線の実線で示されるように、時間ステップt−1から時間ステップt−1+TまでのTステップにかけて、線形補間することでなだらかにつなぐようにする。
【0168】
一方、時間ステップtより以前の時間ステップをt−*と表し、時間ステップt−1+T以後の時間ステップをt+*と表すとすると、それらの時間ステップでは、図1の情報処理装置1の生成部19と同様に、出力信号JoutI(t−*)=Jnode1(t−*)およびJoutI(t+*)=Jnode2(t+*)である。
【0169】
次に、図14のフローチャートを参照して、図11の生成部211による生成処理について説明する。
【0170】
生成ノード決定部81に制御信号18が供給されると、ステップS51において、生成ノード決定部81は、供給された制御信号18に基づいて、時系列データに対する生成ノードを決定し、その決定された生成ノードを表す情報を、内部状態読み込み部82、生成ノード記憶部221、およびノード切替検出部222に供給する。
【0171】
ステップS52において、生成ノード記憶部221は、そこに記憶されている旧生成ノード情報をノード切替検出部222に供給し、旧生成ノード情報に上書きして、生成ノード決定部81からの生成ノード情報を記憶する。
【0172】
ステップS53において、内部状態読み込み部82は、生成ノードの力学系近似モデルに内部状態記憶部21の記憶値を、内部状態量の初期値として読み込む。
【0173】
ステップS54において、時系列データ生成部83は、特徴抽出部13(図5)から供給される時系列データと、内部状態読み込み部82によって内部状態量の初期値がセットされた生成ノードの力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。
【0174】
ステップS55において、ノード切替検出部222は、生成ノード記憶部221からの旧生成ノード情報と、生成ノード決定部81からの生成ノード情報とを比較して、生成ノードの切替が発生したかどうかを判定する。
【0175】
ステップS55で、生成ノードの切替が発生したと判定された場合、ステップS56において、ノード切替検出部222は、ノード切替発生を表すノード切替信号をノード切替スムージング部223に供給する。ここで、生成ノードの切替が発生した時間ステップをtとする。
【0176】
ステップS57において、ノード切替スムージング部223は、自分(ノード切替スムージング部223)がノード切替直前の時間ステップt−1に出力した出力信号JoutII(t−1)をラッチ(保持)する(Jlatch=JoutII(t−1)とする)。
【0177】
ステップS58において、ノード切替スムージング部223は、式(4)により、ノードの切替が発生した時間ステップtから時間ステップt−1+Tまでの出力信号JoutIに対してスムージング処理を施した出力信号JoutIIを生成する(ノード切替スムージング処理する)。
【0178】
一方、ステップS55で、生成ノードの切替が発生していないと判定された場合、または、ステップS58の処理後、処理はステップS59に進み、ノード切替スムージング部223は、時系列データ(出力信号)を時系列データ記憶部224と生成結果出力部84に供給する。また、ステップS59において、時系列データ記憶部224は、ノード切替スムージング部223から供給された時系列データを記憶する。
【0179】
ステップS60において、生成結果出力部84は、生成結果20としての時系列データを出力して、処理を終了する。
【0180】
以上のように、図14の生成処理によれば、時間ステップtにおいて、生成ノードがノードnode1からノードnode2に切替わった場合、ノード切替直前の時間ステップt−1のノード切替スムージング部223からの出力信号JoutII(t−1)をラッチしたラッチ信号Jlatchと、生成ノード切替後の時系列データ生成部83からの出力信号JoutI=Jnode2との重みを、時間ステップtから時間ステップt−1+TまでのT−1時間ステップにかけて、経過ステップ数で線形に補間することにより、緩やかにノード切替前の信号からノード切替後の信号に切替える。これにより、生成部211から出力される出力信号が不連続になることを抑制することができる。
【0181】
なお、図11の生成部211では、上記式(4)の代わりに、式(5)を採用することが可能である。
【0182】
【数5】

【0183】
式(5)によれば、ノード切替直前の時間ステップt−1のノード切替スムージング部223からの出力信号JoutII(t−1)をラッチしたラッチ信号Jlatchの代わりに、Jnode1(t−1+τ)を採用する。
【0184】
この場合、図11の生成部211の生成ノード記憶部221は、時系列データ生成部83に旧生成ノード情報を供給する必要があり、時系列データ生成部83は、現在の生成ノードの時系列データと1つ前の生成ノードの時系列データの両方をノード切替スムージング部223に供給する。
【0185】
図15は、図10の生成部211の第2の実施の形態の構成例を示すブロック図である。この実施の形態は、上述した第3の対策を行う実施の形態である。
【0186】
実環境における認識生成時には、学習データとして与えられていない未知の環境下での時系列データが入力され得る。このような未知の状態の時系列データに対して、勝者ノードとなった生成ノードから時系列データを生成すると、不定な信号を出力することがある。
【0187】
そこで、生成部211の第2の実施の形態では、入力される時系列データから観測される現在の状態が未知の状態であるのか、既知の状態であるのかを識別し、未知の状態であると識別されたときの生成ノードが出力する時系列データ(出力信号)をスムージング処理することにより、未知の状態の継続時に発生する不定な信号を抑制する機能を、図1の情報処理装置1に対して追加する。なお、この生成部211の第2の実施の形態では、ノードの切替は問題としない。
【0188】
なお、図15において、上述したその他の実施の形態と対応する部分については同一の符号を付してあり、その説明を適宜省略する。
【0189】
図15の生成部211は、生成ノード決定部81、内部状態読み込み部82、時系列データ生成部83、生成結果出力部84、時系列データ記憶部224、状態識別部241、および未知状態スムージング部242により構成されている。
【0190】
即ち、図15の生成部211は、生成ノード決定部81、内部状態読み込み部82、時系列データ生成部83、および生成結果出力部84を有する点において、図3の生成部19と共通し、時系列データ記憶部224、状態識別部241、および未知状態スムージング部242を有する点において、図3の生成部19と相違する。
【0191】
時系列データ記憶部224は、未知状態スムージング部242から供給される生成時系列データを記憶する。
【0192】
状態識別部241には、認識部16のスコア計算部72(図3)から、ダイナミクス記憶ネットワーク41の生成ノード(勝者ノード)のスコアが供給される。状態識別部241は、生成ノードのスコアに基づいて、特徴抽出部13(図3)から供給されている時系列データが未知のものであるか、または、既知のものであるか、即ち、現在の状態が未知の状態であるか、または、既知の状態であるかを識別し、その識別結果を未知状態スムージング部242に供給する。
【0193】
認識処理では、予め学習された時系列パターンではない時系列データが入力されると、その入力された時系列データに対して予測出力の平均二乗誤差の逆数で与えられるスコアは、小さくなる。つまり、既知環境下(学習データと類似の環境状態下)での時系列データが入力された場合、ダイナミクス記憶ネットワーク41のいずれかのノード51のスコアが高くなる(少なくとも勝者ノードのスコアは高くなる)が、未知の環境下では、いずれのノード51のスコアもそれほど高くはならない。
【0194】
以上の特性を利用して、状態識別部241は、生成ノードのスコアが基準閾値TH以上である場合に、現在の状態を既知の状態であると識別し、生成ノード51のスコアが基準閾値THより小さい場合に、現在の状態を未知の状態であると識別する。なお、本実施の形態では、図16を参照して後述するように、例えば、基準閾値THを0.9985に設定している。
【0195】
未知状態スムージング部242には、現在の状態が未知の状態であるのか、あるいは、既知の状態であるのかを表す識別結果が、状態識別部241から供給される。
【0196】
未知状態スムージング部242は、時系列データ生成部83から供給される生成時系列データ(出力信号JoutI)に対して、現在の状態が未知の状態であるのか、あるいは、既知の状態であるのかに関わらずスムージング処理を施す。なお、以下において、未知状態スムージング部242によるスムージング処理を、以下、適宜、未知状態スムージング処理という。
【0197】
具体的には、未知状態スムージング部242は、時間ステップtにおける、時系列データ生成部83からの出力信号JoutI(t)に対して、次式(6)を計算する。
【0198】
【数6】

【0199】
式(6)によれば、未知状態スムージング部242による未知状態スムージング処理後の出力信号JoutIII(t)は、時間ステップtの時系列データ生成部83からの出力信号JoutI(t)と、その1つ前の時間ステップt−1の自分の出力信号JoutIII(t−1)とを、重みγで加算して得られる。重みγは、0<γ<1の定数である。
【0200】
なお、1つ前の時間ステップt−1の自分の出力信号JoutIII(t−1)は、前回の計算時に時系列データ記憶部224に記憶されており、そこから取得される。
【0201】
そして、未知状態スムージング部242は、状態識別部241から未知状態であることを表す識別結果が供給された場合には、スムージング処理後の出力信号JoutIII(t)を生成結果出力部84に供給し、状態識別部241から既知状態であることを表す識別結果が供給された場合には、時系列データ生成部83から供給される出力信号JoutI(t)をそのまま生成結果出力部84に供給する。これにより、未知の状態と既知の状態の切替わりに、即座に対応することができるようになっている。
【0202】
また、未知状態スムージング部242は、スムージング処理後の出力信号JoutIII(t)を、次の時間ステップt+1の計算のために、時系列データ記憶部224に供給し、記憶させる。
【0203】
図16は、情報処理装置201を搭載したロボットに、物体Qを認識させる学習を行わせた後の、認識処理時のスコアを示している。
【0204】
図16では、4つのグラフが示されているが、上段から順に、ロボットの視覚センサによって取得された物体QのX座標、Y座標、およびZ座標の時系列データ(センサ信号)を示しており、最下段は、生成ノード(勝者ノード)のスコアを示している。なお、グラフの横軸は、時間ステップを表し、1段目(最上段)、2段目、および3段目のグラフの縦軸は座標値を表し、4段目(最下段)の縦軸は、生成ノードのスコアを表している。
【0205】
図16においては、例えば、人によって故意に作り出されるなどして発生した未知の状態が、四角の枠で囲まれている。例えば、枠P1に含まれる期間では、タスク切替の間の未知状態が発生しており、枠P2に含まれる期間では、物体Qがロボットの視界から外されたことによる未知状態が発生している。
【0206】
また、枠P3は、ロボットの姿勢が未知な状態である期間であり、枠P4は、物体Qと異なる未知の物体Rがロボットの視界に入ったことによる未知の状態が発生した期間である。さらに、枠P5は、物体Qが未知の場所にあることによる未知の状態が発生した期間である。
【0207】
状態識別部241では、上述したように、基準閾値THが0、9985に設定されており、図16の生成ノードのスコアを示すグラフにおいて、その基準閾値THが図示されている。
【0208】
この場合、枠P1乃至P4で囲まれている期間では、基本的に、生成ノードのスコアが基準閾値THより小さな値となっており、状態識別部241において、現在の状態が未知の状態と識別されることが分かる。
【0209】
図17は、未知状態スムージング部242による処理結果の例を示している。
【0210】
図17では、時系列データ生成部83からの出力信号JoutIが点線で示されており、未知の状態における出力信号JoutIは、1時間ステップあたりの変化量の激しい、不定な信号となっている。
【0211】
一方、時系列データ生成部83からの出力信号JoutIに対して、未知状態スムージング処理された出力信号JoutIIIが、太線の実線で示されている。出力信号JoutIIIは、図17に示すように、処理前の出力信号JoutIと比べて、高周波成分が除去された信号となっている。換言すれば、出力信号JoutIIIは、出力信号JoutIのローパスフィルタリング処理後の信号である。
【0212】
次に、図18のフローチャートを参照して、図15の生成部211による生成処理について説明する。
【0213】
生成ノード決定部81に制御信号18が供給されると、ステップS81において、生成ノード決定部81は、供給された制御信号18に基づいて、時系列データに対する生成ノードを決定し、その決定された生成ノードを表す情報を、内部状態読み込み部82に供給する。
【0214】
ステップS82において、内部状態読み込み部82は、生成ノードの力学系近似モデルに内部状態記憶部21の記憶値を、内部状態量の初期値として読み込む。
【0215】
ステップS83において、時系列データ生成部83は、特徴抽出部13(図5)から供給される時系列データと、内部状態読み込み部82によって内部状態量の初期値がセットされた生成ノードの力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。
【0216】
ステップS84において、未知状態スムージング部242は、時系列データ生成部83から供給される出力信号JoutIに対して、未知状態スムージング処理を実行する。
【0217】
ステップS85において、状態識別部241は、認識部16のスコア計算部72(図3)から供給される、ダイナミクス記憶ネットワーク41の生成ノード(勝者ノード)のスコアに基づいて、現在の状態が未知の状態であるか否かを判定する。
【0218】
ステップS85で、現在の状態が未知の状態ではない(既知状態である)と判定された場合、ステップS86において、未知状態スムージング部242は、時系列データ生成部83から供給される出力信号JoutIをそのまま生成結果出力部84に供給する。
【0219】
一方、ステップS85で、現在の状態が既知の状態であると判定された場合、ステップS87において、未知状態スムージング部242は、未知状態スムージング処理後の出力信号JoutIIIを生成結果出力部84に供給する。
【0220】
ステップS88において、生成結果出力部84は、未知状態スムージング部242から供給された出力信号(JoutIまたはJoutIII)からなる時系列データを生成結果20として出力し、処理を終了する。
【0221】
以上のように、図18の生成処理によれば、現在の状態が未知の状態である場合に、時系列データ生成部83が出力する単位時間あたりの変化の激しい出力信号を、ローパス処理することにより、より安定した信号を出力することができる。
【0222】
なお、上述した例では、現在の状態が未知の状態であるのか、または、既知の状態であるのかを識別する特徴量として、認識部16のスコア計算部72で計算された生成ノードのスコアを採用したが、それ以外の特徴量を採用してもよい。
【0223】
現在の状態が未知の状態であるのか、または、既知の状態であるのかを識別するその他の特徴量としては、例えば、ダイナミクス記憶ネットワーク41の全ノード51のスコアの平均値または分散、勝者ノードのスコアと全ノード51のスコアの平均値との差などが考えられる。
【0224】
図19は、図10の生成部211の第3の実施の形態の構成例を示すブロック図である。この実施の形態は、上述した第4の対策を行う実施の形態である。
【0225】
生成部211の第3の実施の形態では、ノード切替に関係なく、既知から未知または未知から既知への状態遷移時に発生する不連続な信号を抑制する機能を、図1の情報処理装置1に対して追加する。具体的には、状態の切替が発生したときに、その発生した時刻から所定時間かけて緩やかに状態切替前の信号から、状態切替後の信号に切替わるようにする。
【0226】
なお、生成部211の第3の実施の形態において、未知の状態の出力信号として、上述した未知状態スムージング処理が施された出力信号JoutIIIを利用する。即ち、生成部211の第3の実施の形態では、上述した生成部211の第2の実施の形態の構成および機能も含まれる。
【0227】
図19において、上述したその他の実施の形態と対応する部分については同一の符号を付してあり、その説明は適宜省略する。
【0228】
図19の生成部211は、生成ノード決定部81、内部状態読み込み部82、時系列データ生成部83、生成結果出力部84、時系列データ記憶部224、状態識別部241、未知状態スムージング部242、状態記憶部261、状態切替検出部262、および状態切替スムージング部263により構成されている。
【0229】
即ち、図19の生成部211は、生成ノード決定部81、内部状態読み込み部82、時系列データ生成部83、および生成結果出力部84を有する点において、図3の生成部19と共通し、時系列データ記憶部224、状態識別部241、および未知状態スムージング部242、状態記憶部261、状態切替検出部262、および状態切替スムージング部263を有する点において、図3の生成部19と相違する。
【0230】
未知状態スムージング部242は、時系列データ生成部83から供給される出力信号JoutIに対して、式(6)による未知状態スムージング処理を常時実行し、状態識別部241から未知状態であることを表す識別結果が供給された場合には、未知状態スムージング処理後の出力信号JoutIIIを生成結果出力部84に供給し、状態識別部241から既知状態であることを表す識別結果が供給された場合には、時系列データ生成部83から供給される出力信号JoutIをそのまま生成結果出力部84に供給する。
【0231】
状態識別部241は、認識部16のスコア計算部72(図3)から供給される生成ノードのスコアに基づいて、現在の状態が未知の状態であるか、または、既知の状態であるかを識別した識別結果を、未知状態スムージング部242、状態記憶部261、状態切替検出部262に供給する。
【0232】
状態記憶部261は、状態識別部241から供給される識別結果より1つ前の識別結果(以下、適宜、旧識別結果という)を記憶する。そして、状態記憶部261は、状態識別部241から(新しい)識別結果が供給された場合、そこに記憶されている旧識別結果に上書きして、生成ノード決定部81から供給された(新しい)識別結果を記憶する。
【0233】
状態切替検出部262は、状態の切替を検出する。即ち、状態切替検出部262は、状態記憶部261に記憶されている旧識別結果と、状態識別部241から供給される新しい識別結果とを比較して、状態の切替が発生したかどうかを判定する。状態の切替が発生したと判定された場合、状態切替検出部262は、切替後の状態を表す信号を含む状態切替信号を、状態切替スムージング部263に供給する。
【0234】
状態切替スムージング部263は、状態の切替が発生した時間ステップtから時間ステップt−1+Tまでの出力信号に対してスムージング処理を施す。なお、以下において、状態切替スムージング部263によるスムージング処理を状態切替スムージング処理という。
【0235】
所定の時間ステップtにおいて現在の状態が未知の状態である場合、状態切替スムージング部263には、未知状態スムージング部242で未知状態スムージング処理された出力信号JoutIII(t)が供給される。一方、所定の時間ステップtにおいて現在の状態が既知の状態である場合、状態切替スムージング部263には、時系列データ生成部83が出力した出力信号JoutI(t)が供給される。
【0236】
時間ステップtにおいて、未知の状態を表す信号を含む状態切替信号が状態切替検出部262から供給された場合、即ち、状態が既知から未知に切替わった場合、状態切替スムージング部263は、時間ステップtから時間ステップt−1+Tまでの(T−1)時間ステップの間、状態切替スムージング処理として、次式(7)により出力信号JoutIV(t−1+τ)(τ=1乃至T)を求め、生成結果出力部84に供給する。
【0237】
【数7】

【0238】
式(7)によれば、状態切替スムージング部263は、状態の切替が発生した時間ステップtから時間ステップt−1+TまでのT−1時間ステップにおいて、状態が切替わる直前の、即ち、時間ステップt−1の未知状態スムージング部242からの出力信号JoutI(t−1)をラッチし(Jlatch=JoutI(t−1)とし)、そのラッチ信号Jlatchと、現在の時間ステップt−1+τ(τ=1乃至T)の未知状態スムージング部242からの出力信号JoutIII(t−1+τ)とを重み係数g(τ)で重み付け加算した出力信号JoutIV(t−1+τ)を出力する。ここで、重み係数g(τ)は、例えば、w(τ)=τ/Tである。
【0239】
一方、時間ステップtにおいて、既知の状態を表す信号を含む状態切替信号が状態切替検出部262から供給された場合、即ち、状態が未知から既知に切替わった場合、状態切替スムージング部263は、時間ステップtから時間ステップt−1+Tまでの(T−1)時間ステップの間、状態切替スムージング処理として、次式(8)により出力信号JoutIV(t−1+τ)(τ=1乃至T)を求め、生成結果出力部84に供給する。
【0240】
【数8】

【0241】
式(8)によれば、状態切替スムージング部263は、状態の切替が発生した時間ステップtから時間ステップt−1+TまでのT−1時間ステップにおいて、状態が切替わる直前の、即ち、時間ステップt−1の未知状態スムージング部242からの出力信号JoutIII(t−1)をラッチし(Jlatch=JoutIII(t−1)とし)、そのラッチ信号Jlatchと、現在の時間ステップt−1+τ(τ=1乃至T)の未知状態スムージング部242からの出力信号JoutI(t−1+τ)とを重み係数g(τ)で重み付け加算した出力信号JoutIV(t−1+τ)を出力する。
【0242】
図20は、状態が既知から未知に切替わった場合の状態切替スムージング処理を説明する図である。
【0243】
図20において、時系列データ生成部83から出力される出力信号JoutIが点線で示されており、時間ステップtで、出力信号JoutIは、未知の状態から既知の状態に切替わっている。即ち、時間ステップt−1までの出力信号JoutIは、未知の状態であり、時間ステップt以降の出力信号JoutIは、既知の状態である。
【0244】
そして、時間ステップt−1までは状態が未知なので、状態切替スムージング部263には、未知状態スムージング部242で未知状態スムージング処理された出力信号JoutIIIが入力され、時間ステップt以降は状態が既知なので、未知状態スムージング処理されていない出力信号JoutIが、状態切替スムージング部263に入力される。
【0245】
状態切替スムージング部263は、時間ステップt−1までは出力信号JoutIIIをそのまま生成結果出力部84に供給し、時間ステップt−1+T以降は出力信号JoutIをそのまま生成結果出力部84に供給する。
【0246】
一方、時間ステップtで状態の切替が発生してから時間ステップt−1+Tまでは、状態切替スムージング部263は、1点鎖線で示される、時間ステップt−1に供給された出力信号JoutIII(t−1)をラッチしたラッチ信号Jlatchと、実線で示される、現在の時間ステップt−1+τ(τ=1乃至T)に未知状態スムージング部242から供給されている出力信号JoutI(t−1+τ)とを重み係数g(τ)で重み付け加算した出力信号JoutIV(t−1+τ)を生成結果出力部84に供給する。
【0247】
次に、図21のフローチャートを参照して、図19の生成部211による生成処理について説明する。
【0248】
生成ノード決定部81に制御信号18が供給されると、ステップS101において、生成ノード決定部81は、供給された制御信号18に基づいて、時系列データに対する生成ノードを決定し、その決定された生成ノードを表す情報を、内部状態読み込み部82に供給する。
【0249】
ステップS102において、内部状態読み込み部82は、生成ノードの力学系近似モデルに内部状態記憶部21の記憶値を、内部状態量の初期値として読み込む。
【0250】
ステップS103において、時系列データ生成部83は、特徴抽出部13(図5)から供給される時系列データと、内部状態読み込み部82によって内部状態量の初期値がセットされた生成ノードの力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。
【0251】
ステップS104において、状態識別部241は、生成ノードのスコアに基づいて、現在の状態が未知の状態であるのか、または、既知の状態であるのかを識別した識別結果を、未知状態スムージング部242、状態記憶部261、状態切替検出部262に供給する。
【0252】
ステップS105において、未知状態スムージング部242は、状態識別部241からの識別結果に応じて、時系列データ生成部83から供給される出力信号JoutIに対して、未知状態スムージング処理を実行する。これにより、現在の状態が未知状態であるときには出力信号JoutIIIが状態切替スムージング部263に供給され、現在の状態が既知状態であるときには、出力信号JoutIが状態切替スムージング部263に供給される。
【0253】
ステップS106において、状態記憶部261は、状態識別部241から供給された識別結果より1つ前の識別結果(旧識別結果)を状態切替検出部262に供給して、そこに生成ノード決定部81から供給された(新しい)識別結果を上書き記憶する。
【0254】
ステップS107において、状態切替検出部262は、状態記憶部261に記憶されている旧識別結果と、状態識別部241から供給される新しい識別結果とを比較して、状態の切替が発生したかどうかを判定する。
【0255】
ステップS107で、状態の切替が発生したと判定された場合、ステップS108において、状態切替検出部262は、切替後の状態を表す信号を含む状態切替信号を状態切替スムージング部263に供給する。ここで、状態の切替が発生した時間ステップをtとする。
【0256】
ステップS109において、状態切替スムージング部263は、状態が既知から未知に切替わった場合には、状態が切替わる直前の、即ち、時間ステップt−1の未知状態スムージング部242からの出力信号JoutI(t−1)をラッチし(Jlatch=JoutI(t−1)とし)、状態が未知から既知に切替わった場合には、状態が切替わる直前の、即ち、時間ステップt−1の未知状態スムージング部242からの出力信号JoutIII(t−1)をラッチする(Jlatch=JoutIII(t−1)とする)。
【0257】
ステップS110において、状態切替スムージング部263は、状態の切替が発生した時間ステップtから時間ステップt−1+Tまでの出力信号に対して状態切替スムージング処理を施す。
【0258】
即ち、状態が既知から未知に切替わった場合には、状態切替スムージング部263は、式(7)による出力信号JoutIV(t−1+τ)(τ=1乃至T)を求め、生成結果出力部84に供給する。一方、状態が未知から既知に切替わった場合には、状態切替スムージング部263は、式(8)による出力信号JoutIV(t−1+τ)を求める。
【0259】
一方、ステップS107で、状態の切替が発生していないと判定された場合、または、ステップS110の処理後、処理はステップS111に進み、状態切替スムージング部263は、時系列データ(出力信号)を時系列データ記憶部224と生成結果出力部84に供給する。
【0260】
ステップS112において、生成結果出力部84は、生成結果20としての時系列データを出力して、処理を終了する。
【0261】
以上のように、図21の生成処理によれば、時間ステップtにおいて状態の切替が発生した場合、時間ステップtから時間ステップt−1+Tまでの出力信号に対して状態切替スムージング処理を施すことにより、生成部211から出力される出力信号(時系列データ)が不連続になることを抑制することができる。
【0262】
なお、図19の生成部211では、上記式(7)の代わりに、式(9)を採用し、上記式(8)の代わりに、式(10)を採用することが可能である。
【0263】
【数9】

【0264】
【数10】

【0265】
式(9)によれば、状態が切替わる直前の時間ステップt−1の未知状態スムージング部242からの出力信号JoutI(t−1)をラッチしたラッチ信号Jlatchの代わりに、出力信号JoutI(t−1+τ)を採用する。
【0266】
式(10)によれば、状態が切替わる直前の、即ち、時間ステップt−1の未知状態スムージング部242からの出力信号JoutIII(t−1)をラッチしたラッチ信号Jlatchの代わりに、出力信号JoutIII(t−1+τ)を採用する。
【0267】
この場合、現在の状態が未知の状態であるか、または、既知の状態であるかに関わらず、時系列データ生成部83からの出力信号JoutIと、それを未知状態スムージング処理したJoutIIIの両方が、常時、未知状態スムージング部242から状態切替スムージング部263に供給されてくる。
【0268】
図22は、図10の生成部211の第4の実施の形態の構成例を示すブロック図である。
【0269】
図22の生成部211は、図11、図15、および図19を参照して上述した生成部211の第1乃至第3の実施の形態のすべての機能を実現可能とする構成を有している。
【0270】
即ち、図22の生成部211は、生成ノード決定部81、内部状態読み込み部82、時系列データ生成部83、生成結果出力部84、生成ノード記憶部221、ノード切替検出部222、ノード切替スムージング部223、時系列データ記憶部224、状態識別部241、未知状態スムージング部242、状態記憶部261、状態切替検出部262、および状態切替スムージング部263により構成されている。
【0271】
図22の生成部211を構成するそれぞれは、上述した生成部211の第1乃至第3の実施の形態と同様であるので、その説明は省略する。
【0272】
図23のフローチャートを参照して、図22の生成部211による生成処理について説明する。
【0273】
生成ノード決定部81に制御信号18が供給されると、ステップS121において、生成ノード決定部81は、供給された制御信号18に基づいて、時系列データに対する生成ノードを決定し、その決定された生成ノードを表す情報を、内部状態読み込み部82、生成ノード記憶部221、およびノード切替検出部222に供給する。
【0274】
ステップS122において、生成ノード記憶部221は、そこに記憶されている旧生成ノード情報をノード切替検出部222に供給するとともに、生成ノード決定部81からの生成ノード情報を、旧生成ノード情報に上書きして記憶する。
【0275】
ステップS123において、内部状態読み込み部82は、生成ノードの力学系近似モデルに内部状態記憶部21の記憶値を、内部状態量の初期値として読み込む。
【0276】
ステップS124において、時系列データ生成部83は、特徴抽出部13(図5)から供給される時系列データと、内部状態読み込み部82によって内部状態量の初期値がセットされた生成ノードの力学系近似モデルに基づき、その内部状態量を更新しながら、時系列データを生成する。これにより、出力信号JoutIが時系列データ生成部83から出力される。
【0277】
ステップS125において、ノード切替検出部222は、生成ノード記憶部221からの旧生成ノード情報と、生成ノード決定部81からの生成ノード情報とを比較して、生成ノードの切替が発生したかどうかを判定する。
【0278】
ステップS125で、生成ノードの切替が発生したと判定された場合、ステップS126において、ノード切替検出部222は、ノード切替発生を表すノード切替信号をノード切替スムージング部223に供給し、ノード切替スムージング部223は、ノード切替スムージング処理を実行して、ステップS127に進む。これにより、ノード切替スムージング処理中は、式(4)による出力信号JoutIIがノード切替スムージング部223から出力され、それ以外は、時系列データ生成部83からの出力信号JoutIがそのままノード切替スムージング部223から出力される。
【0279】
一方、ステップS125で、生成ノードの切替が発生していないと判定された場合、ステップS126がスキップされ、ステップS127において、未知状態スムージング部242は、未知状態スムージング処理を実行する。
【0280】
ステップS128において、状態識別部241は、現在の状態が未知の状態であるか否かを判定する。
【0281】
ステップS128で、現在の状態が未知の状態ではない(既知の状態である)と判定された場合、ステップS129において、未知状態スムージング部242は、未知状態スムージング処理されていない出力信号JoutI(ノード切替スムージング処理中は、出力信号JoutII)を生成結果出力部84に供給する。
【0282】
一方、ステップS128で、現在の状態が未知の状態であると判定された場合、ステップS130において、未知状態スムージング処理後の出力信号JoutIIIを生成結果出力部84に供給する。
【0283】
ステップS131において、状態切替検出部262は、状態の切替が発生したかどうかを判定する。ステップS131で、状態の切替が発生したと判定された場合、ステップS132において、状態切替検出部262は、切替後の状態を表す信号を含む状態切替信号を状態切替スムージング部263に供給し、状態切替スムージング部263は、状態切替スムージング処理を実行して、ステップS133に進む。
【0284】
一方、ステップS131で、状態の切替が発生していないと判定された場合、ステップS132がスキップされ、ステップS133において、生成結果出力部84は、生成結果20としての時系列データを出力して、処理を終了する。
【0285】
なお、図23の生成処理は、生成ノード決定部81に制御信号18が供給される度に繰り返し実行される。
【0286】
以上のように、ノード切替スムージング処理、未知状態スムージング処理、および状態切替スムージング処理は、併用することが可能である。
【0287】
さらに、図22の生成部211を備える情報処理装置201において、認識部16に代えて、図5の認識部111を採用することも可能である。
【0288】
図5の認識部111を備えるとともに、ノード切替スムージング処理、未知状態スムージング処理、および状態切替スムージング処理の機能を有する生成部211を備える情報処理装置によれば、認識生成処理時に、ノードの変化、状態の変化、および不定な信号に対して、より一層安定した時系列データを出力することができる。
【0289】
従って、例えば、情報処理装置101または201を備えるロボットなどでは、ロボットが急激に姿勢を変えたり、過電流などのハードウエア的な問題を引き起こすことを減少させることができる。
【0290】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【0291】
図24は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)301は、ROM(Read Only Memory)302、または記憶部308に記憶されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)303には、CPU301が実行するプログラムやデータなどが適宜記憶される。これらのCPU301、ROM302、およびRAM303は、バス304により相互に接続されている。
【0292】
CPU301にはまた、バス304を介して入出力インタフェース305が接続されている。入出力インタフェース305には、キーボード、マウス、マイクロフォンなどよりなる入力部306、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、スピーカなどよりなる出力部307が接続されている。CPU301は、入力部306から入力される指令に対応して各種の処理を実行する。そして、CPU301は、処理の結果を出力部307に出力する。
【0293】
入出力インタフェース305に接続されている記憶部308は、例えばハードディスクからなり、CPU301が実行するプログラムや各種のデータを記憶する。通信部309は、インターネットやローカルエリアネットワークなどのネットワークを介して、または直接に接続された外部の装置と通信する。
【0294】
入出力インタフェース305に接続されているドライブ310は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア321が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部308に転送され、記憶される。また、プログラムやデータは、通信部309を介して取得され、記憶部308に記憶されてもよい。
【0295】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図24に示すように、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスクを含む)、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア321、または、プログラムが一時的もしくは永続的に格納されるROM302や、記憶部308を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部309を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【0296】
なお、上述した例では、SOMとしてのダイナミクス記憶ネットワーク41のノード51にRNNモジュールを採用して、自己組織的に外部入力に対し適切なRNNモジュールを選択し、RNNのパラメータ学習を行う情報処理装置101に本発明を適用したが、本発明は、ダイナミクス記憶ネットワーク41のノード51がRNNモジュール以外の学習モジュールであっても適用することができる。例えば、学習モジュールは、HMM(Hidden Markov Model)モジュールなどであってもよい。
【0297】
なお、本明細書において、フローチャートに記述されたステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0298】
本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【図面の簡単な説明】
【0299】
【図1】図1は、本発明を適用する情報処理装置の元となる装置の構成例を示すブロック図である。
【図2】図1のネットワーク記憶部に記憶されるダイナミクス記憶ネットワークの例を示す図である。
【図3】図1の認識部と生成部の詳細な構成例を示すブロック図である。
【図4】不連続な信号の生成状況の分析結果を示す図である。
【図5】本発明を適用した情報処理装置の第1の実施の形態の構成例を示すブロック図である。
【図6】図5の認識部の詳細な構成例を示すブロック図である。
【図7】図6の認識部による認識処理を説明するフローチャートである。
【図8】図5の認識部のその他の詳細な構成例を示すブロック図である。
【図9】図8の認識部による認識処理を説明するフローチャートである。
【図10】本発明を適用した情報処理装置の第2の実施の形態の構成例を示すブロック図である。
【図11】図10の生成部の第1の実施の形態の構成例を示すブロック図である。
【図12】ノード切替発生時の出力信号について説明する図である。
【図13】ノード切替発生時の出力信号について説明する図である。
【図14】図11の生成部による生成処理について説明するフローチャートである。
【図15】図10の生成部の第2の実施の形態の構成例を示すブロック図である。
【図16】認識処理によるスコアの例を示す図である。
【図17】未知状態スムージング部による処理結果の例を示す図である。
【図18】図15の生成部による生成処理について説明するフローチャートである。
【図19】図10の生成部の第3の実施の形態の構成例を示すブロック図である。
【図20】状態が既知から未知に切替わった場合の状態切替スムージング処理を説明する図である。
【図21】図19の生成部による生成処理について説明するフローチャートである。
【図22】図10の生成部の第4の実施の形態の構成例を示すブロック図である。
【図23】図22の生成部による生成処理について説明するフローチャートである。
【図24】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【0300】
15 ネットワーク記憶部, 73 勝者ノード決定部, 81 生成ノード決定部, 83 時系列データ生成部, 101 情報処理装置, 111 認識部, 121 重みスコア計算部, 122 スコア記憶部, 141 ノード順位決定部, 142 勝者ノード決定部, 143 ノード記憶部, 201 情報処理装置, 211 生成部, 221 生成ノード記憶部, 222 ノード切替検出部, 223 ノード切替スムージング部, 224 時系列データ記憶部, 241 状態識別部, 242 未知状態スムージング部, 261 状態記憶部, 262 状態切替検出部, 263 状態切替スムージング部

【特許請求の範囲】
【請求項1】
ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークを記憶する記憶手段と、
観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定する勝者ノード決定手段と、
前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する抑制手段と
を備える情報処理装置。
【請求項2】
前記抑制手段は、前記勝者ノードの切替を抑制することにより、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する
請求項1に記載の情報処理装置。
【請求項3】
前記勝者ノードは、前記ノードが持つスコアによって決定され、
前記抑制手段は、現時点の前記ノードのスコアに、その1つ前に得られた前記ノードのスコアの影響を残すことにより、前記勝者ノードの切替を抑制する
請求項2に記載の情報処理装置。
【請求項4】
前記勝者ノードは、前記ノードが持つスコアによるノードの順位によって決定され、
前記抑制手段は、現時点の前記ノードの順位に、その1つ前に得られた前記ノードの順位の影響を残すことにより、前記勝者ノードの切替を抑制する
請求項2に記載の情報処理装置。
【請求項5】
前記勝者ノードが第1のノードから第2のノードに切替わった場合、前記抑制手段は、切替発生から所定時間の間、前記第1のノードの前記出力信号と、前記第2のノードの前記出力信号とを線形補間することにより、前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する
請求項1に記載の情報処理装置。
【請求項6】
ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークから、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定し、
前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する
ステップを含む情報処理方法。
【請求項7】
ダイナミクスを1つのノードに保持し、複数の前記ノードによって構成されるネットワークから、観測される時系列データに最も適合するダイナミクスに対応するノードである勝者ノードを決定し、
前記勝者ノードの切替によって生じる出力信号の不連続性を抑制する
ステップを含む処理をコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate


【公開番号】特開2007−280066(P2007−280066A)
【公開日】平成19年10月25日(2007.10.25)
【国際特許分類】
【出願番号】特願2006−105701(P2006−105701)
【出願日】平成18年4月6日(2006.4.6)
【出願人】(000002185)ソニー株式会社 (34,172)