説明

データ処理装置、データ処理方法、及びプログラム

【課題】誤差を適切に考慮した処理を行う。
【解決手段】本体学習モジュール101は、データDを学習する。誤差学習モジュール102は、データDと、本体学習モジュール101がデータDを再構成した再構成データDRとの誤差ΔDを学習する。また、本体学習モジュール101は、データDの入力があると、そのデータDを再構成して、再構成データDRを出力し、誤差学習モジュール102は、データDと、再構成データDRとの誤差データΔDを再構成して、再構成誤差データΔDRを出力する。そして、学習モジュール100は、再構成データDRと、再構成誤差データΔDRをとを加算して出力する。本発明は、例えば、ロボット等に適用できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ処理装置、データ処理方法、及びプログラムに関し、特に、誤差を適切に考慮した処理を行うデータ処理装置、データ処理方法、及びプログラムに関する。
【背景技術】
【0002】
例えば、自律的にタスクを行うロボットは、入力データの入力に対して、その入力データに対して出力すべき出力データを出力する入出力システムを利用して実現することができる。
【0003】
ここで、入力データと出力データとは、観測することができれば、どのような物理量でもよい。
【0004】
例えば、センサを用いて、ある物理量を検知し、その検知結果に応じたアクション(行動)を起こすロボットに利用される入出力システムでは、センサが物理量を検知して出力する、その物理量を表すセンサデータ等が入力データとなり、ロボットのアクションに必要なアクチュエータ等を駆動するために、そのアクチュエータ等に供給されるアクションデータ等が出力データとなる。
【0005】
より具体的には、例えば、音声を認識し、その認識結果に応じた合成音(音声に対する応答としての合成音)を出力する場合、音声を集音するマイクロフォン(センサ)が出力する音声データや、その音声データから抽出されるケプストラムその他の特徴パラメータ等が入力データとなり、認識結果に応じた合成音の生成(音声合成)に用いられるパラメータ等が出力データとなる。
【0006】
さらに例えば、音声や画像を認識し、その認識結果に応じて、ロボットの腕や頭などを動かす場合、音声を集音するマイクロフォンが出力する音声データや、その音声データの特徴パラメータ、及び、画像を撮像するカメラが出力する画像データや、その画像データから検出される動きベクトルその他の特徴量等が入力データとなり、認識結果に応じて腕や頭を駆動するアクチュエータを制御する制御データ等が出力データとなる。
【0007】
また、入力データと出力データとは、上述したセンサデータとアクションデータのような異なるモダリティ(modality)のデータである必要はない。
【0008】
すなわち、例えば、データの系列を所定の長さの区間に区切ったときの、各区間をフレームと称するとともに、先頭からt番目(時刻t)のフレームを、フレーム#tと称するとする場合、入出力システムでは、フレーム#tのセンサデータを入力データとするとともに、フレーム#t+1のセンサデータを出力データとすることができる。
【0009】
この場合、入出力システムでは、入力データとしてのフレーム#tのセンサデータから、入力データと同一のモダリティの出力データとしての、次のフレーム#t+1のセンサデータが予測されることになる。
【0010】
また、例えば、入力データとしては、異なるモダリティのデータを組み合わせである、フレーム#tのセンサデータと、フレーム#tのアクションデータとの組み合わせを採用し、出力データとしては、フレーム#t+1のセンサデータと、フレーム#t+1のアクションデータとの組み合わせを採用することができる。
【0011】
この場合、入出力システムでは、フレーム#tのセンサデータ及びアクションデータの方から、次のフレーム#t+1のセンサデータ及びアクションデータの両方が予測されることになる。
【0012】
ところで、入出力システムでは、入力データに対し、その入力データに対して出力すべき出力データを出力する必要がある。
【0013】
すなわち、例えば、上述したように、音声を認識し、その認識結果に応じて、ロボットの腕を動かす場合において、音声データを入力データとするとともに、腕を駆動するアクチュエータを制御する制御データを出力データとするときには、音声データの入力に対して、その音声データを音声認識(識別)し、さらに、その音声認識結果に応じた腕の動きを実行するための制御データを生成する(取得する)必要がある。
【0014】
また、例えば、上述したように、フレーム#tのセンサデータ及びアクションデータを、入力データとするとともに、フレーム#t+1のセンサデータ及びアクションデータを、出力データとするときには、フレーム#tのセンサデータ及びアクションデータの入力に対して、そのフレーム#tのセンサデータ及びアクションデータを認識(識別)し、さらに、その認識結果から次のフレームt+1のセンサデータ及びアクションデータ(の予測値)を生成する必要がある。
【0015】
以上のように、入出力システムには、入力データの認識(識別)と、その入力データに対して出力すべき出力データを取得(生成)して出力すること(以下、適宜、認識生成と称する)が要求される。
【0016】
入出力システムが、入力データの入力に対応し、その入力データを用いて認識生成を行い、その入力データに対して出力すべき出力データを出力することができるようになるためには、例えば、入力データ(となるべきデータ)と、その入力データに対して出力すべき出力データ(となるべきデータ)とのセット(以下、適宜、教示データと称する)を多数用意して、その教示データを用いて、入力データ及び出力データの学習、並びに、入力データと、その入力データに対して出力すべき出力データとの関係の学習を行う必要がある。
【0017】
そこで、本件出願人は、入力データ用のSOM(Self-Organization Map:自己組織化マップ。以下、適宜、入力SOMと称する)のノードと、出力データ用のSOM(以下、適宜、出力SOMと称する)のノードとが結合された入出力関係モデルを用いて、入力データ及び出力データの学習、並びに、入力データと、その入力データに対して出力すべき出力データとの関係の学習を、いわゆる教師なし学習で行う方法を先に提案している(例えば、特許文献1参照)。
【0018】
また、本件出願人は、入出力関係モデルにおける出力SOMのノードのパラメータを変更し、その変更後のパラメータから、出力データとしての音声データを生成し、その音声データを、入力データとして、入力SOMで認識することを、その認識結果が、外部から与えられた音声データの入力SOMでの認識結果に一致するまで繰り返すことにより、外部から未知の音声データの入力があったときに、その音声データを真似た音声データを、出力データとして出力する、いわば聞き真似を行うための学習(以下、適宜、聞き真似学習とも称する)を、教師なし学習で行う方法を先に提案している(例えば、特許文献2参照)。
【0019】
ここで、パターンを学習して認識を行うパターン認識(pattern recognition)における学習は、教師あり学習(supervised learning)と、教師なし学習(unsupervised learning)とに分けることができる。
【0020】
教師あり学習の学習方法としては、例えば、テンプレートマッチング、NN(Neural Network)、HMM(Hidden Markov Model)などの学習モデルを用いた学習方法がある。教師あり学習では、各パターンの学習データ(学習に利用されるデータ)がどのクラスに属するかの正解ラベルと呼ばれる情報を与えて、各クラス毎に、そのクラスに属する(属させる)カテゴリの学習データの学習が行われる。
【0021】
すなわち、教師あり学習では、学習に利用する学習データが、あらかじめ決められたカテゴリ(例えば、各音素のカテゴリや、各音韻のカテゴリ、各単語のカテゴリなど)毎に用意されるとともに、学習に利用する学習モデル(各カテゴリの学習データを学習させる学習モデル)も、あらかじめ決められたクラス毎に用意される。
【0022】
そして、教師あり学習では、正解ラベルが表すクラスの学習モデルの学習が、そのクラスに属する(属させる)カテゴリの学習データのみを用いて行われ、その結果、正解ラベルに基づき、クラス毎のテンプレート(正解ラベルが表すクラスの学習モデル)を得ることができる。
【0023】
したがって、教師あり学習によって得られた学習モデルを用いたパターン認識では、ある認識対象のデータに対し、その認識対象のデータに最も適合するテンプレート(尤度が最も高いテンプレート)の正解ラベルを、認識結果として出力することができる。
【0024】
一方、教師なし学習の学習方法としては、NNやSOMなどを用いた学習方法がある。そして、教師なし学習は、正解ラベルが与えられないという点で、教師あり学習とは大きく異なる。
【0025】
すなわち、教師なし学習は、自己組織化(self-organization)(自己組織的な学習)とも称され、各パターンの学習データに正解ラベルが与えられない状況で行われる。教師なし学習によれば、例えば、パターンが類似する学習データのクラス(学習データのカテゴリが属するクラス)どうしは、クラスどうしの距離を定義することができる空間において近い位置にされる。
【0026】
なお、パターン認識は、そのパターン認識によって認識しようとする認識対象のデータ(信号)が観測される信号空間の量子化と見ることができる。
【0027】
【特許文献1】特開2006−162898号公報
【特許文献2】特開2006−201665号公報
【発明の開示】
【発明が解決しようとする課題】
【0028】
先に提案されている入出力関係モデルの学習では、入力SOMで、教示データを構成する入力データを学習して、その入力SOMの各ノードで、入力データのパターンを獲得するとともに、出力SOMで、教示データを構成する出力データを学習して、その出力SOMの各ノードで、出力データのパターンを獲得する。さらに、教示データを構成する入力データを入力SOMに与えた(入力した)ときに勝者ノードとなる入力SOMのノードと、その入力データとセットになっている出力データ(その入力データとともに教示データを構成する出力データ)を出力SOMに与えたときに勝者ノードとなる出力SOMのノードとの結合が強められる。
【0029】
そして、認識生成では、入力SOMのノードの中から、入力データに対する勝者ノードを決定し、その勝者ノードを、入力データの認識結果とする認識処理と、その認識結果としての勝者ノードとの結合が最も強い出力SOMのノードを、入力データに対して出力すべき出力データを生成するのに用いるノード(以下、適宜、生成ノードと称する)に決定し、その生成ノードが獲得しているパターンの出力データの推定値を取得(生成)する生成処理とが行われる。
【0030】
なお、入出力関係モデルは、入力SOMと出力SOMとの2つのSOMで構成されるが、認識生成は、そのような2つのSOMで構成される入出力関係モデルではなく、1つのSOMを用いて行うことも可能である。
【0031】
すなわち、1つのSOMを用いての認識生成では、データの入力に対して、勝者ノードを決定することが、認識処理として行われ、さらに、その勝者ノードが獲得しているパターンのデータを取得(生成)することが、生成処理として行われる。
【0032】
ここで、2つのSOMで構成される入出力関係モデルを用いての認識生成では、認識処理で認識される入力データと、生成処理で取得(生成)される出力データとは、同一のモダリティのデータであってもよいし、異なるモダリティのデータであってもよい。
【0033】
これに対して、1つのSOMを用いての認識生成では、認識処理で認識されるデータと、生成処理で取得(生成)されるデータとは、同一のモダリティのデータ(同一の物理量のデータ)となる。
【0034】
いま、説明を簡単にするために、1つのSOMを用いての認識生成を例にすると、認識処理では、データの入力に対して、有限個のノードの中から勝者ノードが決定され、生成処理では、その勝者ノードが獲得しているパターンのデータが出力されるが、この、勝者ノードが獲得しているパターンのデータは、認識処理で認識されたデータを再構成した再構成データと称することができる。
【0035】
さらに、説明を簡単にするために、SOMの各ノードのパラメータとして、ベクトルが与えられていることを仮定すると、認識処理において勝者ノードを決定することは、(ベクトル)量子化と等価であり、生成処理において勝者ノードが獲得しているパターンのデータを出力することは、(ベクトル)逆量子化と等価である。したがって、認識生成処理によれば、いわゆる量子化誤差が生じる。
【0036】
量子化誤差は、例えば、SOMの大きさを大きくすること、つまり、SOMを構成するノードの数を増加することや、SOMのトポロジの次元を大きくすること、つまり、SOMのノードを配置する次元数を増加することによって、等価的に、いわゆる量子化ステップ(の幅)を小さくすることにより低減することができる。
【0037】
しかしながら、例えば、SOMを構成するノードの数を増加しても、量子化誤差を考慮した再構成データの数が、増加分のノードの数だけ増加するだけであり、すなわち、SOMのノードの数を、N1個からN2個だけ増加して(N1+N2)個にしたとすると、N1通りの量子化誤差を含む再構成データしか出力することができなかったものが、N2通りだけ増加した(N1+N2)通りの(小さな)量子化誤差を含む再構成データ((N1+N2)通りの量子化誤差を考慮した再構成データ)を出力することができるようになるだけであり、量子化誤差が適切に考慮されているとは言い難い。
【0038】
本発明は、このような状況に鑑みてなされたものであり、誤差を適切に考慮した処理を行うことができるようにするものである。
【課題を解決するための手段】
【0039】
本発明の第1の側面であるデータ処理装置は、データを学習する学習処理を行うデータ処理装置において、データを学習する本体学習モジュールと、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習する誤差学習モジュールとを有する学習モジュールを備える。
【0040】
本発明の第1の側面であるデータ処理方法は、データを学習する学習処理を行うデータ処理装置のデータ処理方法において、データを学習する本体学習モジュールにおいて、前記データを学習し、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習する誤差学習モジュールにおいて、前記分割誤差を学習するステップを含む。
【0041】
本発明の第1の側面であるプログラムは、データを学習する学習処理を行うデータ処理装置として、コンピュータを機能させるプログラムにおいて、データを学習する本体学習モジュールと、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習する誤差学習モジュールとを有する学習モジュールを備えるデータ処理装置として、コンピュータを機能させる。
【0042】
本発明の第1の側面においては、データを学習する本体学習モジュールにより、データが学習され、誤差学習モジュールにより、前記データと、前記本体学習モジュールによって前記データが再構成された再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差が学習される。
【0043】
本発明の第2の側面であるデータ処理装置は、データを出力するデータ処理装置において、入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュールと、前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割出力誤差の学習を行った誤差学習モジュールとを有する学習モジュールを備え、前記本体学習モジュールは、前記入力データを再構成して、前記再構成入力データを出力し、前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、前記誤差学習モジュールは、前記分割入力誤差に対応する前記分割出力誤差を再構成して、分割再構成出力誤差を出力し、前記学習モジュールは、前記再構成出力データと、前記分割再構成出力誤差に基づいて決定される部分補正データとを加算して出力する。
【0044】
本発明の第2の側面であるデータ処理方法は、データを出力するデータ処理装置のデータ処理方法において、前記データ処理装置は、入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュールと、前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割出力誤差の学習を行った誤差学習モジュールとを有する学習モジュールを備え、前記本体学習モジュールにおいて、前記入力データを再構成して、前記再構成入力データを出力し、前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、前記誤差学習モジュールにおいて、前記分割入力誤差に対応する前記分割出力誤差を再構成して、分割再構成出力誤差を出力し、前記学習モジュールにおいて、前記分割再構成出力データと、前記分割再構成出力誤差に基づいて決定される部分補正データとを加算して出力するステップを含む。
【0045】
本発明の第2の側面であるプログラムは、データを出力するデータ処理装置として、コンピュータを機能させるプログラムにおいて、入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュールと、前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割出力誤差の学習を行った誤差学習モジュールとを有する学習モジュールを備え、前記本体学習モジュールは、前記入力データを再構成して、前記再構成入力データを出力し、前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、前記誤差学習モジュールは、前記分割入力誤差に対応する前記分割出力誤差を再構成して、分割再構成出力誤差を出力し、前記学習モジュールは、前記再構成出力データと、前記分割再構成出力誤差に基づいて決定される部分補正データとを加算して出力するデータ処理装置として、コンピュータを機能させる。
【0046】
本発明の第2の側面においては、本体学習モジュールにより、前記入力データが再構成されて前記再構成入力データが出力され、前記入力データに対して出力すべき出力データが再構成されて前記再構成出力データが出力される。また、誤差学習モジュールにおいて、前記分割入力誤差に対応する前記分割出力誤差が再構成されて分割再構成出力誤差が出力され、前記学習モジュールにおいて、前記分割再構成出力データと、前記分割再構成出力誤差に基づいて決定される部分補正データとが加算されて出力される。
【0047】
本発明の第3の側面であるデータ処理装置は、データを出力するデータ処理装置において、データを学習した本体学習モジュールと、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習した誤差学習モジュールとを有する学習モジュールを備え、前記本体学習モジュールは、前記データを再構成して、前記再構成データを出力し、前記誤差学習モジュールは、前記分割誤差を再構成して、分割再構成誤差を出力し、前記学習モジュールは、前記再構成データと、前記分割再構成誤差に基づいて決定される部分補正データとを加算して出力する。
【0048】
本発明の第3の側面であるデータ処理方法は、データを出力するデータ処理装置のデータ処理方法において、前記データ処理装置は、データを学習した本体学習モジュールと、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習した誤差学習モジュールとを有する学習モジュールを備え、前記本体学習モジュールにおいて、前記データを再構成して、前記再構成データを出力し、前記誤差学習モジュールにおいて、前記分割誤差を再構成して、分割再構成誤差を出力し、前記学習モジュールにおいて、前記再構成データと、前記分割再構成誤差に基づいて決定される部分補正データとを加算して出力するステップを含む。
【0049】
本発明の第3の側面であるプログラムは、データを出力するデータ処理装置として、コンピュータを機能させるプログラムにおいて、データを学習した本体学習モジュールと、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習した誤差学習モジュールとを有する学習モジュールを備え、前記本体学習モジュールは、前記データを再構成して、前記再構成データを出力し、前記誤差学習モジュールは、前記分割誤差を再構成して、分割再構成誤差を出力し、前記学習モジュールは、前記再構成データと、前記分割再構成誤差に基づいて決定される部分補正データとを加算して出力するデータ処理装置として、コンピュータを機能させる。
【0050】
本発明の第3の側面においては、本体学習モジュールにより、前記データが再構成されて前記再構成データが出力され、誤差学習モジュールにより、前記分割誤差が再構成されて分割再構成誤差が出力され、前記学習モジュールにより、前記再構成データと、前記分割再構成誤差に基づいて決定される部分補正データとが加算されて出力される。
【0051】
なお、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して提供することができる。
【0052】
また、データ処理装置は、独立した装置であってもよいし、独立した装置を構成している内部ブロックであってもよい。
【発明の効果】
【0053】
本発明の第1乃至第3の側面によれば、誤差を適切に考慮した処理を行うことができる。
【発明を実施するための最良の形態】
【0054】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。したがって、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【0055】
本発明の第1の側面であるデータ処理装置は、データを学習する学習処理を行うデータ処理装置(例えば、図1の入出力システム)において、データを学習する本体学習モジュール(例えば、図4の本体学習モジュール101)と、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習する誤差学習モジュール(例えば、図4の誤差学習モジュール102)とを有する学習モジュールを備える。
【0056】
本発明の第1の側面であるデータ処理方法は、データを学習する学習処理を行うデータ処理装置(例えば、図1の入出力システム)のデータ処理方法において、データを学習する本体学習モジュールにおいて、前記データを学習し(例えば、図16のステップS131)、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習する誤差学習モジュールにおいて、前記分割誤差を学習する(例えば、図16のステップS135)ステップを含む。
【0057】
本発明の第1の側面であるプログラムは、データを学習する学習処理を行うデータ処理装置(例えば、図1の入出力システム)として、コンピュータを機能させるプログラムにおいて、データを学習する本体学習モジュール(例えば、図4の本体学習モジュール101)と、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習する誤差学習モジュール(例えば、図4の誤差学習モジュール102)とを有する学習モジュールを備えるデータ処理装置として、コンピュータを機能させる。
【0058】
本発明の第2の側面であるデータ処理装置は、データを出力するデータ処理装置(例えば、図1の入出力システム)において、入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュール(例えば、図18の本体学習モジュール101)と、前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割出力誤差の学習を行った誤差学習モジュール(例えば、図18の誤差学習モジュール102)とを有する学習モジュールを備え、前記本体学習モジュールは、前記入力データを再構成して、前記再構成入力データを出力し、前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、前記誤差学習モジュールは、前記分割入力誤差に対応する前記分割出力誤差を再構成して、分割再構成出力誤差を出力し、前記学習モジュールは、前記再構成出力データと、前記分割再構成出力誤差に基づいて決定される部分補正データとを加算して出力する。
【0059】
本発明の第2の側面であるデータ処理方法は、データを出力するデータ処理装置のデータ処理方法において、前記データ処理装置は、入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュール(例えば、図18の本体学習モジュール101)と、前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割出力誤差の学習を行った誤差学習モジュール(例えば、図18の誤差学習モジュール102)とを有する学習モジュールを備え、前記本体学習モジュールにおいて、前記入力データを再構成して、前記再構成入力データを出力し(例えば、図27のステップS283)、前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し(例えば、図27のステップS287)、前記誤差学習モジュールにおいて、前記分割入力誤差に対応する前記分割出力誤差を再構成して、分割再構成出力誤差を出力し(例えば、図27のステップS288)、前記学習モジュールにおいて、前記分割再構成出力データと、前記分割再構成出力誤差に基づいて決定される部分補正データとを加算して出力する(例えば、図27のステップS290)ステップを含む。
【0060】
本発明の第2の側面であるプログラムは、データを出力するデータ処理装置として、コンピュータを機能させるプログラムにおいて、入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュール(例えば、図18の本体学習モジュール101)と、前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割出力誤差の学習を行った誤差学習モジュール(例えば、図18の誤差学習モジュール102)とを有する学習モジュールを備え、前記本体学習モジュールは、前記入力データを再構成して、前記再構成入力データを出力し、前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、前記誤差学習モジュールは、前記分割入力誤差に対応する前記分割出力誤差を再構成して、分割再構成出力誤差を出力し、前記学習モジュールは、前記再構成出力データと、前記分割再構成出力誤差に基づいて決定される部分補正データとを加算して出力するデータ処理装置として、コンピュータを機能させる。
【0061】

本発明の第3の側面であるデータ処理装置は、データを出力するデータ処理装置において、データを学習した本体学習モジュール(例えば、図4の本体学習モジュール101)と、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習した誤差学習モジュール(例えば、図4の誤差学習モジュール102)とを有する学習モジュールを備え、前記本体学習モジュールは、前記データを再構成して、前記再構成データを出力し、前記誤差学習モジュールは、前記分割誤差を再構成して、分割再構成誤差を出力し、前記学習モジュールは、前記再構成データと、前記分割再構成誤差に基づいて決定される部分補正データとを加算して出力する。
【0062】
本発明の第3の側面であるデータ処理方法は、データを出力するデータ処理装置のデータ処理方法において、前記データ処理装置は、データを学習した本体学習モジュール(例えば、図4の本体学習モジュール101)と、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習した誤差学習モジュール(例えば、図4の誤差学習モジュール102)とを有する学習モジュールを備え、前記本体学習モジュールにおいて、前記データを再構成して、前記再構成データを出力し(例えば、図17のステップS142)、前記誤差学習モジュールにおいて、前記分割誤差を再構成して、分割再構成誤差を出力し(例えば、図17のステップS145)、前記学習モジュールにおいて、前記再構成データと、前記分割再構成誤差に基づいて決定される部分補正データとを加算して出力する(例えば、図17のステップS147)ステップを含む。
【0063】
本発明の第3の側面であるプログラムは、データを出力するデータ処理装置として、コンピュータを機能させるプログラムにおいて、データを学習した本体学習モジュール(例えば、図4の本体学習モジュール101)と、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習した誤差学習モジュール(例えば、図4の誤差学習モジュール102)とを有する学習モジュールを備え、前記本体学習モジュールは、前記データを再構成して、前記再構成データを出力し、前記誤差学習モジュールは、前記分割誤差を再構成して、分割再構成誤差を出力し、前記学習モジュールは、前記再構成データと、前記分割再構成誤差に基づいて決定される部分補正データとを加算して出力するデータ処理装置として、コンピュータを機能させる。
【0064】
以下、図面を参照して、本発明の実施の形態について説明する。
【0065】
図1は、本発明を適用したデータ処理装置としての入出力システムの一実施の形態の構成例を示すブロック図である。
【0066】
図1の入出力システムは、データを学習する学習処理、さらには、データの学習結果に基づいて、データを認識し、その認識結果に応じて、データを出力する認識生成(認知行動)処理を行うようになされており、例えば、外部から受ける刺激(例えば、人からの話しかけ等)等に対応して自律的に行動するロボットや、ユーザの操作等を学習して、その学習結果に応じて処理を行うAV(Audio Visual)機器に代表される家庭電化製品等に適用することができる。
【0067】
図1の入力システムは、学習モジュール100から構成され、学習モジュール100は、本体学習モジュール101、誤差学習モジュール102、及び制御部103から構成される。
【0068】
本体学習モジュール101には、学習処理の対象となるデータDや、認識生成処理のうちの認識処理の対象となるデータDが供給される。
【0069】
本体学習モジュール101は、学習処理の対象となるデータDを学習する。また、本体学習モジュール101は、学習結果に応じ、認識処理の対象となるデータDの入力に対して、そのデータDを再構成し、その結果得られる再構成データDRを出力する。
【0070】
誤差学習モジュール102には、本体学習モジュール101に供給されるデータDと、本体学習モジュール101が、供給されたデータDに対して出力する再構成データDRとの誤差である誤差データ△D(=D-DR)が供給される。
【0071】
誤差学習モジュール102は、誤差データ△Dを学習する。また、誤差学習モジュール102は、学習結果に応じ、誤差データ△Dの入力に対して、その誤差データ△Dを再構成し、その結果得られる再構成誤差データ△DRを出力する。
【0072】
制御部103は、本体学習モジュール101、及び誤差学習モジュール102を、必要に応じて制御する。また、制御部103は、本体学習モジュール101や、誤差学習モジュール102に与えるべきデータを、必要に応じて生成し、本体学習モジュール101や、誤差学習モジュール102に供給する。
【0073】
すなわち、例えば、制御部103は、本体学習モジュール101に供給されるデータDと、そのデータDに対して、本体学習モジュール101が出力する再構成データDRとを用いて、誤差データ△Dを生成し、誤差学習モジュール102に供給する。
【0074】
以上のように構成される図1の入出力システムでは、上述したように、データを学習する学習処理と、データの学習結果に基づいて、データを認識し、その認識結果に応じて、データを出力する認識生成処理とが行われる。
【0075】
図1の入出力システムが行う学習処理について、図2のフローチャートを参照して説明する。
【0076】
この学習処理は、学習モジュール100の本体学習モジュール101に対して、学習処理の対象となるデータDが供給されたことに対応して開始される。
【0077】
本体学習モジュール101は、ステップS101において、供給されたデータDの学習(データDを用いた学習モデルの学習)を行う。
【0078】
ステップS102において、本体学習モジュール101は、直前のステップS101で学習に用いたデータDを再構成することにより再構成データDRを生成して出力する。
【0079】
ステップS103において、制御部103は、直前のステップS101で本体学習モジュール101に供給されたデータDと、そのデータDに対して、直前のステップS102で本体学習モジュール101が出力した再構成データDRとを用いて、誤差データ△D=D-DRを算出し、算出結果である誤差データ△Dを誤差学習モジュール102に供給する。
【0080】
ステップS104において、誤差学習モジュール102は、制御部103から供給された誤差データ△Dの学習(誤差データ△Dを用いた学習モデルの学習)を行う。以上で、学習処理は終了される。
【0081】
なお、図2の学習処理は、例えば、学習モジュール100に対して、学習処理の対象となるデータDが入力される度に行われる。
【0082】
次に、図1の入出力システムが行う認識生成処理について、図3のフローチャートを参照して説明する。
【0083】
この認識生成処理は、学習モジュール100の本体学習モジュール101に対して、認識処理の対象となるデータDが入力されたことに対応して開始される。
【0084】
本体学習モジュール101は、ステップS111において、供給されたデータDを、図2の学習処理の学習結果に基づいて認識する認識処理を行う。
【0085】
ステップS112において、本体学習モジュール101は、直前のステップS111で認識したデータDの認識結果に基づき、そのデータDを再構成することによって再構成データDRを生成して出力する。
【0086】
ステップS113において、制御部103は、直前のステップS111で本体学習モジュール101に供給されたデータDと、そのデータDに対して、直前のステップS112で本体学習モジュール101が出力した再構成データDRとを用いて、誤差データ△D=D-DRを算出し、算出結果である△Dを誤差学習モジュール102に供給する。
【0087】
ステップS114において、誤差学習モジュール102は、制御部103からの誤差データ△Dを、図2の学習処理の学習結果に基づいて認識する認識処理を行う。ステップS115において、誤差学習モジュール102は、直前のステップS114で認識した誤差データ△Dの認識結果に基づき、その誤差データ△Dを再構成した再構成誤差データ△DRを生成して出力する。
【0088】
ステップS116において、制御部103は、本体学習モジュール101が出力した再構成データDRと、誤差学習モジュール102が出力した再構成誤差データ△DRとを加算することにより、本体学習モジュール101が出力した再構成データDRを補正して出力する。
【0089】
すなわち、制御部103は、本体学習モジュール101が出力した再構成データDRと、誤差学習モジュール102が出力した再構成誤差データ△DRとを加算した加算データDR+△DRを求め、その加算データを、本体学習モジュール101が出力した再構成データDRを補正した、いわば最終的な再構成データとして出力する。以上で、認識生成処理は終了される。
【0090】
以上のように、本体学習モジュール101において、データDを学習し、誤差学習モジュール102において、データDの学習とは別に、データDとそのデータDを再構成した再構成データDRとの誤差データ△Dを学習する。さらに、本体学習モジュール101において、データDを再構成して、再構成データDRを出力し、誤差学習モジュール102において、データDと再構成データDRとの誤差データ△Dを再構成して、再構成誤差データ△DRを出力する。そして、制御部103において、再構成データDRと、再構成誤差データ△DRとを加算し、その結果得られる加算データを出力する。したがって、誤差を適切に考慮した処理、すなわち、再構成データDRに生じているであろうと推定される誤差を、再構成誤差データ△DRにより補正した加算データDR+△DRを求めることができる。
【0091】
なお、図2の学習処理と、図3の認識生成処理とについては、データDの入力に対して、両方を行うこともできるし、いずれか一方だけを行うこともできる。
【0092】
次に、図4は、図1の本体学習モジュール101、誤差学習モジュール102、及び制御部103の第1の構成例を示している。
【0093】
図4において、本体学習モジュール101は、演算部121及び本体モデル記憶部122から、誤差学習モジュール102は、演算部123及び分割誤差モデル記憶部124から、制御部103は、誤差算出部125、データ分割部126、補正データ生成部127及び加算部128から、それぞれ構成されている。
【0094】
演算部121には、例えば、外部から、データDが供給される。このデータDは、n次元ベクトルあるいは時系列データであるとする。演算部121は、そこに供給されるデータDの学習を行う。すなわち、演算部121は、そこに供給されるデータDを用いて、本体モデル記憶部122に記憶されている本体モデルの学習を行う。
【0095】
また、演算部121は、供給されるデータDを、本体モデル記憶部122に記憶されている本体モデルを用いて認識し、その認識結果に基づいて、データDを再構成し、その結果得られる再構成データDRを出力する。演算部121が出力する再構成データDRは、制御部103の誤差算出部125及び加算部128に供給される。
【0096】
本体モデル記憶部122は、データを学習するモデル(学習モデル)としての本体モデルを記憶している。本体モデルとしては、教師なし学習が可能な、例えば、SOMやNN、その他の学習モデルを採用することができる。
【0097】
誤差学習モジュール102の演算部123には、制御部103のデータ分割部126から分割誤差データ△D1,△D2,・・・,ΔDnが供給される。演算部123は、データ分割部126からの分割誤差データ△D1,(i=1,2,・・・,n)の学習を行う。すなわち、演算部123は、データ分割部126からの分割誤差データ△Diを用いて、分割誤差モデル記憶部124に記憶されている誤差モデルの学習を行う。
【0098】
また、演算部123は、データ分割部126からの分割誤差データ△Diを、分割誤差モデル記憶部124に記憶されている分割誤差モデルを用いて認識し、その認識結果に基づいて、分割誤差データ△Diを再構成し、その結果得られる分割再構成誤差データ△DR1,△DR2,・・・,ΔDRnを出力する。演算部123が出力する分割再構成誤差データ△DRi(i=1,2,・・・,n)は、制御部103の補正データ生成部127に供給される。
【0099】
分割誤差モデル記憶部124は、データを学習するモデルとしての分割誤差モデルを記憶している。分割誤差モデルとしては、教師なし学習が可能な、例えば、SOMやNN、その他の学習モデルを採用することができる。
【0100】
制御部103の誤差算出部125には、上述したように、演算部121から再構成データDRが供給される他、演算部121に供給されるデータDと同一のデータDが外部から供給される。
【0101】
誤差算出部125は、外部からのデータDと、再構成データDRとの差分D-DRを求め、誤差データ△Dとして、データ分割部126に供給する。上述したように、データDがn次元ベクトルあるいは時系列データである場合、誤差データ△Dもn次元ベクトルあるいは時系列データとなる。
【0102】
データ分割部126は、n次元ベクトルあるいは時系列データである誤差データ△Dを、予め決定されている所定の次元毎あるいは所定の時間毎に分割し、その結果得られる分割誤差データ△Diを出力する。例えば、誤差データ△Dが、2次元ベクトルである場合、誤差データ△Dを、△D1と△D2に分割する。また、例えば、誤差データ△Dが、100ステップの時系列データである場合、誤差データ△Dを、1ステップから50ステップまでの△D1と51ステップから100ステップまでの△D2に分割する。なお、分割する数nは、誤差データ△Dの次元数やステップ数に拘わりなく任意である。データ分割部126が出力する分割誤差データ△Diは、演算部123及び補正データ生成部127に供給される。
【0103】
補正データ生成部127は、データ分割部126からの分割誤差データ△Diに基づいて再構成データDRの補正すべき次元または時間を決定し、決定結果に従い、分割された所定の次元毎あるいは時間毎の補正重みを決定して、演算部123からの分割再構成誤差データ△DRiにそれぞれ補正重みを乗算することにより、部分補正データ△DRjを生成し、加算部128に供給する。
【0104】
加算部128は、演算部121から供給される再構成データDRと、補正データ生成部127から供給される部分補正データ△DRjとを加算し、その結果得られる加算データDR+△DRjを、再構成データDRを補正した、最終的な再構成データ(以下、適宜、最終再構成データとも称する)として出力する。
【0105】
ここで、図4において、本体モデル記憶部122に記憶されている本体モデルと、分割誤差モデル記憶部124に記憶されている誤差モデルとしては、同一の学習モデルを採用することもできるし、異なる学習モデルを採用することもできる。
【0106】
ただし、ここでは、説明を簡単にするために、本体モデルと誤差モデルとしては、同一の学習モデルを採用することとする。
【0107】
なお、本体モデルは、本来学習すべきデータを対象として学習を行う学習モデルであることに対して、分割誤差モデルは、データを学習した本体モデルを用いて、あるデータDを再構成して得られる再構成データDRと、データDとの誤差(誤差データ△D)を算出し、さらに所定の次元毎あるいは時間毎に分割した分割誤差データを対象として学習を行う学習モデルである。したがって、本体モデルと分割誤差モデルとは、学習の対象が異なるだけで、学習モデルとしての本質的な違いはない。
【0108】
次に、本体モデル及び分割誤差モデルとしては、上述したように、例えば、SOMを採用することができる。
【0109】
そして、本体モデル及び分割誤差モデルとしては、ノードにベクトルが与えられており、固定長のパターン(長さが一定のパターン)のみを獲得することができる一般的なSOMは勿論、固定長のパターンの他、時系列パターン等の可変長のパターン(長さが一定でないパターン)をも獲得することができるSOM(以下、適宜、パターン記憶SOMと称する)を採用することができる。
【0110】
そこで、まず、パターン記憶SOMについて説明する。
【0111】
図5は、パターン記憶SOMの例を模式的に示している。
【0112】
パターン記憶SOMは、複数のノードから構成され、自己組織的な学習を行うことができる点で、一般的なSOMと共通し、したがって、SOMの範疇に含まれるので、SOMの一種であると称することができる。
【0113】
ただし、パターン記憶SOMは、ノードが、時系列パターン等の可変長のパターンを学習することができるHMMや、NN,SVR、その他の、パターンを獲得することができる学習モデル(以下、適宜、パターン記憶モデルと称する)を有し、そのパターン記憶モデルによって時系列パターン等を保持することができる点で、ノードにベクトルが与えられている一般的なSOMとは異なる。
【0114】
パターン記憶SOMは、以上のように、可変長のパターンを獲得(表現)することができるパターン記憶モデルを有する複数のノードから構成されるSOMであり、ノードの数だけの(クラス分けを行う)パターンを記憶することができる。
【0115】
図5においては、パターン記憶SOMは、ノードN1乃至N6の6つのノードから構成されて
いる。
【0116】
パターン記憶SOMを構成する各ノードNi(図5では、i=1,2,・・・,6)は、例えば、時系列パターンを表現するパターン記憶モデルを有する。また、ノードNiは、他のノードNj(図5では、j=1,2,・・・,6)と結合関係を持つことができる。この結合関係をリンクと呼ぶ。図5では、例えば、ノードN1は、ノードN2,N3と直接の結合関係を有している。また、例えば、ノードN3は、ノードN1,N2,N5,N6と直接の結合関係を有しており、したがって、ノードN5とN6は、ノードN3を介して、ノードN1と間接的な結合関係を有している。なお、2つのノードNiとNjとの結合関係とは、その2つのノードNiとNjとの最短の結合関係を意味する。
【0117】
パターン記憶SOMの学習(パターン記憶SOMに時系列パターンを記憶(獲得)させる学習)では、時系列データが、学習用の学習データとして行われる。また、学習データとしては、カテゴリの種類や、カテゴリの数が未知の時系列データを用いることができる。したがって、パターン記憶SOMの学習としては、教師なし学習を行うことができる。
【0118】
なお、パターン記憶SOMの学習は、ある1つのノードが、必ずしもある1つのカテゴリに対応するように行われるとは限らない。即ち、パターン記憶SOMにおいては、1つのノードが1つのカテゴリに対応するように学習が行われる場合もあるし、複数のノードが1つのカテゴリに対応するように学習が行われる場合もある。さらに、1つのノードが複数のカテゴリに対応するように学習が行われる場合もある。したがって、仮に、学習データが、明確にカテゴリ分けすることができないものであっても、パターン記憶SOMによる学習は行うことができる。
【0119】
次に、図6は、パターン記憶SOMのノードNiの構成例を模式的に示している。
【0120】
ノードNiは、時系列パターン等の可変長のパターンを表現することが可能なパターン記憶モデル21と、そのパターン記憶モデル21の学習に用いる学習データを記憶する学習データ記憶部22とから構成される。
【0121】
ここで、図6では、パターン記憶モデル21として、状態確率遷移モデルの1つであるHMM(連続HMM)が採用されている。また、図6では、HMMは、自己ループと次状態(右隣の状態)への状態遷移だけを有するleft-to-right型の3状態S1,S2,S3を有する。なお、図6のパターン記憶モデル21における丸印は状態を表し、矢印は状態遷移を表している。なお、パターン記憶モデル21としてのHMMは、left-to-right型や、3状態のもの等に限定されない。
【0122】
パターン記憶モデル21が、図6に示したようなHMMである場合、そのパターン記憶モデル21としてのHMMは、状態遷移確率と出力確率密度関数(HMMが離散HMMである場合には、スカラ量である離散的なシンボルが出力される確率)とで定義される。
【0123】
状態遷移確率は、HMMにおいて、状態が遷移する確率で、図6のパターン記憶モデル21における矢印で示した状態遷移それぞれに対して与えられる。出力確率密度関数は、状態遷移時に、HMMから観測される値の確率密度を表す。出力確率密度関数としては、例えば、混合正規分布などが採用される。これらのHMMのパラメータ(状態遷移確率と出力確率密度関数)は、例えば、Baum-Welch 法によって学習(推定)することができる。
【0124】
ノードNiでは、学習データ記憶部22に記憶された学習データの統計的な特性、即ち、学習データ記憶部22に記憶された学習データのパターンが、パターン記憶モデル21において学習され、これにより、パターン記憶モデル21と、学習データ記憶部22に記憶された学習データとが、対応関係を持つことになる。
【0125】
なお、パターン記憶SOMの学習、ひいては、ノードNiのパターン記憶モデル21の学習は、パターン記憶SOMに対して、学習の対象となるデータが与えられる毎に学習を行うオンライン学習によって行われる。したがって、パターン記憶SOMのパラメータ、つまり、ノードNiのパターン記憶モデル21のパラメータ(パターン記憶モデル21がHMMである場合には、上述したように、状態遷移確率と出力確率密度関数)は、パターン記憶SOMに対して、学習の対象となるデータが与えられる度に、少しずつ更新される。
【0126】
すなわち、後述するように、パターン記憶SOMの学習が進むにつれ、学習データ記憶部22に記憶される学習データは、パターン記憶SOMに与えられたデータによって更新され、これにより、少しずつ変化する。そして、その少しずつ変化する学習データによって、パターン記憶モデル21の学習が行われることにより、そのパターン記憶モデル21のパラメータも、少しずつ変化していく。
【0127】
図7は、パターン記憶SOMの他の例を模式的に示している。
【0128】
図7では、パターン記憶SOMは、9個のノードN1乃至N9で構成されており、この9個のノードN1乃至N9は、2次元的に配置されている。すなわち、図7では、9個のノードN1乃至N9が、2次元平面上に、横×縦が3×3となるように配置されている。
【0129】
さらに、図7では、2次元的に配置された9個のノードN1乃至N9の、横方向に隣接するノードどうしと、縦方向に隣接するノードどうしに対して、リンク(結合関係)が与えられている。なお、このようなリンクを与えることによって、パターン記憶SOMを構成するノードには、空間的に、2次元的に配置される配置構造が与えられている。
【0130】
パターン記憶SOMでは、リンクによって与えられる空間的なノードの配置構造に基づき、その空間上でのある2つのノードどうしの距離を定義することができ、この2つのノードどうしの距離は、その2つのノードそれぞれが有するパターン記憶モデル21が表現するパターンのパターン間距離(パターンどうしの類似性)として用いることができる。
【0131】
2つのノードどうしの距離としては、例えば、その2つのノードどうしを結ぶ最短のパスを構成するリンクの数を採用することができる。この場合、あるノードに注目すると、その注目ノードとの直接のリンクを有するノード(図7では、注目ノードの横方向や縦方向に隣接するノード)は、注目ノードとの距離が最も近く、注目ノードとの直接のリンクを有するノードから先のリンクを辿っていくことで到達することができるノードは、到達するのに辿るリンクの数が多いほど、注目ノードとの距離が遠くなっていく。
【0132】
なお、ノードに与えるリンクは、図5や図7に示したものに限定されるものではない。また、図5や図7に示したリンクは、ノードに対して、2次元的な配置構造を与えるが、リンクは、その他、1次元的な配置構造や3次元以上の配置構造等を与えるリンクであってもよい。
【0133】
次に、図8は、パターン記憶SOMの学習を行う学習装置の構成例を示している。
【0134】
図8において、学習装置は、スコア計算部41、勝者ノード決定部42、重み決定部43、学習データ更新部44、及びモデル学習部45から構成されている。
【0135】
学習装置には、学習の対象となる時系列データが外部から入力され、この、外部からの時系列データは、スコア計算部41、重み決定部43、及び学習データ更新部44に供給される。
【0136】
スコア計算部41は、パターン記憶SOMを構成する各ノードについて、そのノードが、外部からの時系列データ(の観測値)に適合する度合いをスコアとして求め、勝者ノード決定部42に供給する。すなわち、ノードが有するパターン記憶モデル21が、例えば、図6に示したようにHMMである場合には、スコア計算部41は、ノードが有するパターン記憶モデル21としてのHMMから、外部からの時系列データが観測される尤度を求め、そのノードのスコアとして、勝者ノード決定部42に供給する。
【0137】
勝者ノード決定部42は、パターン記憶SOMにおいて、外部からの時系列データに最も適合するノードを求め、そのノードを、勝者ノードに決定する。
【0138】
すなわち、勝者ノード決定部42は、パターン記憶SOMを構成するノードのうちの、スコア計算部41からのスコアが最も高いノードを勝者ノードに決定する。そして、勝者ノード決定部42は、勝者ノードを表す情報を、重み決定部43に供給する。
【0139】
ここで、パターン記憶SOMを構成するノードには、各ノードを識別するためのラベルであるノードラベルを付しておくことができる。そして、勝者ノードを表す情報、その他のノード表す情報としては、ノードラベルを採用することができる。なお、ノードラベルは、ノード自体を識別するラベルであり、正解が何であるかを表す正解ラベルとは、何ら関係がない。
【0140】
重み決定部43は、勝者ノード決定部42から供給されるノードラベルが表す勝者ノードに基づき、パターン記憶SOMを構成する各ノードについて、後述する更新重みを決定し、学習データ更新部44に供給する。
【0141】
すなわち、重み決定部43は、パターン記憶SOMを構成する各ノード(勝者ノードを含む)の更新重みを、そのノードと、勝者ノードとのパターン間距離に基づいて決定し、学習データ更新部44に供給する。
【0142】
ここで、ノードが有するパターン記憶モデル21(図6)は、外部から供給される(新たな)時系列データを用いて更新されるが、ノードの更新重みとは、そのノードが有するパターン記憶モデル21の更新によって、そのパターン記憶モデル21が受ける外部からの時系列データの影響の度合いを表す。したがって、ノードの更新重みが0であれば、そのノードが有するパターン記憶モデル21は、外部からの時系列データの影響を受けない(更新されない)。
【0143】
学習データ更新部44は、パターン記憶SOMの各ノードが有する学習データ記憶部22(図6)に記憶された学習データを更新する。
【0144】
すなわち、学習データ更新部44は、ノードが有する学習データ記憶部22に既に記憶されている学習データと、外部からの時系列データとを、重み決定部43からの、対応するノードの更新重みにしたがって混合し、その混合結果を、新たな学習データとして、学習データ記憶部22に記憶させることで、その学習データ記憶部22の記憶内容を更新する。
【0145】
学習データ更新部44は、以上のように、学習データ記憶部22(図6)に記憶された学習データを、更新重みにしたがって更新すると、その更新が終了した旨の終了通知を、モデル学習部45に供給する。
【0146】
モデル学習部45は、学習データ更新部44から終了通知を受けると、その学習データ更新部44による更新後の学習データ記憶部22(図6)に記憶された学習データを用いて、各ノードが有するパターン記憶モデル21の学習を行うことにより、そのパターン記憶モデル21を更新する。
【0147】
したがって、モデル学習部45による、ノードが有するパターン記憶モデル21の更新は、そのノードが有する学習データ記憶部22(図6)に記憶されていた学習データ(の一部)と、外部からの新たな時系列データとに基づいて行われる。
【0148】
次に、図9は、図8の重み決定部43において更新重みを決定する決定方法を示している。
【0149】
重み決定部43は、例えば、図9に示すような、勝者ノードとのパターン間距離dの増加に対して更新重みαが減少する関係を表す曲線(以下、距離/重み曲線と称する)にしたがって、ノードに対する更新重み(ノードの更新重み)αを決定する。距離/重み曲線によれば、勝者ノードとのパターン間距離dが近いノードほど、大きな更新重みαが決定され、パターン間距離dが遠いノードほど、小さな更新重みαが決定される。
【0150】
図9の距離/重み曲線において、横軸(左から右方向)は、更新重みαを示しており、縦軸(上から下方向)は、パターン間距離dを示している。
【0151】
図9では、縦軸に沿って、パターン記憶SOMを構成する6つのノードN1乃至N6が、各ノードNiと勝者ノードとのパターン間距離dに対応する位置(縦軸の位置)に記載されている。
【0152】
図9では、パターン記憶SOMを構成する6つのノードN1乃至N6が、その順で、勝者ノードとのパターン間距離dが近くなっている。パターン記憶SOMを構成する6つのノードN1乃至N6のうち、勝者ノードとのパターン間距離dが最も近いノード、すなわち、勝者ノードとのパターン間距離dが0のノードであるノードN1は、勝者ノード(となっているノード)である。
【0153】
ここで、パターン記憶SOMが、例えば、図7に示したような2次元的な配置構造を有し、勝者ノードが、例えば、ノードN6であった場合、勝者ノードN6とノードN6との距離は最も(1番)近い0であり、ノードN6と勝者ノードN6とのパターン間距離dも0となる。また、勝者ノードN6と、ノードN3,N5、またはN9それぞれとの距離は2番目に近い1であり、ノードN3,N5、またはN9それぞれと勝者ノードN6とのパターン間距離dも1となる。
【0154】
さらに、勝者ノードN6と、ノードN2,N4、またはN8それぞれとの距離は3番目に近い2であり、ノードN2,N4、またはN8それぞれと勝者ノードN6とのパターン間距離dも2となる。また、勝者ノードN6と、ノードN1またはN7それぞれとの距離は最も遠い(4番目に近い)3であり、ノードN1またはN7それぞれと勝者ノードN6とのパターン間距離dも3となる。
【0155】
次に、更新重みαとパターン間距離dとの関係を表す、例えば、図9に示したような距離/重み曲線は、例えば、式(1)によって与えられる。
【0156】
α=G×γ(d/△)
・・・(1)
【0157】
ここで、式(1)において、係数Gは、勝者ノードの更新重みを表す定数であり、係数γは、0<γ<1の範囲の定数である。また、係数Δは、いわゆる近傍学習において、新たなデータ(ここでは、外部からの新たな時系列データ)を影響させるノードの範囲を調整する係数(以下、適宜、減衰係数と称する)である。
【0158】
上述したように、勝者ノードとなっているノードのパターン間距離dとして、0が与えられ、以下、他のノードのパターン間距離dとして、勝者ノードとの距離にしたがって、1,2,・・・が与えられる場合、式(1)において、例えば、G=8,γ=0.5,Δ=1であれば、勝者ノードとなっているノードの更新重みαとして、8(=G)が求められる。以下、勝者ノードとの距離が大になるにしたがって、ノードの更新重みαとしては、4,2,1,・・・と小さくなる値が求められる。
【0159】
ここで、式(1)における減衰係数Δが大きな値である場合には、パターン間距離dの変化に対する更新重みαの変化は緩やかになり、逆に、減衰係数Δが0に近い値である場合には、パターン間距離dの変化に対する更新重みαの変化は急峻になる。
【0160】
したがって、減衰係数Δを、例えば、上述した1から少しずつ0に近づけていくように調整すると、パターン間距離dの変化に対する更新重みαの変化は急峻になっていき、更新重みαは、パターン間距離dが大きくなるにしたがって、より小さい値となる。そして、減衰係数Δが0に近くなると、勝者ノード(となっているノード)以外のノードの更新重みαは、ほとんど0となる。
【0161】
減衰係数△は、例えば、パターン記憶SOMの更新(学習)の開始時は大きな値にし、時間の経過とともに、すなわち、更新の回数が増加するにしたがって小さな値にくなるようにすることができる。この場合、パターン記憶SOMの更新の開始時は、パターン間距離dの変化に対する更新重みαの変化が緩やかな距離/重み曲線にしたがって、パターン記憶SOMの各ノードの更新重みαが決定され、更新(学習)が進む(進行する)につれ、パターン間距離dの変化に対する更新重みαの変化が急峻になっていく距離/重み曲線にしたがって、パターン記憶SOMの各ノードの更新重みαが決定される。
【0162】
すなわち、この場合、勝者ノード(が有するパターン記憶モデル21)の更新は、学習(更新)の進行に拘わらず、新たな時系列データの影響を強く受けるように行われる。一方、勝者ノード以外のノード(が有するパターン記憶モデル21)の更新は、学習の開始時は、比較的広い範囲のノードに亘って(勝者ノードとのパターン間距離dが小さいノードから、ある程度大きいノードまで)、新たな時系列データの影響を受けるように行われる。そして、学習が進行するにつれ、勝者ノード以外のノードの更新は、徐々に狭い範囲のノードについてのみ、新たな時系列データの影響を受けるように行われる。
【0163】
図8の重み決定部43は、以上のようにして、パターン記憶SOMの各ノードの更新重みαを決定し、学習データ更新部44では、各ノードが有する学習データ記憶部22に記憶される学習データが、そのノードの更新重みαに基づいて更新される。
【0164】
次に、ノードが有する学習データ記憶部22に記憶される学習データを更新する更新方法について、図10を参照して説明する。
【0165】
いま、あるノードNiが有する学習データ記憶部22には、学習データが既に記憶されており、ノードNiのパターン記憶モデル21は、学習データ記憶部22に既に記憶されている学習データを用いた学習が済んでいることとする。
【0166】
学習データ更新部44は、例えば、ノードNiが有する学習データ記憶部22に既に記憶されている学習データ(以下、適宜、旧学習データと称する)と、外部からの新たな時系列データとを、重み決定部43からのノードNiの更新重みαにしたがって混合し、その混合結果を、新たな学習データとして、学習データ記憶部22に記憶させることで、その学習データ記憶部22の記憶内容を、新たな学習データに更新する。
【0167】
すなわち、学習データ更新部44は、旧学習データに対して、新たな時系列データを追加することで、旧学習データと新たな時系列データとを混合した新たな学習データとするが、旧学習データに対する新たな時系列データの追加(旧学習データと新たな時系列データとの混合)は、ノードNiの更新重みαに対応する比にしたがって行われる。
【0168】
ここで、ノードNiのパターン記憶モデル21(図6)の更新は、新たな学習データを用いた学習によって行われるため、新たな時系列データと旧学習データとを混合する比率を変えることによって、更新によりパターン記憶モデル21が受ける新たな時系列データの影響の度合い(強さ)を変えることができる。
【0169】
ノードNiにおいて、新たな時系列データと旧学習データとを混合する比率としては、ノードNiの更新重みαに対応した値が採用され、例えば、更新重みαが大であるほど、新たな時系列データの比率が大となる(旧学習データの比率が小となる)ような値とされる。
【0170】
具体的には、ノードNiの学習データ記憶部22には、一定の数の時系列データ(学習データ)が記憶されることとし、その一定の数をHとする。この場合、ノードNiのパターン記憶モデル21の学習は、常に、H個の学習データ(時系列データ)を用いて行われる。
【0171】
学習データ記憶部22に、常に、一定の数Hの学習データが記憶される場合、新たな時系列データと旧学習データとの混合によって得られる新たな学習データの個数は、H個である必要があり、そのような、新たな時系列データと旧学習データとの混合を、ノードNiの更新重みαに対応した比率で行う方法としては、新たな時系列データと旧学習データとを、比率α:H-αで混合する方法がある。
【0172】
新たな時系列データと旧学習データとを、比率α:H-αで混合する具体的な方法としては、図10に示すように、H個の旧学習データのうちのH-α個の旧学習データに対して、α個の新たな時系列データを追加することにより、H個の新たな学習データを得る方法がある。
【0173】
この場合、学習データ記憶部22に記憶される時系列データの数Hが、例えば、100であり、ノードNiの更新重みαが、例えば、8であれば、学習データ記憶部22の記憶内容は、100個の旧学習データのうちの92個の旧学習データに対して、8個の新たな時系列データを追加することによって得られる100個の新たな学習データに更新される。
【0174】
H個の旧学習データのうちのH-α個の旧学習データに対する、α個の新たな時系列データの追加は、α個の新たな時系列データが得られた後に行う方法があるが、この方法では、1個の新たな時系列データが得られる毎に、学習データ記憶部22の記憶内容を更新することができない。
【0175】
そこで、学習データ記憶部22の記憶内容の更新は、1個の新たな時系列データが得られる毎に、その新たな時系列データをα個だけ、H-α個の旧学習データに追加することにより行うことができる。すなわち、1個の新たな時系列データをコピーしてα個の新たな時系列データとし、そのα個の新たな時系列データを、H個の旧学習データから古い順にα個を除外して残ったH-α個の旧学習データに追加することにより、学習データ記憶部22の記憶内容の更新を行う。これにより、1個の新たな時系列データが得られる毎に、学習データ記憶部22の記憶内容を更新することができる。
【0176】
以上のように、学習データ記憶部22の記憶内容の更新を行うことにより、学習データ記憶部22には、常に、新しい順のH個の時系列データだけが、学習データとして保持されることになり、その学習データに占める新たな時系列データの割合(比率)は、更新重みαによって調整されることになる。
【0177】
次に、図8の学習装置によって行われる、パターン記憶SOMの学習を行う学習処理について、図11のフローチャートを参照して説明する。
【0178】
ステップS1において、学習部4(図10)の学習装置は、パターン記憶SOMのパラメータ、すなわち、パターン記憶SOMの各ノードが有するパターン記憶モデル21(図6)としての、例えばHMMのパラメータを初期化する初期化処理を行う。この初期化処理により、HMMのパラメータ(状態遷移確率と出力確率密度関数)として、適切な初期値が与えられる。なお、初期化処理において、HMMのパラメータとして、どのように初期値を与えるかは、特に限定されるものではない。
【0179】
ステップS1の後、処理は、ステップS2に進み、外部から、例えば、1の音声区間の音声データ(から抽出された特徴パラメータ)等の新たな時系列データが、図8の学習装置に入力されると、処理は、ステップS3乃至S7に順次進み、学習装置は、その新たな時系列データを用いて、パターン記憶SOMを、自己組織的に更新する、自己組織的な学習を行う。
【0180】
すなわち、ステップS3では、スコア計算部41が、パターン記憶SOMを構成する各ノードについて、そのノードが、外部からの新たな時系列データに適合する度合いを表すスコアを求める。
【0181】
具体的には、ノードが有するパターン記憶モデル21(図6)が、例えばHMMである場合には、そのHMMから、新たな時系列データが観測される対数尤度が、スコアとして求められる。ここで、対数尤度の計算方法としては、例えば、ビタビアルゴリズム(Viterbi algorithm)を採用することができる。
【0182】
スコア計算部41は、パターン記憶SOMが有するすべてのノードについて、新たな時系列データに対するスコアを計算すると、その各ノードについてのスコアを、勝者ノード決定部42に供給して、処理は、ステップS3からステップS4に進む。
【0183】
ステップS4では、勝者ノード決定部42は、パターン記憶SOMを構成するノードのうちの、スコア計算部41からのスコアが最も高いノードを求め、そのノードを勝者ノードに決定する。そして、勝者ノード決定部42は、勝者ノードを表す情報としてのノードラベルを、重み決定部43に供給し、処理は、ステップS4からステップS5に進む。
【0184】
ステップS5では、重み決定部43は、勝者ノード決定部42からのノードラベルが表す勝者ノードを、いわば基準として、パターン記憶SOMを構成する各ノードの更新重みを決定する。
【0185】
すなわち、重み決定部43は、図9で説明したように、パターン記憶SOMの更新(学習)が進むにつれ、パターン間距離dの変化に対する更新重みαの変化が急峻になっていく、式(1)で表される距離/重み曲線にしたがって、パターン記憶SOMの各ノードの更新重みαを決定し、学習データ更新部44に供給して、処理は、ステップS5からステップS6に進む。
【0186】
ステップS6では、学習データ更新部44は、ステップS6において、パターン記憶SOMの各ノードが有する学習データ記憶部22(図6)に記憶された学習データを、重み決定部43からの、対応するノードの更新重みにしたがって更新する。すなわち、学習データ更新部44は、図10で説明したように、外部からの新たな時系列データと、ノードの学習データ記憶部22に記憶されている旧学習データとを、そのノードの更新重みαに対応した比率α:H-αで混合することにより、H個の新たな学習データを得て、そのH個の新たな学習データによって、学習データ記憶部22の記憶内容を更新する。
【0187】
学習データ更新部44は、パターン記憶SOMのノードすべての学習データ記憶部22(図6)の記憶内容を更新すると、その更新が終了した旨の終了通知を、モデル学習部45に供給し、処理は、ステップS6からステップS7に進む。
【0188】
ステップS7では、モデル学習部45は、学習データ更新部44からの終了通知に応じて、パターン記憶SOMのパラメータを更新する。
【0189】
すなわち、モデル学習部45は、パターン記憶SOMの各ノードについて、学習データ更新部44による更新後の学習データ記憶部22に記憶された新たな学習データを用いて、パターン記憶モデル21の学習を行うことにより、そのパターン記憶モデル21を更新する。
【0190】
具体的には、ノードが有するパターン記憶モデル21が、例えばHMMである場合には、そのノードが有する学習データ記憶部22に記憶された新たな学習データを用いて、HMMの学習が行われる。この学習では、例えば、HMMの現在の(旧学習データを用いた学習により得られた)状態遷移確率と出力確率密度関数を初期値とし、新たな学習データを用いて、Baum-Welch法により、新たな状態遷移確率と出力確率密度関数がそれぞれ求められる。そして、その新たな状態遷移確率と出力確率密度関数によって、HMMの状態遷移確率と出力確率密度関数がそれぞれ更新される。
【0191】
その後、処理は、ステップS7からステップS2に戻り、次の新たな時系列データが、外部から学習装置に入力されることを待って、以下、同様の処理が繰り返される。
【0192】
次に、図12は、パターン記憶SOMを用いて、認識生成処理を行う認識生成装置の構成例を示している。
【0193】
図12において、認識生成装置は、スコア計算部51、勝者ノード決定部52、及び再構成部53から構成され、スコア計算部51及び勝者ノード決定部52が、データを認識する認識処理を行い、再構成部53が、その認識処理によって認識されたデータを再構成したデータ(再構成データ)を取得(生成)する生成処理を行う。
【0194】
すなわち、認識生成装置には、認識の対象となるデータとしての、例えば、時系列データが外部から入力されて、当該時系列データは、スコア計算部51に供給される。
【0195】
スコア計算部51は、学習装置(図8)のスコア計算部41と同様に、パターン記憶SOMを構成する各ノードについて、そのノードが、外部からの時系列データ(の観測値)に適合する度合いを表すスコアを求め、勝者ノード決定部52に供給する。
【0196】
勝者ノード決定部52は、学習装置(図8)の勝者ノード決定部42と同様に、パターン記憶SOMにおいて、外部からの時系列データに最も適合するノードを求め、そのノードを、勝者ノードとして決定する。
【0197】
すなわち、勝者ノード決定部52は、パターン記憶SOMを構成するノードのうちの、スコア計算部51からのスコアが最も高いノードを勝者ノードとして決定する。そして、勝者ノード決定部52は、勝者ノードを表す情報としてのノードラベルを、外部からの時系列データの認識結果として、再構成部53に供給する。
【0198】
再構成部53は、勝者ノード決定部52からのノードラベルに基づき、外部からの時系列データを再構成して出力する。
【0199】
すなわち、再構成部53は、勝者ノード決定部52からのノードラベルが表すノード(勝者ノード)を、外部からの時系列データを再構成した再構成データを生成するのに用いる生成ノードとして、その生成ノードが有するパターン記憶モデル21(図6)に基づいて、再構成データを取得(生成)して出力する。
【0200】
具体的には、パターン記憶モデル21が、例えば、HMMである場合には、再構成部53は、例えば、生成ノードが有するパターン記憶モデル21としてのHMMにおいて時系列データが観測される尤度を表す出力確率を最大にする時系列データを生成する。
【0201】
なお、HMMを用いて時系列データを生成する方法については、例えば、K. Tokuda, T. Yoshimura, T. Masuko, T. Kobayashi, T. Kitamura, "SPEECH PARAMETER GENERATION ALGORITHMS FOR HMM-BASED SPEECH SYNTHESIS", Proc. of ICASSP 2000, vol.3, pp.1315-1318, June 2000や、稲邑哲也、谷江博昭、中村仁彦、「連続分布型隠れマルコフモデルを用いた時系列データのキーフレーム抽出とその復元」、日本機械学会ロボティクス・メカトロニクス講演会2003講演論文集、2P1-3F-C6,2003等に記載されている。
【0202】
ここで、例えば、時系列データが音声データ(から抽出された特徴パラメータ)であり、再構成部53において、生成ノードが有するパターン記憶モデル21としてのHMMを用いて、時系列データが観測される尤度を表す出力確率を最大にする時系列データとしての音声データを生成する場合、音声データに、波形が不連続になる歪み(以下、適宜、生成なまりと称する)が生じることがある。
【0203】
そこで、再構成部53では、生成ノードが有する学習データ記憶部22に記憶された学習データとしての時系列データをランダムに選択することにより取得し、その時系列データを再構成データとして出力することができる。
【0204】
生成ノードが有する学習データ記憶部22に記憶された学習データとしての時系列データからランダムに選択される時系列データは、生成ノードが有する学習データ記憶部22に記憶された学習データの確率分布に従うので、期待値の観点からは、その生成ノードが有するパターン記憶モデル21としてのHMMを用いて生成された時系列データとみなすことができ、さらに、上述の生成なまりを有しない。
【0205】
次に、図12の認識生成装置による、時系列データを認識する認識処理(以下、認識生成処理と称する)について、図13のフローチャートを参照して説明する。
【0206】
ステップS21において、外部から、例えば、1の音声区間の音声データ(から抽出された特徴パラメータ)等の時系列データが、図12の認識生成装置に入力されると、処理は、ステップS22,S23に順次進み、外部からの時系列データを認識する認識処理が行われる。
【0207】
すなわち、ステップS22において、スコア計算部51が、パターン記憶SOMを構成する各ノードが、外部からの時系列データに適合する度合いを表すスコアを求め、勝者ノード決定部52に供給して、処理は、ステップS23に進む。
【0208】
ステップS23では、勝者ノード決定部52は、パターン記憶SOMを構成するノードのうちの、スコア計算部51からのスコアが最も高いノードを求め、そのノードを勝者ノードとして決定する。そして、勝者ノード決定部52は、勝者ノードを表す情報としてのノードラベルを、外部からの時系列データの認識結果として、再構成部53に供給する。
【0209】
ステップS23の後、処理は、ステップS24に進み、再構成部53は、ステップS23で得られた認識結果に基づいて、外部からの時系列データの再構成を行い、その結果得られた再構成データを出力する。
【0210】
すなわち、ステップS24では、再構成部53は、勝者ノード決定部52からの認識結果としてのノードラベルが表すノードを、生成ノードとして、その生成ノードを用いて、その生成ノードが獲得しているパターンの時系列データを、上述したようにして取得して、外部からの時系列データを再構成した再構成データとして出力する。以上で、認識生成処理は終了される。
【0211】
なお、以上のような認識生成処理において取得される再構成データによれば、例えば、認識生成装置それ自身が、外部からの時系列データを、どのように認識しているのかを確認することができる。
【0212】
次に、図14は、本体モデル及び分割誤差モデルとして、パターン記憶SOMが採用されている場合の、図4の本体モデル記憶部122と分割誤差モデル記憶部124の記憶内容を、模式的に示している。
【0213】
図14において、本体モデル記憶部122には、本体モデルとしてのパターン記憶SOMが記憶されており、分割誤差モデル記憶部124には、分割誤差モデルとしてのパターン記憶SOMが記憶されている。
【0214】
ここで、以下、適宜、本体モデルとしてのパターン記憶SOMを、本体SOMとも称し、分割誤差モデルとしてのパターン記憶SOMを、分割誤差SOMとも称する。
【0215】
図15は、図14の本体SOM及び分割誤差SOMに対して入出力することができるデータを説明する図である。
【0216】
本体SOMに対しては、学習の対象となるデータD、及び認識の対象となるデータDが入力(供給)される。また、本体SOMからは、そこに入力されるデータDに対して、そのデータDを再構成した再構成データDRを出力することができる。
【0217】
分割誤差SOMに対しては、本体SOMに入力されるデータDと、そのデータDに対して本体SOMから出力される再構成データDRとの誤差である誤差データ△Dが所定の次元毎あるいは時間毎に分割された分割誤差データ△Di(i=1,・・・,n)が入力される。また、分割誤差SOMからは、そこに入力される分割誤差データ△Diに対して、その分割誤差データ△Diを再構成した分割再構成誤差データ△DRi(i=1,・・・,n)を出力することができる。
【0218】
次に、図14及び図15に示されたように、本体モデル及び分割誤差モデルとして、パターン記憶SOMが採用されている場合の、図4の本体学習モジュール101、誤差学習モジュール102、及び制御部103による学習処理について、図16のフローチャートを参照して説明する。
【0219】
この学習処理では、学習処理の対象となるデータDが、外部から、演算部121と誤差算出部125に供給される。
【0220】
そして、学習処理では、ステップS131において、演算部121が、そこに供給されるデータDの学習、すなわち、データDを用いて、本体モデル記憶部122に記憶された本体SOMを自己組織的に更新する、本体SOMの自己組織的な学習を、図11のステップS3乃至S7で説明したように行う。
【0221】
ステップS132では、演算部121が、本体モデル記憶部122に記憶された本体SOMを構成するノードの中から、データDに対する勝者ノードを決定する。ここでは、本体SOMを構成するノードのうちの、データDに対するスコアが最も高いノードが、データDに対する勝者ノードに決定される。
【0222】
なお、データDに対する勝者ノードは、ステップS131の自己組織的な学習で決定されるので、ステップS132では、その勝者ノードをそのまま採用することができる。ただし、ステップS132では、ステップS131とは別に、本体SOMを構成する各ノードについて、データDに対するスコアを求め、そのスコアの最も高いノードを、データDに対する勝者ノードに決定することができる。
【0223】
ステップS133において、演算部121は、ステップS132で決定された勝者ノードを用いて、データDを再構成することにより再構成データDRを生成する生成処理を、図13のステップS24で説明したように行う。そして、演算部121は、生成された再構成データDRを、誤差算出部125及び加算部128に供給する。
【0224】
ステップS134において、誤差算出部125は、外部からのデータDと、演算部121からの再構成データDRとの差分である誤差データ△Dを算出し、データ分割部126に供給する。データ分割部126は、n次元ベクトルあるいは時系列データである誤差データ△Dを、予め決定された所定の次元毎あるいは所定の時間毎に分割し、その結果得られる分割誤差データ△Di(i=1,・・・,n)を演算部123及び補正データ生成部127に供給する。
【0225】
ステップS135において、演算部123は、そこに供給される分割誤差データ△Diの学習、すなわち、分割誤差データ△Diを用いて、分割誤差モデル記憶部124に記憶された分割誤差SOMを自己組織的に更新する、分割誤差SOMの自己組織的な学習を、図11のステップS3乃至S7で説明したように行う。以上で、学習処理は終了される。
【0226】
以上のように、図16の学習処理では、本体SOMにおいて、本来学習すべきデータDの学習が行われ、分割誤差SOMにおいて、データDと、そのデータDを本体SOMが再構成することにより得られる再構成データDRとの誤差である誤差データ△Dを分割した分割誤差データ△Diの学習が行われる。
【0227】
なお、図16の学習処理は、例えば、学習処理の対象となるデータDが入力される度に行われる。
【0228】
次に、図14及び図15に示したように、本体モデル及び分割誤差モデルとして、パターン記憶SOMが採用されている場合の、図4の本体学習モジュール101、誤差学習モジュール102、及び制御部103による認識生成処理について、図17のフローチャートを参照して説明する。
【0229】
この認識生成処理では、認識の対象となるデータDが、外部から、演算部121と誤差算出部125に供給される。
【0230】
ステップS141において、演算部121が、そこに供給されるデータDを、図16の学習処理の学習結果に基づいて認識する認識処理を行う。
【0231】
すなわち、演算部121は、本体モデル記憶部122に記憶された本体SOMを構成するノードの中から、データDに対する勝者ノードを決定し、その勝者ノード(を表すノードラベル)を、データDの認識結果とする。
【0232】
ステップS142において、演算部121は、直前のステップS141でのデータDの認識結果に基づき、そのデータDを再構成することにより再構成データDRを生成する。すなわち、演算部121は、データDの認識結果としての、そのデータDに対する勝者ノードを用いて、データDを再構成した再構成データDRを生成し、誤差算出部125及び加算部128に供給する。
【0233】
ここで、再構成データDRは、図12を参照して上述したようにして取得することができる。すなわち、再構成データDRは、データDに対する勝者ノード(図6)が有するパターン記憶モデル21を用いて生成することができる。また、再構成データDRは、データDに対する勝者ノード(図6)が有する学習データ記憶部22に記憶されている学習データのうちの1つを選択することで取得することができる。
【0234】
ステップS143では、誤差算出部125が、外部から供給されたデータDと、そのデータDに対して演算部121が再構成した再構成データDRとの誤差データ△Dを算出してデータ分割部126に供給する。データ分割部126は、n次元ベクトルあるいは時系列データである誤差データ△Dを、予め決定された所定の次元毎あるいは所定の時間毎に分割し、その結果得られる分割誤差データ△Di(i=1,・・・,n)を演算部123及び補正データ生成部127に供給する。
【0235】
ステップS144において、演算部123は、供給された分割誤差データ△Diを、図16の学習処理の学習結果に基づいて認識する認識処理を行う。すなわち、演算部123は、分割誤差モデル記憶部124に記憶された誤差SOMを構成するノードの中から、分割誤差データ△Diに対する勝者ノードを決定し、その勝者ノード(を表すノードラベル)を、分割誤差データ△Diの認識結果とする。
【0236】
ステップS145において、演算部123は、直前のステップS144での分割誤差データ△Diの認識結果に基づき、その分割誤差データ△Diを再構成した分割再構成誤差データ△DRi(i=1,・・・,n)を生成して補正データ生成部127に供給する。すなわち、演算部123は、分割誤差データ△Diの認識結果としての、その分割誤差データ△Diに対する勝者ノードを用いて、分割誤差データ△Diを再構成した分割再構成誤差データ△DRiを生成し、補正データ生成部127に供給する。
【0237】
ここで、再構成誤差データ△DRは、再構成データDRと同様に、誤差データ△Dに対する勝者ノード(図6)が有するパターン記憶モデル21を用いて生成し、あるいは、誤差データ△Dに対する勝者ノードが有する学習データ記憶部22に記憶されている学習データのうちの1つを選択することで取得することができる。
【0238】
ステップS146では、補正データ生成部127が、データ分割部126からの分割誤差データ△Diに基づいて再構成データDRの補正すべき次元または時間を決定(例えば、誤差の大きい方から所定数の次元だけを補正するように決定)、さらに、この決定結果に基づいて各次元毎あるいは時間毎の補正重みを決定し、演算部123からの分割再構成誤差データ△DRiに補正重みを乗算することにより、部分補正データ△Djを生成し、加算部128に供給する。
【0239】
ステップS147において、加算部128は、演算部121からの再構成データDRと、補正データ生成部127からの部分補正データ△Djとを加算し、その結果得られた加算データDR+△DRjを、再構成データDRを補正した最終再構成データとして出力する。以上で、認識生成処理は終了される。
【0240】
以上説明したように、学習処理において、データDを、本体SOMで学習するとともに、データDと本体SOMを用いてデータDを再構成した再構成データDRとの誤差データ△Dを算出し、さらに分割した分割誤差データ△Diを分割誤差SOMで学習し、認識生成処理において、本体SOMを用いてデータDを再構成した再構成データDRを、分割誤差SOMを用いて再構成した分割再構成誤差データ△DRiに基づいて生成した部分補正データ△DRjを加算することにより補正し、その結果得られる加算データDR+△DRjを、データDを再構成した最終的な再構成データ(最終再構成データ)として出力するので、所定の次元毎あるいは所定の時間毎の誤差を適切に考慮した処理が行われ、その結果、量子化誤差を低減することができる。
【0241】
すなわち、認識生成処理において、本体SOMを構成するノードの中から、データDに対する勝者ノードを決定する認識処理は、データDを、本体SOMを構成する有限個のノードのうちの、データDのパターンに最も類似するパターンを獲得しているノードに変換する処理であり、データDを量子化することと等価である。
【0242】
さらに、認識生成処理において、本体SOMを構成するノードのうちの、データDに対する勝者ノードを用いて、データDを再構成した再構成データDRを生成する生成処理は、データDの量子化結果である勝者ノードを、その勝者ノードが獲得しているパターンのデータに変換することであり、勝者ノードを逆量子化することと等価である。
【0243】
したがって、認識生成処理によれば、量子化及び逆量子化を行った場合と同様に、量子化誤差が生じる。
【0244】
そこで、学習処理において、量子化及び逆量子化で生じる量子化誤差である誤差データ△Dを所定の次元あるいは時間毎に分割して、分割誤差SOMで学習し、認識生成処理において、本体SOMを用いてデータDを再構成した再構成データDRと、分割誤差SOMを用いて再構成した分割再構成誤差データ△DRiに基づいて生成した部分補正データ△DRjとを加算した加算データDR+△DRjを、データDを再構成した最終的な再構成データとすることにより、量子化誤差を効率的に低減することができる。
【0245】
すなわち、SOMを構成するノードの数がN1個である場合において、そのSOMのノードの数を、N2個だけ増加して、(N1+N2)個にすると、N1通りの量子化誤差を含む再構成データしか出力することができなかったのが、N2通りだけ増加した(N1+N2)通りの量子化誤差を含む再構成データ(N1+N2通りの量子化誤差を考慮した再構成データ)を出力することができるようになる。したがって、SOMのノードの数をN2個だけ増加すると、出力が可能な再構成データの数が、ノードの増加分であるN2個だけ増加するにすぎない。
【0246】
これに対して、本体SOMをN1個のノードで構成するとともに、分割誤差SOMをN2個のノードで構成し、本体SOMを用いてデータDを再構成した再構成データDRと、分割誤差SOMを用いて再構成した分割再構成誤差データ△DRiに基づいて生成した部分補正データ△DRjとを加算した加算データDR+△DRjを、データDを再構成した最終的な再構成データとする場合には、N1×N2通りの最終的な再構成データを出力することができる。
【0247】
具体的には、ノードの数N1及びN2を、例えば、いずれも10とすると、SOMを構成するノードの数を増加する場合には、出力が可能な再構成データの数が20(=10+10)であるのに対して、本体SOM及び分割誤差SOMを用いる場合には、出力が可能な再構成データの数が100(=10×10)となる。したがって、本体SOM及び分割誤差SOMを用いる場合には、SOMを構成するノードの数を増加する場合に比較して、量子化誤差を、より低減することができる。
【0248】
すなわち、SOMを構成するノードの数を増加する場合には、各ノードに、量子化誤差を考慮した再構成データのパターンが保持されるため、1つのノードに対して、1通りの量子化誤差を考慮した再構成データしか得ることができない。
【0249】
これに対して、本体SOM及び分割誤差SOMを用いる場合には、分割誤差SOMにおいて、本体SOMの各ノードから得られる再構成データDRを補正するのに共通して用いることができる分割再構成誤差データ△DRi(分割誤差データ△DRi)のパターンが記憶されるので、本体SOMの1つのノードに対して、分割誤差SOMを構成するノードの数の数倍(補正データ生成分割127で決定される補正重みの種類の数)だけの量子化誤差を考慮した最終再構成データとしての加算データDR+△DRjを得ることができ、その結果、量子化誤差を、より低減することができる。
【0250】
ここで、SOMを構成するノードの数を増加することにより、本体SOM及び分割誤差SOMを用いる場合と同一の数だけの再構成データを出力するには、上述の例では、SOMを構成するノードの数を100個にする必要がある。そして、SOMを記憶するのに必要なメモリ等の記憶容量は、SOMを構成するノードの数に比例するから、本体SOM及び分割誤差SOMを用いる場合には、SOMを構成するノードの数を増加する場合に比較して、量子化誤差を同程度に低減するのに、SOM(本体SOM及び誤差SOM)を記憶するメモリ等の記憶容量が少なくて済む。つまり、メモリを効率的に使用しつつ、量子化誤差を低減することができる。
【0251】
なお、図16の学習処理と、図17の認識生成処理とについては、データDの入力に対して、両方を行うこともできるし、いずれか一方だけを行うこともできる。
【0252】
次に、図18は、図1の本体学習モジュール101、誤差学習モジュール102、及び制御部103の第2の構成例を示している。
【0253】
図18において、本体学習モジュール101は、演算部201及び本体モデル記憶部202から、誤差学習モジュール102は、演算部203及び分割誤差モデル記憶部204から、制御部103は、誤差算出部205、データ分割部206、補正データ生成部207及び加算部208から、それぞれ構成されている。
【0254】
本体学習モジュール101の演算部201には、例えば、外部から、入力データSや出力データAが、図1におけるデータDとして供給される。
【0255】
ここで、入力データS及び出力データAとしては、例えば、前述したように、センサデータやアクションデータを採用することができる。入力データS及び出力データAは、n次元ベクトルあるいは時系列データであるとする。
【0256】
すなわち、例えば、入力データSとしては、音声データや画像データ(から抽出された特徴パラメータ)を採用し、出力データAとしては、入力データSとしての音声データ及び画像データに応じてロボットの腕を駆動するアクチュエータを制御する制御データや、入力データSとしての音声データ及び画像データに応じて合成音を生成(音声合成)するためにに用いられるパラメータを採用することができる。
【0257】
また、例えば、入力データSとしては、フレーム#tのセンサデータを採用し、出力データAとしては、フレーム#t+1のセンサデータを採用することができる。さらに、例えば、入力データSとしては、フレーム#tのセンサデータと、フレーム#tのアクションデータとの組み合わせを採用し、出力データAとしては、フレーム#t+1のセンサデータと、フレーム#t+1のアクションデータとの組み合わせを採用することができる。
【0258】
なお、学習時には、入力データSと、その入力データSに対して出力すべき出力データAとをセットにした教示データが、演算部201(及び誤差算出部205)に供給され、認識生成時には、入力データSだけが、演算部201に供給される。
【0259】
ここで、例えば、図1の入出力システムが、ロボットに適用される場合において、そのロボットに、目の前にあるボールを左右に転がすタスクを学習させるときには、ユーザがロボットの前にボールをおき、ロボットの腕を持って、ボールを左右に転がすように、腕を動かす。
【0260】
この場合、左右に転がるボールの状態を撮影(検知)した画像データを、入力データSとして採用することとすると、その入力データSに対して出力すべき出力データAとしては、ロボットの腕を、ユーザが動かしているように駆動するための、アクチュエータを制御する制御データを採用することができる。
【0261】
以上のような入力データSと出力データAとのセットである教示データを入出力システムに与えて学習処理を行った後、認識生成処理において、左右に転がるボールの状態を撮影した画像データを、入力データSとして入出力システムに与えると、入出力システムからは、ボールの状態に応じて、ロボットの腕を駆動するように、アクチュエータを制御する制御データが出力される。
【0262】
演算部201は、そこに供給される入力データS及び出力データAの学習を行う。すなわち、演算部201は、そこに供給される入力データS及び出力データAを用いて、本体モデル記憶部202に記憶されている本体モデルの学習を行う。
【0263】
また、演算部201は、そこに供給される入力データSに対して、本体モデル記憶部202に記憶されている本体モデルを用いて、入力データSを再構成し、その結果得られる再構成入力データSRを出力する。さらに、演算部201は、本体モデル記憶部202に記憶されている本体モデルを用いて、そこに供給される入力データSに対して出力すべき出力データAを再構成し、その結果得られる再構成出力データARを出力する。また、演算部201は、そこに供給される出力データAに対して、本体モデル記憶部202に記憶されている本体モデルを用いて、出力データAを再構成し、その結果得られる再構成出力データARを出力する。
【0264】
演算部201が出力する再構成入力データSRは、制御部103の誤差算出部205に供給され、演算部201が出力する再構成出力データARは、制御部103の誤差算出部205及び加算部208に供給される。
【0265】
本体モデル記憶部202は、データを学習するモデルとしての本体モデルを記憶している。本体モデルとしては、教師なし学習が可能な、例えば、SOMやNN、その他の学習モデルを採用することができる。
【0266】
誤差学習モジュール102の演算部203には、制御部103のデータ分割部206から分割入力誤差データ△Si(i=1,2,・・・,n)及び分割出力誤差データ△A i(i=1,2,・・・,n)が、図1における誤差データ△Dとして供給される。
【0267】
演算部203は、データ分割部206から分割入力誤差データ△Si及び分割出力誤差データ△A iの学習を行う。すなわち、演算部203は、データ分割部206からの分割入力誤差データ△Si及び分割出力誤差データ△Aiを用いて、分割誤差モデル記憶部204に記憶されている誤差モデルの学習を行う。
【0268】
また、演算部203は、分割誤差モデル記憶部204に記憶されている分割誤差モデルを用いて、そこに供給される分割入力誤差データ△Siに対応する分割出力誤差データ△Aiを再構成し、その結果得られる分割再構成出力誤差データ△AR i(i=1,2,・・・,n)を出力する。
【0269】
ここで、分割入力誤差データ△Siに対応する分割出力誤差データ△Aiとは、分割入力誤差データ△Siが得られる入力データSに対して出力すべき出力データAから得られる分割出力誤差データ△Aiを意味する。
【0270】
さらに、演算部203は、そこに供給される分割出力誤差データ△Aiに対して、分割誤差モデル記憶部204に記憶されている分割誤差モデルを用いて、分割出力誤差データ△Aiを再構成し、その結果得られる分割再構成出力誤差データ△ARiを出力する。
【0271】
演算部203が出力する分割再構成出力誤差データ△ARiは、制御部103の補正データ生成部207に供給される。
【0272】
分割誤差モデル記憶部204は、データを学習するモデルとしての誤差モデルを記憶している。分割誤差モデルとしては、教師なし学習が可能な、例えば、SOMやNN、その他の学習モデルを採用することができる。
【0273】
制御部103の誤差算出部205には、上述したように、演算部201から再構成入力データSR及び再構成出力データARが供給される他、演算部201に供給される入力データS及び出力データAと同一の入力データS及び出力データAが外部から供給される。
【0274】
誤差算出部205は、外部からの入力データSと、演算部201からの再構成入力データSRとの差分S-SRを求め、入力誤差データ△Sとして、データ分割部206に供給する。
【0275】
また、誤差算出部205は、外部からの出力データAと、演算部201からの再構成出力データARとの差分A-ARを求め、出力誤差データ△Aとして、データ分割部206に供給する。
【0276】
データ分割部206は、n次元ベクトルあるいは時系列データである入力誤差データ△S及び出力誤差データ△Aを、それぞれ、予め決定された所定の次元毎あるいは所定の時間毎に分割し、その結果得られる分割入力誤差データ△Si及び分割出力誤差データ△Aiを出力する。
【0277】
例えば、入力誤差データ△S及び出力誤差データ△Aが、2次元ベクトルである場合、入力誤差データ△Sを△S1と△S2に分割し、出力誤差データ△Aを△A1と△A2に分割する。また、例えば、入力誤差データ△S及び出力誤差データ△Aが、100ステップの時系列データである場合、入力誤差データ△S及び出力誤差データ△Aを、1ステップから50ステップまでの△S1及び△A1と51ステップから100ステップまでの△S2及び△A2に分割する。なお、分割する数nは、入力誤差データ△Sや出力誤差データ△Aの次元数、ステップ数に拘わりなく任意である。
【0278】
分割入力誤差データ△Siは、演算部203及び補正データ生成部207に供給され、分割出力誤差データ△Aiは、演算部203に供給される。
【0279】
補正データ生成部207は、データ分割部206からの分割入力誤差データ△Siに基づいて再構成出力データSRの補正すべき次元または時間を決定し、あるいはランダムに決定し、決定結果に従い、分割された所定の次元毎あるいは時間毎の補正重みを決定して、演算部203からの分割再構成出力誤差データ△ARiにそれぞれ補正重みを乗算することにより、部分補正データ△ARjを生成し、加算部208に供給する。
【0280】
加算部208は、演算部201から供給される再構成出力データARと、補正データ生成部207から供給される部分補正データ△ARjとを加算し、その結果得られる加算データAR'=AR+△ARjを、再構成出力データARを補正した、最終的な再構成出力データ(以下、適宜、最終再構成出力データともいう)として出力する。
【0281】
ここで、図18において、本体モデル記憶部202に記憶されている本体モデルと、分割誤差モデル記憶部204に記憶されている分割誤差モデルとしては、図4の場合と同様に、同一の学習モデルを採用することもできるし、異なる学習モデルを採用することもできるが、ここでは、説明を簡単にするために、本体モデルと誤差モデルとしては、同一の学習モデルを採用することとする。
【0282】
また、図18において、本体モデルは、本来学習すべきデータである入力データS、及び、出力データSを対象として学習を行う学習モデルであるのに対して、分割誤差モデルは、データを学習した本体モデルを用いて、ある入力データSとその入力データSを再構成して得られる再構成入力データSRとの誤差(入力誤差データ△S)を所定の次元毎あるいは所定の時間毎に分割した分割入力誤差データ△Si、及び、ある出力データAとその出力データAを再構成して得られる再構成出力データARとの誤差(出力誤差データ△A)を所定の次元毎あるいは所定の時間毎に分割した分割出力誤差データ△Aiを対象として学習を行う学習モデルである。したがって、図18でも、図4と同様に、本体モデルと分割誤差モデルとは、学習の対象が異なるだけで、学習モデルとしての本質的な違いはない。
【0283】
入力データS及び出力データAを学習する本体モデル、並びに、分割入力誤差データ△Si及び分割出力誤差データ△Aiを学習する分割誤差モデルとしては、例えば、パターン記憶SOMを含むSOMを利用した入出力関係モデルを採用することができる。
【0284】
ここで、図19乃至図23を参照して、入出力関係モデルについて説明する。
【0285】
図19は、パターン記憶SOMを利用した入出力関係モデルの構成例を模式的に示している。
【0286】
図19において、入出力関係モデルは、2つのパターン記憶SOM#1及び#2を有している。さらに、入出力関係モデルは、パターン記憶SOM#1の各ノードNi(i=1,2,・・・,ノードの総数)と、パターン記憶SOM#2の各ノードN'j(j=1,2,・・・,ノードの総数)とが結合されている。
【0287】
ここで、図19において、パターン記憶SOM#1のノードNiと、パターン記憶SOM#2のノードN'jとの間の矢印が、そのノードNiとN'jとの結合を表している。
【0288】
なお、パターン記憶SOM#1及び#2は、同一の数のノードと同一のリンクを有するものであってもよいし、異なる数のノードまたは異なるリンクを有するものであってもよい。また、パターン記憶SOM#1のノードNiが有するパターン記憶モデル21(図6)と、パターン記憶SOM#2のノードが有するパターン記憶モデル21も、同一のパターン記憶モデルであってもよいし、異なるパターン記憶モデルであってもよい。
【0289】
次に、図20は、入出力関係モデルを用いて、学習処理を行う学習装置と、認識生成処理を行う認識生成装置との構成例を示している。
【0290】
図20において、学習装置は、学習部221及び結合重み更新部222から構成され、認識生成装置は、スコア計算部231、勝者ノード決定部232、生成ノード決定部233、及び再構成部234から構成される。
【0291】
学習装置には、学習の対象となる入力データ(の観測値)と、その入力データに対して出力すべき出力データ(の観測値)とのセットである教示データが供給される。学習装置は、そこに供給される教示データを用いて、入出力関係モデル(図19)を構成するパターン記憶SOM#1及び#2の自己組織的な更新、並びに、パターン記憶SOM#1及び#2のノードどうしの結合関係を更新する。
【0292】
すなわち、図20の学習装置において、学習部221は、図8に示した学習装置と同様に構成され、学習装置に供給される教示データのうちの入力データを用いて、入出力関係モデル(図19)におけるパターン記憶SOM#1を、図8の学習装置における場合と同様に、自己組織的に更新する。また、学習部221は、学習部221に供給される教示データのうちの出力データ(教示データにおいて、入力データとセットになっている出力データ)を用いて、入出力関係モデル(図19)におけるパターン記憶SOM#2を、図8の学習装置における場合と同様に、自己組織的に更新する。
【0293】
さらに、学習部221は、パターン記憶SOM#1を更新するときに勝者ノードとなった、そのパターン記憶SOM#1のノードNiのノードラベル(以下、適宜、入力ラベルと称する)と、パターン記憶SOM#2を更新するときに勝者ノードとなった、そのパターン記憶SOM#2のノードN'jのノードラベル(以下、適宜、出力ラベルと称する)とをセットにしたラベルセットを、結合重み更新部222に供給する。
【0294】
結合重み更新部222は、学習部221から供給されるラベルセットに基づき、入出力関係モデル(図19)におけるパターン記憶SOM#1のノードNiと、パターン記憶SOM#2のノードN'jとの結合関係を更新する。
【0295】
ここで、学習部221から結合重み更新部222に供給されるラベルセットは、入力ラベルと出力ラベルとのセットであり、入力ラベルは、教示データのうちの入力データを用いてパターン記憶SOM#1を更新するときに勝者ノードとなった、そのパターン記憶SOM#1のノードNiのノードラベルであるから、パターン記憶SOM#1において、入力データに最も適合するノードNiのノードラベルである。
【0296】
同様に、出力ラベルは、教示データのうちの出力データを用いてパターン記憶SOM#2を更新するときに勝者ノードとなった、そのパターン記憶SOM#2のノードN'jのノードラベルであるから、パターン記憶SOM#2において、出力データに最も適合するノードN'jのノードラベルである。
【0297】
結合重み更新部222では、パターン記憶SOM#1のノードのうち、教示データにおける入力データに最も適合するノードである勝者ノードNiと、パターン記憶SOM#2の各ノードとの結合関係が更新されるとともに、パターン記憶SOM#2のノードのうち、教示データにおける出力データに最も適合するノードである勝者ノードN'jと、パターン記憶SOM#1の各ノードとの結合関係が更新される。
【0298】
ここで、入出力関係モデルにおけるパターン記憶SOM#1のノードと、パターン記憶SOM#2のノードとの間の結合関係は、その結合の度合いが強いほど、大きな値となる結合重みによって表されるようになっており、ノードどうしの結合関係の更新とは、結合重みの更新を意味する。結合重み更新部222によるノードどうしの結合関係の更新の方法についての詳細は、後述する。
【0299】
認識生成装置には、入力データが供給される。認識生成装置は、入出力関係モデルにおけるパターン記憶SOM#1において、入力データに最も適合する勝者ノードNiを決定し、その勝者ノードNiとの結合重みが最も強い、パターン記憶SOM#2のノードを、その入力データに対して出力すべき出力データを再構成した再構成出力データ(出力データの推定値)を生成する生成ノードN'jに決定する。さらに、認識生成装置は、生成ノードN'jが有するパターン記憶モデル21(図6)を用いて、入力データに対して出力すべき出力データを再構成した再構成出力データを生成して出力する。
【0300】
すなわち、図20の認識生成装置において、スコア計算部231は、認識生成装置に供給される入力データに対して、入出力関係モデルを構成するパターン記憶SOM#1の各ノードNiが適合する度合いであるスコアを、図12の認識生成装置のスコア計算部51における場合と同様にして計算し、勝者ノード決定部232に供給する。
【0301】
勝者ノード決定部232は、図12の認識生成装置の勝者ノード決定部52における場合と同様に、スコア計算部231から供給されるスコアが最も高いパターン記憶SOM#1のノードNiを勝者ノードに決定し、その勝者ノードを表すノードラベル(入力ラベル)を、生成ノード決定部233に供給する。
【0302】
生成ノード決定部233は、入出力関係モデルを構成するパターン記憶SOM#2のノードの中で、勝者ノード決定部232からの入力ラベルが表すノードNiとの結合重みが最も強い(最強の)ノードN'jを生成ノードとして決定し、その生成ノードN'jを表す出力ラベルを、再構成部234に供給する。
【0303】
再構成部234は、入出力関係モデルを構成するパターン記憶SOM#2のノードのうちの、生成ノード決定部233からの出力ラベルが表すノードN'jが有するパターン記憶モデル21(図6)に基づいて、認識生成装置に供給された入力データに対して出力すべき出力データを再構成した再構成出力データを、例えば、図12の認識生成装置の再構成部53における場合と同様にして取得(生成)して出力する。
【0304】
次に、図20の学習装置で行われる入出力関係モデルの学習処理について、図21のフローチャートを参照して説明する。
【0305】
ステップS201において、入力データと出力データとのセットである教示データが、図20の学習装置に入力されると、その教示データは、学習部221に供給され、処理は、ステップS202に進む。
【0306】
ステップS202において、学習部221は、教示データのうちの入力データを用いて、入出力関係モデル(図19)におけるパターン記憶SOM#1を、自己組織的に更新する。ステップS203において、学習部221は、教示データのうちの出力データを用いて、入出力関係モデルにおけるパターン記憶SOM#2を、自己組織的に更新する。
【0307】
そして、学習部221は、パターン記憶SOM#1を更新するときに勝者ノードとなった、そのパターン記憶SOM#1のノードNiの入力ラベルと、パターン記憶SOM#2を更新するときに勝者ノードとなった、そのパターン記憶SOM#2のノードN'jの出力ラベルとのセットであるラベルセットを、結合重み更新部222に供給する。
【0308】
ステップS204では、結合重み更新部222が、学習部221から供給されるラベルセットに基づき、入出力関係モデル(図19)におけるパターン記憶SOM#1の各ノードと、パターン記憶SOM#2の各ノードとの結合重みを更新して、ステップS201に戻り、次の教示データが入力されるのを待って、以下、同様の処理が繰り返される。
【0309】
なお、ステップS202とS203の処理は、並列して行うこともできるし、図21の場合と逆順で行うこともできる。
【0310】
次に、結合重み更新部222(図20)が、図21のステップS204で行う結合重み(ノードどうしの結合関係)の更新について、図22を参照して説明する。
【0311】
なお、以下、適宜、入出力関係モデルにおいて、入力データが与えられるパターン記憶SOM、つまり、入力データを用いて学習が行われ、入力データのパターンを獲得するパターン記憶SOM(パターン記憶SOM#1)を、入力SOMともいい、出力データが与えられるパターン記憶SOM、つまり、出力データを用いて学習が行われ、出力データのパターンを獲得するパターン記憶SOM(パターン記憶SOM#2)を、出力SOMともいう。
【0312】
さらに、以下、適宜、入力SOMのノードを入力ノードとも称し、出力SOMのノードを出力ノードとも称する。
【0313】
図22は、図19に示したように、入力SOM#1の入力ノードと、出力SOM#2の出力ノードとが結合している入出力関係モデルを示している。
【0314】
すなわち、図22左側では、入出力関係モデルは、入力SOM#1と、出力SOM#2とを有し、入力SOM#1の各入力ノードと、出力SOM#2の各出力ノードとが結合している。なお、図22では、入力SOM#1、及び出力SOM#2のいずれも、8つのノードで構成されている。
【0315】
図22左側では、入力SOM#1の各入力ノードは、出力SOM#2のすべての出力ノードと結合しており(したがって、出力SOM#2の各出力ノードも、入力SOM#1のすべての入力ノードと結合している)、入力SOM#1の入力ノードと、出力SOM#2の出力ノードとのすべての組み合わせについて、結合重みwが存在する。
【0316】
いま、ノードどうしが結合している2つのパターン記憶SOMについて、そのうちの一方のパターン記憶SOMのノードを各行に対応させるとともに、他方のパターン記憶SOMのノードを各列に対応させ、第i行第j列の要素に、一方のパターン記憶SOMのi番目のノードと、他方のパターン記憶SOMのj番目のノードとの結合重みwを配置した行列を、結合重み行列MTXと称することにすると、結合重み更新部222(図20)は、この結合重み行列MTXの各要素である結合重みwを更新する。
【0317】
図22右側は、図22左側の入出力関係モデルについての結合重み行列MTXを示している。
【0318】
図22右側の結合重み行列MTXでは、入力ノードを各行に対応させるとともに、出力ノードを各列に対応させ、第i行第j列の要素に、i番目の入力ノードと、j番目の出力ノードとの結合重みwが配置されている。結合重み更新部222(図20)は、この結合重み行列MTXの各要素である結合重みwを更新する。
【0319】
すなわち、結合重み更新部222は、例えば、最初に電源がオンにされたとき等に、結合重み行列MTXにおけるすべての結合重みwを、初期値(例えば、0)に初期化する。そして、結合重み更新部222は、図20の学習装置に対して、教示データ、つまり、入力データと出力データとのセットが入力され、これにより、入力SOM#1における勝者ノードを表す入力ラベルと、出力SOM#2における勝者ノードを表す出力ラベルとのラベルセットが、学習部221から与えられる度に、それらの勝者ノードどうしの結合を、いわば中心として、結合重みを更新する。
【0320】
具体的には、結合重み更新部222は、例えば、式(2)にしたがって、結合重み行列MTXの結合重みwを更新する。
【0321】
w=(1-β)w+β△w
・・・(2)
【0322】
ここで、βは、結合重みwを更新する程度の表す学習率であり、0から1の範囲で与えられる。学習率βを小さくするほど、結合重みwは、あまり変化しなくなり、学習率βが0である場合には、結合重みwは変化しない。一方、学習率βを大きくするほど、結合重みwも、大きく変化し、学習率βが1である場合には、結合重みwは、更新の基準値△wに更新される。
【0323】
また、基準値△wは、例えば、式(3)で与えられる。
【0324】
△w=1/(1+d)
・・・(3)
【0325】
ここで、dは、式(1)における場合と同様に、勝者ノードとのパターン間距離を表し、勝者ノードとなっているノードについては、d=0である。したがって、勝者ノード(となっているノード)については、基準値△wは1となり、勝者ノードからのパターン間距離dが大のノードほど、基準値△wは0に近づく。
【0326】
いま、学習部221(図20)から結合重み更新部222に供給される入力ラベルが表す入力ノード、すなわち、入力SOM#1における勝者ノードを、入力ノードNiと表すとともに、学習部221(図20)から結合重み更新部222に供給される出力ラベルが表す出力ノード、すなわち、出力SOM#2における勝者ノードを、出力ノードN'jと表すと、結合重み更新部222(図20)は、式(2)(及び式(3))にしたがい、以下のように、結合重み行列MTXの結合重みwを更新する。
【0327】
すなわち、結合重み更新部222は、出力SOM#2の各出力ノードについて、出力SOM#2における勝者ノードである出力ノードN'jとのパターン間距離dを用い、式(3)にしたがって、基準値△wを求め、さらに、その基準値△wを用い、式(2)にしたがって、入力SOM#1の勝者ノードであるi番目の入力ノードNiとの結合重みwを更新する。
【0328】
これにより、入力SOM#1の勝者ノードである入力ノードNiに対応する、結合重み行列MTXの第i行の(各列の)結合重みwが更新される。
【0329】
また、結合重み更新部222は、入力SOM#1の各入力ノードについて、入力SOM#1における勝者ノードである入力ノードNiとのパターン間距離dを用い、式(3)にしたがって、基準値△wを求め、さらに、その基準値△wを用い、式(2)にしたがって、出力SOM#2の勝者ノードであるj番目の出力ノードN'jとの結合重みwを更新する。
【0330】
これにより、出力SOM#2の勝者ノードである出力ノードN'jに対応する、結合重み行列MTXの第j列の(各行の)結合重みwが更新される。
【0331】
したがって、入力SOM#1の勝者ノードNiと、出力SOM#2の勝者ノードN'jとの結合重みが、結合の度合いを最も強めるように更新される。
【0332】
なお、入力SOM#1の勝者ノードである入力ノードNiと、出力SOM#2の勝者ノードである出力ノードN'jとの結合重みwの更新は、出力SOM#2の各出力ノードについての、勝者ノードである入力ノードNiとの結合重みwの更新時か、または、入力SOM#1の各入力ノードについての、勝者ノードである出力ノードN'jとの結合重みwの更新時のいずれか一方においてのみ行われる。
【0333】
以上のような結合重みw(結合重み行列MTX)の更新は、教示データとしての入力データと出力データとのセットが、図20の学習装置に対して入力される度に行われる。
【0334】
さらに、入出力関係モデルが有する入力SOM#1の入力データを用いた学習、及び出力SOM#2の出力データを用いた学習も、教示データとしての入力データと出力データとのセットが、図20の学習装置に対して入力される度に行われる。
【0335】
なお、入力SOM#1、及び出力SOM#2の学習が進むと、入力ノードが有するパターン記憶モデル21が、ある特定のパターンを表現(獲得)し、また、出力ノードが有するパターン記憶モデル21も、他の特定のパターンを表現するようになる。
【0336】
その結果、ある特定のパターンの入力データと、他の特定のパターンの出力データとの間に、何らかの関係性がある場合、そのような入力データと出力データとのセット(教示データ)が与えられると、入力SOM#1においてある特定のパターンを表現するパターン記憶モデル21を有する入力ノードが勝者ノードとなるとともに、出力SOM#2において他の特定のパターンを表現するパターン記憶モデル21を有する出力ノードが勝者ノードとなる。
【0337】
さらに、上述したように、入力SOM#1の勝者ノードを、いわば中心として、入力SOM#1の各入力ノードと、出力SOM#2の勝者ノードとの結合重みが更新されるとともに、出力SOM#2の勝者ノードを中心として、出力SOM#2の各出力ノードと、入力SOM#1の勝者ノードとの結合重みが更新される。
【0338】
すなわち、入力SOM#1の各入力ノードと、出力SOM#2の勝者ノードとの結合重みは、入力SOM#1の勝者ノードとのパターン間距離dが近い入力ノードほど強くなる(強化する)ように更新される。また、出力SOM#2の各出力ノードと、入力SOM#1の勝者ノードとの結合重みは、出力SOM#2の勝者ノードとのパターン間距離dが近い出力ノードほど強くなるように更新される。
【0339】
逆に言えば、入力SOM#1の各入力ノードと、出力SOM#2の勝者ノードとの結合重みは、入力SOM#1の勝者ノードとのパターン間距離dが遠い入力ノードほど弱くなる(弱化する)ように更新される。また、出力SOM#2の各出力ノードと、入力SOM#1の勝者ノードとの結合重みも、出力SOM#2の勝者ノードとのパターン間距離dが遠い出力ノードほど弱くなるように更新される。
【0340】
多数の教示データが与えられ、入力SOM#1、及び出力SOM#2の学習が進み、さらに、結合重みの更新が進むと、その結合重みによって、入力データ(のパターン)と出力データ(のパターン)とを関係付ける入出力関係モデルを獲得することができる。
【0341】
そして、入力データと出力データとを関係付ける入出力関係モデルによれば、ある入力データが与えられた場合に、入力SOM#1において、その入力データに最も適合する勝者ノードを決定することができ、その勝者ノードとの結合重みが最強の出力SOM#2の出力ノードを決定することができる。さらに、その出力ノード(が有するパターン記憶モデル21)を用いて、入力データに対して出力すべき出力データを再構成した再構成出力データを得ることができる。
【0342】
次に、図29の認識生成装置において、入力データを認識し、その認識結果に基づき、その入力データに対して出力すべき出力データを再構成した再構成出力データを生成する認識生成処理について、図23のフローチャートを参照して説明する。
【0343】
この認識生成処理では、ステップS211において、入力データが、図20の認識生成装置に入力され、認識生成装置が入力データを認識する。
【0344】
すなわち、入力データは、スコア計算部231に供給され、スコア計算部231は、ステップS212において、入力データに対して、入出力関係モデルを構成するパターン記憶SOM#1の各ノードNiのスコアを計算し、勝者ノード決定部232に供給する。
【0345】
ステップS213において、勝者ノード決定部232は、入出力関係モデルを構成するパターン記憶SOM#1のノードの中で、スコア計算部231からのスコアが最も高いノードを、勝者ノードNiに決定し、その勝者ノードNiを表す入力ラベルを、入力データの認識結果として、生成ノード決定部233に供給する。
【0346】
ステップS214において、生成ノード決定部233が、入出力関係モデルを構成するパターン記憶SOM#2のノードの中で、勝者ノード決定部232からの認識結果としての入力ラベルが表すノードNiとの結合重みが最も強いノードN'jを生成ノードに決定し、その生成ノードN'jを表す出力ラベルを再構成部234に供給する。
【0347】
ステップS215において、再構成部234は、入出力関係モデルを構成するパターン記憶SOM#2のノードのうちの、生成ノード決定部233からの出力ラベルが表すノードN'j、つまり、生成ノードを用い、認識生成装置に供給された入力データに対して出力すべき出力データの推定値としての、その出力データを再構成した再構成出力データを、図12の再構成部53と同様にして取得(生成)して出力する。以上で、認識生成処理は終了される。
【0348】
次に、図24は、本体モデル及び分割誤差モデルとして、入出力関係モデルが採用されている場合の、図18の本体モデル記憶部202と分割誤差モデル記憶部204の記憶内容を、模式的に示している。
【0349】
図24において、本体モデル記憶部202には、本体モデルとしての入出力関係モデルが記憶されており、分割誤差モデル記憶部204には、分割誤差モデルとしての入出力関係モデルが記憶されている。
【0350】
ここで、以下、適宜、本体モデルとしての入出力関係モデルを、本体入出力関係モデルとも称し、分割誤差モデルとしての入出力関係モデルを、誤差入出力関係モデルとも称する。
【0351】
本体入出力関係モデル、及び誤差入出力関係モデルは、2つのパターン記憶SOMを有し、その2つのSOMのノードどうしが結合された入出力関係モデルである。
【0352】
すなわち、本体入出力関係モデルは、入力データSの学習用のパターン記憶SOMと、出力データAの学習用のパターン記憶SOMとを有する。そして、入力データSの学習用のパターン記憶SOMと、出力データAの学習用のパターン記憶SOMを、それぞれ、入力本体SOMと出力本体SOMと称することにすると、本体入出力関係モデルでは、入力本体SOMと出力本体SOMとのノードどうしが結合されており、入力本体SOMと出力本体SOMとのノードどうしの結合の強さは、結合重みによって表される。
【0353】
ここで、以下、適宜、本体入出力関係モデルの結合重みを、本体結合重みともいう。
【0354】
誤差入出力関係モデルは、分割入力誤差データ△Siの学習用のパターン記憶SOMと、分割出力誤差データ△Aiの学習用のパターン記憶SOMとを有する。そして、分割入力誤差データ△Siの学習用のパターン記憶SOMと、分割出力誤差データ△Aiの学習用のパターン記憶SOMを、それぞれ、分割入力誤差SOMと分割出力誤差SOMと称することにすると、誤差入出力関係モデルでは、分割入力誤差SOMと分割出力誤差SOMとのノードどうしは結合されており、分割入力誤差SOMと分割出力誤差SOMとのノードどうしの結合の強さは、結合重みによって表される。
【0355】
以下、適宜、誤差入出力関係モデルの結合重みを、誤差結合重みともいう。
【0356】
図25は、図24の本体入出力関係モデル及び誤差入出力関係モデルに対して入出力することができるデータを説明する図である。
【0357】
本体入出力関係モデルの入力本体SOMに対しては、学習の対象となる入力データS(教示データを構成する入力データS)、及び認識の対象となる入力データSが入力される。また、入力本体SOMからは、そこに入力される入力データSに対して、その入力データSを再構成した再構成入力データSRを出力することができる。
【0358】
本体入出力関係モデルの出力本体SOMに対しては、学習の対象となる出力データA(入力本体SOMに入力される入力データSとともに教示データを構成する出力データA)が入力される。また、出力本体SOMからは、そこに入力される出力データAや、入力本体SOMに入力される入力データSに対して出力すべき出力データAを再構成した再構成出力データARを出力することができる。
【0359】
誤差入出力関係モデルの分割入力誤差SOMに対しては、入力本体SOMに入力される入力データSと、その入力データSに対して入力本体SOMから出力される再構成入力データSRとの誤差である分割入力誤差データ△Sを所定の次元毎あるいは所定の時間毎に分割した分割入力誤差データ△Siが入力される。
【0360】
誤差入出力関係モデルの分割出力誤差SOMに対しては、出力本体SOMに入力される出力データAと、その出力データAに対して出力本体SOMから出力される再構成出力データARとの誤差である分割出力誤差データ△Aを所定の次元毎あるいは所定の時間毎に分割した分割出力誤差データ△Aiが入力される。また、分割出力誤差SOMからは、そこに入力される分割出力誤差データ△Aiや、分割入力誤差SOMに入力される分割入力誤差データ△Siに対応する分割出力誤差データ△Aiを再構成した分割再構成出力誤差データ△ARiを出力することができる。
【0361】
ここで、分割入力誤差データ△Siに対応する分割出力誤差データ△Aiとは、上述したように、分割入力誤差データ△Siが得られる入力データSに対して出力すべき出力データAから得られる分割出力誤差データ△Aiを意味する。
【0362】
次に、図24及び図25に示したように、本体モデル及び分割誤差モデルとして、入出力関係モデルが採用されている場合の、図18の本体学習モジュール101、誤差学習モジュール102、及び制御部103による学習処理について、図26のフローチャートを参照して説明する。
【0363】
この学習処理では、学習処理の対象となる入力データS及び出力データAのセットである教示データが、外部から、演算部201と誤差算出部205に供給される。
【0364】
ステップS251において、演算部201は、供給された教示データを構成する入力データSの学習、すなわち、入力データSを用いて、本体モデル記憶部202に記憶された本体入出力関係モデルの入力本体SOMを自己組織的に更新する、入力本体SOMの自己組織的な学習を、図11のステップS3乃至S7で説明したように行う。
【0365】
ステップS252において、演算部201は、供給された教示データを構成する出力データA(ステップS251で学習がされた入力データSに対して出力すべき出力データA)の学習、すなわち、出力データAを用いて、本体モデル記憶部202に記憶された本体入出力関係モデルの出力本体SOMを自己組織的に更新する、出力本体SOMの自己組織的な学習を、図11のステップS3乃至S7で説明したように行う。
【0366】
ステップS253において、演算部201は、本体モデル記憶部202に記憶された本体入出力関係モデルの入力本体SOMを構成するノードの中から、入力データSに対する勝者ノードを決定する。ここでは、入力本体SOMを構成するノードのうちの、入力データSに対するスコアが最も高いノードが、入力データSに対する勝者ノードに決定される。
【0367】
なお、入力データSに対する勝者ノードは、ステップS251の自己組織的な学習で決定されるので、ステップS253では、その勝者ノードをそのまま採用することができる。ただし、ステップS253では、ステップS251とは別に、入力本体SOMを構成する各ノードについて、入力データSに対するスコアを求め、そのスコアの最も高いノードを、入力データSに対する勝者ノードに決定することができる。
【0368】
ステップS254において、演算部201は、本体モデル記憶部202に記憶された本体入出力関係モデルの出力本体SOMを構成するノードの中から、出力データAに対する勝者ノードを決定する。ここでは、ステップS253と同様に、ステップS252の自己組織的な学習で決定される勝者ノードをそのまま採用することもできるし、ステップS252とは別に、出力本体SOMを構成する各ノードについて、出力データAに対するスコアを求め、そのスコアの最も高いノードを、出力データAに対する勝者ノードに決定することもできる。
【0369】
ステップS255において、演算部201は、結合重み更新部222(図20)と同様に、ステップS253で得られた入力本体SOMの勝者ノードを中心として、入力本体SOMの各ノードと、ステップS254で得られた出力本体SOMの勝者ノードとの本体結合重みを更新するとともに、出力本体SOMの勝者ノードを中心として、出力本体SOMの各ノードと、入力本体SOMの勝者ノードとの本体結合重みを更新する。
【0370】
ステップS256において、演算部201は、ステップS253で決定された入力本体SOMの勝者ノードを用いて、入力データSを再構成した再構成入力データSRを、図12の再構成部53と同様にして生成(取得)し、誤差算出部205に供給する。
【0371】
ステップS257において、誤差算出部205は、外部からの入力データSと、その入力データSに対して演算部201が出力した再構成入力データSRとを用いて、入力誤差データ△S=S-SRを算出し、データ分割部206に供給する。データ分割部206は、入力誤差データ△Sを、予め決定されている所定の次元毎あるいは所定の時間毎に分割し、その結果得られた分割入力誤差データ△Siを演算部203に供給する。
【0372】
ステップS258において、演算部203は、データ分割部206からの分割入力誤差データ△Siの学習、すなわち、分割入力誤差データ△Siを用いて、分割誤差モデル記憶部204に記憶された誤差入出力関係モデルの分割入力誤差SOMを自己組織的に更新する、分割入力誤差SOMの自己組織的な学習を、図11のステップS3乃至S7で説明したように行う。
【0373】
ステップS259において、演算部201は、ステップS254で決定された出力本体SOMの勝者ノードを用いて、出力データAを再構成した再構成出力データARを、図12の再構成部53と同様にして生成(取得)し、誤差算出部205及び加算部208に供給する。
【0374】
ステップS260において、誤差算出部205は、外部からの出力データAと、その出力データAに対して演算部201が出力した再構成出力データARとを用いて、出力誤差データ△A、すなわち、ステップS257で算出した分割入力誤差データ△Sに対応する出力誤差データ△A=A-ARを算出し、データ分割部206に供給する。データ分割部206は、出力誤差データ△Aを、予め決定されている所定の次元毎あるいは所定の時間毎に分割し、その結果得られた分割出力誤差データ△Aiを演算部203に供給する。
【0375】
ステップS261において、演算部203は、データ分割部206からの分割出力誤差データ△Aiの学習、すなわち、分割出力誤差データ△Aiを用いて、分割誤差モデル記憶部204に記憶された誤差入出力関係モデルの分割出力誤差SOMを自己組織的に更新する、分割出力誤差SOMの自己組織的な学習を、図11のステップS3乃至S7で説明したように行う。
【0376】
ステップS262において、演算部203は、分割誤差モデル記憶部204に記憶された誤差入出力関係モデルの分割入力誤差SOMを構成するノードの中から、分割入力誤差データ△Siに対する勝者ノードを決定する。ここでは、ステップS253と同様に、ステップS258の自己組織的な学習で決定される勝者ノードをそのまま採用することもできるし、ステップS258とは別に、分割入力誤差SOMを構成する各ノードについて、分割入力誤差データ△Siに対するスコアを求め、そのスコアの最も高いノードを、分割入力誤差データ△Siに対する勝者ノードに決定することもできる。
【0377】
ステップS263において、演算部203は、分割誤差モデル記憶部204に記憶された誤差入出力関係モデルの分割出力誤差SOMを構成するノードの中から、分割出力誤差データ△Aiに対する勝者ノードを決定する。ここでは、ステップS253と同様に、ステップS261の自己組織的な学習で決定される勝者ノードをそのまま採用することもできるし、ステップS261とは別に、分割出力誤差SOMを構成する各ノードについて、分割出力誤差データ△Aiに対するスコアを求め、そのスコアの最も高いノードを、分割出力誤差データ△Aiに対する勝者ノードに決定することもできる。
【0378】
ステップS264において、演算部203は、結合重み更新部222(図20)と同様に、ステップS262で得られた分割入力誤差SOMの勝者ノードを中心として、分割入力誤差SOMの各ノードと、ステップS263で得られた分割出力誤差SOMの勝者ノードとの誤差結合重みを更新するとともに、分割出力誤差SOMの勝者ノードを中心として、分割出力誤差SOMの各ノードと、分割入力誤差SOMの勝者ノードとの誤差結合重みを更新する。以上で、学習処理は終了される。
【0379】
以上のように、図26の学習処理では、本体入出力関係モデルにおいて、本来学習すべき入力データS及び出力データAの学習が行われるとともに、本体入出力関係モデルの入力本体SOMと出力本体SOMとのノードどうしを結合する本体結合重みの更新が行われる。さらに、図26の学習処理では、誤差入出力関係モデルにおいて、教示データを構成する入力データSと、その入力データSを本体入出力関係モデルが再構成することにより得られる再構成入力データSRとの誤差である入力誤差データ△S、及び、教示データを構成する出力データAと、その出力データSを本体入出力関係モデルが再構成することにより得られる再構成出力データARとの誤差である出力誤差データ△A(入力誤差データ△Sに対応する出力誤差データ△A)をそれぞれ所定の次元毎あるいは所定の時間毎に分割した分割入力誤差データ△Siと分割出力誤差データ△Aiとの学習が行われるとともに、誤差入出力関係モデルの分割入力誤差SOMと分割出力誤差SOMとのノードどうしを結合する誤差結合重みの更新が行われる。
【0380】
すなわち、図26の学習処理では、入力データS及び出力データAの学習、並びに、それらの入力データSと出力データAとを関係付ける本体結合重みの更新の他に、その入力データSを再構成した再構成入力データSRの誤差である入力誤差データ△Sを分割した分割入力誤差データ△Siと、その入力データSに対して出力すべき出力データAを再構成した再構成出力データARの誤差である出力誤差データ△Aを分割した分割出力誤差データ△Aiとの学習、並びに、それらの分割入力誤差データ△Siと分割出力誤差データ△Aiとを対応付ける誤差結合重みの更新が行われる。
【0381】
分割入力誤差データ△Siと分割出力誤差データ△Aiとは、認識生成処理で等価的に行われる量子化及び逆量子化によって生じる量子化誤差に相当し、学習処理において、この量子化誤差を、誤差入出力関係モデルで学習しておくことにより、認識生成処理では、この量子化誤差を適切に考慮した処理を行うことができ、その結果、認識生成処理で生じる量子化誤差を効率的に低減することができる。
【0382】
なお、図26の学習処理は、例えば、学習処理の対象となる入力データS及び出力データAのセットである教示データが入力される度に行われる。
【0383】
また、図26の学習処理を、ある程度の数の教示データをあらかじめ用意して行う場合において、入力データS及び出力データAの学習、並びに、本体結合重みの更新(以下、適宜、本体学習と称する)と、分割入力誤差データ△Si及び分割出力誤差データ△Aiの学習、並びに、誤差結合重みの更新(以下、適宜、誤差学習と称する)とは、同時に行ってもよし、個別に行ってもよい。
【0384】
すなわち、学習処理では、あらかじめ用意された教示データが1つ与えられる度に、本体学習及び誤差学習の両方を行ってもよいし、あらかじめ用意された教示データすべてを用いて、本体学習を行い、その後、あらかじめ用意された教示データすべてを用いて、誤差学習を行ってもよい。
【0385】
次に、図24及び図25に示したように、本体モデル及び分割誤差モデルとして、入出力関係モデルが採用されている場合の、図18の本体学習モジュール101、誤差学習モジュール102、及び制御部103による認識生成処理について、図27のフローチャートを参照して説明する。
【0386】
この認識生成処理では、認識の対象となる入力データSが、外部から、演算部201と誤差算出部205に供給される。
【0387】
ステップS281において、演算部201は、供給された入力データSを、図26の学習処理の学習結果に基づいて認識する認識処理を行う。すなわち、演算部201は、本体モデル記憶部202に記憶された本体入出力関係モデルの入力本体SOMを構成するノードの中から、入力データSに対する勝者ノードを決定し、その勝者ノード(を表すノードラベル)を、入力データSの認識結果とする。
【0388】
ステップS282において、演算部201は、入力データSの認識結果に基づき、その入力データSに対して出力すべき出力データAを再構成した再構成出力データARを生成(取得)するのに用いる生成ノードを、出力本体SOMを構成するノードの中から決定する。すなわち、演算部201は、入力データSの認識結果としてのノードラベルが表す入力本体SOMの勝者ノードとの本体結合重みが最も強い出力本体SOMのノードを検出し、そのノードを、入力データSに対して出力すべき出力データAを再構成した再構成出力データARを生成するのに用いる生成ノードに決定する。
【0389】
ステップS283において、演算部201は、ステップS281での入力データSの認識結果に基づき、その入力データSを再構成した再構成入力データSRを生成して、誤差算出部205に供給する。すなわち、演算部201は、入力データSの認識結果としての、その入力データSに対する勝者ノードを用いて、入力データSを再構成した再構成入力データSRを、図12の再構成部53と同様にして生成(取得)し、誤差算出部205に供給する。
【0390】
ステップS284において、誤差算出部205は、供給された入力データSと、その入力データSに対して演算部201がステップS283で再構成した再構成入力データSRとの入力誤差データ△Sを算出し、データ分割部206に供給する。データ分割部206は、入力誤差データ△Sを、予め決定された所定の次元毎あるいは所定の時間毎に分割し、その結果得られた分割入力誤差データ△Siを演算部203及び補正データ生成部207に供給する。
【0391】
ステップS285において、演算部203は、データ分割部206からの分割入力誤差データ△Siに基づき、図26の学習処理の学習結果に基づいて認識する認識処理を行う。すなわち、演算部203は、分割誤差モデル記憶部204に記憶された誤差入出力関係モデルの分割入力誤差SOMを構成するノードの中から、分割入力誤差データ△Siに対する勝者ノードを決定し、その勝者ノード(を表すノードラベル)を、分割入力誤差データ△Siの認識結果とする。
【0392】
ステップS286において、演算部203は、分割入力誤差データ△Siの認識結果に基づき、その分割入力誤差データ△Siに対応する分割出力誤差データ△Aiを再構成した分割再構成出力誤差データ△ARiを生成(取得)するのに用いる生成ノードを、分割出力誤差SOMを構成するノードの中から決定する。すなわち、演算部203は、分割入力誤差データ△Siの認識結果としてのノードラベルが表す分割入力誤差SOMの勝者ノードとの誤差結合重みが最も強い分割出力誤差SOMのノードを検出し、そのノードを、分割入力誤差データ△Siに対応する分割出力誤差データ△Aiを再構成した分割再構成出力誤差データ△ARiを生成するのに用いる生成ノードに決定する。
【0393】
ステップS287において、演算部201は、ステップS282で、入力データSに対して出力すべき出力データAを再構成した再構成出力データARを生成するのに用いる生成ノードに決定した出力本体SOMのノードを用い、入力データSに対して出力すべき出力データAを再構成して、その結果得られる再構成出力データARを出力する。
【0394】
すなわち、演算部201は、入力データSに対する入力本体SOMの勝者ノードとの本体結合重みが最も強い出力本体SOMのノードを用い、入力データSに対して出力すべき出力データAを再構成した再構成出力データARを、図12の再構成部53(図20の再構成部234)と同様にして取得(生成)して出力する。演算部201が出力する再構成出力データARは、誤差算出部205及び加算部208に供給される。
【0395】
ステップS288において、演算部203は、ステップS286で、分割入力誤差データ△Siに対応する分割出力誤差データ△Aiを再構成した分割再構成出力誤差データ△ARiを生成するのに用いる生成ノードに決定した分割出力誤差SOMのノードを用い、入力データSから得られた入力誤差データ△Sに対応する分割出力誤差データ△Aiを再構成して、その結果得られる分割再構成出力誤差データ△ARiを出力する。
【0396】
すなわち、演算部203は、入力データSから得られた分割入力誤差データ△Siに対する分割入力誤差SOMの勝者ノードとの誤差結合重みが最も強い分割出力誤差SOMのノードを用い、入力データSから得られた分割入力誤差データ△Siに対応する分割出力誤差データ△Aiを再構成した分割再構成出力誤差データ△ARiを、図12の再構成部53(図20の再構成部234)と同様にして取得(生成)して出力する。演算部203が出力する分割再構成出力データARiは、補正データ生成部207に供給される。
【0397】
ステップS289において、補正データ生成部207は、ステップS284でデータ分割部206から入力された分割入力誤差データ△Siに基づき、再構成出力データSRの補正すべき次元または時間を決定し、決定結果に従い、分割された所定の次元毎あるいは時間毎の補正重みを決定して、演算部203からの分割再構成出力誤差データ△ARiにそれぞれ補正重みを乗算することにより、部分補正データ△ARjを生成し、加算部208に供給する。
【0398】
ステップS290において、加算部208は、演算部201からの再構成出力データARと、補正データ生成部207からの部分補正データ△ARjとを加算した加算データAR'=AR+△ARjを算出し、再構成出力データARを補正した最終再構成出力データとして出力する。以上で、認識生成処理は終了される。
【0399】
以上のように、学習処理において、本体学習と誤差学習を行い、認識生成処理において、本体入出力関係モデルを用いて入力データSに対して出力すべき出力データAを再構成した再構成出力データARを、誤差入出力関係モデルを用いて分割入力誤差データ△Siに対応する分割出力誤差データ△Aiを再構成した分割再構成出力誤差データ△ARiに基づいて生成される部分補正データ△ARjと加算することにより補正し、その結果得られる加算データAR+△ARjを、入力データSに対して出力すべき出力データAを再構成した最終的な再構成出力データ(最終再構成出力データ)として出力するので、誤差を適切に考慮した処理が行われ、その結果、図16及び図17で説明したのと同様に、量子化誤差を低減することができる。
【0400】
ところで、以上のような、本来学習すべき入力データ及び出力データの学習(本体学習)を行う本体入出力関係モデルと、入力データ及び出力データとそれらを再構成したデータとの誤差を分割した分割入力誤差データ及び分割出力誤差データの学習(誤差学習)を行う誤差入出力関係モデルとは、入出力関係モデルを利用することができる技術に対し、その入出力関係モデルに代えて利用することができる。
【0401】
入出力関係モデルを利用することができる技術としては、例えば、前述した聞き真似学習がある。そこで、以下では、(1つの)入出力関係モデルに代えて、本体入出力関係モデル及び誤差入出力関係モデルを利用した聞き真似学習について説明するが、その前段階の準備として、入出力関係モデルを利用した聞き真似学習について、簡単に説明する。
【0402】
2つのSOMである入力SOM及び出力SOMを有する1つの入出力関係モデルを利用した聞き真似学習では、例えば、入出力関係モデルにおける出力SOMのノードのパラメータを変更し、その変更後のパラメータから、出力データとしての音声データを生成するための調音パラメータを生成し、その音声データから抽出された特徴パラメータとしての音響パラメータを、入力データとして、入力SOMで認識することを、その認識結果が、外部からの音声データの入力SOMでの認識結果に一致するまで繰り返すことにより、外部から未知の音声データの入力があったときに、その音声データを真似た音声データを生成するための調音パラメータを、出力データとして出力することが可能となる。
【0403】
具体的には、例えば、入出力関係モデルの入力SOMにおいて、音韻「あ」、「い」、「う」の音声データの音響パラメータの学習が行われ、その音響パラメータのパターンが獲得されているとともに、出力SOMでも、音韻「あ」、「い」、「う」の音声データを生成するための調音パラメータの学習が行われ、その調音パラメータのパターンが獲得されている場合において、ユーザから、未知の音韻「え」の音声データが与えられると、聞き真似学習では、出力SOMのあるノードが獲得しているパターンが僅かに変更され、その変更後のパターンの調音パラメータから音声データが生成される。
【0404】
さらに、その音声データから音響パラメータが抽出され、その音響パラメータが、ユーザから与えられた未知の音韻「え」の音声データの音響パラメータと近い場合には、入力SOMにおいて、ユーザから与えられた未知の音韻「え」の音声データの音響パラメータの学習が行われるとともに、出力SOMにおいて、変更後のパターンの調音パラメータの学習が行われる。
【0405】
ユーザから、未知の音韻「え」の音声データが与えられる度に、以上の処理が行われることで、入力SOMでは、未知であった音韻「え」の音声データの音響パラメータのパターンが獲得されていくとともに、出力SOMでも、未知でった音韻「え」の音声データを生成するための調音パラメータのパターンが獲得されていく。
【0406】
図28は、入出力関係モデルを利用した聞き真似学習の概要を示している。
【0407】
外部からの音声データは、特徴抽出装置301に供給される。特徴抽出装置301は、外部からの音声データを解析することにより音響パラメータを抽出し、その音響パラメータの時系列を、入力データSとして出力する。
【0408】
特徴抽出装置301が出力する入力データSは、入出力関係モデルの入力SOMとしてのパターン記憶SOM#1に入力される。そして、パターン記憶SOM#1を構成する各ノードについて、入力データSに対するスコアが計算され、最も高いスコアのノードNが、入力データSに対する勝者ノードに決定される。
【0409】
すなわち、パターン記憶SOM#1において、入力データSが、その入力データSに対するスコアが最も高いノード(勝者ノード)Nに抽象化(量子化)され、その勝者ノードNと称する、いわば、入出力関係モデルの内部表現で表される。
【0410】
さらに、聞き真似学習では、入出力関係モデルの出力SOMとしてのパターン記憶SOM#2のノードの中から、パターン記憶SOM#1の勝者ノードNとの結合重みが最強のノードN'が検出され、そのノードN'が、入力データSに対して出力すべき出力データAを再構成した再構成出力データARを生成(取得)するために用いる生成ノードに決定される。
【0411】
そして、聞き真似学習では、パターン記憶SOM#2の生成ノードを用いて、入力データSに対して出力すべき出力データAを再構成した再構成出力データARとしての、音声データの生成(音声合成)に用いられる調音パラメータの時系列が生成される。
【0412】
再構成出力データARとしての調音パラメータ(の時系列)は、音声合成装置302に供給される。音声合成装置302は、再構成出力データARとしての調音パラメータを用いて音声合成を行い、その結果得られる音声データである合成音声データを出力する。
【0413】
音声合成装置302が出力する合成音声データは、特徴抽出装置301に供給される。
【0414】
特徴抽出装置301は、音声合成装置302からの合成音声データを解析して音響パラメータを抽出し、その音響パラメータの時系列を、新たな入力データSとして出力する。
【0415】
特徴抽出装置301が出力する新たな入力データSは、入出力関係モデルの入力SOMとしてのパターン記憶SOM#1に入力される。そして、パターン記憶SOM#1を構成する各ノードについて、新たな入力データSに対するスコアが計算され、最も高いスコアのノードが、新たな入力データSに対する勝者ノードに決定される。
【0416】
合成音声データから得られた新たな入力データSに対するパターン記憶SOM#1の勝者ノードが、外部からの音声データから得られた入力データSに対する勝者ノードNに一致しない場合(認識結果が一致していない場合)、すなわち、合成音声データが、外部からの音声データに似ていない場合、生成ノードN'が有するパターン記憶モデル21(図6)のパラメータが変更される。
【0417】
具体的には、例えば、パターン記憶モデル21がHMMである場合には、そのHMMのパラメータとしての状態遷移確率や出力確率密度関数が、ある変更分だけ変更される。
【0418】
そして、その変更後のパラメータを用いて、入力データSに対して出力すべき出力データAを再構成した再構成出力データARとしての調音パラメータの時系列が再度生成され、音声合成装置302に供給される。音声合成装置302は、再構成出力データARとしての調音パラメータを用いて音声合成を行い、新たな合成音声データを出力する。
【0419】
音声合成装置302が出力する新たな合成音声データは、特徴抽出装置301に供給され、特徴抽出装置301では、音声合成装置302からの新たな合成音声データが解析されて音響パラメータが抽出され、さらに新たな入力データSとして出力される。
【0420】
特徴抽出装置301が出力するさらに新たな入力データSは、入出力関係モデルの入力SOMとしてのパターン記憶SOM#1に入力され、その入力データSに対する勝者ノードが決定される。
【0421】
そして、合成音声データから得られた入力データS(さらに新たな入力データS)に対するパターン記憶SOM#1の勝者ノードが、外部からの音声データから得られた入力データSに対する勝者ノードNに一致しない場合には、生成ノードN'が有するパターン記憶モデル21(図6)のパラメータが再度変更され、以下、同様の処理が繰り返される。
【0422】
また、合成音声データから得られた入力データSに対するパターン記憶SOM#1の勝者ノードが、外部からの音声データから得られた入力データSに対する勝者ノードNに一致した場合、すなわち、合成音声データが、外部からの音声データに似ており、したがって、外部からの音声データを真似た合成音声データを出力することができた場合、パターン記憶SOM#1が、外部からの音声データ(又は、外部からの音声データに似ている合成音声データ)から得られた音響パラメータとしての入力データSを用いて自己組織的に更新されるとともに、パターン記憶SOM#2が、外部からの音声データに似ている合成音声データが得られた調音パラメータとしての再構成出力データARを用いて自己組織的に更新される。
【0423】
さらに、外部からの音声データから得られた音響パラメータとしての入力データSに対するパターン記憶SOM#1の勝者ノード、及び、外部からの音声データに似ている合成音声データが得られた調音パラメータとしての再構成出力データARに対するパターン記憶SOM#2の勝者ノードを中心として、入出力関係モデルの結合重みが更新される。
【0424】
すなわち、外部からの音声データから得られた音響パラメータとしての入力データSに対するパターン記憶SOM#1の勝者ノードを中心として、パターン記憶SOM#1の各ノードと、外部からの音声データに似ている合成音声データが得られた調音パラメータとしての再構成出力データARに対するパターン記憶SOM#2の勝者ノードとの結合重みが更新される。
【0425】
さらに、外部からの音声データに似ている合成音声データが得られた調音パラメータとしての再構成出力データARに対するパターン記憶SOM#2の勝者ノードを中心として、パターン記憶SOM#2の各ノードと、外部からの音声データから得られた音響パラメータとしての入力データSに対するパターン記憶SOM#1の勝者ノードとの結合重みが更新される。
【0426】
以上で、入出力関係モデルを利用した聞き真似学習の概要の説明を終了する。
【0427】
ところで、上述したような、入出力関係モデルを利用した聞き真似学習では、外部からの音声データに似た合成音声データを得るために、調音パラメータを変更するが、この調音パラメータの変更は、外部からの音声データから得られた音響パラメータに似た音響パラメータが得られる合成音声データが生成される調音パラメータ(以下、適宜、目標調音パラメータと称する)を探索することに他ならない。
【0428】
目標調音パラメータを探索する探索方法としては、例えば、調音パラメータをランダムに変更するランダム探索を行う方法がある。
【0429】
しかしながら、音声合成に用いられる調音パラメータは、時系列データであるから、必ずしも一定のフレーム数ではない複数のフレームからなる。さらに、調音パラメータは、一般に多次元であり、多次元の調音パラメータが取り得る値の数は、極めて多いから、そのような取り得る値の数の多い調音パラメータを、フレーム毎に、ランダム探索によって変更しても、変更後の調音パラメータが、目標調音パラメータに近づく可能性は低く、目標調音パラメータの探索に、多大な時間を要することがあり得る。
【0430】
そこで、勾配法を利用して、過去の探索の結果から、目標調音パラメータに近づく方向に、調音パラメータを変更することにより、目標調音パラメータを探索する探索方法が考えられる。
【0431】
勾配法を利用する場合、変更後の調音パラメータから生成される合成音声データの音響パラメータと、外部からの音声データの音響パラメータとの間の誤差を少なくする方向に、調音パラメータを変更する必要がある。
【0432】
しかしながら、音声データを解析することによって抽出される音響パラメータ、つまり、図28においてパターン記憶SOM#1に入力される入力データSと、音声合成に用いられる調音パラメータ、つまり、図28においてパターン記憶SOM#2から出力される再構成出力データAR(出力データA)とのモダリティが異なる場合(例えば、音響パラメータがケプストラム係数であり、調音パラメータが線形予測係数である場合など)には、変更後の調音パラメータから生成される合成音声データの音響パラメータと、外部からの音声データの音響パラメータとの間の誤差の変化を、音響パラメータとモダリティが異なる調音パラメータを変更する方向を決める勾配として用いることは困難である。
【0433】
ところで、調音パラメータの空間(調音パラメータ空間)において、調音パラメータを、どの方向に変更すると、その変更後の調音パラメータから生成される合成音声データの音響パラメータが、目標とする音響パラメータ、つまり、外部からの音声データの音響パラメータに近づくのかが分かれば、目標調音パラメータを、迅速に探索することができる。
【0434】
すなわち、現在の調音パラメータから生成される合成音声データの音響パラメータと、外部からの音声データの音響パラメータとの間の、音響パラメータの空間(音響パラメータ空間)における音響パラメータの勾配から、現在の調音パラメータと、目標調音パラメータとの間の、調音パラメータ空間における調音パラメータの勾配を求めることができれば、目標調音パラメータを、迅速に探索することができる。
【0435】
本体入出力関係モデル及び誤差入出力関係モデルを利用した聞き真似学習(以下、適宜、新聞き真似学習とも称する)では、音響パラメータ空間における勾配から、調音パラメータ空間における勾配が、誤差入出力関係モデルを用いて近似的に求められ、これにより、目標調音パラメータが、迅速に探索される。
【0436】
図29は、新聞き真似学習を行う図1の本体学習モジュール101、誤差学習モジュール102、及び制御部103の構成例(第3の構成例)を示している。
【0437】
なお、図中、図18の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0438】
本体学習モジュール101は、本体モデル記憶部202を有する点で、図18の場合と共通するが、演算部201に代えて、演算部321が設けられている点で、図18の場合と異なる。
【0439】
誤差学習モジュール102は、分割誤差モデル記憶部204を有する点で、図18の場合と共通するが、演算部203に代えて、演算部323が設けられている点で、図18の場合と異なる。
【0440】
制御部103は、誤差算出部205、データ分割部206、補正データ生成部207及び加算部208を有する点で、図18の場合と共通するが、さらに、聞き真似制御部327が設けられている点で、図18の場合と異なる。
【0441】
本体学習モジュール101の演算部321には、例えば、外部または聞き真似制御部327から、入力データSや出力データAが、図1におけるデータDとして供給される。
【0442】
演算部321は、図18の演算部201と同様の処理を行う。すなわち、演算部321は、供給される入力データS及び出力データAを用いて、本体モデル記憶部202に記憶されている本体モデルの学習を行う。さらに、演算部321は、供給される入力データSに対して、本体モデル記憶部202に記憶されている本体モデルを用いて、入力データSを再構成した再構成入力データSRを生成して出力する。また、演算部321は、本体モデル記憶部202に記憶されている本体モデルを用いて、供給される入力データSに対して出力すべき出力データAを再構成した再構成出力データARを生成して出力する。さらに、演算部321は、供給される出力データAに対して、本体モデル記憶部202に記憶されている本体モデルを用いて、出力データAを再構成した再構成出力データARを生成して出力する。
【0443】
また、演算部321は、その他、聞き真似制御部327から供給される制御情報に従った処理を行う。
【0444】
誤差学習モジュール102の演算部323は、図18の演算部203と同様の処理を行う。すなわち、演算部323には、データ分割部206から分割入力誤差データ△Si及び分割出力誤差データ△Aiが、図1における誤差データ△Dとして供給される。
【0445】
演算部323は、データ分割部206から分割入力誤差データ△Si及び分割出力誤差データ△Aiを用いて、分割誤差モデル記憶部204に記憶されている分割誤差モデルの学習を行う。また、演算部323は、分割誤差モデル記憶部204に記憶されている分割誤差モデルを用いて、データ分割部206から供給される分割入力誤差データ△Siに対応する分割出力誤差データ△Aiを再構成した分割再構成出力誤差データ△ARiを生成して出力する。さらに、演算部323は、データ分割部206から供給される分割出力誤差データ△Aiに対して、分割誤差モデル記憶部204に記憶されている分割誤差モデルを用いて、分割出力誤差データ△Aiを再構成した分割再構成出力誤差データ△ARiを生成して出力する。
【0446】
また、演算部323は、聞き真似制御部327から供給される制御情報に従った処理を行う。
【0447】
聞き真似制御部327は、新聞き真似学習を行うための各種の処理を行う。すなわち、聞き真似制御部327には、演算部321が出力する再構成入力データSR、加算部208が出力する加算データAR+△ARj、及び目標とする入力データT等が供給される。
【0448】
なお、目標とする入力データTは、図28で説明した聞き真似学習における、外部からの音声データの音響パラメータ(目標とする音響パラメータ)に相当する。
【0449】
ここで、説明を簡単にするため、ある入力データSと、その入力データSに対して出力すべき出力データAとの間に、ある関数g()を用いた式S=g(A)に従った関係があるとする。ここで、例えば、図28に示したように、入力データSが音響パラメータであり、出力データAが調音パラメータであれば、関数g()は、調音パラメータAを用いて音声合成を行い、その結果得られる合成音声データから、音響パラメータSを抽出することに相当する。
【0450】
関数値S=g(A)を、出力データAに対応する入力データと称することにすると、新聞き真似学習では、最終的な再構成出力データである加算データAR'=AR+△ARjに対応する入力データg(AR')が、目標とする入力データTに近くなるような(理想的には一致するような)、加算データAR'を探索することになる。
【0451】
この探索のため、聞き真似制御部327には、加算部208が出力する加算データAR'、目標とする入力データT、及び再構成入力データSRが供給される。聞き真似制御部327は、加算データAR'に対応する入力データg(AR')が、目標とする入力データTに近づいたか否かを判定する。
【0452】
具体的には、加算データAR'に対応する入力データg(AR')と、目標とする入力データTとの差が、目標とする入力データTが入力データSとして演算部321に供給され、それに対応して演算部321から出力される再構成入力データSRと目標とする入力データTとの差よりも小さくなった場合、加算データAR'に対応する入力データg(AR')が、目標とする入力データTに近づいたと判定する。
【0453】
そして、聞き真似制御部327は、加算データAR'に対応する入力データg(AR')が、目標とする入力データTに近づいたと判定した場合、本体モデル及び分割誤差モデルの学習を行うために、入力データTに近い入力データg(AR')を新たな入力データSとし、それに対応する新たな出力データAとして加算データAR'を演算部321等に供給する。
【0454】
さらに、聞き真似制御部327は、新聞き真似学習に必要な処理を、演算部321、演算部323及び補正データ部207に行わせるために、演算部321、演算部323及び補正データ部207を制御するための制御情報を、演算部321、演算部323及び補正データ部207に供給する。
【0455】
次に、図29の本体学習モジュール101、誤差学習モジュール102、及び制御部103による新聞き真似学習の処理について、図30のフローチャートを参照して説明する。
【0456】
なお、ここでは、図24及び図25に示したように、本体モデル記憶部202に記憶されている本体モデルとして、入出力関係モデルである本体入出力関係モデルが採用されているとともに、分割誤差モデル記憶部204に記憶されている分割誤差モデルとして、入出力関係モデルである誤差入出力関係モデルが採用されていることとする。
【0457】
また、本体入出力関係モデル、及び、誤差入出力関係モデルについては、ある程度の数の教示データを用いた図26の学習処理が行われ、本体入出力関係モデル、及び、誤差入出力関係モデルは、その本体入出力関係モデル、及び、誤差入出力関係モデルが獲得しうるパターンの少なくとも一部を既に獲得していることとする。
【0458】
この新聞き真似学習では、ステップS301において、例えば、外部から、目標とする入力データT(以下、適宜、目標データTとも称する)が供給される。聞き真似制御部327は、供給された目標データTを入力データSとして、演算部321及び誤差算出部205に供給するとともに、認識生成処理を行うように、演算部321及び演算部323を制御する。
【0459】
聞き真似制御部327からの制御に応じ、演算部321では、目標データTを入力データSとする、図27で説明した認識生成処理が行われる。
【0460】
すなわち、ステップS302において、演算部321は、図27で説明したように、演算部321は、本体モデル記憶部202に記憶された本体入出力関係モデルの入力本体SOMを構成するノードの中から、入力データS(ここでは、目標データT)に対する勝者ノードを決定し、その勝者ノード(を表すノードラベル)を、入力データSの認識結果とする。
【0461】
ステップS303において、演算部321は、入力データSの認識結果としてのノードラベルが表す入力本体SOMの勝者ノードとの本体結合重みが最も強い出力本体SOMのノードを検出し、そのノードを、入力データSに対して出力すべき出力データAを再構成した再構成出力データARを生成するのに用いる生成ノードに決定する。
【0462】
ステップS304において、演算部321は、入力データSの認識結果としての、その入力データSに対する勝者ノードを用いて、入力データSを再構成した再構成入力データSRを、図12の再構成部53と同様にして生成し、誤差算出部205及び聞き真似制御部327に供給する。
【0463】
ステップS305において、誤差算出部205は、聞き真似制御部327からの入力データS(ここでは、目標データT)と、その入力データSに対して演算部321が再構成した再構成入力データSRとの入力誤差データ△Sを算出してデータ分割部206に供給する。データ分割部206は、入力誤差データ△Sを、予め決定された所定の次元毎あるいは所定の時間毎に分割し、その結果得られた分割入力誤差データ△Siを演算部323及び補正データ生成部207に供給する。
【0464】
ステップS306において、演算部323は、分割誤差モデル記憶部204に記憶された誤差入出力関係モデルの分割入力誤差SOMを構成するノードの中から、データ分割部206からの分割入力誤差データ△Siに対する勝者ノードを決定し、その勝者ノード(を表すノードラベル)を、分割入力誤差データ△Siの認識結果とする。
【0465】
ステップS307において、演算部323は、分割入力誤差データ△Siの認識結果としてのノードラベルが表す分割入力誤差SOMの勝者ノードとの誤差結合重みが最も強い分割出力誤差SOMのノードを検出し、そのノードを、分割入力誤差データ△Siに対応する分割出力誤差データ△Aiを再構成した分割再構成出力誤差データ△ARiを生成するのに用いる生成ノードに決定する。
【0466】
ステップS308において、演算部321は、ステップS303で決定した、聞き真似制御部327からの入力データS(ここでは、目標データT)に対する入力本体SOMの勝者ノードとの本体結合重みが最も強い出力本体SOMの生成ノードを用い、聞き真似制御部327からの入力データSに対して出力すべき出力データAを再構成した再構成出力データARを、図12の再構成部53(図20の再構成部234)と同様にして生成し、誤差算出部205及び加算部208に供給する。
【0467】
ステップS309において、演算部323は、ステップS307で決定した、分割入力誤差データ△Siに対する分割入力誤差SOMの勝者ノードとの誤差結合重みが最も強い分割出力誤差SOMの生成ノードを用い、分割入力誤差データ△Siに対応する分割出力誤差データ△Aiを再構成した分割再構成出力誤差データ△ARiを、図12の再構成部53(図20の再構成部234)と同様にして生成し、補正データ生成部207に供給する。
【0468】
ステップS310において、補正データ生成部207は、ステップS305でデータ分割部206から入力された分割入力誤差データ△Siに基づき、再構成出力データSRの補正すべき次元または時間を決定し、決定結果に従い、分割された所定の次元毎あるいは時間毎の補正重みを決定する。
【0469】
ステップS311において、補正データ生成部207は、演算部203からの各分割再構成出力誤差データ△ARiに、先ほど決定した、分割された所定の次元毎あるいは時間毎の補正重みを乗算することにより、部分補正データ△ARjを生成し、加算部208に供給する。
【0470】
ステップS312においては、加算部208は、ステップS308で演算部321から供給された再構成出力データARと、ステップS311で補正データ生成部207から供給された部分補正データ△ARjとを加算し、その結果得られた加算データA'R=AR+△ARjを、再構成出力データARを補正した最終再構成出力データとして算出し、聞き真似制御部327に供給する。
【0471】
以上のように、聞き真似制御部327には、加算部208から最終再構成出力データAR'が、演算部321から再構成入力データSRが供給されて、処理はステップS313に進められる。
ステップS313において、聞き真似制御部327は、最終再構成出力データAR'によって合成される音声の音響パラメータ系列が、目標とする入力データTに近づいたか否かを判定する。
【0472】
具体的には、聞き真似制御部327は、加算部208から供給された最終再構成出力データAR'を、その最終再構成出力データAR'に対応する入力データg(AR')(以下、対応データg(AR')とも称する)に変換し、入力データg(AR')と目標とする入力データTとの差が、目標とする入力データTが入力データSとして演算部321に供給され、それに対応して演算部321から出力される再構成入力データSRと目標とする入力データTとの差よりも小さい場合、最終再構成出力データAR'によって合成される音声の音響パラメータ系列が、目標とする入力データTに近づいたと判定する。
【0473】
ステップS313で、最終再構成出力データAR'によって合成される音声の音響パラメータ系列が、目標とする入力データTに近づいていないと判定された場合、処理はステップS314に進められる。ステップS314では、補正データ生成部207が、聞き真似制御部327からの制御情報に従い、部分補正データ△ARjとを生成するときに用いる補正重みをランダムに決定する。この後、処理は、ステップS311に戻り、それ以降の処理が繰り返される。そして、ステップS313で、最終再構成出力データAR'によって合成される音声の音響パラメータ系列が、目標とする入力データTに近づいたと判定された場合、処理はステップS315に進められる。
【0474】
ステップS315において、聞き真似制御部327は、最終再構成出力データAR'に対応する対応データg(AR')を、入力データSとして、演算部321及び誤差算出部205に供給するとともに、最終再構成出力データAR'を、出力データAとして、演算部321及び誤差算出部205に供給し、その入力データS及び出力データAのセットを教示データとして学習処理を行うように、演算部321及び演算部323を制御する。
【0475】
これにより、演算部321及び演算部323では、対応データg(AR')を、入力データSとするとともに、加算データAR'を、出力データAとして、図26で説明した学習処理が行われる。
【0476】
この後、処理はステップS302に戻り、それ以降の処理が繰り返される。よって、本体入出力関係モデルの学習と、誤算入出力関係モデルの学習とが進められる。より精度の高い(よく似ている)聞き真似を行うことができるようになる。
【0477】
以上のように、本体モデルで学習されるデータと、本体モデルを用いてデータを再構成した再構成データとの誤差を、分割誤差モデルで学習するようにしたので、誤差を適切に考慮した処理を行うことができる。
【0478】
すなわち、上述したように、量子化誤差を低減した、精度のよいデータを再構成すること、ランダム探索よりも迅速に(効率的に)、目標データに似たデータを探索すること、及びメモリを効率的に使用することができる。
【0479】
特に、本体モデルを用いてデータを再構成した再構成データとの誤差を、所定の次元毎あるいは時間毎に分割して学習するようにしたので、より多様な補正を行うことができる。
【0480】
さらに、本体モデル及び分割誤差モデルとして、SOM(SOMを利用した入出力関係モデル)を採用する場合には、多次元の入力や、スケールを問わず同じシステムで扱うこと(データを、その粒度やダイナミックレンジ関係なく扱うこと)が可能となる。
【0481】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【0482】
図31は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
【0483】
このコンピュータ500において、CPU(Central Processing Unit)501,ROM(Read Only Memory)502、RAM(Random Access Memory)503は、バス504により相互に接続されている。
【0484】
バス504には、さらに、入出力インタフェース505が接続されている。入出力インタフェース505には、キーボード、マウス、マイクロフォンなどよりなる入力部506、ディスプレイ、スピーカなどよりなる出力部507、ハードディスクや不揮発性のメモリなどよりなる記憶部508、ネットワークインタフェースなどよりなる通信部509、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア511を駆動するドライブ510が接続されている。
【0485】
以上のように構成されるコンピュータ500では、CPU501が、例えば、記憶部508に記憶されているプログラムを、入出力インタフェース505及びバス504を介して、RAM503にロードして実行することにより、上述した一連の処理が行われる。
【0486】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであってもよいし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであってもよい。
【0487】
また、プログラムは、1台のコンピュータにより処理されるものであってもよいし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
【0488】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0489】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【0490】
また、本発明は、ロボットの他、例えば、テレビジョン受像機やHDレコーダなどのAV(AudioVisual)機器、コンピュータ、その他の装置における、ユーザインタフェース(ヒューマンインタフェース)に適用することが可能である。
【図面の簡単な説明】
【0491】
【図1】本発明を適用した入出力システムの一実施の形態の構成例を示すブロック図である。
【図2】学習処理を説明するフローチャートである。
【図3】認識生成処理を説明するフローチャートである。
【図4】図1の入出力システムの第1の構成例を示すブロック図である。
【図5】パターン記憶SOMの第1の構成例を示す図である。
【図6】ノードの構成例を示す図である。
【図7】パターン記憶SOMの第2の構成例を示す図である。
【図8】学習装置の構成例を示すブロック図である。
【図9】更新重みを決定する決定方法を説明するための図である。
【図10】学習データ記憶部22に記憶させる学習データを更新する更新方法を説明するための図である。
【図11】学習処理を説明するフローチャートである。
【図12】認識生成装置の構成例を示すブロック図である。
【図13】認識生成処理を説明するフローチャートである。
【図14】パターン記憶SOMが採用された本体モデル及び分割誤差モデルを模式的に示す図である。
【図15】本体SOM及び分割誤差SOMに対して入出力することができるデータを説明する図である。
【図16】学習処理を説明するフローチャートである。
【図17】認識生成処理を説明するフローチャートである。
【図18】図1の入出力システムの第2の構成例を示すブロック図である。
【図19】入出力関係モデルの構成例を示す図である。
【図20】入出力関係モデルを用いた処理を行う学習装置と認識生成装置の構成例を示すブロック図である。
【図21】入出力関係モデルの学習処理を説明するフローチャートである。
【図22】結合重み行列を示す図である。
【図23】入出力関係モデルを用いた認識生成処理を説明するフローチャートである。
【図24】入出力関係モデルが採用された本体モデル及び誤差モデルを模式的に示す図である。
【図25】本体入出力関係モデル、及び誤差入出力関係モデルに対して入出力することができるデータを説明する図である。
【図26】学習処理を説明するフローチャートである。
【図27】認識生成処理を説明するフローチャートである。
【図28】聞き真似学習を説明するための図である。
【図29】図1の入出力システムの第3の構成例を示すブロック図である。
【図30】新聞き真似学習の処理を説明するフローチャートである。
【図31】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【0492】
21 パターン記憶モデル, 22 学習データ記憶部, 41 スコア計算部, 42 勝者ノード決定部, 43 重み決定部, 44 学習データ更新部, 45 モデル学習部, 51 スコア計算部, 52 勝者ノード決定部, 53 再構成部, 100 学習モジュール, 101 本体学習モジュール, 102 誤差学習モジュール, 103 制御部, 121 演算部, 122 本体モデル記憶部, 123 演算部, 124 分割誤差モデル記憶部, 125 誤差算出部, 126 データ分割部, 127 補正データ生成部, 128 加算部, 201 演算部, 202 本体モデル記憶部, 203 演算部, 204 分割誤差モデル記憶部, 205 誤差算出部, 206 データ分割部, 207 補正データ生成部, 208 加算部, 221 学習部, 222 結合重み更新部, 231 スコア計算部, 232 勝者ノード決定部, 233 生成ノード決定部, 234 再構成部, 301 特徴抽出装置, 302 音声合成装置, 321,323 演算部, 327 聞き真似制御部

【特許請求の範囲】
【請求項1】
データを学習する学習処理を行うデータ処理装置において、
データを学習する本体学習モジュールと、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習する誤差学習モジュールと
を有する学習モジュールを備える
データ処理装置。
【請求項2】
前記本体学習モジュールは、入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行い、
前記誤差学習モジュールは、前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差が所定の次元毎あるいは時間毎に分割されている入力分割誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差である出力誤差が所定の次元毎あるいは時間毎に分割されている出力分割誤差の学習を行う
請求項1に記載のデータ処理装置。
【請求項3】
前記本体学習モジュールは、
前記入力データの学習用のSOM(Self-Organization Map)である入力本体SOMと、前記出力データの学習用のSOMである出力本体SOMとのノードどうしが結合された本体入出力関係モデルを有し、
前記入力本体SOMの自己組織的な学習を、前記入力データを用いて行い、
前記出力本体SOMの自己組織的な学習を、前記出力データを用いて行い、
前記入力本体SOMを構成する複数のノードのうちの、前記入力データに対する勝者ノードと、前記出力本体SOMを構成する複数のノードのうちの、前記出力データに対する勝者ノードとの結合の度合いを強めるように、ノードどうしの結合の度合いを表す結合重みを更新し、
前記誤差学習モジュールは、
前記分割入力誤差の学習用のSOMである分割入力誤差SOMと、前記分割出力誤差の学習用のSOMである分割出力誤差SOMとのノードどうしが結合された誤差入出力関係モデルを有し、
前記分割入力誤差SOMの自己組織的な学習を、前記分割入力誤差を用いて行い、
前記分割出力誤差SOMの自己組織的な学習を、前記分割出力誤差を用いて行い、
前記分割入力誤差SOMを構成する複数のノードのうちの、前記分割入力誤差に対する勝者ノードと、前記分割出力誤差SOMを構成する複数のノードのうちの、前記分割出力誤差に対する勝者ノードとの結合の度合いを強めるように、ノードどうしの結合の度合いを表す結合重みを更新する
請求項2に記載のデータ処理装置。
【請求項4】
前記本体学習モジュールは、さらに、
前記入力本体SOMを構成する複数のノードの中から、前記入力データに対する勝者ノードを決定し、
前記入力本体SOMの勝者ノードを用いて、前記入力データを再構成して、前記再構成入力データを出力し、
前記入力本体SOMの勝者ノードとの結合が最も強い前記出力本体SOMのノードを用いて、前記入力データに対して出力すべき前記出力データを再構成して、前記再構成出力データを出力し、
前記誤差学習モジュールは、さらに、
前記分割入力誤差SOMを構成する複数のノードの中から、前記分割入力誤差に対する勝者ノードを決定し、
前記分割入力誤差SOMの勝者ノードとの結合が最も強い前記分割出力誤差SOMのノードを用いて、前記分割出力誤差を再構成して、分割再構成出力誤差を出力し、
前記学習モジュールは、前記再構成出力データと、前記分割再構成出力誤差に基づいて決定する部分補正データとを加算して出力する
請求項3に記載のデータ処理装置。
【請求項5】
前記本体学習モジュールは、
前記入力データの学習用のSOM(Self-Organization Map)である入力本体SOMと、前記出力データの学習用のSOMである出力本体SOMとのノードどうしが結合された本体入出力関係モデルを有し、
前記入力本体SOMを構成する複数のノードの中から、前記入力データに対する勝者ノードを決定し、
前記入力本体SOMの勝者ノードを用いて、前記入力データを再構成して、前記再構成入力データを出力し、
前記入力本体SOMの勝者ノードとの結合が最も強い前記出力本体SOMのノードを用いて、前記入力データに対して出力すべき前記出力データを再構成して、前記再構成出力データを出力し、
前記分割誤差学習モジュールは、
前記分割入力誤差の学習用のSOMである分割入力誤差SOMと、前記分割出力誤差の学習用のSOMである分割出力誤差SOMとのノードどうしが結合された誤差入出力関係モデルを有し、
前記分割入力誤差SOMを構成する複数のノードの中から、前記分割入力誤差に対する勝者ノードを決定し、
前記分割入力誤差SOMの勝者ノードとの結合が最も強い前記分割出力誤差SOMのノードを用いて、前記分割出力誤差を再構成して、分割再構成出力誤差を出力し、
前記本体学習モジュールは、
前記入力本体SOMの自己組織的な学習を、前記再構成出力データと前記分割再構成出力誤差に基づいて決定する前記部分補正データとを加算した加算データに対応する入力データである対応データを用いて行い、
前記出力本体SOMの自己組織的な学習を、前記加算データを用いて行い、
前記入力本体SOMを構成する複数のノードのうちの、前記対応データに対する勝者ノードと、前記出力本体SOMを構成する複数のノードのうちの、前記加算データに対する勝者ノードとの結合の度合いを強めるように、前記本体入出力関係モデルの前記結合重みを更新し、
前記誤差学習モジュールは、
前記分割入力誤差SOMの自己組織的な学習を、前記対応データと、前記本体学習モジュールが前記対応データを再構成した再構成対応データとの誤差が所定の次元毎あるいは時間毎に分割されているものを、前記分割入力誤差として用いて行い、
前記分割出力誤差SOMの自己組織的な学習を、前記加算データと、前記本体学習モジュールが前記加算データを再構成した再構成加算データとの誤差が所定の次元毎あるいは時間毎に分割されているものを、前記分割出力誤差として用いて行い、
前記分割入力誤差SOMを構成する複数のノードのうちの、前記分割入力誤差に対する勝者ノードと、前記分割出力誤差SOMを構成する複数のノードのうちの、前記分割出力誤差に対する勝者ノードとの結合の度合いを強めるように、前記誤差入出力関係モデルの前記結合重みを更新する
請求項2に記載のデータ処理装置。
【請求項6】
前記対応データが、前記再構成出力データに対応する入力データよりも、目標とする入力データに類似している場合、
前記本体学習モジュールは、前記入力本体SOMの自己組織的な学習、前記出力本体SOMの自己組織的な学習、及び、前記本体入出力関係モデルの前記結合重みの更新を行い、
前記誤差学習モジュールは、前記分割入力誤差SOMの自己組織的な学習、前記分割出力誤差SOMの自己組織的な学習、及び、前記誤差入出力関係モデルの前記結合重みの更新を行う
請求項5に記載のデータ処理装置。
【請求項7】
前記本体学習モジュールは、さらに、
前記入力データを再構成して、前記再構成入力データを出力し、
前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、
前記誤差学習モジュールは、さらに、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割入力誤差に対応する前記分割出力誤差を再構成して、分割再構成出力誤差を出力し、
前記学習モジュールは、前記再構成出力データと、前記分割再構成出力誤差に基づいて決定する部分補正データとを加算して出力する
請求項2に記載のデータ処理装置。
【請求項8】
前記本体学習モジュールは、
前記入力データを再構成して、前記再構成入力データを出力し、
前記入力データに対して出力すべき前記出力データを再構成して、前記再構成出力データを出力し、
前記誤差学習モジュールは、
前記入力データと、前記本体学習モジュールが出力する前記再構成入力データとの誤差が所定の次元毎あるいは時間毎に分割されている前記分割入力誤差に対応する前記分割出力誤差を再構成して、分割再構成出力誤差を出力し、
前記本体学習モジュールは、
前記入力データの学習として、前記再構成出力データと前記分割再構成出力誤差に基づいて決定する部分補正データとを加算した加算データに対応する入力データである対応データの学習を行い、
前記入力データの学習として、前記加算データの学習を行い、
前記誤差学習モジュールは、
前記分割入力誤差の学習として、前記対応データと、前記本体学習モジュールが前記対応データを再構成した再構成対応データとの誤差が所定の次元毎あるいは時間毎に分割されているものの学習を行い、
前記出力誤差の学習として、前記加算データと、前記本体学習モジュールが前記加算データを再構成した再構成加算データとの誤差が所定の次元毎あるいは時間毎に分割されているものの学習を行う
請求項2に記載のデータ処理装置。
【請求項9】
前記本体学習モジュールは、
前記データの学習用のSOM(Self-Organization Map)である本体SOMを有し、
前記本体SOMの自己組織的な学習を、前記データを用いて行い、
前記誤差学習モジュールは、
前記分割誤差の学習用のSOMである分割誤差SOMを有し、
前記分割誤差SOMの自己組織的な学習を、前記分割誤差を用いて行う
請求項1に記載のデータ処理装置。
【請求項10】
前記本体学習モジュールは、さらに、
前記本体SOMを構成する複数のノードの中から、前記データに対する勝者ノードを決定し、
前記本体SOMの勝者ノードを用いて、前記データを再構成して、前記再構成データを出力し、
前記誤差学習モジュールは、さらに、
前記分割誤差SOMを構成する複数のノードの中から、前記分割誤差に対する勝者ノードを決定し、
前記分割誤差SOMの勝者ノードを用いて、前記分割誤差を再構成して、分割再構成誤差を出力し、
前記学習モジュールは、前記再構成データと、前記分割再構成誤差に基づいて決定される部分補正データとを加算して出力する
請求項9に記載のデータ処理装置。
【請求項11】
前記本体学習モジュールは、さらに、前記データを再構成して、前記再構成データを出力し、
前記誤差学習モジュールは、さらに、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差が所定の次元毎あるいは時間毎に分割されている前記分割誤差を再構成して、分割再構成誤差を出力し、
前記学習モジュールは、前記再構成データと、前記分割再構成誤差に基づいて決定される部分補正データとを加算して出力する
請求項1に記載のデータ処理装置。
【請求項12】
データを学習する学習処理を行うデータ処理装置のデータ処理方法において、
データを学習する本体学習モジュールにおいて、前記データを学習し、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習する誤差学習モジュールにおいて、前記分割誤差を学習する
ステップを含むデータ処理方法。
【請求項13】
データを学習する学習処理を行うデータ処理装置として、コンピュータを機能させるプログラムにおいて、
データを学習する本体学習モジュールと、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの
誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習する誤差学習モジュールと
を有する学習モジュールを備える
データ処理装置として、コンピュータを機能させるプログラム。
【請求項14】
データを出力するデータ処理装置において、
入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュールと、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割出力誤差の学習を行った誤差学習モジュールと
を有する学習モジュールを備え、
前記本体学習モジュールは、
前記入力データを再構成して、前記再構成入力データを出力し、
前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、
前記誤差学習モジュールは、
前記分割入力誤差に対応する前記分割出力誤差を再構成して、分割再構成出力誤差を出力し、
前記学習モジュールは、前記再構成出力データと、前記分割再構成出力誤差に基づいて決定される部分補正データとを加算して出力する
データ処理装置。
【請求項15】
前記本体学習モジュールは、
前記入力データの学習用のSOM(Self-Organization Map)である入力本体SOMと、前記出力データの学習用のSOMである出力本体SOMとのノードどうしが結合された本体入出力関係モデルを有し、
前記入力本体SOMを構成する複数のノードの中から、前記入力データに対する勝者ノードを決定し、
前記入力本体SOMの勝者ノードを用いて、前記入力データを再構成して、前記再構成入力データを出力し、
前記入力本体SOMの勝者ノードとの結合が最も強い前記出力本体SOMのノードを用いて、前記入力データに対して出力すべき前記出力データを再構成して、前記再構成出力データを出力し、
前記誤差学習モジュールは、
前記分割入力誤差の学習用のSOMである分割入力誤差SOMと、前記分割出力誤差の学習用のSOMである分割出力誤差SOMとのノードどうしが結合された誤差入出力関係モデルを有し、
前記分割入力誤差SOMを構成する複数のノードの中から、前記分割入力誤差に対する勝者ノードを決定し、
前記分割入力誤差SOMの勝者ノードとの結合が最も強い前記分割出力誤差SOMのノードを用いて、前記分割出力誤差を再構成して、分割再構成出力誤差を出力し、
前記学習モジュールは、前記再構成出力データと、前記分割再構成出力誤差に基づいて決定される部分補正データとを加算して出力する
請求項14に記載のデータ処理装置。
【請求項16】
データを出力するデータ処理装置のデータ処理方法において、
前記データ処理装置は、
入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュールと、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割出力誤差の学習を行った誤差学習モジュールと
を有する学習モジュールを備え、
前記本体学習モジュールにおいて、
前記入力データを再構成して、前記再構成入力データを出力し、
前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、
前記誤差学習モジュールにおいて、
前記分割入力誤差に対応する前記分割出力誤差を再構成して、分割再構成出力誤差を出力し、
前記学習モジュールにおいて、前記分割再構成出力データと、前記分割再構成出力誤差に基づいて決定される部分補正データとを加算して出力する
ステップを含むデータ処理方法。
【請求項17】
データを出力するデータ処理装置として、コンピュータを機能させるプログラムにおいて、
入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュールと、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差が所定の次元毎あるいは時間毎に分割されている分割出力誤差の学習を行った誤差学習モジュールと
を有する学習モジュールを備え、
前記本体学習モジュールは、
前記入力データを再構成して、前記再構成入力データを出力し、
前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、
前記誤差学習モジュールは、
前記分割入力誤差に対応する前記分割出力誤差を再構成して、分割再構成出力誤差を出力し、
前記学習モジュールは、前記再構成出力データと、前記分割再構成出力誤差に基づいて決定される部分補正データとを加算して出力する
データ処理装置として、コンピュータを機能させるプログラム。
【請求項18】
データを出力するデータ処理装置において、
データを学習した本体学習モジュールと、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習した誤差学習モジュールと
を有する学習モジュールを備え、
前記本体学習モジュールは、前記データを再構成して、前記再構成データを出力し、
前記誤差学習モジュールは、前記分割誤差を再構成して、分割再構成誤差を出力し、
前記学習モジュールは、前記再構成データと、前記分割再構成誤差に基づいて決定される部分補正データとを加算して出力する
データ処理装置。
【請求項19】
前記本体学習モジュールは、
前記データの学習用のSOM(Self-Organization Map)である本体SOMを有し、
前記本体SOMを構成する複数のノードの中から、前記データに対する勝者ノードを決定し、
前記本体SOMの勝者ノードを用いて、前記データを再構成して、前記再構成データを出力し、
前記誤差学習モジュールは、
前記分割誤差の学習用のSOMである分割誤差SOMを有し、
前記分割誤差SOMを構成する複数のノードの中から、前記分割誤差に対する勝者ノードを決定し、
前記分割誤差SOMの勝者ノードを用いて、前記分割誤差を再構成して、分割再構成誤差を出力し、
前記学習モジュールは、前記再構成データと、前記分割再構成誤差に基づいて決定される部分補正データとを加算して出力する
請求項18に記載のデータ処理装置。
【請求項20】
データを出力するデータ処理装置のデータ処理方法において、
前記データ処理装置は、
データを学習した本体学習モジュールと、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習した誤差学習モジュールと
を有する学習モジュールを備え、
前記本体学習モジュールにおいて、前記データを再構成して、前記再構成データを出力し、
前記誤差学習モジュールにおいて、前記分割誤差を再構成して、分割再構成誤差を出力し、
前記学習モジュールにおいて、前記再構成データと、前記分割再構成誤差に基づいて決定される部分補正データとを加算して出力する
ステップを含むデータ処理方法。
【請求項21】
データを出力するデータ処理装置として、コンピュータを機能させるプログラムにおいて、
データを学習した本体学習モジュールと、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差が所定の次元毎あるいは時間毎に分割されている分割誤差を学習した誤差学習モジュールと
を有する学習モジュールを備え、
前記本体学習モジュールは、前記データを再構成して、前記再構成データを出力し、
前記誤差学習モジュールは、前記分割誤差を再構成して、分割再構成誤差を出力し、
前記学習モジュールは、前記再構成データと、前記分割再構成誤差に基づいて決定される部分補正データとを加算して出力する
データ処理装置として、コンピュータを機能させるプログラム。

【図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

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate