(57)【要約】【課題】誤差を適切に考慮した処理を行う。【解決手段】本体学習モジュール１０１は、データを学習する。誤差学習モジュール１０２は、データと、本体学習モジュール１０１がデータを再構成した再構成データとの誤差を学習する。また、本体学習モジュール１０１は、データの入力があると、そのデータを再構成して、再構成データを出力し、誤差学習モジュール１０２は、データと、再構成データとの誤差データを再構成して、再構成誤差データを出力する。そして、学習モジュール１００は、再構成データと、再構成誤差データとを加算して出力する。本発明は、例えば、ロボット等に適用できる。【選択図】図１
2008293259.tif 000002
【特許請求の範囲】
【請求項１】
データを学習する学習処理を行うデータ処理装置において、
データを学習する本体学習モジュールと、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習する誤差学習モジュールと
を有する学習モジュールを備える
データ処理装置。
【請求項２】
前記本体学習モジュールは、入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行い、
前記誤差学習モジュールは、前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差である出力誤差の学習を行う
請求項１に記載のデータ処理装置。
【請求項３】
前記本体学習モジュールは、
前記入力データの学習用の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のノードを用いて、前記出力誤差を再構成して、再構成出力誤差を出力し、
前記学習モジュールは、前記再構成出力データと、前記再構成出力誤差とを加算して出力する
請求項３に記載のデータ処理装置。
【請求項５】
前記本体学習モジュールは、
前記入力データの学習用の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を構成する複数のノードのうちの、前記出力誤差に対する勝者ノードとの結合の度合いを強めるように、前記誤差入出力関係モデルの前記結合重みを更新する
請求項２に記載のデータ処理装置。
【請求項６】
前記対応データが、前記再構成出力データに対応する入力データよりも、目標とする入力データに類似している場合に、
前記本体学習モジュールは、前記入力本体SOMの自己組織的な学習、前記出力本体SOMの自己組織的な学習、及び、前記本体入出力関係モデルの前記結合重みの更新を行い、
前記誤差学習モジュールは、前記入力誤差SOMの自己組織的な学習、前記出力誤差SOMの自己組織的な学習、及び、前記誤差入出力関係モデルの前記結合重みの更新を行う
請求項５に記載のデータ処理装置。
【請求項７】
前記本体学習モジュールは、さらに、
前記入力データを再構成して、前記再構成入力データを出力し、
前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、
前記誤差学習モジュールは、さらに、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差に対応する前記出力誤差を再構成して、再構成出力誤差を出力し、
前記学習モジュールは、前記再構成出力データと、前記再構成出力誤差とを加算して出力する
請求項２に記載のデータ処理装置。
【請求項８】
前記本体学習モジュールは、
前記入力データを再構成して、前記再構成入力データを出力し、
前記入力データに対して出力すべき前記出力データを再構成して、前記再構成出力データを出力し、
前記誤差学習モジュールは、
前記入力データと、前記本体学習モジュールが出力する前記再構成入力データとの前記入力誤差に対応する前記出力誤差を再構成して、再構成出力誤差を出力し、
前記本体学習モジュールは、
前記入力データの学習として、前記再構成出力データと前記再構成出力誤差とを加算した加算データに対応する入力データである対応データの学習を行い、
前記入力データの学習として、前記加算データの学習を行い、
前記誤差学習モジュールは、
前記入力誤差の学習として、前記対応データと、前記本体学習モジュールが前記対応データを再構成した再構成対応データとの誤差の学習を行い、
前記出力誤差の学習として、前記加算データと、前記本体学習モジュールが前記加算データを再構成した再構成加算データとの誤差の学習を行う
請求項２に記載のデータ処理装置。
【請求項９】
前記本体学習モジュールは、
前記データの学習用のSOM(Self-Organization Map)である本体SOMを有し、
前記本体SOMの自己組織的な学習を、前記データを用いて行い、
前記誤差学習モジュールは、
前記誤差の学習用のSOMである誤差SOMを有し、
前記誤差SOMの自己組織的な学習を、前記誤差を用いて行う
請求項１に記載のデータ処理装置。
【請求項１０】
前記本体学習モジュールは、さらに、
前記本体SOMを構成する複数のノードの中から、前記データに対する勝者ノードを決定し、
前記本体SOMの勝者ノードを用いて、前記データを再構成して、前記再構成データを出力し、
前記誤差学習モジュールは、さらに、
前記誤差SOMを構成する複数のノードの中から、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差に対する勝者ノードを決定し、
前記誤差SOMの勝者ノードを用いて、前記誤差を再構成して、再構成誤差を出力し、
前記学習モジュールは、前記再構成データと、前記再構成誤差とを加算して出力する
請求項９に記載のデータ処理装置。
【請求項１１】
前記本体学習モジュールは、さらに、前記データを再構成して、前記再構成データを出力し、
前記誤差学習モジュールは、さらに、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差を再構成して、再構成誤差を出力し、
前記学習モジュールは、前記再構成データと、前記再構成誤差とを加算して出力する
請求項１に記載のデータ処理装置。
【請求項１２】
データを学習する学習処理を行うデータ処理装置のデータ処理方法において、
データを学習する本体学習モジュールにおいて、前記データを学習し、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習する誤差学習モジュールにおいて、前記誤差を学習する
ステップを含むデータ処理方法。
【請求項１３】
データを学習する学習処理を行うデータ処理装置として、コンピュータを機能させるプログラムにおいて、
データを学習する本体学習モジュールと、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習する誤差学習モジュールと
を有する学習モジュールを備える
データ処理装置として、コンピュータを機能させるプログラム。
【請求項１４】
データを出力するデータ処理装置において、
入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュールと、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差である出力誤差の学習を行った誤差学習モジュールと
を有する学習モジュールを備え、
前記本体学習モジュールは、
前記入力データを再構成して、前記再構成入力データを出力し、
前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、
前記誤差学習モジュールは、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差に対応する前記出力誤差を再構成して、再構成出力誤差を出力し、
前記学習モジュールは、前記再構成出力データと、前記再構成出力誤差とを加算して出力する
データ処理装置。
【請求項１５】
前記本体学習モジュールは、
前記入力データの学習用のSOM(Self-Organization Map)である入力本体SOMと、前記出力データの学習用のSOMである出力本体SOMとのノードどうしが結合された本体入出力関係モデルを有し、
前記入力本体SOMを構成する複数のノードの中から、前記入力データに対する勝者ノードを決定し、
前記入力本体SOMの勝者ノードを用いて、前記入力データを再構成して、前記再構成入力データを出力し、
前記入力本体SOMの勝者ノードとの結合が最も強い前記出力本体SOMのノードを用いて、前記入力データに対して出力すべき前記出力データを再構成して、前記再構成出力データを出力し、
前記誤差学習モジュールは、
前記入力誤差の学習用のSOMである入力誤差SOMと、前記出力誤差の学習用のSOMである出力誤差SOMとのノードどうしが結合された誤差入出力関係モデルを有し、
前記入力誤差SOMを構成する複数のノードの中から、前記入力データと、前記本体学習モジュールが出力する前記再構成入力データとの前記入力誤差に対する勝者ノードを決定し、
前記入力誤差SOMの勝者ノードとの結合が最も強い前記出力誤差SOMのノードを用いて、前記出力誤差を再構成して、再構成出力誤差を出力し、
前記学習モジュールは、前記再構成出力データと、前記再構成出力誤差とを加算して出力する
請求項１４に記載のデータ処理装置。
【請求項１６】
データを出力するデータ処理装置のデータ処理方法において、
前記データ処理装置は、
入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュールと、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差である出力誤差の学習を行った誤差学習モジュールと
を有する学習モジュールを備え、
前記本体学習モジュールにおいて、
前記入力データを再構成して、前記再構成入力データを出力し、
前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、
前記誤差学習モジュールにおいて、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差に対応する前記出力誤差を再構成して、再構成出力誤差を出力し、
前記学習モジュールにおいて、前記再構成出力データと、前記再構成出力誤差とを加算して出力する
ステップを含むデータ処理方法。
【請求項１７】
データを出力するデータ処理装置として、コンピュータを機能させるプログラムにおいて、
入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュールと、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差である出力誤差の学習を行った誤差学習モジュールと
を有する学習モジュールを備え、
前記本体学習モジュールは、
前記入力データを再構成して、前記再構成入力データを出力し、
前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、
前記誤差学習モジュールは、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差に対応する前記出力誤差を再構成して、再構成出力誤差を出力し、
前記学習モジュールは、前記再構成出力データと、前記再構成出力誤差とを加算して出力する
データ処理装置として、コンピュータを機能させるプログラム。
【請求項１８】
データを出力するデータ処理装置において、
データを学習した本体学習モジュールと、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習した誤差学習モジュールと
を有する学習モジュールを備え、
前記本体学習モジュールは、前記データを再構成して、前記再構成データを出力し、
前記誤差学習モジュールは、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差を再構成して、再構成誤差を出力し、
前記学習モジュールは、前記再構成データと、前記再構成誤差とを加算して出力する
データ処理装置。
【請求項１９】
前記本体学習モジュールは、
前記データの学習用のSOM(Self-Organization Map)である本体SOMを有し、
前記本体SOMを構成する複数のノードの中から、前記データに対する勝者ノードを決定し、
前記本体SOMの勝者ノードを用いて、前記データを再構成して、前記再構成データを出力し、
前記誤差学習モジュールは、
前記誤差の学習用のSOMである誤差SOMを有し、
前記誤差SOMを構成する複数のノードの中から、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差に対する勝者ノードを決定し、
前記誤差SOMの勝者ノードを用いて、前記誤差を再構成して、再構成誤差を出力し、
前記学習モジュールは、前記再構成データと、前記再構成誤差とを加算して出力する
請求項１８に記載のデータ処理装置。
【請求項２０】
データを出力するデータ処理装置のデータ処理方法において、
前記データ処理装置は、
データを学習した本体学習モジュールと、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習した誤差学習モジュールと
を有する学習モジュールを備え、
前記本体学習モジュールにおいて、前記データを再構成して、前記再構成データを出力し、
前記誤差学習モジュールにおいて、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差を再構成して、再構成誤差を出力し、
前記学習モジュールにおいて、前記再構成データと、前記再構成誤差とを加算して出力する
ステップを含むデータ処理方法。
【請求項２１】
データを出力するデータ処理装置として、コンピュータを機能させるプログラムにおいて、
データを学習した本体学習モジュールと、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習した誤差学習モジュールと
を有する学習モジュールを備え、
前記本体学習モジュールは、前記データを再構成して、前記再構成データを出力し、
前記誤差学習モジュールは、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差を再構成して、再構成誤差を出力し、
前記学習モジュールは、前記再構成データと、前記再構成誤差とを加算して出力する
データ処理装置として、コンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理方法、及びプログラムに関し、特に、誤差を適切に考慮した処理を行うデータ処理装置、データ処理方法、及びプログラムに関する。
【背景技術】
【０００２】
例えば、自律的にタスクを行うロボットは、入力データの入力に対して、その入力データに対して出力すべき出力データを出力する入出力システムを利用して実現することができる。
【０００３】
ここで、入力データと出力データとは、観測することができれば、どのような物理量でも良い。
【０００４】
例えば、センサで、ある物理量を検知し、その検知の結果に応じたアクション（行動）を起こすロボットに利用される入出力システムでは、センサが物理量を検知して出力する、その物理量を表すセンサデータ等が入力データとなり、ロボットのアクションに必要なアクチュエータ等を駆動するために、そのアクチュエータ等に供給されるアクションデータ等が出力データとなる。
【０００５】
具体的には、例えば、音声を認識し、その認識結果に応じた合成音（音声に対する応答としての合成音）を出力する場合、音声をセンシングするマイク（マイクロフォン）が出力する音声データや、その音声データから抽出されるケプストラムその他の特徴パラメータ等が入力データとなり、認識結果に応じた合成音の生成（音声合成）に用いられるパラメータ等が出力データとなる。
【０００６】
さらに、例えば、音声や画像を認識し、その認識結果に応じて、ロボットの腕を動かす場合、音声をセンシングするマイクが出力する音声データや、その音声データの特徴パラメータ、及び、画像をセンシングするカメラが出力する画像データや、その画像データから検出される動きベクトルその他の特徴量等が入力データとなり、認識結果に応じて動かす腕を駆動するアクチュエータを制御する制御データ等が出力データとなる。
【０００７】
また、入力データと出力データとは、上述したセンサデータとアクションデータのような異なるモダリティ(modality)のデータである必要はない。
【０００８】
すなわち、例えば、データの系列を所定の長さの区間に区切ったときの、各区間をフレームというとともに、先頭からt番目（時刻t）のフレームを、フレーム#tということとすると、入出力システムでは、フレーム#tのセンサデータを入力データとするとともに、フレーム#t+1のセンサデータを出力データとすることができる。
【０００９】
この場合、入出力システムでは、入力データとしてのフレーム#tのセンサデータから、入力データと同一のモダリティの出力データとしての、次のフレーム#t+1のセンサデータが予測されることになる。
【００１０】
また、例えば、入力データとしては、異なるモダリティのデータを組み合わせである、フレーム#tのセンサデータと、フレーム#tのアクションデータとの組み合わせを採用し、出力データとしては、フレーム#t+1のセンサデータと、フレーム#t+1のアクションデータとの組み合わせを採用することができる。
【００１１】
この場合、入出力システムでは、フレーム#tのセンサデータ及びアクションデータの両方から、次のフレーム#t+1のセンサデータ及びアクションデータの両方が予測されることになる。
【００１２】
ところで、入出力システムでは、入力データに対し、その入力データに対して出力すべき出力データを出力する必要がある。
【００１３】
すなわち、例えば、上述したように、音声を認識し、その認識結果に応じて、ロボットの腕を動かす場合において、音声データを、入力データとするとともに、腕を駆動するアクチュエータを制御する制御データを、出力データとするときには、音声データの入力に対して、その音声データを音声認識（識別）し、さらに、その音声認識結果に応じた腕の動きを実行するための制御データを生成する（取得する）必要がある。
【００１４】
また、例えば、上述したように、フレーム#tのセンサデータ及びアクションデータを、入力データとするとともに、フレーム#t+1のセンサデータ及びアクションデータを、出力データとするときには、フレーム#tのセンサデータ及びアクションデータの入力に対して、そのフレーム#tのセンサデータ及びアクションデータを認識（識別）し、さらに、その認識結果から次のフレームt+1のセンサデータ及びアクションデータ（の予測値）を生成する必要がある。
【００１５】
以上のように、入出力システムには、入力データの認識（識別）と、その入力データに対して出力すべき出力データを取得（生成）して出力すること（以下、適宜、認識生成という）が要求される。
【００１６】
入出力システムが、入力データの入力があった場合に、その入力データを用いて認識生成を行い、その入力データに対して出力すべき出力データを出力することができるようになるためには、例えば、入力データ（となるべきデータ）と、その入力データに対して出力すべき出力データ（となるべきデータ）とのセット（以下、適宜、教示データという）を多数用意して、その教示データを用いて、入力データ及び出力データの学習、並びに、入力データと、その入力データに対して出力すべき出力データとの関係の学習を行う必要がある。
【００１７】
そこで、本件出願人は、入力データ用のSOM(Self-Organization Map)（以下、適宜、入力SOMという）と、出力データ用のSOM（以下、適宜、出力SOMという）とのノードどうしが結合された入出力関係モデルを用いて、入力データ及び出力データの学習、並びに、入力データと、その入力データに対して出力すべき出力データとの関係の学習を、いわゆる教師なし学習で行う方法を先に提案している（例えば、特許文献１を参照）。
【００１８】
また、本件出願人は、入出力関係モデルにおける出力SOMのノードのパラメータを変更し、その変更後のパラメータから、出力データとしての音声データを生成し、その音声データを、入力データとして、入力SOMで認識することを、その認識結果が、外部から与えられた音声データの入力SOMでの認識結果に一致するまで繰り返すことにより、外部から未知の音声データの入力があったときに、その音声データを真似た音声データを、出力データとして出力する、いわば聞きまねを行うための学習（以下、適宜、聞きまね学習ともいう）を、教師なし学習で行う方法を先に提案している（例えば、特許文献２を参照）。
【００１９】
ここで、パターンを学習して認識を行うパターン認識（pattern recognition）における学習は、教師あり学習（supervised learning）と、教師なし学習（unsupervised learning）とに分けることができる。
【００２０】
教師あり学習の学習方法としては、例えば、テンプレートマッチング、NN(Neural Network)、HMM（Hidden Markov Model）などの学習モデルを用いた学習方法がある。教師あり学習では、各パターンの学習データ（学習に利用されるデータ）がどのクラスに属するかの正解ラベルと呼ばれる情報を与えて、各クラスごとに、そのクラスに属する（属させる）カテゴリの学習データの学習が行われる。
【００２１】
すなわち、教師あり学習では、学習に利用する学習データが、あらかじめ決められたカテゴリ（例えば、各音素のカテゴリや、各音韻のカテゴリ、各単語のカテゴリなど）ごとに用意されるとともに、学習に利用する学習モデル（各カテゴリの学習データを学習させる学習モデル）も、あらかじめ決められたクラスごとに用意される。
【００２２】
そして、教師あり学習では、正解ラベルが表すクラスの学習モデルの学習が、そのクラスに属する（属させる）カテゴリの学習データのみを用いて行われ、その結果、正解ラベルに基づき、クラスごとのテンプレート（正解ラベルが表すクラスの学習モデル）を得ることができる。
【００２３】
したがって、教師あり学習によって得られた学習モデルを用いたパターン認識では、ある認識対象のデータに対し、その認識対象のデータに最も適合(match)するテンプレート（尤度が最も高いテンプレート）の正解ラベルを、認識結果として出力することができる。
【００２４】
一方、教師なし学習の学習方法としては、NNやSOMなどを用いた学習方法がある。そして、教師なし学習は、正解ラベルが与えられないという点で、教師あり学習とは大きく異なる。
【００２５】
すなわち、教師なし学習は、自己組織化(self-organization)（自己組織的な学習）とも呼ばれ、各パターンの学習データに正解ラベルが与えられない状況で行われる。教師なし学習によれば、例えば、パターンが類似する学習データのクラス（学習データのカテゴリが属するクラス）どうしは、クラスどうしの距離を定義することができる空間において近い位置にされる。
【００２６】
なお、パターン認識は、そのパターン認識によって認識しようとする認識対象のデータ（信号）が観測される信号空間の量子化と見ることができる。
【００２７】
【特許文献１】特開2006-162898号公報
【特許文献２】特開2006-201665号公報
【発明の開示】
【発明が解決しようとする課題】
【００２８】
先に提案されている入出力関係モデルの学習では、入力SOMで、教示データを構成する入力データを学習して、その入力SOMの各ノードで、入力データのパターンを獲得するとともに、出力SOMで、教示データを構成する出力データを学習して、その出力SOMの各ノードで、出力データのパターンを獲得する。さらに、教示データを構成する入力データを入力SOMに与えた（入力した）ときに勝者ノードとなる入力SOMのノードと、その入力データとセットになっている出力データ（その入力データとともに教示データを構成する出力データ）を出力SOMに与えたときに勝者ノードとなる出力SOMのノードとの結合が強められる。
【００２９】
そして、認識生成では、入力SOMのノードの中から、入力データに対する勝者ノードを決定し、その勝者ノードを、入力データの認識結果とする認識処理と、その認識結果としての勝者ノードとの結合が最も強い出力SOMのノードを、入力データに対して出力すべき出力データを生成するのに用いるノード（以下、適宜、生成ノードという）に決定し、その生成ノードが獲得しているパターンの出力データの推定値を取得（生成）する生成処理とが行われる。
【００３０】
なお、入出力関係モデルは、入力SOMと出力SOMとの２つのSOMで構成されるが、認識生成は、そのような２つのSOMで構成される入出力関係モデルではなく、１つのSOMを用いて行うことも可能である。
【００３１】
すなわち、１つのSOMを用いての認識生成では、データの入力に対して、勝者ノードを決定することが、認識処理として行われ、さらに、その勝者ノードが獲得しているパターンのデータを取得（生成）することが、生成処理として行われる。
【００３２】
ここで、２つのSOMで構成される入出力関係モデルを用いての認識生成では、認識処理で認識される入力データと、生成処理で取得（生成）される出力データとは、同一のモダリティのデータであっても良いし、異なるモダリティのデータであっても良い。
【００３３】
これに対して、１つのSOMを用いての認識生成では、認識処理で認識されるデータと、生成処理で取得（生成）されるデータとは、同一のモダリティのデータ（同一の物理量のデータ）となる。
【００３４】
いま、説明を簡単にするために、１つのSOMを用いての認識生成を例にすると、認識処理では、データの入力に対して、有限個のノードの中から勝者ノードが決定され、生成処理では、その勝者ノードが獲得しているパターンのデータが出力されるが、この、勝者ノードが獲得しているパターンのデータは、認識処理で認識されたデータを再構成した再構成データということができる。
【００３５】
さらに、説明を簡単にするために、SOMの各ノードのパラメータとして、ベクトルが与えられていることとすると、認識処理において勝者ノードを決定することは、（ベクトル）量子化と等価であり、生成処理において勝者ノードが獲得しているパターンのデータを出力することは、（ベクトル）逆量子化と等価である。したがって、認識生成処理によれば、いわゆる量子化誤差が生じる。
【００３６】
量子化誤差は、例えば、SOMの大きさを大きくすること、つまり、SOMのノードの数を増加することや、SOMのトポロジの次元を大きくすること、つまり、SOMのノードを配置する次元数を増加することによって、等価的に、いわゆる量子化ステップ（の幅）を小さくすることにより低減することができる。
【００３７】
しかしながら、例えば、SOMのノードの数を増加しても、量子化誤差を考慮した再構成データの数が、増加分のノードの数だけ増加するだけであり、すなわち、SOMのノードの数を、N1個からN2個だけ増加してN1+N2個にしたとすると、N1通りの量子化誤差を含む再構成データしか出力することができなかったのが、N2通りだけ増加したN1+N2通りの（小さな）量子化誤差を含む再構成データ（N1+N2通りの量子化誤差を考慮した再構成データ）を出力することができるようになるだけであり、量子化誤差が適切に考慮されているとは言い難い。
【００３８】
本発明は、このような状況に鑑みてなされたものであり、誤差を適切に考慮した処理を行うことができるようにするものである。
【課題を解決するための手段】
【００３９】
本発明の第１の側面のデータ処理装置、又は、プログラムは、データを学習する学習処理を行うデータ処理装置、又は、データ処理装置としてコンピュータを機能させるプログラムであり、データを学習する本体学習モジュールと、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習する誤差学習モジュールとを有する学習モジュールを備えるデータ処理装置、又は、データ処理装置としてコンピュータを機能させるプログラムである。
【００４０】
本発明の第１の側面のデータ処理方法は、データを学習する学習処理を行うデータ処理装置のデータ処理方法であり、データを学習する本体学習モジュールにおいて、前記データを学習し、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習する誤差学習モジュールにおいて、前記誤差を学習するステップを含む。
【００４１】
以上のような本発明の第１の側面においては、前記データの学習が行われ、前記データと、前記データを再構成した再構成データとの誤差の学習が行われる。
【００４２】
本発明の第２の側面のデータ処理装置、又は、プログラムは、データを出力するデータ処理装置、又は、データ処理装置としてコンピュータを機能させるプログラムであり、入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュールと、前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差である出力誤差の学習を行った誤差学習モジュールとを有する学習モジュールを備え、前記本体学習モジュールは、前記入力データを再構成して、前記再構成入力データを出力し、前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、前記誤差学習モジュールは、前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差に対応する前記出力誤差を再構成して、再構成出力誤差を出力し、前記学習モジュールは、前記再構成出力データと、前記再構成出力誤差とを加算して出力するデータ処理装置、又は、データ処理装置としてコンピュータを機能させるプログラムである。
【００４３】
本発明の第２の側面のデータ処理方法は、データを出力するデータ処理装置のデータ処理方法であり、前記データ処理装置は、入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュールと、前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差である出力誤差の学習を行った誤差学習モジュールとを有する学習モジュールを備え、前記本体学習モジュールにおいて、前記入力データを再構成して、前記再構成入力データを出力するとともに、前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し、前記誤差学習モジュールにおいて、前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差に対応する前記出力誤差を再構成して、再構成出力誤差を出力し、前記学習モジュールにおいて、前記再構成出力データと、前記再構成出力誤差とを加算して出力するステップを含む。
【００４４】
以上のような本発明の第２の側面においては、前記入力データが再構成されて、前記再構成入力データが出力されるとともに、前記入力データに対して出力すべき出力データが再構成されて、前記再構成出力データが出力される。さらに、前記入力データと、前記入力データを再構成した再構成入力データとの誤差である入力誤差に対応する前記出力誤差が再構成されて、再構成出力誤差が出力され、前記再構成出力データと、前記再構成出力誤差とが加算されて出力される。
【００４５】
本発明の第３の側面のデータ処理装置、又は、プログラムは、データを出力するデータ処理装置、又は、データ処理装置としてコンピュータを機能させるプログラムであり、データを学習した本体学習モジュールと、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習した誤差学習モジュールとを有する学習モジュールを備え、前記本体学習モジュールは、前記データを再構成して、前記再構成データを出力し、前記誤差学習モジュールは、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差を再構成して、再構成誤差を出力し、前記学習モジュールは、前記再構成データと、前記再構成誤差とを加算して出力するデータ処理装置、又は、データ処理装置としてコンピュータを機能させるプログラムである。
【００４６】
本発明の第３の側面のデータ処理方法は、データを出力するデータ処理装置のデータ処理方法であり、前記データ処理装置は、データを学習した本体学習モジュールと、前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習した誤差学習モジュールとを有する学習モジュールを備え、前記本体学習モジュールにおいて、前記データを再構成して、前記再構成データを出力し、前記誤差学習モジュールにおいて、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差を再構成して、再構成誤差を出力し、前記学習モジュールにおいて、前記再構成データと、前記再構成誤差とを加算して出力するステップを含む。
【００４７】
以上のような本発明の第３の側面においては、前記データが再構成されて、前記再構成データが出力されるとともに、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差が再構成されて、再構成誤差が出力され、前記再構成データと、前記再構成誤差とが加算されて出力される。
【００４８】
なお、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して提供することができる。
【００４９】
また、データ処理装置は、独立した装置であっても良いし、独立した装置を構成している内部ブロックであっても良い。
【発明の効果】
【００５０】
本発明の第１ないし第３の側面によれば、誤差を適切に考慮した処理を行うことができる。
【発明を実施するための最良の形態】
【００５１】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。したがって、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００５２】
本発明の第１の側面のデータ処理装置、又は、プログラムは、
データを学習する学習処理を行うデータ処理装置（例えば、図１の入出力システム）、又は、データ処理装置としてコンピュータを機能させるプログラムであり、
データを学習する本体学習モジュール（例えば、図１の本体学習モジュール１０１）と、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習する誤差学習モジュール（例えば、図１の誤差学習モジュール１０２）と
を有する学習モジュール（例えば、図１の学習モジュール１００）を備える
データ処理装置、又は、データ処理装置としてコンピュータを機能させるプログラムである。
【００５３】
第１の側面のデータ処理装置では、
前記本体学習モジュールは、入力データ（例えば、図２５の入力データS）の学習、及び、前記入力データに対して出力すべき出力データ（例えば、図２５の出力データA）の学習を行い、
前記誤差学習モジュールは、前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データ（例えば、図２５の再構成入力データSR）との誤差である入力誤差（例えば、図２５の入力誤差データ△S）の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データ（例えば、図２５の再構成出力データAR）との誤差である出力誤差（例えば、図２５の出力誤差データ△A）の学習を行う
ことができる。
【００５４】
第１の側面のデータ処理装置では、
前記本体学習モジュールは、
前記入力データの学習用の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のノードを用いて、前記出力誤差を再構成して、再構成出力誤差を出力し（例えば、図２７のステップＳ２８８）、
前記学習モジュールは、前記再構成出力データと、前記再構成出力誤差とを加算して出力する（例えば、図２７のステップＳ２８９）
ことができる。
【００５６】
本発明の第１の側面のデータ処理装置では、
前記本体学習モジュールは、
前記入力データの学習用の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を構成する複数のノードのうちの、前記出力誤差に対する勝者ノードとの結合の度合いを強めるように、前記誤差入出力関係モデルの前記結合重みを更新する（例えば、図３０のステップＳ３０４で行われる図２６のステップＳ２６４）
ことができる。
【００５７】
第１の側面のデータ処理装置では、
前記本体学習モジュールは、さらに、
前記入力データを再構成して、前記再構成入力データを出力し（例えば、図２７のステップＳ２８３）、
前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し（例えば、図２７のステップＳ２８７）、
前記誤差学習モジュールは、さらに、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差に対応する前記出力誤差を再構成して、再構成出力誤差を出力し（例えば、図２７のステップＳ２８８）、
前記学習モジュールは、前記再構成出力データと、前記再構成出力誤差とを加算して出力する（例えば、図２７のステップＳ２８９）
ことができる。
【００５８】
第１の側面のデータ処理装置では、
前記本体学習モジュールは、
前記入力データを再構成して、前記再構成入力データを出力し（例えば、図３０のステップＳ３０１で行われる図２７のステップＳ２８３）、
前記入力データに対して出力すべき前記出力データを再構成して、前記再構成出力データを出力し（例えば、図３０のステップＳ３０１で行われる図２７のステップＳ２８７）、
前記誤差学習モジュールは、
前記入力データと、前記本体学習モジュールが出力する前記再構成入力データとの前記入力誤差に対応する前記出力誤差を再構成して、再構成出力誤差を出力し（例えば、図３０のステップＳ３０１で行われる図２７のステップＳ２８８）、
前記本体学習モジュールは、
前記入力データの学習として、前記再構成出力データと前記再構成出力誤差とを加算した加算データに対応する入力データである対応データの学習を行い（例えば、図３０のステップＳ３０４で行われる図２６のステップＳ２５１）、
前記入力データの学習として、前記加算データの学習を行い（例えば、図３０のステップＳ３０４で行われる図２６のステップＳ２５２）、
前記誤差学習モジュールは、
前記入力誤差の学習として、前記対応データと、前記本体学習モジュールが前記対応データを再構成した再構成対応データとの誤差の学習を行い（例えば、図３０のステップＳ３０４で行われる図２６のステップＳ２５８）、
前記出力誤差の学習として、前記加算データと、前記本体学習モジュールが前記加算データを再構成した再構成加算データとの誤差の学習を行う（例えば、図３０のステップＳ３０４で行われる図２６のステップＳ２６１）
ことができる。
【００５９】
第１の側面のデータ処理装置では、
前記本体学習モジュールは、
前記データの学習用のSOM(Self-Organization Map)である本体SOM（例えば、図１５の本体SOM）を有し、
前記本体SOMの自己組織的な学習を、前記データを用いて行い（例えば、図１６のステップＳ１３１）、
前記誤差学習モジュールは、
前記誤差の学習用のSOMである誤差SOM（例えば、図１５の誤差SOM）を有し、
前記誤差SOMの自己組織的な学習を、前記誤差を用いて行う（例えば、図１６のステップＳ１３５）
ことができる。
【００６０】
第１の側面のデータ処理装置では、
前記本体学習モジュールは、さらに、
前記本体SOMを構成する複数のノードの中から、前記データに対する勝者ノードを決定し（例えば、図１７のステップＳ１４１）、
前記本体SOMの勝者ノードを用いて、前記データを再構成して、前記再構成データを出力し（例えば、図１７のステップＳ１４２）、
前記誤差学習モジュールは、さらに、
前記誤差SOMを構成する複数のノードの中から、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差に対する勝者ノードを決定し（例えば、図１７のステップＳ１４４）、
前記誤差SOMの勝者ノードを用いて、前記誤差を再構成して、再構成誤差を出力し（例えば、図１７のステップＳ１４５）、
前記学習モジュールは、前記再構成データと、前記再構成誤差とを加算して出力する（例えば、図１７のステップＳ１４６）
ことができる。
【００６１】
第１の側面のデータ処理装置では、
前記本体学習モジュールは、さらに、前記データを再構成して、前記再構成データを出力し（例えば、図３のステップＳ１１２）、
前記誤差学習モジュールは、さらに、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差を再構成して、再構成誤差を出力し（例えば、図３のステップＳ１１５）、
前記学習モジュールは、前記再構成データと、前記再構成誤差とを加算して出力する（例えば、図３のステップＳ１１６）
ことができる。
【００６２】
本発明の第１の側面のデータ処理方法は、
データを学習する学習処理を行うデータ処理装置（例えば、図１の入出力システム）のデータ処理方法であり、
データを学習する本体学習モジュール（例えば、図１の本体学習モジュール１０１）において、前記データを学習し（例えば、図２のステップＳ１０１）、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習する誤差学習モジュール（例えば、図１の誤差学習モジュール１０２）において、前記誤差を学習する（例えば、図２のステップＳ１０４）
ステップを含む。
【００６３】
本発明の第２の側面のデータ処理装置、又は、プログラムは、
データを出力するデータ処理装置（例えば、図１の入出力システム）、又は、データ処理装置としてコンピュータを機能させるプログラムであり、
入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュールと（例えば、図１８の本体学習モジュール１０１）、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差である出力誤差の学習を行った誤差学習モジュール（例えば、図１８の誤差学習モジュール１０２）と
を有する学習モジュール（例えば、図１の学習モジュール１００）を備え、
前記本体学習モジュールは、
前記入力データを再構成して、前記再構成入力データを出力し（例えば、図２７のステップＳ２８３）、
前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し（例えば、図２７のステップＳ２８７）、
前記誤差学習モジュールは、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差に対応する前記出力誤差を再構成して、再構成出力誤差を出力し（例えば、図２７のステップＳ２８８）、
前記学習モジュールは、前記再構成出力データと、前記再構成出力誤差とを加算して出力する（例えば、図２７のステップＳ２８９）
データ処理装置、又は、データ処理装置としてコンピュータを機能させるプログラムである。
【００６４】
第２の側面のデータ処理装置では、
前記本体学習モジュールは、
前記入力データの学習用のSOM(Self-Organization Map)である入力本体SOMと、前記出力データの学習用のSOMである出力本体SOMとのノードどうしが結合された本体入出力関係モデル（例えば、図２５の本体入出力関係モデル）を有し、
前記入力本体SOMを構成する複数のノードの中から、前記入力データに対する勝者ノードを決定し（例えば、図２７のステップＳ２８１）、
前記入力本体SOMの勝者ノードを用いて、前記入力データを再構成して、前記再構成入力データを出力し（例えば、図２７のステップＳ２８３）、
前記入力本体SOMの勝者ノードとの結合が最も強い前記出力本体SOMのノードを用いて、前記入力データに対して出力すべき前記出力データを再構成して、前記再構成出力データを出力し（例えば、図２７のステップＳ２８７）、
前記誤差学習モジュールは、
前記入力誤差の学習用のSOMである入力誤差SOMと、前記出力誤差の学習用のSOMである出力誤差SOMとのノードどうしが結合された誤差入出力関係モデル（例えば、図２５の誤差入出力関係モデル）を有し、
前記入力誤差SOMを構成する複数のノードの中から、前記入力データと、前記本体学習モジュールが出力する前記再構成入力データとの前記入力誤差に対する勝者ノードを決定し（例えば、図２７のステップＳ２８５）、
前記入力誤差SOMの勝者ノードとの結合が最も強い前記出力誤差SOMのノードを用いて、前記出力誤差を再構成して、再構成出力誤差を出力し（例えば、図２７のステップＳ２８８）、
前記学習モジュールは、前記再構成出力データと、前記再構成出力誤差とを加算して出力する（例えば、図２７のステップＳ２８９）
ことができる。
【００６５】
本発明の第２の側面のデータ処理方法は、
データを出力するデータ処理装置（例えば、図１の入出力システム）のデータ処理方法であり、
前記データ処理装置は、
入力データの学習、及び、前記入力データに対して出力すべき出力データの学習を行った前記本体学習モジュール（例えば、図１８の本体学習モジュール１０１）と、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差の学習、及び、前記出力データと、前記本体学習モジュールが前記出力データを再構成した再構成出力データとの誤差である出力誤差の学習を行った誤差学習モジュール（例えば、図１８の誤差学習モジュール１０２）と
を有する学習モジュール（例えば、図１の学習モジュール１００）を備え、
前記本体学習モジュールにおいて、
前記入力データを再構成して、前記再構成入力データを出力し（例えば、図２７のステップＳ２８３）、
前記入力データに対して出力すべき出力データを再構成して、前記再構成出力データを出力し（例えば、図２７のステップＳ２８７）、
前記誤差学習モジュールにおいて、
前記入力データと、前記本体学習モジュールが前記入力データを再構成した再構成入力データとの誤差である入力誤差に対応する前記出力誤差を再構成して、再構成出力誤差を出力し（例えば、図２７のステップＳ２８８）、
前記学習モジュールにおいて、前記再構成出力データと、前記再構成出力誤差とを加算して出力する（例えば、図２７のステップＳ２８９）
ステップを含む。
【００６６】
本発明の第３の側面のデータ処理装置、又は、プログラムは、
データを出力するデータ処理装置（例えば、図１の入出力システム）であり、
データを学習した本体学習モジュール（例えば、図１の本体学習モジュール１０１）と、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習した誤差学習モジュール（例えば、図１の誤差学習モジュール１０２）と
を有する学習モジュール（例えば、図１の学習モジュール１００）を備え、
前記本体学習モジュールは、前記データを再構成して、前記再構成データを出力し（例えば、図３のステップＳ１１２）、
前記誤差学習モジュールは、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差を再構成して、再構成誤差を出力し（例えば、図３のステップＳ１１５）、
前記学習モジュールは、前記再構成データと、前記再構成誤差とを加算して出力する（例えば、図３のステップＳ１１６）
データ処理装置、又は、データ処理装置としてコンピュータを機能させるプログラムである。
【００６７】
第３の側面のデータ処理装置では、
前記本体学習モジュールは、
前記データの学習用のSOM(Self-Organization Map)である本体SOM（例えば、図１５の本体SOM）を有し、
前記本体SOMを構成する複数のノードの中から、前記データに対する勝者ノードを決定し（例えば、図１７のステップＳ１４１）、
前記本体SOMの勝者ノードを用いて、前記データを再構成して、前記再構成データを出力し（例えば、図１７のステップＳ１４２）、
前記誤差学習モジュールは、
前記誤差の学習用のSOMである誤差SOM（例えば、図１５の誤差SOM）を有し、
前記誤差SOMを構成する複数のノードの中から、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差に対する勝者ノードを決定し（例えば、図１７のステップＳ１４４）、
前記誤差SOMの勝者ノードを用いて、前記誤差を再構成して、再構成誤差を出力し（例えば、図１７のステップＳ１４５）、
前記学習モジュールは、前記再構成データと、前記再構成誤差とを加算して出力する（例えば、図１７のステップＳ１４６）
ことができる。
【００６８】
本発明の第３の側面のデータ処理方法は、
データを出力するデータ処理装置（例えば、図１の入出力システム）のデータ処理方法であり、
前記データ処理装置は、
データを学習した本体学習モジュール（例えば、図１の本体学習モジュール１０１）と、
前記データと、前記本体学習モジュールが前記データを再構成した再構成データとの誤差を学習した誤差学習モジュール（例えば、図１の誤差学習モジュール１０２）と
を有する学習モジュール（例えば、図１の学習モジュール１００）を備え、
前記本体学習モジュールにおいて、前記データを再構成して、前記再構成データを出力し（例えば、図３のステップＳ１１２）、
前記誤差学習モジュールにおいて、前記データと、前記本体学習モジュールが出力する前記再構成データとの前記誤差を再構成して、再構成誤差を出力し（例えば、図３のステップＳ１１５）、
前記学習モジュールにおいて、前記再構成データと、前記再構成誤差とを加算して出力する（例えば、図３のステップＳ１１６）
ステップを含む。
【００６９】
以下、図面を参照して、本発明の実施の形態について説明する。
【００７０】
図１は、本発明を適用したデータ処理装置としての入出力システムの一実施の形態の構成例を示すブロック図である。
【００７１】
図１の入出力システムは、データを学習する学習処理、さらには、データの学習結果に基づいて、データを認識し、その認識結果に応じて、データを出力する認識生成（認知行動）処理を行うようになっており、例えば、外部から受ける刺激（例えば、人からの話しかけ等）等に対応して自律的に行動するロボットや、ユーザの操作等を学習して、その学習結果に応じて処理を行うAV(Audio Visual)機器等に適用することができる。
【００７２】
図１の入力システムは、学習モジュール１００から構成される。
【００７３】
学習モジュール１００は、本体学習モジュール１０１、誤差学習モジュール１０２、及び制御部１０３から構成される。
【００７４】
本体学習モジュール１０１には、学習処理の対象となるデータDや、認識生成処理のうちの認識処理の対象となるデータDが供給される。
【００７５】
本体学習モジュール１０１は、学習処理の対象となるデータDを学習する。また、本体学習モジュール１０１は、学習結果に応じ、認識処理の対象となるデータDの入力に対して、そのデータDを再構成して、再構成データDRを出力する。
【００７６】
誤差学習モジュール１０２には、本体学習モジュール１０１に供給されるデータDと、本体学習モジュール１０１が、そのデータDに対して出力する再構成データDRとの誤差である誤差データ△D(=D-DR)が供給される。
【００７７】
誤差学習モジュール１０２は、誤差データ△Dを学習する。また、誤差学習モジュール１０２は、学習結果に応じ、誤差データ△Dの入力に対して、その誤差データ△Dを再構成して、再構成誤差データ△DRを出力する。
【００７８】
制御部１０３は、本体学習モジュール１０１、及び誤差学習モジュール１０２を、必要に応じて制御する。
【００７９】
また、制御部１０３は、本体学習モジュール１０１や、誤差学習モジュール１０２に与えるべきデータを、必要に応じて生成し、本体学習モジュール１０１や、誤差学習モジュール１０２に供給する。
【００８０】
すなわち、例えば、制御部１０３は、本体学習モジュール１０１に供給されるデータDと、そのデータDに対して、本体学習モジュール１０１が出力する再構成データDRとを用いて、誤差データ△Dを生成し、誤差学習モジュール１０２に供給する。
【００８１】
以上のように構成される入出力システムでは、上述したように、データを学習する学習処理と、データの学習結果に基づいて、データを認識し、その認識結果に応じて、データを出力する認識生成処理とが行われる。
【００８２】
図２のフローチャートを参照して、図１の入出力システムが行う学習処理について説明する。
【００８３】
学習モジュール１００に対して、学習処理の対象となるデータDが入力されると、そのデータDは、本体学習モジュール１０１に供給される。
【００８４】
本体学習モジュール１０１は、ステップＳ１０１において、そこに供給されるデータDの学習（データDを用いた学習モデルの学習）を行って、処理は、ステップＳ１０２に進む。
【００８５】
ステップＳ１０２では、本体学習モジュール１０１は、直前のステップＳ１０１で学習に用いたデータDを再構成する。すなわち、本体学習モジュール１０１は、データDを再構成した再構成データDRを生成して出力し、処理は、ステップＳ１０２からステップＳ１０３に進む。
【００８６】
ステップＳ１０３では、制御部１０３が、直前のステップＳ１０１で本体学習モジュール１０１に供給されたデータDと、そのデータDに対して、直前のステップＳ１０２で本体学習モジュール１０１が出力した再構成データDRとを用いて、誤差データ△D＝D-DRを算出することにより生成して、誤差学習モジュール１０２に供給し、処理は、ステップＳ１０４に進む。
【００８７】
ステップＳ１０４では、誤差学習モジュール１０２が、制御部１０３から供給される誤差データ△Dの学習（誤差データ△Dを用いた学習モデルの学習）を行って、処理は終了する。
【００８８】
なお、図２の学習処理は、例えば、学習モジュール１００に対して、学習処理の対象となるデータDが入力されるたびに行われる。
【００８９】
次に、図３のフローチャートを参照して、図１の入出力システムが行う認識生成処理について説明する。
【００９０】
学習モジュール１００に対して、認識処理の対象となるデータDが入力されると、そのデータDは、本体学習モジュール１０１に供給される。
【００９１】
本体学習モジュール１０１は、ステップＳ１１１において、そこに供給されるデータDを、図２の学習処理の学習結果に基づいて認識する認識処理を行って、処理は、ステップＳ１１２に進む。
【００９２】
ステップＳ１１２では、本体学習モジュール１０１は、直前のステップＳ１１１で認識したデータDの認識結果に基づき、そのデータDを再構成した再構成データDRを生成して出力し、処理は、ステップＳ１１３に進む。
【００９３】
ステップＳ１１３では、制御部１０３が、直前のステップＳ１１１で本体学習モジュール１０１に供給されたデータDと、そのデータDに対して、直前のステップＳ１１２で本体学習モジュール１０１が出力した再構成データDRとを用いて、誤差データ△Dを算出することにより生成して、誤差学習モジュール１０２に供給し、処理は、ステップＳ１１４に進む。
【００９４】
ステップＳ１１４では、誤差学習モジュール１０２が、制御部１０３からの誤差データ△Dを、図２の学習処理の学習結果に基づいて認識する認識処理を行って、処理は、ステップＳ１１５に進む。
【００９５】
ステップＳ１１５では、誤差学習モジュール１０２は、直前のステップＳ１１４で認識した誤差データ△Dの認識結果に基づき、その誤差データ△Dを再構成した再構成誤差データ△DRを生成して出力し、処理は、ステップＳ１１６に進む。
【００９６】
ステップＳ１１６では、制御部１０３が、本体学習モジュール１０１が出力した再構成データDRと、誤差学習モジュール１０２が出力した再構成誤差データ△DRとを加算することにより、本体学習モジュール１０１が出力した再構成データDRを補正して出力し、処理は終了する。
【００９７】
すなわち、制御部１０３は、本体学習モジュール１０１が出力した再構成データDRと、誤差学習モジュール１０２が出力した再構成誤差データ△DRとを加算した加算データDR+△DRを求め、その加算データを、本体学習モジュール１０１が出力した再構成データDRを補正した、いわば最終的な再構成データとして出力する。
【００９８】
以上のように、本体学習モジュール１０１において、データDを学習し、誤差学習モジュール１０２において、データDの学習とは別に、データDとそのデータDを再構成した再構成データDRとの誤差データ△Dを学習する。さらに、本体学習モジュール１０１において、データDを再構成して、再構成データDRを出力し、誤差学習モジュール１０２において、データDと再構成データDRとの誤差データ△Dを再構成して、再構成誤差データ△DRを出力する。そして、制御部１０３において、再構成データDRと、再構成誤差データ△DRとを加算し、その結果得られる加算データを出力する。したがって、誤差を適切に考慮した処理、すなわち、再構成データDRに生じているであろうと推定される誤差を、再構成誤差データ△DRにより補正した加算データDR＋△DRを求めることができる。
【００９９】
なお、図２の学習処理と、図３の認識生成処理とについては、データDの入力に対して、両方を行うこともできるし、いずれか一方だけを行うこともできる。
【０１００】
次に、図４は、図１の本体学習モジュール１０１、誤差学習モジュール１０２、及び制御部１０３の第１の構成例を示している。
【０１０１】
図４において、本体学習モジュール１０１は、演算部１２１及び本体モデル記憶部１２２から、誤差学習モジュール１０２は、演算部１２３及び誤差モデル記憶部１２４から、制御部１０３は、誤差算出部１２５及び加算部１２６から、それぞれ構成されている。
【０１０２】
演算部１２１には、例えば、外部から、データDが供給される。演算部１２１は、そこに供給されるデータDの学習を行う。すなわち、演算部１２１は、そこに供給されるデータDを用いて、本体モデル記憶部１２２に記憶されている本体モデルの学習を行う。
【０１０３】
また、演算部１２１は、そこに供給されるデータDを、本体モデル記憶部１２２に記憶されている本体モデルを用いて認識し、その認識結果に基づいて、データDを再構成して、再構成データDRを出力する。演算部１２１が出力する再構成データDRは、制御部１０３の誤差算出部１２５及び加算部１２６に供給される。
【０１０４】
本体モデル記憶部１２２は、データを学習するモデル（学習モデル）としての本体モデルを記憶している。本体モデルとしては、教師なし学習が可能な、例えば、SOMやNN、その他の学習モデルを採用することができる。
【０１０５】
演算部１２３には、制御部１０３の誤差算出部１２５から誤差データ△Dが供給される。演算部１２３は、誤差算出部１２５からの誤差データ△Dの学習を行う。すなわち、演算部１２３は、誤差算出部１２５からの誤差データ△Dを用いて、誤差モデル記憶部１２４に記憶されている誤差モデルの学習を行う。
【０１０６】
また、演算部１２３は、誤差算出部１２５からの誤差データ△Dを、誤差モデル記憶部１２４に記憶されている誤差モデルを用いて認識し、その認識結果に基づいて、誤差データ△Dを再構成して、再構成誤差データ△DRを出力する。演算部１２３が出力する再構成誤差データ△DRは、制御部１０３の加算部１２６に供給される。
【０１０７】
誤差モデル記憶部１２４は、データを学習するモデルとしての誤差モデルを記憶している。誤差モデルとしては、教師なし学習が可能な、例えば、SOMやNN、その他の学習モデルを採用することができる。
【０１０８】
誤差算出部１２５には、上述したように、演算部１２１から再構成データDRが供給される他、演算部１２１に供給されるのと同一のデータDが外部から供給される。
【０１０９】
誤差算出部１２５は、外部からのデータDと、再構成データDRとの差分D-DRを求め、誤差データ△Dとして、演算部１２３に供給する。
【０１１０】
加算部１２６は、演算部１２１から供給される再構成データDRと、演算部１２３から供給される再構成誤差データ△DRとを加算し、その結果得られる加算データDR+△DRを、再構成データDRを補正した、最終的な再構成データ（以下、適宜、最終再構成データともいう）として出力する。
【０１１１】
ここで、図４において、本体モデル記憶部１２２に記憶されている本体モデルと、誤差モデル記憶部１２４に記憶されている誤差モデルとしては、同一の学習モデルを採用することもできるし、異なる学習モデルを採用することもできる。
【０１１２】
但し、ここでは、説明を簡単にするために、本体モデルと誤差モデルとしては、同一の学習モデルを採用することとする。
【０１１３】
なお、本体モデルは、本来学習すべきデータを対象として学習を行う学習モデルであるのに対して、誤差モデルは、データを学習した本体モデルを用いて、あるデータDを再構成して得られる再構成データDRと、データDとの誤差（誤差データ△D）を対象として学習を行う学習モデルである。したがって、本体モデルと誤差モデルとは、学習の対象が異なるだけで、学習モデルとしての本質的な違いはない。
【０１１４】
次に、本体モデル及び誤差モデルとしては、上述したように、例えば、SOMを採用することができる。
【０１１５】
そして、本体モデル及び誤差モデルとしては、ノードにベクトルが与えられており、固定長のパターン（長さが一定のパターン）のみを獲得することができる一般的なSOMは勿論、固定長のパターンの他、時系列パターン等の可変長のパターン（長さが一定でないパターン）をも獲得することができるSOM（以下、適宜、パターン記憶SOMという）を採用することができる。
【０１１６】
そこで、まず、パターン記憶SOMについて説明する。
【０１１７】
図５は、パターン記憶SOMの例を模式的に示している。
【０１１８】
パターン記憶SOMは、複数のノードから構成され、自己組織的な学習を行うことができる点で、一般的なSOMと共通し、したがって、SOMの範疇に含まれるので、SOMの一種であるということができる。
【０１１９】
但し、パターン記憶SOMは、ノードが、時系列パターン等の可変長のパターンを学習することができるHMMや、NN，SVR、その他の、パターンを獲得することができる学習モデル（以下、適宜、パターン記憶モデルという）を有し、そのパターン記憶モデルによって時系列パターン等を保持することができる点で、ノードにベクトルが与えられている一般的なSOMとは異なる。
【０１２０】
パターン記憶SOMは、以上のように、可変長のパターンを獲得（表現）することができるパターン記憶モデルを有する複数のノードから構成されるSOMであり、ノードの数だけの（クラス分けを行う）パターンを記憶することができる。
【０１２１】
図５においては、パターン記憶SOMは、ノードN1乃至N6の６つのノードから構成されている。
【０１２２】
パターン記憶SOMを構成する各ノードNi（図５では、ｉ＝１，２，・・・，６）は、例えば、時系列パターンを表現するパターン記憶モデルを有する。また、ノードNiは、他のノードNj（図５では、ｊ＝１，２，・・・，６）と結合関係を持つことができる。この結合関係をリンクと呼ぶ。図５では、例えば、ノードN1は、ノードN2，N3と直接の結合関係を有している。また、例えば、ノードN3は、ノードN1，N2，N5，N6と直接の結合関係を有しており、したがって、ノードN5とN6は、ノードN3を介して、ノードN1と間接的な結合関係を有している。なお、２つのノードNiとNjとの結合関係とは、その２つのノードNiとNjとの最短の結合関係を意味する。
【０１２３】
パターン記憶SOMの学習（パターン記憶SOMに時系列パターンを記憶（獲得）させる学習）は、時系列データを、学習用の学習データとして行われる。また、学習データとしては、カテゴリの種類や、カテゴリの数が未知の時系列データを用いることができ、したがって、パターン記憶SOMの学習としては、教師なし学習を行うことができる。
【０１２４】
なお、パターン記憶SOMの学習は、ある１つのノードが、必ずしもある１つのカテゴリに対応するように行われるとは限らない。即ち、パターン記憶SOMにおいては、１つのノードが１つのカテゴリに対応するように学習が行われる場合もあるし、複数のノードが１つのカテゴリに対応するように学習が行われる場合もある。さらに、１つのノードが複数のカテゴリに対応するように学習が行われる場合もある。したがって、仮に、学習データが、明確にカテゴリ分けすることができないものであっても、パターン記憶SOMによる学習は行うことができる。
【０１２５】
次に、図６は、パターン記憶SOMのノードNiの構成例を模式的に示している。
【０１２６】
ノードNiは、時系列パターン等の可変長のパターンを表現することが可能なパターン記憶モデル２１と、そのパターン記憶モデル２１の学習に用いる学習データを記憶する学習データ記憶部２２とから構成される。
【０１２７】
ここで、図６では、パターン記憶モデル２１として、状態確率遷移モデルの１つであるHMM（連続HMM）が採用されている。また、図６では、HMMは、自己ループと次状態（右隣の状態）への状態遷移だけを有するleft-to-right型の３状態S1，S2，S3を有する。なお、図６のパターン記憶モデル２１における丸印は状態を表し、矢印は状態遷移を表している。なお、パターン記憶モデル２１としてのHMMは、left-to-right型や、３状態のもの等に限定されない。
【０１２８】
パターン記憶モデル２１が、図６に示したようなHMMである場合、そのパターン記憶モデル２１としてのHMMは、状態遷移確率と出力確率密度関数（HMMが離散HMMである場合には、スカラ量である離散的なシンボルが出力される確率）とで定義される。
【０１２９】
状態遷移確率は、HMMにおいて、状態が遷移する確率で、図６のパターン記憶モデル２１における矢印で示した状態遷移それぞれに対して与えられる。出力確率密度関数は、状態遷移時に、HMMから観測される値の確率密度を表す。出力確率密度関数としては、例えば、混合正規分布などが採用される。これらのHMMのパラメータ（状態遷移確率と出力確率密度関数）は、例えば、Baum-Welch 法によって学習（推定）することができる。
【０１３０】
ノードNiでは、学習データ記憶部２２に記憶された学習データの統計的な特性、即ち、学習データ記憶部２２に記憶された学習データのパターンが、パターン記憶モデル２１において学習され、これにより、パターン記憶モデル２１と、学習データ記憶部２２に記憶された学習データとが、対応関係を持つことになる。
【０１３１】
なお、パターン記憶SOMの学習、ひいては、ノードNiのパターン記憶モデル２１の学習は、パターン記憶SOMに対して、学習の対象となるデータが与えられるごとに学習を行うオンライン学習によって行われる。したがって、パターン記憶SOMのパラメータ、つまり、ノードNiのパターン記憶モデル２１のパラメータ（パターン記憶モデル２１がHMMである場合には、上述したように、状態遷移確率と出力確率密度関数）は、パターン記憶SOMに対して、学習の対象となるデータが与えられるたびに、少しずつ更新される。
【０１３２】
すなわち、後述するように、パターン記憶SOMの学習が進むにつれ、学習データ記憶部２２に記憶される学習データは、パターン記憶SOMに与えられたデータによって更新され、これにより、少しずつ変化する。そして、その少しずつ変化する学習データによって、パターン記憶モデル２１の学習が行われることにより、そのパターン記憶モデル２１のパラメータも、少しずつ変化していく。
【０１３３】
図７は、パターン記憶SOMの他の例を模式的に示している。
【０１３４】
図７では、パターン記憶SOMは、９個のノードN1乃至N9で構成されており、この９個のノードN1乃至N9は、２次元的に配置されている。すなわち、図７では、９個のノードN1乃至N9は、２次元平面上に、横×縦が３×３となるように配置されている。
【０１３５】
さらに、図７では、２次元的に配置された９個のノードN1乃至N9の、横方向に隣接するノードどうしと、縦方向に隣接するノードどうしに対して、リンク（結合関係）が与えられている。なお、このようなリンクを与えることによって、パターン記憶SOMを構成するノードには、空間的に、２次元的に配置される配置構造が与えられている。
【０１３６】
パターン記憶SOMでは、リンクによって与えられる空間的なノードの配置構造に基づき、その空間上でのある２つのノードどうしの距離を定義することができ、この２つのノードどうしの距離は、その２つのノードそれぞれが有するパターン記憶モデル２１が表現するパターンのパターン間距離（パターンどうしの類似性）として用いることができる。
【０１３７】
２つのノードどうしの距離としては、例えば、その２つのノードどうしを結ぶ最短のパスを構成するリンクの数を採用することができる。この場合、あるノードに注目すると、その注目ノードとの直接のリンクを有するノード（図７では、注目ノードの横方向や縦方向に隣接するノード）は、注目ノードとの距離が最も近く、注目ノードとの直接のリンクを有するノードから先のリンクを辿っていくことで到達することができるノードは、到達するのに辿るリンクの数が多いほど、注目ノードとの距離が遠くなっていく。
【０１３８】
なお、ノードに与えるリンクは、図５や図７に示したものに限定されるものではない。また、図５や図７に示したリンクは、ノードに対して、２次元的な配置構造を与えるが、リンクは、その他、１次元的な配置構造や３次元的な配置構造等を与えるリンクであっても良い。
【０１３９】
次に、図８は、パターン記憶SOMの学習を行う学習装置の構成例を示している。
【０１４０】
図８において、学習装置は、スコア計算部４１、勝者ノード決定部４２、重み決定部４３、学習データ更新部４４、及びモデル学習部４５から構成されている。
【０１４１】
学習装置には、学習の対象となる時系列データが外部から入力され、この、外部からの時系列データは、スコア計算部４１、重み決定部４３、及び学習データ更新部４４に供給される。
【０１４２】
スコア計算部４１は、パターン記憶SOMを構成する各ノードについて、そのノードが、外部からの時系列データ（の観測値）に適合する度合いをスコアとして求め、勝者ノード決定部４２に供給する。すなわち、ノードが有するパターン記憶モデル２１が、例えば、図６に示したようにHMMである場合には、スコア計算部４１は、ノードが有するパターン記憶モデル２１としてのHMMから、外部からの時系列データが観測される尤度を求め、そのノードのスコアとして、勝者ノード決定部４２に供給する。
【０１４３】
勝者ノード決定部４２は、パターン記憶SOMにおいて、外部からの時系列データに最も適合するノードを求め、そのノードを、勝者ノードに決定する。
【０１４４】
すなわち、勝者ノード決定部４２は、パターン記憶SOMを構成するノードのうちの、スコア計算部４１からのスコアが最も高いノードを勝者ノードに決定する。そして、勝者ノード決定部４２は、勝者ノードを表す情報を、重み決定部４３に供給する。
【０１４５】
ここで、パターン記憶SOMを構成するノードには、各ノードを識別するためのラベルであるノードラベルを付しておくことができる。そして、勝者ノードを表す情報、その他のノード表す情報としては、ノードラベルを採用することができる。なお、ノードラベルは、ノード自体を識別するラベルであり、正解が何であるかを表す正解ラベルとは、何ら関係がない。
【０１４６】
重み決定部４３は、勝者ノード決定部４２から供給されるノードラベルが表す勝者ノードに基づき、パターン記憶SOMを構成する各ノードについて、後述する更新重みを決定し、学習データ更新部４４に供給する。
【０１４７】
すなわち、重み決定部４３は、パターン記憶SOMを構成する各ノード（勝者ノードを含む）の更新重みを、そのノードと、勝者ノードとのパターン間距離に基づいて決定し、学習データ更新部４４に供給する。
【０１４８】
ここで、ノードが有するパターン記憶モデル２１（図６）は、外部からの（新たな）時系列データを用いて更新されるが、ノードの更新重みとは、そのノードが有するパターン記憶モデル２１の更新によって、そのパターン記憶モデル２１が受ける外部からの時系列データの影響の度合いを表す。したがって、ノードの更新重みが０であれば、そのノードが有するパターン記憶モデル２１は、外部からの時系列データの影響を受けない（更新されない）。
【０１４９】
学習データ更新部４４は、パターン記憶SOMの各ノードが有する学習データ記憶部２２（図６）に記憶された学習データを更新する。
【０１５０】
すなわち、学習データ更新部４４は、ノードが有する学習データ記憶部２２に既に記憶されている学習データと、外部からの時系列データとを、重み決定部４３からの、対応するノードの更新重みにしたがって混合し、その混合結果を、新たな学習データとして、学習データ記憶部２２に記憶させることで、その学習データ記憶部２２の記憶内容を更新する。
【０１５１】
学習データ更新部４４は、以上のように、学習データ記憶部２２（図６）に記憶された学習データを、更新重みにしたがって更新すると、その更新が終了した旨の終了通知を、モデル学習部４５に供給する。
【０１５２】
モデル学習部４５は、学習データ更新部４４から終了通知を受けると、その学習データ更新部４４による更新後の学習データ記憶部２２（図６）に記憶された学習データを用いて、各ノードが有するパターン記憶モデル２１の学習を行うことにより、そのパターン記憶モデル２１を更新する。
【０１５３】
したがって、モデル学習部４５による、ノードが有するパターン記憶モデル２１の更新は、そのノードが有する学習データ記憶部２２（図６）に記憶されていた学習データ（の一部）と、外部からの新たな時系列データとに基づいて行われる。
【０１５４】
次に、図９は、図８の重み決定部４３において更新重みを決定する決定方法を示している。
【０１５５】
重み決定部４３は、例えば、図９に示すような、勝者ノードとのパターン間距離dの増加に対して更新重みαが減少する関係を表す曲線（以下、距離／重み曲線という）にしたがって、ノードに対する更新重み（ノードの更新重み）αを決定する。距離／重み曲線によれば、勝者ノードとのパターン間距離dが近いノードほど、大きな更新重みαが決定され、パターン間距離dが遠いノードほど、小さな更新重みαが決定される。
【０１５６】
図９の距離／重み曲線において、横軸（左から右方向）は、更新重みαを示しており、縦軸（上から下方向）は、パターン間距離dを示している。
【０１５７】
図９では、縦軸に沿って、パターン記憶SOMを構成する６つのノードN1乃至N6が、各ノードNiと勝者ノードとのパターン間距離dに対応する位置（縦軸の位置）に記載されている。
【０１５８】
図９では、パターン記憶SOMを構成する６つのノードN1乃至N6が、その順で、勝者ノードとのパターン間距離dが近くなっている。パターン記憶SOMを構成する６つのノードN1乃至N6のうち、勝者ノードとのパターン間距離dが最も近いノード、すなわち、勝者ノードとのパターン間距離dが０のノードであるノードN1は、勝者ノード（となっているノード）である。
【０１５９】
ここで、パターン記憶SOMが、例えば、図７に示したような２次元的な配置構造を有し、勝者ノードが、例えば、ノードN6であった場合には、勝者ノードN6とノードN6との距離は最も（１番）近い０であり、ノードN6と勝者ノードN6とのパターン間距離dも０となる。また、勝者ノードN6と、ノードN3，N5、またはN9それぞれとの距離は２番目に近い１であり、ノードN3，N5、またはN9それぞれと勝者ノードN6とのパターン間距離dも１となる。さらに、勝者ノードN6と、ノードN2，N4、またはN8それぞれとの距離は３番目に近い２であり、ノードN2，N4、またはN8それぞれと勝者ノードN6とのパターン間距離dも２となる。また、勝者ノードN6と、ノードN1またはN7それぞれとの距離は最も遠い（４番目に近い）３であり、ノードN1またはN7それぞれと勝者ノードN6とのパターン間距離dも３となる。
【０１６０】
次に、更新重みαとパターン間距離dとの関係を表す、例えば、図９に示したような距離／重み曲線は、例えば、式（１）によって与えられる。
【０１６１】
α=G×γ(d/△)
・・・（１）
【０１６２】
ここで、式（１）において、係数Gは、勝者ノードの更新重みを表す定数であり、係数γは、０＜γ＜１の範囲の定数である。また、係数Δは、いわゆる近傍学習において、新たなデータ（ここでは、外部からの新たな時系列データ）を影響させるノードの範囲を調整する係数（以下、適宜、減衰係数という）である。
【０１６３】
上述したように、勝者ノードとなっているノードのパターン間距離dとして、０が与えられ、以下、他のノードのパターン間距離dとして、勝者ノードとの距離にしたがって、１，２，・・・が与えられる場合、式（１）において、例えば、G=8，γ=0.5，Δ=1であれば、勝者ノードとなっているノードの更新重みαとして、８(=G)が求められる。以下、勝者ノードとの距離が大になるにしたがって、ノードの更新重みαとしては、４，２，１，・・・と小さくなる値が求められる。
【０１６４】
ここで、式（１）における減衰係数Δが大きな値である場合には、パターン間距離dの変化に対する更新重みαの変化は緩やかになり、逆に、減衰係数Δが０に近い値である場合には、パターン間距離dの変化に対する更新重みαの変化は急峻になる。
【０１６５】
したがって、減衰係数Δを、例えば、上述した１から少しずつ０に近づけていくように調整すると、パターン間距離dの変化に対する更新重みαの変化は急峻になっていき、更新重みαは、パターン間距離dが大きくなるにしたがって、より小さい値となる。そして、減衰係数Δが０に近くなると、勝者ノード（となっているノード）以外のノードの更新重みαは、ほとんど０となる。
【０１６６】
減衰係数△は、例えば、パターン記憶SOMの更新（学習）の開始時は大きな値にし、時間の経過とともに、すなわち、更新の回数が増加するにしたがって小さな値にくなるようにすることができる。この場合、パターン記憶SOMの更新の開始時は、パターン間距離dの変化に対する更新重みαの変化が緩やかな距離／重み曲線にしたがって、パターン記憶SOMの各ノードの更新重みαが決定され、更新（学習）が進む（進行する）につれ、パターン間距離dの変化に対する更新重みαの変化が急峻になっていく距離／重み曲線にしたがって、パターン記憶SOMの各ノードの更新重みαが決定される。
【０１６７】
すなわち、この場合、勝者ノード（が有するパターン記憶モデル２１）の更新は、学習（更新）の進行にかかわらず、新たな時系列データの影響を強く受けるように行われる。一方、勝者ノード以外のノード（が有するパターン記憶モデル２１）の更新は、学習の開始時は、比較的広い範囲のノード（勝者ノードとのパターン間距離dが小のノードから、ある程度大のノードまで）に亘って、新たな時系列データの影響を受けるように行われる。そして、学習が進行するにつれ、勝者ノード以外のノードの更新は、徐々に狭い範囲のノードについてのみ、新たな時系列データの影響を受けるように行われる。
【０１６８】
図８の重み決定部４３は、以上のようにして、パターン記憶SOMの各ノードの更新重みαを決定し、学習データ更新部４４では、各ノードが有する学習データ記憶部２２に記憶される学習データが、そのノードの更新重みαに基づいて更新される。
【０１６９】
次に、図１０を参照して、ノードが有する学習データ記憶部２２に記憶される学習データを更新する更新方法について説明する。
【０１７０】
いま、あるノードNiが有する学習データ記憶部２２には、学習データが既に記憶されており、ノードNiのパターン記憶モデル２１は、学習データ記憶部２２に既に記憶されている学習データを用いての学習が済んでいることとする。
【０１７１】
学習データ更新部４４は、例えば、ノードNiが有する学習データ記憶部２２に既に記憶されている学習データ（以下、適宜、旧学習データという）と、外部からの新たな時系列データとを、重み決定部４３からのノードNiの更新重みαにしたがって混合し、その混合結果を、新たな学習データとして、学習データ記憶部２２に記憶させることで、その学習データ記憶部２２の記憶内容を、新たな学習データに更新する。
【０１７２】
すなわち、学習データ更新部４４は、旧学習データに対して、新たな時系列データを追加することで、旧学習データと新たな時系列データとを混合した新たな学習データとするが、旧学習データに対する新たな時系列データの追加（旧学習データと新たな時系列データとの混合）は、ノードNiの更新重みαに対応する比にしたがって行われる。
【０１７３】
ここで、ノードNiのパターン記憶モデル２１（図６）の更新は、新たな学習データを用いた学習によって行われるため、新たな時系列データと旧学習データとを混合する比率を変えることによって、更新によりパターン記憶モデル２１が受ける新たな時系列データの影響の度合い（強さ）を変えることができる。
【０１７４】
ノードNiにおいて、新たな時系列データと旧学習データとを混合する比率としては、ノードNiの更新重みαに対応した値が採用され、例えば、更新重みαが大であるほど、新たな時系列データの比率が大となる（旧学習データの比率が小となる）ような値とされる。
【０１７５】
具体的には、ノードNiの学習データ記憶部２２には、一定の数の時系列データ（学習データ）が記憶されることとし、その一定の数をHとする。この場合、ノードNiのパターン記憶モデル２１の学習は、常に、H個の学習データ（時系列データ）を用いて行われる。
【０１７６】
学習データ記憶部２２に、常に、一定の数Hの学習データが記憶される場合、新たな時系列データと旧学習データとの混合によって得られる新たな学習データの個数は、H個である必要があり、そのような、新たな時系列データと旧学習データとの混合を、ノードNiの更新重みαに対応した比率で行う方法としては、新たな時系列データと旧学習データとを、比率α:H-αで混合する方法がある。
【０１７７】
新たな時系列データと旧学習データとを、比率α:H-αで混合する具体的な方法としては、図１０に示すように、H個の旧学習データのうちのH-α個の旧学習データに対して、α個の新たな時系列データを追加することにより、H個の新たな学習データを得る方法がある。
【０１７８】
この場合、学習データ記憶部２２に記憶される時系列データの数Hが、例えば、１００であり、ノードNiの更新重みαが、例えば、８であれば、学習データ記憶部２２の記憶内容は、１００個の旧学習データのうちの９２個の旧学習データに対して、８個の新たな時系列データを追加することによって得られる１００個の新たな学習データに更新される。
【０１７９】
H個の旧学習データのうちのH-α個の旧学習データに対する、α個の新たな時系列データの追加は、α個の新たな時系列データが得られるのを待って行う方法があるが、この方法では、１個の新たな時系列データが得られるごとに、学習データ記憶部２２の記憶内容を更新することができない。
【０１８０】
そこで、学習データ記憶部２２の記憶内容の更新は、１個の新たな時系列データが得られるごとに、その新たな時系列データをα個だけ、H-α個の旧学習データに追加することにより行うことができる。すなわち、１個の新たな時系列データをコピーしてα個の新たな時系列データとし、そのα個の新たな時系列データを、H個の旧学習データから古い順にα個を除外して残ったH-α個の旧学習データに追加することにより、学習データ記憶部２２の記憶内容の更新を行う。これにより、１個の新たな時系列データが得られるごとに、学習データ記憶部２２の記憶内容を更新することができる。
【０１８１】
以上のように、学習データ記憶部２２の記憶内容の更新を行うことにより、学習データ記憶部２２には、常に、新しい順のＨ個の時系列データだけが、学習データとして保持されることになり、その学習データに占める新たな時系列データの割合（比率）は、更新重みαによって調整されることになる。
【０１８２】
次に、図１１のフローチャートを参照して、図８の学習装置によって行われる、パターン記憶SOMの学習を行う学習処理について説明する。
【０１８３】
まず最初に、ステップＳ１において、学習部４（図１０）の学習装置は、パターン記憶SOMのパラメータ、すなわち、パターン記憶SOMの各ノードが有するパターン記憶モデル２１（図６）としての、例えばHMMのパラメータを初期化する初期化処理を行う。この初期化処理により、HMMのパラメータ（状態遷移確率と出力確率密度関数）として、適切な初期値が与えられる。なお、初期化処理において、HMMのパラメータとして、どのように初期値を与えるかは、特に限定されるものではない。
【０１８４】
ステップＳ１の後、処理は、ステップＳ２に進み、外部から、例えば、１の音声区間の音声データ（から抽出された特徴パラメータ）等の新たな時系列データが、図８の学習装置に入力されると、処理は、ステップＳ３ないしＳ７に順次進み、学習装置は、その新たな時系列データを用いて、パターン記憶SOMを、自己組織的に更新する、自己組織的な学習を行う。
【０１８５】
すなわち、ステップＳ３では、スコア計算部４１が、パターン記憶SOMを構成する各ノードについて、そのノードが、外部からの新たな時系列データに適合する度合いを表すスコアを求める。
【０１８６】
具体的には、ノードが有するパターン記憶モデル２１（図６）が、例えばHMMである場合には、そのHMMから、新たな時系列データが観測される対数尤度が、スコアとして求められる。ここで、対数尤度の計算方法としては、例えば、ビタビアルゴリズム(Viterbi algorithm)を採用することができる。
【０１８７】
スコア計算部４１は、パターン記憶SOMが有するすべてのノードについて、新たな時系列データに対するスコアを計算すると、その各ノードについてのスコアを、勝者ノード決定部４２に供給して、処理は、ステップＳ３からステップＳ４に進む。
【０１８８】
ステップＳ４では、勝者ノード決定部４２は、パターン記憶SOMを構成するノードのうちの、スコア計算部４１からのスコアが最も高いノードを求め、そのノードを勝者ノードに決定する。そして、勝者ノード決定部４２は、勝者ノードを表す情報としてのノードラベルを、重み決定部４３に供給し、処理は、ステップＳ４からステップＳ５に進む。
【０１８９】
ステップＳ５では、重み決定部４３は、勝者ノード決定部４２からのノードラベルが表す勝者ノードを、いわば基準として、パターン記憶SOMを構成する各ノードの更新重みを決定する。
【０１９０】
すなわち、重み決定部４３は、図９で説明したように、パターン記憶SOMの更新（学習）が進むにつれ、パターン間距離dの変化に対する更新重みαの変化が急峻になっていく、式（１）で表される距離／重み曲線にしたがって、パターン記憶SOMの各ノードの更新重みαを決定し、学習データ更新部４４に供給して、処理は、ステップＳ５からステップＳ６に進む。
【０１９１】
ステップＳ６では、学習データ更新部４４は、ステップＳ６において、パターン記憶SOMの各ノードが有する学習データ記憶部２２（図６）に記憶された学習データを、重み決定部４３からの、対応するノードの更新重みにしたがって更新する。すなわち、学習データ更新部４４は、図１０で説明したように、外部からの新たな時系列データと、ノードの学習データ記憶部２２に記憶されている旧学習データとを、そのノードの更新重みαに対応した比率α:H-αで混合することにより、H個の新たな学習データを得て、そのH個の新たな学習データによって、学習データ記憶部２２の記憶内容を更新する。
【０１９２】
学習データ更新部４４は、パターン記憶SOMのノードすべての学習データ記憶部２２（図６）の記憶内容を更新すると、その更新が終了した旨の終了通知を、モデル学習部４５に供給し、処理は、ステップＳ６からステップＳ７に進む。
【０１９３】
ステップＳ７では、モデル学習部４５は、学習データ更新部４４からの終了通知に応じて、パターン記憶SOMのパラメータを更新する。
【０１９４】
すなわち、モデル学習部４５は、パターン記憶SOMの各ノードについて、学習データ更新部４４による更新後の学習データ記憶部２２に記憶された新たな学習データを用いて、パターン記憶モデル２１の学習を行うことにより、そのパターン記憶モデル２１を更新する。
【０１９５】
具体的には、ノードが有するパターン記憶モデル２１が、例えばHMMである場合には、そのノードが有する学習データ記憶部２２に記憶された新たな学習データを用いて、HMMの学習が行われる。この学習では、例えば、HMMの現在の（旧学習データを用いた学習により得られた）状態遷移確率と出力確率密度関数を初期値とし、新たな学習データを用いて、Baum-Welch法により、新たな状態遷移確率と出力確率密度関数がそれぞれ求められる。そして、その新たな状態遷移確率と出力確率密度関数によって、HMMの状態遷移確率と出力確率密度関数がそれぞれ更新される。
【０１９６】
その後、処理は、ステップＳ７からステップＳ２に戻り、次の新たな時系列データが、外部から学習装置に入力されるのを待って、以下、同様の処理が繰り返される。
【０１９７】
次に、図１２は、パターン記憶SOMを用いて、認識生成処理を行う認識生成装置の構成例を示している。
【０１９８】
図１２において、認識生成装置は、スコア計算部５１、勝者ノード決定部５２、及び再構成部５３から構成され、スコア計算部５１及び勝者ノード決定部５２が、データを認識する認識処理を行い、再構成部５３が、その認識処理によって認識されたデータを再構成したデータ（再構成データ）を取得（生成）する生成処理を行う。
【０１９９】
すなわち、認識生成装置には、認識の対象となるデータとしての、例えば、時系列データが外部から入力され、その、外部からの時系列データは、スコア計算部５１に供給される。
【０２００】
スコア計算部５１は、学習装置（図８）のスコア計算部４１と同様に、パターン記憶SOMを構成する各ノードについて、そのノードが、外部からの時系列データ（の観測値）に適合する度合いを表すスコアを求め、勝者ノード決定部５２に供給する。
【０２０１】
勝者ノード決定部５２は、学習装置（図８）の勝者ノード決定部４２と同様に、パターン記憶SOMにおいて、外部からの時系列データに最も適合するノードを求め、そのノードを、勝者ノードとして決定する。
【０２０２】
すなわち、勝者ノード決定部５２は、パターン記憶SOMを構成するノードのうちの、スコア計算部５１からのスコアが最も高いノードを勝者ノードとして決定する。そして、勝者ノード決定部５２は、勝者ノードを表す情報としてのノードラベルを、外部からの時系列データの認識結果として、再構成部５３に供給する。
【０２０３】
再構成部５３は、勝者ノード決定部５２からのノードラベルに基づき、外部からの時系列データを再構成して出力する。
【０２０４】
すなわち、再構成部５３は、勝者ノード決定部５２からのノードラベルが表すノード（勝者ノード）を、外部からの時系列データを再構成した再構成データを生成するのに用いる生成ノードとして、その生成ノードが有するパターン記憶モデル２１（図６）に基づいて、再構成データを取得（生成）して出力する。
【０２０５】
具体的には、パターン記憶モデル２１が、例えば、HMMである場合には、再構成部５３は、例えば、生成ノードが有するパターン記憶モデル２１としてのHMMにおいて時系列データが観測される尤度を表す出力確率を最大にする時系列データを生成する。
【０２０６】
なお、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等に記載されている。
【０２０７】
ここで、例えば、時系列データが音声データ（から抽出された特徴パラメータ）であり、再構成部５３において、生成ノードが有するパターン記憶モデル２１としてのHMMを用いて、時系列データが観測される尤度を表す出力確率を最大にする時系列データとしての音声データを生成する場合には、音声データに、波形が不連続になる歪み（以下、適宜、生成なまりという）が生じることがある。
【０２０８】
そこで、再構成部５３では、生成ノードが有する学習データ記憶部２２に記憶された学習データとしての時系列データをランダムに選択することにより取得し、その時系列データを再構成データとして出力することができる。
【０２０９】
生成ノードが有する学習データ記憶部２２に記憶された学習データとしての時系列データからランダムに選択される時系列データは、生成ノードが有する学習データ記憶部２２に記憶された学習データの確率分布に従うので、期待値の観点からは、その生成ノードが有するパターン記憶モデル２１としてのHMMを用いて生成された時系列データとみなすことができ、さらに、上述の生成なまりを有しない。
【０２１０】
次に、図１３のフローチャートを参照して、図１２の認識生成装置で行われる、時系列データを認識する認識処理について説明する。
【０２１１】
ステップＳ２１において、外部から、例えば、１の音声区間の音声データ（から抽出された特徴パラメータ）等の時系列データが、図１２の認識生成装置に入力されると、処理は、ステップＳ２２，Ｓ２３に順次進み、外部からの時系列データを認識する認識処理が行われる。
【０２１２】
すなわち、ステップＳ２２において、スコア計算部５１が、パターン記憶SOMを構成する各ノードが、外部からの時系列データに適合する度合いを表すスコアを求め、勝者ノード決定部５２に供給して、処理は、ステップＳ２３に進む。
【０２１３】
ステップＳ２３では、勝者ノード決定部５２は、パターン記憶SOMを構成するノードのうちの、スコア計算部５１からのスコアが最も高いノードを求め、そのノードを勝者ノードとして決定する。そして、勝者ノード決定部５２は、勝者ノードを表す情報としてのノードラベルを、外部からの時系列データの認識結果として、再構成部５３に供給する。
【０２１４】
ステップＳ２３の後、処理は、ステップＳ２４に進み、再構成部５３は、ステップＳ２３で得られた認識結果に基づいて、外部からの時系列データの再構成を行って、処理を終了する。
【０２１５】
すなわち、ステップＳ２４では、再構成部５３は、勝者ノード決定部５２からの認識結果としてのノードラベルが表すノードを、生成ノードとして、その生成ノードを用いて、その生成ノードが獲得しているパターンの時系列データを、上述したようにして取得して、外部からの時系列データを再構成した再構成データとして出力する。
【０２１６】
なお、以上のような認識生成処理において取得される再構成データによれば、例えば、認識生成装置それ自身が、外部からの時系列データを、どのように認識しているのかを確認することができる。
【０２１７】
次に、図１４は、本体モデル及び誤差モデルとして、パターン記憶SOMが採用されている場合の、図４の本体モデル記憶部１２２と誤差モデル記憶部１２４の記憶内容を、模式的に示している。
【０２１８】
図１４において、本体モデル記憶部１２２には、本体モデルとしてのパターン記憶SOMが記憶されており、誤差モデル記憶部１２４には、誤差モデルとしてのパターン記憶SOMが記憶されている。
【０２１９】
ここで、以下、適宜、本体モデルとしてのパターン記憶SOMを、本体SOMともいい、誤差モデルとしてのパターン記憶SOMを、誤差SOMともいう。
【０２２０】
図１５は、図１４の本体SOM及び誤差SOMに対して入出力することができるデータを説明する図である。
【０２２１】
本体SOMに対しては、学習の対象となるデータD、及び認識の対象となるデータDが入力（供給）される。また、本体SOMからは、そこに入力されるデータDに対して、そのデータDを再構成した再構成データDRを出力することができる。
【０２２２】
誤差SOMに対しては、本体SOMに入力されるデータDと、そのデータDに対して本体SOMから出力される再構成データDRとの誤差である誤差データ△Dが入力される。また、誤差SOMからは、そこに入力される誤差データ△Dに対して、その誤差データ△Dを再構成した再構成誤差データ△DRを出力することができる。
【０２２３】
次に、図１６のフローチャートを参照して、図１４及び図１５に示したように、本体モデル及び誤差モデルとして、パターン記憶SOMが採用されている場合の、図４の本体学習モジュール１０１、誤差学習モジュール１０２、及び制御部１０３による学習処理について説明する。
【０２２４】
学習処理では、学習処理の対象となるデータDが、外部から、演算部１２１と誤差算出部１２５に供給される。
【０２２５】
そして、学習処理では、ステップＳ１３１において、演算部１２１が、そこに供給されるデータDの学習、すなわち、データDを用いて、本体モデル記憶部１２２に記憶された本体SOMを自己組織的に更新する、本体SOMの自己組織的な学習を、図１１のステップＳ３ないしＳ７で説明したように行って、処理は、ステップＳ１３２に進む。
【０２２６】
ステップＳ１３２では、演算部１２１が、本体モデル記憶部１２２に記憶された本体SOMを構成するノードの中から、データDに対する勝者ノードを決定し、処理は、ステップＳ１３３に進む。
【０２２７】
ここで、ステップＳ１３２では、本体SOMを構成するノードのうちの、データDに対するスコアが最も高いノードが、データDに対する勝者ノードに決定される。
【０２２８】
なお、データDに対する勝者ノードは、ステップＳ１３１の自己組織的な学習で決定されるので、ステップＳ１３２では、その勝者ノードをそのまま採用することができる。但し、ステップＳ１３２では、ステップＳ１３１とは別に、本体SOMを構成する各ノードについて、データDに対するスコアを求め、そのスコアの最も高いノードを、データDに対する勝者ノードに決定することができる。
【０２２９】
ステップＳ１３３では、演算部１２１は、ステップＳ１３２で決定された勝者ノードを用いて、データDを再構成した再構成データDRを生成する生成処理を、図１３のステップＳ２４で説明したように行う。そして、演算部１２１は、生成処理の結果得られた再構成データDRを、誤差算出部１２５及び加算部１２６に供給して、処理は、ステップＳ１３４に進む。
【０２３０】
ステップＳ１３４では、誤差算出部１２５が、外部からのデータDと、演算部１２１からの再構成データDRとを用いて、誤差データ△Dを算出し、演算部１２３に供給して、処理は、ステップＳ１３５に進む。
【０２３１】
ステップＳ１３５では、演算部１２３は、そこに供給される誤差データ△Dの学習、すなわち、誤差データ△Dを用いて、誤差モデル記憶部１２４に記憶された誤差SOMを自己組織的に更新する、誤差SOMの自己組織的な学習を、図１１のステップＳ３ないしＳ７で説明したように行って、処理は終了する。
【０２３２】
以上のように、図１６の学習処理では、本体SOMにおいて、本来学習すべきデータDの学習が行われ、誤差SOMにおいて、データDと、そのデータDを本体SOMが再構成することにより得られる再構成データDRとの誤差である誤差データ△Dの学習が行われる。
【０２３３】
なお、図１６の学習処理は、例えば、学習処理の対象となるデータDが入力されるたびに行われる。
【０２３４】
次に、図１７のフローチャートを参照して、図１４及び図１５に示したように、本体モデル及び誤差モデルとして、パターン記憶SOMが採用されている場合の、図４の本体学習モジュール１０１、誤差学習モジュール１０２、及び制御部１０３による認識生成処理について説明する。
【０２３５】
認識生成処理では、認識の対象となるデータDが、外部から、演算部１２１と誤差算出部１２５に供給される。
【０２３６】
そして、認識生成処理では、ステップＳ１４１において、演算部１２１が、そこに供給されるデータDを、図１６の学習処理の学習結果に基づいて認識する認識処理を行って、処理は、ステップＳ１４２に進む。
【０２３７】
すなわち、演算部１２１は、本体モデル記憶部１２２に記憶された本体SOMを構成するノードの中から、データDに対する勝者ノードを決定し、その勝者ノード（を表すノードラベル）を、データDの認識結果とする。
【０２３８】
ステップＳ１４２では、演算部１２１は、直前のステップＳ１４１でのデータDの認識結果に基づき、そのデータDを再構成した再構成データDRを生成して、誤差算出部１２５及び加算部１２６に供給し、処理は、ステップＳ１４３に進む。
【０２３９】
すなわち、演算部１２１は、データDの認識結果としての、そのデータDに対する勝者ノードを用いて、データDを再構成した再構成データDRを生成し、誤差算出部１２５及び加算部１２６に供給する。
【０２４０】
ここで、再構成データDRは、図１２で説明したようにして取得することができる。すなわち、再構成データDRは、データDに対する勝者ノード（図６）が有するパターン記憶モデル２１を用いて生成することができる。また、再構成データDRは、データDに対する勝者ノード（図６）が有する学習データ記憶部２２に記憶されている学習データのうちの１つを選択することで取得することができる。
【０２４１】
ステップＳ１４３では、誤差算出部１２５が、そこに供給されるデータDと、そのデータDに対して演算部１２１が再構成した再構成データDRとの誤差データ△Dを算出し、演算部１２３に供給して、処理は、ステップＳ１４４に進む。
【０２４２】
ステップＳ１４４では、演算部１２３が、誤差算出部１２５からの誤差データ△Dを、図１６の学習処理の学習結果に基づいて認識する認識処理を行って、処理は、ステップＳ１４５に進む。
【０２４３】
すなわち、演算部１２３は、誤差モデル記憶部１２４に記憶された誤差SOMを構成するノードの中から、誤差データ△Dに対する勝者ノードを決定し、その勝者ノード（を表すノードラベル）を、誤差データ△Dの認識結果とする。
【０２４４】
ステップＳ１４５では、演算部１２３は、直前のステップＳ１４４での誤差データ△Dの認識結果に基づき、その誤差データ△Dを再構成した再構成誤差データ△DRを生成して、加算部１２６に供給し、処理は、ステップＳ１４６に進む。
【０２４５】
すなわち、演算部１２３は、誤差データ△Dの認識結果としての、その誤差データ△Dに対する勝者ノードを用いて、誤差データ△Dを再構成した再構成誤差データ△DRを生成し、加算部１２６に供給する。
【０２４６】
ここで、再構成誤差データ△DRは、再構成データDRと同様に、誤差データ△Dに対する勝者ノード（図６）が有するパターン記憶モデル２１を用いて生成し、あるいは、誤差データ△Dに対する勝者ノードが有する学習データ記憶部２２に記憶されている学習データのうちの１つを選択することで取得することができる。
【０２４７】
ステップＳ１４６では、加算部１２６が、演算部１２１からの再構成データDRと、演算部１２３からの再構成誤差データ△DRとを加算した加算データDR+△DRを、再構成データDRを補正した最終再構成データとして求めて出力し、処理は終了する。
【０２４８】
以上のように、学習処理において、データDを、本体SOMで学習するとともに、データDと本体SOMを用いてデータDを再構成した再構成データDRとの誤差データ△Dを、誤差SOMで学習し、認識生成処理において、本体SOMを用いてデータDを再構成した再構成データDRを、誤差SOMを用いて再構成した再構成誤差データ△DRと加算することにより補正し、その結果得られる加算データDR+△DRを、データDを再構成した最終的な再構成データ（最終再構成データ）として出力するので、誤差を適切に考慮した処理が行われ、その結果、量子化誤差を低減することができる。
【０２４９】
すなわち、認識生成処理において、本体SOMを構成するノードの中から、データDに対する勝者ノードを決定する認識処理は、データDを、本体SOMを構成する有限個のノードのうちの、データDのパターンに最も類似するパターンを獲得しているノードに変換する処理であり、データDを量子化することと等価である。
【０２５０】
さらに、認識生成処理において、本体SOMを構成するノードのうちの、データDに対する勝者ノードを用いて、データDを再構成した再構成データDRを生成する生成処理は、データDの量子化結果である勝者ノードを、その勝者ノードが獲得しているパターンのデータに変換することであり、勝者ノードを逆量子化することと等価である。
【０２５１】
したがって、認識生成処理によれば、量子化及び逆量子化を行った場合と同様に、量子化誤差が生じる。
【０２５２】
そこで、学習処理において、量子化及び逆量子化で生じる量子化誤差である誤差データ△Dを、誤差SOMで学習し、認識生成処理において、本体SOMを用いてデータDを再構成した再構成データDRと、誤差SOMを用いて再構成した再構成誤差データ△DRとを加算した加算データDR+△DRを、データDを再構成した最終的な再構成データとすることにより、量子化誤差を効率的に低減することができる。
【０２５３】
すなわち、SOMを構成するノードの数がN1個である場合において、そのSOMのノードの数を、N2個だけ増加して、N1+N2個にすると、N1通りの量子化誤差を含む再構成データしか出力することができなかったのが、N2通りだけ増加したN1+N2通りの量子化誤差を含む再構成データ（N1+N2通りの量子化誤差を考慮した再構成データ）を出力することができるようになる。したがって、SOMのノードの数をN2個だけ増加すると、出力が可能な再構成データの数が、ノードの増加分であるN2個だけ増加するにすぎない。
【０２５４】
これに対して、本体SOMをN1個のノードで構成するとともに、誤差SOMをN2個のノードで構成し、本体SOMを用いてデータDを再構成した再構成データDRと、誤差SOMを用いて再構成した再構成誤差データ△DRとを加算した加算データDR+△DRを、データDを再構成した最終的な再構成データとする場合には、N1×N2通りの最終的な再構成データを出力することができる。
【０２５５】
具体的には、ノードの数N1及びN2を、例えば、いずれも10とすると、SOMを構成するノードの数を増加する場合には、出力が可能な再構成データの数が20(=10+10)であるのに対して、本体SOM及び誤差SOMを用いる場合には、出力が可能な再構成データの数が100(=10×10)となる。したがって、本体SOM及び誤差SOMを用いる場合には、SOMを構成するノードの数を増加する場合に比較して、量子化誤差を、より低減することができる。
【０２５６】
すなわち、SOMを構成するノードの数を増加する場合には、各ノードに、量子化誤差を考慮した再構成データのパターンが保持されるため、１つのノードに対して、１通りの量子化誤差を考慮した再構成データしか得ることができない。
【０２５７】
これに対して、本体SOM及び誤差SOMを用いる場合には、誤差SOMにおいて、本体SOMの各ノードから得られる再構成データDRを補正するのに共通して用いることができる再構成誤差データ△DR（誤差データ△DR）のパターンが記憶されるので、本体SOMの１つのノードに対して、誤差SOMを構成するノードの数だけの量子化誤差を考慮した最終再構成データとしての加算データDR+△DRを得ることができ、その結果、量子化誤差を、より低減することができる。
【０２５８】
ここで、SOMを構成するノードの数を増加することにより、本体SOM及び誤差SOMを用いる場合と同一の数だけの再構成データを出力するには、上述の例では、SOMを構成するノードの数を100個にする必要がある。そして、SOMを記憶するのに必要なメモリ等の記憶容量は、SOMを構成するノードの数に比例するから、本体SOM及び誤差SOMを用いる場合には、SOMを構成するノードの数を増加する場合に比較して、量子化誤差を同程度に低減するのに、SOM（本体SOM及び誤差SOM）を記憶するメモリ等の記憶容量が少なくて済む。つまり、メモリを効率的に使用しつつ、量子化誤差を低減することができる。
【０２５９】
なお、図１６の学習処理と、図１７の認識生成処理とについては、データDの入力に対して、両方を行うこともできるし、いずれか一方だけを行うこともできる。
【０２６０】
次に、図１８は、図１の本体学習モジュール１０１、誤差学習モジュール１０２、及び制御部１０３の第２の構成例を示している。
【０２６１】
図１８において、本体学習モジュール１０１は、演算部２０１及び本体モデル記憶部２０２から、誤差学習モジュール１０２は、演算部２０３及び誤差モデル記憶部２０４から、制御部１０３は、誤差算出部２０５及び加算部２０６から、それぞれ構成されている。
【０２６２】
演算部２０１には、例えば、外部から、入力データSや出力データAが、図１におけるデータDとして供給される。
【０２６３】
ここで、入力データS及び出力データAとしては、例えば、前述したように、センサデータやアクションデータを採用することができる。
【０２６４】
すなわち、例えば、入力データSとしては、音声データや画像データ（から抽出された特徴パラメータ）を採用し、出力データAとしては、入力データSとしての音声データ及び画像データに応じてロボットの腕を駆動するアクチュエータを制御する制御データや、入力データSとしての音声データ及び画像データに応じて合成音を生成（音声合成）するのに用いられるパラメータを採用することができる。
【０２６５】
また、例えば、入力データSとしては、フレーム#tのセンサデータを採用し、出力データAとしては、フレーム#t+1のセンサデータを採用することができる。さらに、例えば、入力データSとしては、フレーム#tのセンサデータと、フレーム#tのアクションデータとの組み合わせを採用し、出力データAとしては、フレーム#t+1のセンサデータと、フレーム#t+1のアクションデータとの組み合わせを採用することができる。
【０２６６】
なお、学習時には、入力データSと、その入力データSに対して出力すべき出力データAとをセットにした教示データが、演算部２０１（及び誤差算出部２０５）に供給され、認識生成時には、入力データSだけが、演算部２０１に供給される。
【０２６７】
ここで、例えば、図１の入出力システムが、ロボットに適用される場合において、そのロボットに、目の前にあるボールを左右に転がすタスクを学習させるとすると、ユーザは、ロボットの前にボールをおき、ロボットの腕を持って、ボールを左右に転がすように、腕を動かす。
【０２６８】
この場合、左右に転がるボールの状態を撮影（検知）した画像データを、入力データSとして採用することとすると、その入力データSに対して出力すべき出力データAとしては、ロボットの腕を、ユーザが動かしているように駆動するための、アクチュエータを制御する制御データを採用することができる。
【０２６９】
以上のような入力データSと出力データAとのセットである教示データを入出力システムに与えて学習処理を行った後、認識生成処理において、左右に転がるボールの状態を撮影した画像データを、入力データSとして入出力システムに与えると、入出力システムからは、ボールの状態に応じて、ロボットの腕を駆動するように、アクチュエータを制御する制御データが出力される。
【０２７０】
演算部２０１は、そこに供給される入力データS及び出力データAの学習を行う。すなわち、演算部２０１は、そこに供給される入力データS及び出力データAを用いて、本体モデル記憶部２０２に記憶されている本体モデルの学習を行う。
【０２７１】
また、演算部２０１は、そこに供給される入力データSに対して、本体モデル記憶部２０２に記憶されている本体モデルを用いて、入力データSを再構成して、再構成入力データSRを出力する。さらに、演算部２０１は、本体モデル記憶部２０２に記憶されている本体モデルを用いて、そこに供給される入力データSに対して出力すべき出力データAを再構成して、再構成出力データARを出力する。また、演算部２０１は、そこに供給される出力データAに対して、本体モデル記憶部２０２に記憶されている本体モデルを用いて、出力データAを再構成して、再構成出力データARを出力する。
【０２７２】
演算部２０１が出力する再構成入力データSは、制御部１０３の誤差算出部２０５に供給され、演算部２０１が出力する再構成出力データARは、制御部１０３の誤差算出部２０５及び加算部２０６に供給される。
【０２７３】
本体モデル記憶部２０２は、データを学習するモデルとしての本体モデルを記憶している。本体モデルとしては、教師なし学習が可能な、例えば、SOMやNN、その他の学習モデルを採用することができる。
【０２７４】
演算部２０３には、制御部１０３の誤差算出部２０５から入力誤差データ△S及び出力誤差データ△Aが、図１における誤差データ△Dとして供給される。
【０２７５】
演算部２０３は、誤差算出部２０５からの入力誤差データ△S及び出力誤差データ△Aの学習を行う。すなわち、演算部２０３は、誤差算出部２０５からの入力誤差データ△S及び出力誤差データ△Aを用いて、誤差モデル記憶部２０４に記憶されている誤差モデルの学習を行う。
【０２７６】
また、演算部２０３は、誤差モデル記憶部２０４に記憶されている誤差モデルを用いて、そこに供給される入力誤差データ△Sに対応する出力誤差データ△Aを再構成して、再構成出力誤差データ△ARを出力する。
【０２７７】
ここで、入力誤差データ△Sに対応する出力誤差データ△Aとは、入力誤差データ△Sが得られる入力データSに対して出力すべき出力データAから得られる出力誤差データ△Aを意味する。
【０２７８】
さらに、演算部２０３は、そこに供給される出力誤差データ△Aに対して、誤差モデル記憶部２０４に記憶されている誤差モデルを用いて、出力誤差データ△Aを再構成して、再構成出力誤差データ△ARを出力する。
【０２７９】
演算部２０３が出力する再構成出力誤差データ△ARは、制御部１０３の加算部２０６に供給される。
【０２８０】
誤差モデル記憶部２０４は、データを学習するモデルとしての誤差モデルを記憶している。誤差モデルとしては、教師なし学習が可能な、例えば、SOMやNN、その他の学習モデルを採用することができる。
【０２８１】
誤差算出部２０５には、上述したように、演算部２０１から再構成入力データSR及び再構成出力データARが供給される他、演算部２０１に供給されるのと同一の入力データS及び出力データAが外部から供給される。
【０２８２】
誤差算出部２０５は、外部からの入力データSと、演算部２０１からの再構成入力データSRとの差分S-SRを求め、入力誤差データ△Sとして、演算部２０３に供給する。
【０２８３】
また、誤差算出部２０５は、外部からの出力データAと、演算部２０１からの再構成出力データARとの差分A-ARを求め、出力誤差データ△Aとして、演算部２０３に供給する。
【０２８４】
加算部２０６は、演算部２０１から供給される再構成出力データARと、演算部２０３から供給される再構成出力誤差データ△ARとを加算し、その結果得られる加算データA'R＝AR+△DRを、再構成出力データARを補正した、最終的な再構成出力データ（以下、適宜、最終再構成出力データともいう）として出力する。
【０２８５】
ここで、図１８において、本体モデル記憶部２０２に記憶されている本体モデルと、誤差モデル記憶部２０４に記憶されている誤差モデルとしては、図４の場合と同様に、同一の学習モデルを採用することもできるし、異なる学習モデルを採用することもできるが、ここでは、説明を簡単にするために、本体モデルと誤差モデルとしては、同一の学習モデルを採用することとする。
【０２８６】
また、図１８において、本体モデルは、本来学習すべきデータである入力データS、及び、出力データSを対象として学習を行う学習モデルであるのに対して、誤差モデルは、データを学習した本体モデルを用いて、ある入力データSとその入力データSを再構成して得られる再構成入力データSRとの誤差（入力誤差データ△S）、及び、ある出力データAとその出力データAを再構成して得られる再構成出力データARとの誤差（出力誤差データ△A）を対象として学習を行う学習モデルである。したがって、図１８でも、図４と同様に、本体モデルと誤差モデルとは、学習の対象が異なるだけで、学習モデルとしての本質的な違いはない。
【０２８７】
次に、入力データS及び出力データAを学習する本体モデル、並びに、入力誤差データ△S及び出力誤差データ△Aを学習する誤差モデルとしては、例えば、パターン記憶SOMを含むSOMを利用した入出力関係モデルを採用することができる。
【０２８８】
そこで、図１９ないし図３２を参照して、入出力関係モデルについて説明する。
【０２８９】
図１９は、パターン記憶SOMを利用した入出力関係モデルの構成例を模式的に示している。
【０２９０】
図１９において、入出力関係モデルは、２つのパターン記憶SOM#1および#2を有している。さらに、入出力関係モデルは、パターン記憶SOM#1の各ノードNi（i＝１，２，・・・，ノードの総数）と、パターン記憶SOM#2の各ノードN'j（j＝１，２，・・・，ノードの総数）とが結合されている。
【０２９１】
ここで、図１９において、パターン記憶SOM#1のノードNiと、パターン記憶SOM#2のノードN'jとの間の矢印が、そのノードNiとN'jとの結合を表している。
【０２９２】
なお、パターン記憶SOM#1および#2は、同一の数のノードと同一のリンクを有するものであっても良いし、異なる数のノードまたは異なるリンクを有するものであっても良い。また、パターン記憶SOM#1のノードNiが有するパターン記憶モデル２１（図６）と、パターン記憶SOM#2のノードが有するパターン記憶モデル２１も、同一のパターン記憶モデルであっても良いし、異なるパターン記憶モデルであっても良い。
【０２９３】
次に、図２０は、入出力関係モデルを用いて、学習処理を行う学習装置と、認識生成処理を行う認識生成装置との構成例を示している。
【０２９４】
図２０において、学習装置は、学習部２２１及び結合重み更新部２２２から構成され、認識生成装置は、スコア計算部２３１、勝者ノード決定部２３２、生成ノード決定部２３３、及び再構成部２３４から構成される。
【０２９５】
学習装置には、学習の対象となる入力データ（の観測値）と、その入力データに対して出力すべき出力データ（の観測値）とのセットである教示データが供給される。学習装置は、そこに供給される教示データを用いて、入出力関係モデル（図１９）を構成するパターン記憶SOM#1及び#2の自己組織的な更新、並びに、パターン記憶SOM#1及び#2のノードどうしの結合関係を更新する。
【０２９６】
すなわち、図２０の学習装置において、学習部２２１は、図８に示した学習装置と同様に構成され、学習装置に供給される教示データのうちの入力データを用いて、入出力関係モデル（図１９）におけるパターン記憶SOM#1を、図８の学習装置における場合と同様に、自己組織的に更新する。また、学習部２２１は、学習部２２１に供給される教示データのうちの出力データ（教示データにおいて、入力データとセットになっている出力データ）を用いて、入出力関係モデル（図１９）におけるパターン記憶SOM#2を、図８の学習装置における場合と同様に、自己組織的に更新する。
【０２９７】
さらに、学習部２２１は、パターン記憶SOM#1を更新するときに勝者ノードとなった、そのパターン記憶SOM#1のノードNiのノードラベル（以下、適宜、入力ラベルという）と、パターン記憶SOM#2を更新するときに勝者ノードとなった、そのパターン記憶SOM#2のノードN'jのノードラベル（以下、適宜、出力ラベルという）とをセットにしたラベルセットを、結合重み更新部２２２に供給する。
【０２９８】
結合重み更新部２２２は、学習部２２１から供給されるラベルセットに基づき、入出力関係モデル（図１９）におけるパターン記憶SOM#1のノードNiと、パターン記憶SOM#2のノードN'jとの結合関係を更新する。
【０２９９】
ここで、学習部２２１から結合重み更新部２２２に供給されるラベルセットは、入力ラベルと出力ラベルとのセットであり、入力ラベルは、教示データのうちの入力データを用いてパターン記憶SOM#1を更新するときに勝者ノードとなった、そのパターン記憶SOM#1のノードNiのノードラベルであるから、パターン記憶SOM#1において、入力データに最も適合するノードNiのノードラベルである。
【０３００】
同様に、出力ラベルは、教示データのうちの出力データを用いてパターン記憶SOM#2を更新するときに勝者ノードとなった、そのパターン記憶SOM#2のノードN'jのノードラベルであるから、パターン記憶SOM#2において、出力データに最も適合するノードN'jのノードラベルである。
【０３０１】
結合重み更新部２２２では、パターン記憶SOM#1のノードのうちの、教示データにおける入力データに最も適合するノードである勝者ノードNiと、パターン記憶SOM#2の各ノードとの結合関係が更新されるとともに、パターン記憶SOM#2のノードのうちの、教示データにおける出力データに最も適合するノードである勝者ノードN'jと、パターン記憶SOM#1の各ノードとの結合関係が更新される。
【０３０２】
ここで、入出力関係モデルにおけるパターン記憶SOM#1のノードと、パターン記憶SOM#2のノードとの間の結合関係は、その結合の度合いが強いほど、大きな値となる結合重みによって表されるようになっており、ノードどうしの結合関係の更新とは、結合重みの更新を意味する。結合重み更新部２２２によるノードどうしの結合関係の更新の方法についての詳細は、後述する。
【０３０３】
認識生成装置には、入力データが供給される。認識生成装置は、入出力関係モデルにおけるパターン記憶SOM#1において、入力データに最も適合する勝者ノードNiを決定し、その勝者ノードNiとの結合重みが最も強い、パターン記憶SOM#2のノードを、その入力データに対して出力すべき出力データを再構成した再構成出力データ（出力データの推定値）を生成する生成ノードN'jに決定する。さらに、認識生成装置は、生成ノードN'jが有するパターン記憶モデル２１（図６）を用いて、入力データに対して出力すべき出力データを再構成した再構成出力データを生成して出力する。
【０３０４】
すなわち、図２０の認識生成装置において、スコア計算部２３１は、認識生成装置に供給される入力データに対して、入出力関係モデルを構成するパターン記憶SOM#1の各ノードNiが適合する度合いであるスコアを、図１２の認識生成装置のスコア計算部５１における場合と同様にして計算し、勝者ノード決定部２３２に供給する。
【０３０５】
勝者ノード決定部２３２は、図１２の認識生成装置の勝者ノード決定部５２における場合と同様に、スコア計算部２３１から供給されるスコアが最も高いパターン記憶SOM#1のノードNiを勝者ノードに決定し、その勝者ノードを表すノードラベル（入力ラベル）を、生成ノード決定部２３３に供給する。
【０３０６】
生成ノード決定部２３３は、入出力関係モデルを構成するパターン記憶SOM#2のノードの中で、勝者ノード決定部２３２からの入力ラベルが表すノードNiとの結合重みが最も強い（最強の）ノードN'jを生成ノードとして決定し、その生成ノードN'jを表す出力ラベルを、再構成部２３４に供給する。
【０３０７】
再構成部２３４は、入出力関係モデルを構成するパターン記憶SOM#2のノードのうちの、生成ノード決定部２３３からの出力ラベルが表すノードN'jが有するパターン記憶モデル２１（図６）に基づいて、認識生成装置に供給された入力データに対して出力すべき出力データを再構成した再構成出力データを、例えば、図１２の認識生成装置の再構成部５３における場合と同様にして取得（生成）して出力する。
【０３０８】
次に、図２１のフローチャートを参照して、図２０の学習装置で行われる入出力関係モデルの学習処理について説明する。
【０３０９】
ステップＳ２０１において、入力データと出力データとのセットである教示データが、図２０の学習装置に入力されると、その教示データは、学習部２２１に供給され、処理は、ステップＳ２０２に進む。
【０３１０】
ステップＳ２０２では、学習部２２１は、教示データのうちの入力データを用いて、入出力関係モデル（図１９）におけるパターン記憶SOM#1を、自己組織的に更新し、処理は、ステップＳ２０３に進む。ステップＳ２０３では、学習部２２１は、教示データのうちの出力データを用いて、入出力関係モデルにおけるパターン記憶SOM#2を、自己組織的に更新する。
【０３１１】
そして、学習部２２１は、パターン記憶SOM#1を更新するときに勝者ノードとなった、そのパターン記憶SOM#1のノードNiの入力ラベルと、パターン記憶SOM#2を更新するときに勝者ノードとなった、そのパターン記憶SOM#2のノードN'jの出力ラベルとのセットであるラベルセットを、結合重み更新部２２２に供給し、処理は、ステップＳ２０３からステップＳ２０４に進む。
【０３１２】
ステップＳ２０４では、結合重み更新部２２２は、学習部２２１から供給されるラベルセットに基づき、入出力関係モデル（図１９）におけるパターン記憶SOM#1の各ノードと、パターン記憶SOM#2の各ノードとの結合重みを更新して、ステップＳ２０１に戻り、次の教示データが入力されるのを待って、以下、同様の処理が繰り返される。
【０３１３】
なお、ステップＳ２０２とＳ２０３の処理は、並列して行うこともできるし、図２１の場合と逆順で行うこともできる。
【０３１４】
次に、図２２を参照して、結合重み更新部２２２（図２０）が、図２１のステップＳ２０４で行う結合重み（ノードどうしの結合関係）の更新について説明する。
【０３１５】
なお、以下、適宜、入出力関係モデルにおいて、入力データが与えられるパターン記憶SOM、つまり、入力データを用いて学習が行われ、入力データのパターンを獲得するパターン記憶SOM（パターン記憶SOM#1）を、入力SOMともいい、出力データが与えられるパターン記憶SOM、つまり、出力データを用いて学習が行われ、出力データのパターンを獲得するパターン記憶SOM（パターン記憶SOM#2）を、出力SOMともいう。
【０３１６】
さらに、以下、適宜、入力SOMのノードを入力ノードともいい、出力SOMのノードを出力ノードともいう。
【０３１７】
図２２は、図１９に示したように、入力SOM#1の入力ノードと、出力SOM#2の出力ノードとが結合している入出力関係モデルを示している。
【０３１８】
すなわち、図２２左側では、入出力関係モデルは、入力SOM#1と、出力SOM#2とを有し、入力SOM#1の各入力ノードと、出力SOM#2の各出力ノードとが結合している。なお、図２２では、入力SOM#1、および出力SOM#2のいずれも、８つのノードで構成されている。
【０３１９】
図２２左側では、入力SOM#1の各入力ノードは、出力SOM#2のすべての出力ノードと結合しており（したがって、出力SOM#2の各出力ノードも、入力SOM#1のすべての入力ノードと結合している）、入力SOM#1の入力ノードと、出力SOM#2の出力ノードとのすべての組み合わせについて、結合重みwが存在する。
【０３２０】
いま、ノードどうしが結合している２つのパターン記憶SOMについて、そのうちの一方のパターン記憶SOMのノードを各行に対応させるとともに、他方のパターン記憶SOMのノードを各列に対応させ、第i行第j列の要素に、一方のパターン記憶SOMのi番目のノードと、他方のパターン記憶SOMのj番目のノードとの結合重みwを配置した行列を、結合重み行列MTXということとすると、結合重み更新部２２２（図２０）は、この結合重み行列MTXの各要素である結合重みwを更新する。
【０３２１】
図２２右側は、図２２左側の入出力関係モデルについての結合重み行列MTXを示している。
【０３２２】
図２２右側の結合重み行列MTXでは、入力ノードを各行に対応させるとともに、出力ノードを各列に対応させ、第i行第j列の要素に、i番目の入力ノードと、j番目の出力ノードとの結合重みwが配置されている。結合重み更新部２２２（図２０）は、この結合重み行列MTXの各要素である結合重みwを更新する。
【０３２３】
すなわち、結合重み更新部２２２は、例えば、最初に電源がオンにされたとき等に、結合重み行列MTXにおけるすべての結合重みwを、初期値としての、例えば0等に初期化する。そして、結合重み更新部２２２は、図２０の学習装置に対して、教示データ、つまり、入力データと出力データとのセットが入力され、これにより、入力SOM#1における勝者ノードを表す入力ラベルと、出力SOM#2における勝者ノードを表す出力ラベルとのラベルセットが、学習部２２１から与えられるたびに、それらの勝者ノードどうしの結合を、いわば中心として、結合重みを更新する。
【０３２４】
具体的には、結合重み更新部２２２は、例えば、式（２）にしたがって、結合重み行列MTXの結合重みwを更新する。
【０３２５】
w=(1-β)w+β△w
・・・（２）
【０３２６】
ここで、βは、結合重みwを更新する程度の表す学習率であり、0から1の範囲で与えられる。学習率βを小さくするほど、結合重みwは、あまり変化しなくなり、学習率βが0である場合には、結合重みwは変化しない。一方、学習率βを大きくするほど、結合重みwも、大きく変化し、学習率βが1である場合には、結合重みwは、更新の基準値△wに更新される。
【０３２７】
また、基準値△wは、例えば、式（３）で与えられる。
【０３２８】
△w=1/(1+d)
・・・（３）
【０３２９】
ここで、dは、式（１）における場合と同様に、勝者ノードとのパターン間距離を表し、勝者ノードとなっているノードについては、d=0である。したがって、勝者ノード（となっているノード）については、基準値△wは1となり、勝者ノードからのパターン間距離dが大のノードほど、基準値△wは0に近づく。
【０３３０】
いま、学習部２２１（図２０）から結合重み更新部２２２に供給される入力ラベルが表す入力ノード、すなわち、入力SOM#1における勝者ノードを、入力ノードNiと表すとともに、学習部２２１（図２０）から結合重み更新部２２２に供給される出力ラベルが表す出力ノード、すなわち、出力SOM#2における勝者ノードを、出力ノードN'jと表すと、結合重み更新部２２２（図２０）は、式（２）（および式（３））にしたがい、以下のように、結合重み行列MTXの結合重みwを更新する。
【０３３１】
すなわち、結合重み更新部２２２は、出力SOM#2の各出力ノードについて、出力SOM#2における勝者ノードである出力ノードN'jとのパターン間距離dを用い、式（３）にしたがって、基準値△wを求め、さらに、その基準値△wを用い、式（２）にしたがって、入力SOM#1の勝者ノードであるi番目の入力ノードNiとの結合重みwを更新する。
【０３３２】
これにより、入力SOM#1の勝者ノードである入力ノードNiに対応する、結合重み行列MTXの第i行の（各列の）結合重みwが更新される。
【０３３３】
また、結合重み更新部２２２は、入力SOM#1の各入力ノードについて、入力SOM#1における勝者ノードである入力ノードNiとのパターン間距離dを用い、式（３）にしたがって、基準値△wを求め、さらに、その基準値△wを用い、式（２）にしたがって、出力SOM#2の勝者ノードであるj番目の出力ノードN'jとの結合重みwを更新する。
【０３３４】
これにより、出力SOM#2の勝者ノードである出力ノードN'jに対応する、結合重み行列MTXの第j列の（各行の）結合重みwが更新される。
【０３３５】
したがって、入力SOM#1の勝者ノードNiと、出力SOM#2の勝者ノードN'jとの結合重みが、結合の度合いを最も強めるように更新される。
【０３３６】
なお、入力SOM#1の勝者ノードである入力ノードNiと、出力SOM#2の勝者ノードである出力ノードN'jとの結合重みwの更新は、出力SOM#2の各出力ノードについての、勝者ノードである入力ノードNiとの結合重みwの更新時か、または、入力SOM#1の各入力ノードについての、勝者ノードである出力ノードN'jとの結合重みwの更新時のいずれか一方においてのみ行われる。
【０３３７】
以上のような結合重みw（結合重み行列MTX）の更新は、教示データとしての入力データと出力データとのセットが、図２０の学習装置に対して入力されるたびに行われる。
【０３３８】
さらに、入出力関係モデルが有する入力SOM#1の入力データを用いた学習、および出力SOM#2の出力データを用いた学習も、教示データとしての入力データと出力データとのセットが、図２０の学習装置に対して入力されるたびに行われる。
【０３３９】
なお、入力SOM#1、および出力SOM#2の学習が進むと、入力ノードが有するパターン記憶モデル２１が、ある特定のパターンを表現（獲得）し、また、出力ノードが有するパターン記憶モデル２１も、他の特定のパターンを表現するようになる。
【０３４０】
その結果、ある特定のパターンの入力データと、他の特定のパターンの出力データとの間に、何らかの関係性がある場合、そのような入力データと出力データとのセット（教示データ）が与えられると、入力SOM#1においてある特定のパターンを表現するパターン記憶モデル２１を有する入力ノードが勝者ノードとなるとともに、出力SOM#2において他の特定のパターンを表現するパターン記憶モデル２１を有する出力ノードが勝者ノードとなる。
【０３４１】
さらに、上述したように、入力SOM#1の勝者ノードを、いわば中心として、入力SOM#1の各入力ノードと、出力SOM#2の勝者ノードとの結合重みが更新されるとともに、出力SOM#2の勝者ノードを中心として、出力SOM#2の各出力ノードと、入力SOM#1の勝者ノードとの結合重みが更新される。
【０３４２】
すなわち、入力SOM#1の各入力ノードと、出力SOM#2の勝者ノードとの結合重みは、入力SOM#1の勝者ノードとのパターン間距離dが近い入力ノードほど強くなる（強化する）ように更新される。また、出力SOM#2の各出力ノードと、入力SOM#1の勝者ノードとの結合重みは、出力SOM#2の勝者ノードとのパターン間距離dが近い出力ノードほど強くなるように更新される。
【０３４３】
逆に言えば、入力SOM#1の各入力ノードと、出力SOM#2の勝者ノードとの結合重みは、入力SOM#1の勝者ノードとのパターン間距離dが遠い入力ノードほど弱くなる（弱化する）ように更新される。また、出力SOM#2の各出力ノードと、入力SOM#1の勝者ノードとの結合重みも、出力SOM#2の勝者ノードとのパターン間距離dが遠い出力ノードほど弱くなるように更新される。
【０３４４】
多数の教示データが与えられ、入力SOM#1、および出力SOM#2の学習が進み、さらに、結合重みの更新が進むと、その結合重みによって、入力データ（のパターン）と出力データ（のパターン）とを関係付ける入出力関係モデルを獲得することができる。
【０３４５】
そして、入力データと出力データとを関係付ける入出力関係モデルによれば、ある入力データが与えられた場合に、入力SOM#1において、その入力データに最も適合する勝者ノードを決定することができ、その勝者ノードとの結合重みが最強の出力SOM#2の出力ノードを決定することができる。さらに、その出力ノード（が有するパターン記憶モデル２１）を用いて、入力データに対して出力すべき出力データを再構成した再構成出力データを得ることができる。
【０３４６】
次に、図２３のフローチャートを参照して、図２９の認識生成装置において、入力データを認識し、その認識結果に基づき、その入力データに対して出力すべき出力データを再構成した再構成出力データを生成する認識生成処理について説明する。
【０３４７】
認識生成処理では、ステップＳ２１１において、入力データが、図２０の認識生成装置に入力されると、処理は、ステップＳ２１２，Ｓ２１３に順次進み、認識生成装置は、入力データを認識する。
【０３４８】
すなわち、入力データは、スコア計算部２３１に供給され、スコア計算部２３１は、ステップＳ２１２において、入力データに対して、入出力関係モデルを構成するパターン記憶SOM#1の各ノードNiのスコアを計算し、勝者ノード決定部２３２に供給して、処理は、ステップＳ２１３に進む。
【０３４９】
ステップＳ２１３では、勝者ノード決定部２３２は、入出力関係モデルを構成するパターン記憶SOM#1のノードの中で、スコア計算部２３１からのスコアが最も高いノードを、勝者ノードNiに決定し、その勝者ノードNiを表す入力ラベルを、入力データの認識結果として、生成ノード決定部２３３に供給して、処理は、ステップＳ２１４に進む。
【０３５０】
ステップＳ２１４では、生成ノード決定部２３３が、入出力関係モデルを構成するパターン記憶SOM#2のノードの中で、勝者ノード決定部２３２からの認識結果としての入力ラベルが表すノードNiとの結合重みが最も強いノードN'jを生成ノードに決定し、その生成ノードN'jを表す出力ラベルを、再構成部２３４に供給して、処理は、ステップＳ２１５に進む。
【０３５１】
ステップＳ２１５では、再構成部２３４が、入出力関係モデルを構成するパターン記憶SOM#2のノードのうちの、生成ノード決定部２３３からの出力ラベルが表すノードN'j、つまり、生成ノードを用い、認識生成装置に供給された入力データに対して出力すべき出力データの推定値としての、その出力データを再構成した再構成出力データを、図１２の再構成部５３と同様にして取得（生成）して出力して、処理は終了する。
【０３５２】
次に、図２４は、本体モデル及び誤差モデルとして、入出力関係モデルが採用されている場合の、図１８の本体モデル記憶部２０２と誤差モデル記憶部２０４の記憶内容を、模式的に示している。
【０３５３】
図２４において、本体モデル記憶部２０２には、本体モデルとしての入出力関係モデルが記憶されており、誤差モデル記憶部２０４には、誤差モデルとしての入出力関係モデルが記憶されている。
【０３５４】
ここで、以下、適宜、本体モデルとしての入出力関係モデルを、本体入出力関係モデルともいい、誤差モデルとしての入出力関係モデルを、誤差入出力関係モデルともいう。
【０３５５】
本体入出力関係モデル、及び誤差入出力関係モデルは、２つのパターン記憶SOMを有し、その２つのSOMのノードどうしが結合された入出力関係モデルである。
【０３５６】
すなわち、本体入出力関係モデルは、入力データSの学習用のパターン記憶SOMと、出力データAの学習用のパターンSOMとを有する。そして、入力データSの学習用のパターン記憶SOMと、出力データAの学習用のパターン記憶SOMを、それぞれ、入力本体SOMと出力本体SOMということとすると、本体入出力関係モデルでは、入力本体SOMと出力本体SOMとのノードどうしが結合されており、入力本体SOMと出力本体SOMとのノードどうしの結合の強さは、結合重みによって表される。
【０３５７】
ここで、以下、適宜、本体入出力関係モデルの結合重みを、本体結合重みともいう。
【０３５８】
誤差入出力関係モデルは、入力誤差データ△Sの学習用のパターン記憶SOMと、出力誤差データ△Aの学習用のパターン記憶SOMとを有する。そして、入力誤差データ△Sの学習用のパターン記憶SOMと、出力誤差データ△Aの学習用のパターンSOMを、それぞれ、入力誤差SOMと出力誤差SOMということとすると、誤差入出力関係モデルでは、入力誤差SOMと出力誤差SOMとのノードどうしは結合されており、入力誤差SOMと出力誤差SOMとのノードどうしの結合の強さは、結合重みによって表される。
【０３５９】
ここで、以下、適宜、誤差入出力関係モデルの結合重みを、誤差結合重みともいう。
【０３６０】
図２５は、図２４の本体入出力関係モデル及び誤差入出力関係モデルに対して入出力することができるデータを説明する図である。
【０３６１】
本体入出力関係モデルの入力本体SOMに対しては、学習の対象となる入力データS（教示データを構成する入力データS）、及び認識の対象となる入力データSが入力（供給）される。また、入力本体SOMからは、そこに入力される入力データSに対して、その入力データSを再構成した再構成入力データSRを出力することができる。
【０３６２】
本体入出力関係モデルの出力本体SOMに対しては、学習の対象となる出力データA（入力本体SOMに入力される入力データSとともに教示データを構成する出力データA）が入力（供給）される。また、出力本体SOMからは、そこに入力される出力データAや、入力本体SOMに入力される入力データSに対して出力すべき出力データAを再構成した再構成出力データARを出力することができる。
【０３６３】
誤差入出力関係モデルの入力誤差SOMに対しては、入力本体SOMに入力される入力データSと、その入力データSに対して入力本体SOMから出力される再構成入力データSRとの誤差である入力誤差データ△Sが入力される。
【０３６４】
誤差入出力関係モデルの出力誤差SOMに対しては、出力本体SOMに入力される出力データAと、その出力データAに対して出力本体SOMから出力される再構成出力データARとの誤差である出力誤差データ△Aが入力される。また、出力誤差SOMからは、そこに入力される出力誤差データ△Aや、入力誤差SOMに入力される入力誤差データ△Sに対応する出力誤差データ△Aを再構成した再構成出力誤差データ△ARを出力することができる。
【０３６５】
ここで、入力誤差データ△Sに対応する出力誤差データ△Aとは、上述したように、入力誤差データ△Sが得られる入力データSに対して出力すべき出力データAから得られる出力誤差データ△Aを意味する。
【０３６６】
次に、図２６のフローチャートを参照して、図２４及び図２５に示したように、本体モデル及び誤差モデルとして、入出力関係モデルが採用されている場合の、図１８の本体学習モジュール１０１、誤差学習モジュール１０２、及び制御部１０３による学習処理について説明する。
【０３６７】
学習処理では、学習処理の対象となる入力データS及び出力データAのセットである教示データが、外部から、演算部２０１と誤差算出部２０５に供給される。
【０３６８】
そして、学習処理では、ステップＳ２５１において、演算部２０１が、そこに供給される教示データを構成する入力データSの学習、すなわち、入力データSを用いて、本体モデル記憶部２０２に記憶された本体入出力関係モデルの入力本体SOMを自己組織的に更新する、入力本体SOMの自己組織的な学習を、図１１のステップＳ３ないしＳ７で説明したように行って、処理は、ステップＳ２５２に進む。
【０３６９】
ステップＳ２５２では、演算部２０１が、そこに供給される教示データを構成する出力データA（ステップＳ２５１で学習がされた入力データSに対して出力すべき出力データA）の学習、すなわち、出力データAを用いて、本体モデル記憶部２０２に記憶された本体入出力関係モデルの出力本体SOMを自己組織的に更新する、出力本体SOMの自己組織的な学習を、図１１のステップＳ３ないしＳ７で説明したように行って、処理は、ステップＳ２５３に進む。
【０３７０】
ステップＳ２５３では、演算部２０１が、本体モデル記憶部２０２に記憶された本体入出力関係モデルの入力本体SOMを構成するノードの中から、入力データSに対する勝者ノードを決定し、処理は、ステップＳ２５４に進む。
【０３７１】
ここで、ステップＳ２５３では、入力本体SOMを構成するノードのうちの、入力データSに対するスコアが最も高いノードが、入力データSに対する勝者ノードに決定される。
【０３７２】
なお、入力データSに対する勝者ノードは、ステップＳ２５１の自己組織的な学習で決定されるので、ステップＳ２５３では、その勝者ノードをそのまま採用することができる。但し、ステップＳ２５３では、ステップＳ２５１とは別に、入力本体SOMを構成する各ノードについて、入力データSに対するスコアを求め、そのスコアの最も高いノードを、入力データSに対する勝者ノードに決定することができる。
【０３７３】
ステップＳ２５４では、演算部２０１が、本体モデル記憶部２０２に記憶された本体入出力関係モデルの出力本体SOMを構成するノードの中から、出力データAに対する勝者ノードを決定し、処理は、ステップＳ２５５に進む。
【０３７４】
ここで、ステップＳ２５４では、ステップＳ２５３と同様に、ステップＳ２５２の自己組織的な学習で決定される勝者ノードをそのまま採用することもできるし、ステップＳ２５２とは別に、出力本体SOMを構成する各ノードについて、出力データAに対するスコアを求め、そのスコアの最も高いノードを、出力データAに対する勝者ノードに決定することもできる。
【０３７５】
ステップＳ２５５では、演算部２０１は、結合重み更新部２２２（図２０）と同様に、ステップＳ２５３で得られた入力本体SOMの勝者ノードを中心として、入力本体SOMの各ノードと、ステップＳ２５４で得られた出力本体SOMの勝者ノードとの本体結合重みを更新するとともに、出力本体SOMの勝者ノードを中心として、出力本体SOMの各ノードと、入力本体SOMの勝者ノードとの本体結合重みを更新して、処理は、ステップＳ２５６に進む。
【０３７６】
ステップＳ２５６では、演算部２０１は、ステップＳ２５３で決定された入力本体SOMの勝者ノードを用いて、入力データSを再構成した再構成入力データSRを、図１２の再構成部５３と同様にして生成（取得）し、誤差算出部２０５供給して、処理は、ステップＳ２５７に進む。
【０３７７】
ステップＳ２５７では、誤差算出部２０５が、外部からの入力データSと、その入力データSに対して演算部２０１が出力した再構成入力データSRとを用いて、入力誤差データ△S＝S-SRを算出し、演算部２０３に供給して、処理は、ステップＳ２５８に進む。
【０３７８】
ステップＳ２５８では、演算部２０３は、誤差算出部２０５からの入力誤差データ△Sの学習、すなわち、入力誤差データ△Sを用いて、誤差モデル記憶部２０４に記憶された誤差入出力関係モデルの入力誤差SOMを自己組織的に更新する、入力誤差SOMの自己組織的な学習を、図１１のステップＳ３ないしＳ７で説明したように行って、処理は、ステップＳ２５９に進む。
【０３７９】
ステップＳ２５９では、演算部２０１は、ステップＳ２５４で決定された出力本体SOMの勝者ノードを用いて、出力データAを再構成した再構成出力データARを、図１２の再構成部５３と同様にして生成（取得）し、誤差算出部２０５及び加算部２０６に供給して、処理は、ステップＳ２６０に進む。
【０３８０】
ステップＳ２６０では、誤差算出部２０５が、外部からの出力データAと、その出力データAに対して演算部２０１が出力した再構成出力データARとを用いて、出力誤差データ△A、すなわち、ステップＳ２５７で算出した入力誤差データ△Sに対応する出力誤差データ△A＝A-ARを算出し、演算部２０３に供給して、処理は、ステップＳ２６１に進む。
【０３８１】
ステップＳ２６１では、演算部２０３は、誤差算出部２０５からの出力誤差データ△Aの学習、すなわち、出力誤差データ△Aを用いて、誤差モデル記憶部２０４に記憶された誤差入出力関係モデルの出力誤差SOMを自己組織的に更新する、出力誤差SOMの自己組織的な学習を、図１１のステップＳ３ないしＳ７で説明したように行って、処理は、ステップＳ２６２に進む。
【０３８２】
ステップＳ２６２では、演算部２０３が、誤差モデル記憶部２０４に記憶された誤差入出力関係モデルの入力誤差SOMを構成するノードの中から、入力誤差データ△Sに対する勝者ノードを決定し、処理は、ステップＳ２６３に進む。
【０３８３】
ここで、ステップＳ２６２では、ステップＳ２５３と同様に、ステップＳ２５８の自己組織的な学習で決定される勝者ノードをそのまま採用することもできるし、ステップＳ２５８とは別に、入力誤差SOMを構成する各ノードについて、入力誤差出力データ△Sに対するスコアを求め、そのスコアの最も高いノードを、入力誤差出力データ△Sに対する勝者ノードに決定することもできる。
【０３８４】
ステップＳ２６３では、演算部２０３が、誤差モデル記憶部２０４に記憶された誤差入出力関係モデルの出力誤差SOMを構成するノードの中から、出力誤差データ△Aに対する勝者ノードを決定し、処理は、ステップＳ２６４に進む。
【０３８５】
ここで、ステップＳ２６３では、ステップＳ２５３と同様に、ステップＳ２６１の自己組織的な学習で決定される勝者ノードをそのまま採用することもできるし、ステップＳ２６１とは別に、出力誤差SOMを構成する各ノードについて、出力誤差データ△Aに対するスコアを求め、そのスコアの最も高いノードを、出力誤差データ△Aに対する勝者ノードに決定することもできる。
【０３８６】
ステップＳ２６４では、演算部２０３は、結合重み更新部２２２（図２０）と同様に、ステップＳ２６２で得られた入力誤差SOMの勝者ノードを中心として、入力誤差SOMの各ノードと、ステップＳ２６３で得られた出力誤差SOMの勝者ノードとの誤差結合重みを更新するとともに、出力誤差SOMの勝者ノードを中心として、出力誤差SOMの各ノードと、入力誤差SOMの勝者ノードとの誤差結合重みを更新して、処理は終了する。
【０３８７】
以上のように、図２６の学習処理では、本体入出力関係モデルにおいて、本来学習すべき入力データS及び出力データAの学習が行われるとともに、本体入出力関係モデルの入力本体SOMと出力本体SOMとのノードどうしを結合する本体結合重みの更新が行われる。さらに、図２６の学習処理では、誤差入出力関係モデルにおいて、教示データを構成する入力データSと、その入力データSを本体入出力関係モデルが再構成することにより得られる再構成入力データSRとの誤差である入力誤差データ△S、及び、教示データを構成する出力データAと、その出力データSを本体入出力関係モデルが再構成することにより得られる再構成出力データARとの誤差である出力誤差データ△A（入力誤差データ△Sに対応する出力誤差データ△A）の学習が行われるとともに、誤差入出力関係モデルの入力誤差SOMと出力誤差SOMとのノードどうしを結合する誤差結合重みの更新が行われる。
【０３８８】
すなわち、図２６の学習処理では、入力データS及び出力データAの学習、並びに、それらの入力データSと出力データAとを関係付ける本体結合重みの更新の他に、その入力データSを再構成した再構成入力データSRの誤差である入力誤差データ△Sと、その入力データに対して出力すべき出力データAを再構成した再構成出力データARの誤差である出力誤差データ△Aとの学習、並びに、それらの入力誤差データ△Sと出力誤差データ△Aとを対応付ける誤差結合重みの更新が行われる。
【０３８９】
入力誤差データ△Sと出力誤差データ△Aとは、認識生成処理で等価的に行われる量子化及び逆量子化によって生じる量子化誤差に相当し、学習処理において、この量子化誤差を、誤差入出力関係モデルで学習しておくことにより、認識生成処理では、この量子化誤差を適切に考慮した処理を行うことができ、その結果、認識生成処理で生じる量子化誤差を効率的に低減することができる。
【０３９０】
なお、図２６の学習処理は、例えば、学習処理の対象となる入力データS及び出力データAのセットである教示データが入力されるたびに行われる。
【０３９１】
また、図２６の学習処理を、ある程度の数の教示データをあらかじめ用意して行う場合において、入力データS及び出力データAの学習、並びに、本体結合重みの更新（以下、適宜、本体学習という）と、入力誤差データ△S及び出力誤差データ△Aの学習、並びに、誤差結合重みの更新（以下、適宜、誤差学習という）とは、同時に行ってもよし、個別に大なっても良い。
【０３９２】
すなわち、学習処理では、あらかじめ用意された教示データが１つ与えられるたびに、本体学習及び誤差学習の両方を行っても良いし、あらかじめ用意された教示データすべてを用いて、本体学習を行い、その後、あらかじめ用意された教示データすべてを用いて、誤差学習を行っても良い。
【０３９３】
次に、図２７のフローチャートを参照して、図２４及び図２５に示したように、本体モデル及び誤差モデルとして、入出力関係モデルが採用されている場合の、図１８の本体学習モジュール１０１、誤差学習モジュール１０２、及び制御部１０３による認識生成処理について説明する。
【０３９４】
認識生成処理では、認識の対象となる入力データSが、外部から、演算部２０１と誤差算出部２０５に供給される。
【０３９５】
そして、認識生成処理では、ステップＳ２８１において、演算部２０１が、そこに供給される入力データSを、図２６の学習処理の学習結果に基づいて認識する認識処理を行って、処理は、ステップＳ２８２に進む。
【０３９６】
すなわち、演算部２０１は、本体モデル記憶部２０２に記憶された本体入出力関係モデルの入力本体SOMを構成するノードの中から、入力データSに対する勝者ノードを決定し、その勝者ノード（を表すノードラベル）を、入力データSの認識結果とする。
【０３９７】
ステップＳ２８２では、演算部２０１は、入力データSの認識結果に基づき、その入力データSに対して出力すべき出力データAを再構成した再構成出力データARを生成（取得）するのに用いる生成ノードを、出力本体SOMを構成するノードの中から決定し、処理は、ステップＳ２８３に進む。
【０３９８】
すなわち、演算部２０１は、入力データSの認識結果としてのノードラベルが表す入力本体SOMの勝者ノードとの本体結合重みが最も強い出力本体SOMのノードを検出し、そのノードを、入力データSに対して出力すべき出力データAを再構成した再構成出力データARを生成するのに用いる生成ノードに決定する。
【０３９９】
ステップＳ２８３では、演算部２０１は、ステップＳ２８１での入力データSの認識結果に基づき、その入力データSを再構成した再構成入力データSRを生成して、誤差算出部２０５に供給し、処理は、ステップＳ２８４に進む。
【０４００】
すなわち、演算部２０１は、入力データSの認識結果としての、その入力データSに対する勝者ノードを用いて、入力データSを再構成した再構成入力データSRを、図１２の再構成部５３と同様にして生成（取得）し、誤差算出部２０５に供給する。
【０４０１】
ステップＳ２８４では、誤差算出部２０５が、そこに供給される入力データSと、その入力データSに対して演算部２０１がステップＳ２８３で再構成した再構成入力データSRとの入力誤差データ△Sを算出し、演算部２０３に供給して、処理は、ステップＳ２８５に進む。
【０４０２】
ステップＳ２８５では、演算部２０３が、誤差算出部２０５からの入力誤差データ△Sを、図２６の学習処理の学習結果に基づいて認識する認識処理を行って、処理は、ステップＳ２８６に進む。
【０４０３】
すなわち、演算部２０３は、誤差モデル記憶部２０４に記憶された誤差入出力関係モデルの入力誤差SOMを構成するノードの中から、入力誤差データ△Sに対する勝者ノードを決定し、その勝者ノード（を表すノードラベル）を、入力誤差データ△Sの認識結果とする。
【０４０４】
ステップＳ２８６では、演算部２０３は、入力誤差データ△Sの認識結果に基づき、その入力誤差データ△Sに対応する出力誤差データ△Aを再構成した再構成出力誤差データ△ARを生成（取得）するのに用いる生成ノードを、出力誤差SOMを構成するノードの中から決定し、処理は、ステップＳ２８７に進む。
【０４０５】
すなわち、演算部２０３は、入力誤差データ△Sの認識結果としてのノードラベルが表す入力誤差SOMの勝者ノードとの誤差結合重みが最も強い出力誤差SOMのノードを検出し、そのノードを、入力誤差データ△Sに対応する出力誤差データ△Aを再構成した再構成出力誤差データ△ARを生成するのに用いる生成ノードに決定する。
【０４０６】
ステップＳ２８７では、演算部２０１が、ステップＳ２８２で、入力データSに対して出力すべき出力データAを再構成した再構成出力データARを生成するのに用いる生成ノードに決定した出力本体SOMのノードを用い、入力データSに対して出力すべき出力データAを再構成して、その結果得られる再構成出力データARを出力し、処理は、ステップＳ２８８に進む。
【０４０７】
すなわち、演算部２０１は、入力データSに対する入力本体SOMの勝者ノードとの本体結合重みが最も強い出力本体SOMのノードを用い、入力データSに対して出力すべき出力データAを再構成した再構成出力データARを、図１２の再構成部５３（図２０の再構成部２３４）と同様にして取得（生成）して出力する。演算部２０１が出力する再構成出力データARは、誤差算出部２０５及び加算部２０６に供給される。
【０４０８】
ステップＳ２８８では、演算部２０３が、ステップＳ２８６で、入力誤差データ△Sに対応する出力誤差データ△Aを再構成した再構成出力誤差データ△ARを生成するのに用いる生成ノードに決定した出力誤差SOMのノードを用い、入力データSから得られた入力誤差データ△Sに対応する出力誤差データ△Aを再構成して、その結果得られる再構成出力誤差データ△ARを出力し、処理は、ステップＳ２８９に進む。
【０４０９】
すなわち、演算部２０３は、入力データSから得られた入力誤差データ△Sに対する入力誤差SOMの勝者ノードとの誤差結合重みが最も強い出力誤差SOMのノードを用い、入力データSから得られた入力誤差データ△Sに対応する出力誤差データ△Aを再構成した再構成出力誤差データ△ARを、図１２の再構成部５３（図２０の再構成部２３４）と同様にして取得（生成）して出力する。演算部２０３が出力する再構成出力データARは、加算部２０６に供給される。
【０４１０】
ステップＳ２８９では、加算部２０６が、演算部２０１からの再構成出力データARと、演算部２０３からの再構成出力誤差データ△ARとを加算した加算データAR'＝AR+△ARを、再構成出力データARを補正した最終再構成出力データとして求めて出力し、処理は終了する。
【０４１１】
以上のように、学習処理において、本体学習と誤差学習を行い、認識生成処理において、本体入出力関係モデルを用いて入力データSに対して出力すべき出力データAを再構成した再構成出力データARを、誤差入出力関係モデルを用いて入力誤差データ△Sに対応する出力誤差データ△Aを再構成した再構成出力誤差データ△ARと加算することにより補正し、その結果得られる加算データAR+△ARを、入力データSに対して出力すべき出力データAを再構成した最終的な再構成出力データ（最終再構成出力データ）として出力するので、誤差を適切に考慮した処理が行われ、その結果、図１６及び図１７で説明したのと同様に、量子化誤差を低減することができる。
【０４１２】
ところで、以上のような、本来学習すべき入力データ及び出力データの学習（本体学習）を行う本体入出力関係モデルと、入力データ及び出力データを再構成したデータの誤差である入力誤差データ及び出力誤差データの学習（誤差学習）を行う誤差入出力関係モデルとは、入出力関係モデルを利用することができる技術に対し、その入出力関係モデルに代えて利用することができる。
【０４１３】
入出力関係モデルを利用することができる技術としては、例えば、前述した聞きまね学習がある。そこで、以下では、（１つの）入出力関係モデルに代えて、本体入出力関係モデル及び誤差入出力関係モデルを利用した聞きまね学習について説明するが、その前段階の準備として、入出力関係モデルを利用した聞きまね学習について、簡単に説明する。
【０４１４】
２つのSOMである入力SOM及び出力SOMを有する１つの入出力関係モデルを利用した聞きまね学習では、例えば、入出力関係モデルにおける出力SOMのノードのパラメータを変更し、その変更後のパラメータから、出力データとしての音声データを生成するための調音パラメータを生成し、その音声データから抽出された特徴パラメータとしての音響パラメータを、入力データとして、入力SOMで認識することを、その認識結果が、外部からの音声データの入力SOMでの認識結果に一致するまで繰り返すことにより、外部から未知の音声データの入力があったときに、その音声データを真似た音声データを生成するための調音パラメータを、出力データとして出力することが可能となる。
【０４１５】
具体的には、例えば、入出力関係モデルの入力SOMにおいて、音韻「あ」、「い」、「う」の音声データの音響パラメータの学習が行われ、その音響パラメータのパターンが獲得されているとともに、出力SOMでも、音韻「あ」、「い」、「う」の音声データを生成するための調音パラメータの学習が行われ、その調音パラメータのパターンが獲得されている場合において、ユーザから、未知の音韻「え」の音声データが与えられると、聞きまね学習では、出力SOMのあるノードが獲得しているパターンが僅かに変更され、その変更後のパターンの調音パラメータから音声データが生成される。
【０４１６】
さらに、その音声データから音響パラメータが抽出され、その音響パラメータが、ユーザから与えられた未知の音韻「え」の音声データの音響パラメータと近い場合には、入力SOMにおいて、ユーザから与えられた未知の音韻「え」の音声データの音響パラメータの学習が行われるとともに、出力SOMにおいて、変更後のパターンの調音パラメータの学習が行われる。
【０４１７】
ユーザから、未知の音韻「え」の音声データが与えられるたびに、以上の処理が行われることで、入力SOMでは、未知であった音韻「え」の音声データの音響パラメータのパターンが獲得されていくとともに、出力SOMでも、未知でった音韻「え」の音声データを生成するための調音パラメータのパターンが獲得されていく。
【０４１８】
図２８は、入出力関係モデルを利用した聞きまね学習の概要を示している。
【０４１９】
外部からの音声データは、特徴抽出装置３０１に供給される。特徴抽出装置３０１は、外部からの音声データから、音響パラメータを抽出し、その音響パラメータの時系列を、入力データSとして出力する。
【０４２０】
特徴抽出装置３０１が出力する入力データSは、入出力関係モデルの入力SOMとしてのパターン記憶SOM#1に入力される。そして、パターン記憶SOM#1を構成する各ノードについて、入力データSに対するスコアが計算され、最も良いスコアのノードNが、入力データSに対する勝者ノードに決定される。
【０４２１】
すなわち、パターン記憶SOM#1において、入力データSが、その入力データSに対するスコアが最も良いノード（勝者ノード）Nに抽象化（量子化）され、その勝者ノードNという、いわば、入出力関係モデルの内部表現で表される。
【０４２２】
さらに、聞きまね学習では、入出力関係モデルの出力SOMとしてのパターン記憶SOM#2のノードの中から、パターン記憶SOM#1の勝者ノードNとの結合重みが最強のノードN'が検出され、そのノードN'が、入力データSに対して出力すべき出力データAを再構成した再構成出力データARを生成（取得）するのに用いる生成ノードに決定される。
【０４２３】
そして、聞きまね学習では、パターン記憶SOM#2の生成ノードを用いて、入力データSに対して出力すべき出力データAを再構成した再構成出力データARとしての、音声データの生成（音声合成）に用いられる調音パラメータの時系列が生成される。
【０４２４】
再構成出力データARとしての調音パラメータ（の時系列）は、音声合成装置３０２に供給される。音声合成装置３０２は、再構成出力データARとしての調音パラメータを用いて音声合成を行い、その結果得られる音声データである合成音声データを出力する。
【０４２５】
音声合成装置３０２が出力する合成音声データは、特徴抽出装置３０１に供給される。
【０４２６】
特徴抽出装置３０１は、音声合成装置３０２からの合成音声データから、音響パラメータを抽出し、その音響パラメータの時系列を、新たな入力データSとして出力する。
【０４２７】
特徴抽出装置３０１が出力する新たな入力データSは、入出力関係モデルの入力SOMとしてのパターン記憶SOM#1に入力される。そして、パターン記憶SOM#1を構成する各ノードについて、新たな入力データSに対するスコアが計算され、最も良いスコアのノードが、新たな入力データSに対する勝者ノードに決定される。
【０４２８】
合成音声データから得られた新たな入力データSに対するパターン記憶SOM#1の勝者ノードが、外部からの音声データから得られた入力データSに対する勝者ノードNに一致しない場合（認識結果が一致していない場合）、すなわち、合成音声データが、外部からの音声データに似ていない場合、生成ノードN'が有するパターン記憶モデル２１（図６）のパラメータが変更される。
【０４２９】
具体的には、例えば、パターン記憶モデル２１がHMMである場合には、そのHMMのパラメータとしての状態遷移確率や出力確率密度関数が、ある変更分だけ変更される。
【０４３０】
そして、その変更後のパラメータを用いて、入力データSに対して出力すべき出力データAを再構成した再構成出力データARとしての調音パラメータの時系列が再度生成され、音声合成装置３０２に供給される。音声合成装置３０２は、再構成出力データARとしての調音パラメータを用いて音声合成を行い、新たな合成音声データを出力する。
【０４３１】
音声合成装置３０２が出力する新たな合成音声データは、特徴抽出装置３０１に供給され、特徴抽出装置３０１では、音声合成装置３０２からの新たな合成音声データから、音響パラメータが抽出され、さらに新たな入力データSとして出力される。
【０４３２】
特徴抽出装置３０１が出力するさらに新たな入力データSは、入出力関係モデルの入力SOMとしてのパターン記憶SOM#1に入力され、その入力データSに対する勝者ノードが決定される。
【０４３３】
そして、合成音声データから得られた入力データS（さらに新たな入力データS）に対するパターン記憶SOM#1の勝者ノードが、外部からの音声データから得られた入力データSに対する勝者ノードNに一致しない場合には、生成ノードN'が有するパターン記憶モデル２１（図６）のパラメータが再度変更され、以下、同様の処理が繰り返される。
【０４３４】
また、合成音声データから得られた入力データSに対するパターン記憶SOM#1の勝者ノードが、外部からの音声データから得られた入力データSに対する勝者ノードNに一致した場合、すなわち、合成音声データが、外部からの音声データに似ており、したがって、外部からの音声データを真似た合成音声データを出力することができた場合、パターン記憶SOM#1が、外部からの音声データ（又は、外部からの音声データに似ている合成音声データ）から得られた音響パラメータとしての入力データSを用いて自己組織的に更新されるとともに、パターン記憶SOM#2が、外部からの音声データに似ている合成音声データが得られた調音パラメータとしての再構成出力データARを用いて自己組織的に更新される。
【０４３５】
さらに、外部からの音声データから得られた音響パラメータとしての入力データSに対するパターン記憶SOM#1の勝者ノード、及び、外部からの音声データに似ている合成音声データが得られた調音パラメータとしての再構成出力データARに対するパターン記憶SOM#2の勝者ノードを中心として、入出力関係モデルの結合重みが更新される。
【０４３６】
すなわち、外部からの音声データから得られた音響パラメータとしての入力データSに対するパターン記憶SOM#1の勝者ノードを中心として、パターン記憶SOM#1の各ノードと、外部からの音声データに似ている合成音声データが得られた調音パラメータとしての再構成出力データARに対するパターン記憶SOM#2の勝者ノードとの結合重みが更新される。
【０４３７】
さらに、外部からの音声データに似ている合成音声データが得られた調音パラメータとしての再構成出力データARに対するパターン記憶SOM#2の勝者ノードを中心として、パターン記憶SOM#2の各ノードと、外部からの音声データから得られた音響パラメータとしての入力データSに対するパターン記憶SOM#1の勝者ノードとの結合重みが更新される。
【０４３８】
以上のような、（１つの）入出力関係モデルを利用した聞きまね学習では、外部からの音声データに似た合成音声データを得るために、調音パラメータを変更するが、この調音パラメータの変更は、外部からの音声データから得られた音響パラメータに似た音響パラメータが得られる合成音声データが生成される調音パラメータ（以下、適宜、目標調音パラメータという）を探索することに他ならない。
【０４３９】
目標調音パラメータを探索する探索方法としては、例えば、調音パラメータをランダムに変更するランダム探索を行う方法がある。
【０４４０】
しかしながら、音声合成に用いられる調音パラメータは、時系列データであるから、必ずしも一定のフレーム数ではない複数のフレームからなる。さらに、調音パラメータは、一般に多次元であり、多次元の調音パラメータが取り得る値の数は、極めて多いから、そのような取り得る値の数の多い調音パラメータを、フレームごとに、ランダム探索によって変更しても、変更後の調音パラメータが、目標調音パラメータに近づく可能性は低く、目標調音パラメータの探索に、多大な時間を要することがあり得る。
【０４４１】
そこで、勾配法を利用して、過去の探索の結果から、目標調音パラメータに近づく方向に、調音パラメータを変更することにより、目標調音パラメータを探索する探索方法が考えられる。
【０４４２】
勾配法を利用する場合、変更後の調音パラメータから生成される合成音声データの音響パラメータと、外部からの音声データの音響パラメータとの間の誤差を少なくする方向に、調音パラメータを変更する必要がある。
【０４４３】
しかしながら、音声データから抽出される音響パラメータ、つまり、図２８においてパターン記憶SOM#1に入力される入力データSと、音声合成に用いられる調音パラメータ、つまり、図２８においてパターン記憶SOM#2から出力される再構成出力データAR（出力データA）とのモダリティが異なる場合（例えば、音響パラメータがケプストラム係数であり、調音パラメータが線形予測係数である場合など）には、変更後の調音パラメータから生成される合成音声データの音響パラメータと、外部からの音声データの音響パラメータとの間の誤差の変化を、音響パラメータとモダリティが異なる調音パラメータを変更する方向を決める勾配として用いることは困難である。
【０４４４】
ところで、調音パラメータの空間（調音パラメータ空間）において、調音パラメータを、どの方向に変更すると、その変更後の調音パラメータから生成される合成音声データの音響パラメータが、目標とする音響パラメータ、つまり、外部からの音声データの音響パラメータに近づくのかが分かれば、目標調音パラメータを、迅速に探索することができる。
【０４４５】
すなわち、現在の調音パラメータから生成される合成音声データの音響パラメータと、外部からの音声データの音響パラメータとの間の、音響パラメータの空間（音響パラメータ空間）における音響パラメータの勾配から、現在の調音パラメータと、目標調音パラメータとの間の、調音パラメータ空間における調音パラメータの勾配を求めることができれば、目標調音パラメータを、迅速に探索することができる。
【０４４６】
本体入出力関係モデル及び誤差入出力関係モデルを利用した聞きまね学習（以下、適宜、新聞きまね学習ともいう）では、音響パラメータ空間における勾配から、調音パラメータ空間における勾配が、誤差入出力関係モデルを用いて近似的に求められ、これにより、目標調音パラメータが、迅速に探索される。
【０４４７】
図２９は、新聞きまね学習を行う図１の本体学習モジュール１０１、誤差学習モジュール１０２、及び制御部１０３の構成例（第３の構成例）を示している。
【０４４８】
なお、図中、図１８の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０４４９】
本体学習モジュール１０１は、本体モデル記憶部２０２を有する点で、図１８の場合と共通するが、演算部２０１に代えて、演算部３２１が設けられている点で、図１８の場合と異なる。
【０４５０】
誤差学習モジュール１０２は、誤差モデル記憶部２０４を有する点で、図１８の場合と共通するが、演算部２０３に代えて、演算部３２３が設けられている点で、図１８の場合と異なる。
【０４５１】
制御部１０３は、誤差算出部２０５及び加算部２０６を有する点で、図１８の場合と共通するが、さらに、聞きまね制御部３２７が設けられている点で、図１８の場合と異なる。
【０４５２】
演算部３２１には、例えば、外部、又は、聞きまね制御部３２７から、入力データSや出力データAが、図１におけるデータDとして供給される。
【０４５３】
演算部３２１は、図１８の演算部２０１と同様の処理を行う。
【０４５４】
すなわち、演算部３２１は、そこに供給される入力データS及び出力データAを用いて、本体モデル記憶部２０２に記憶されている本体モデルの学習を行う。さらに、演算部３２１は、そこに供給される入力データSに対して、本体モデル記憶部２０２に記憶されている本体モデルを用いて、入力データSを再構成した再構成入力データSRを生成して出力する。また、演算部３２１は、本体モデル記憶部２０２に記憶されている本体モデルを用いて、そこに供給される入力データSに対して出力すべき出力データAを再構成した再構成出力データARを生成して出力する。さらに、演算部３２１は、そこに供給される出力データAに対して、本体モデル記憶部２０２に記憶されている本体モデルを用いて、出力データAを再構成した再構成出力データARを生成して出力する。
【０４５５】
また、演算部３２１は、その他、聞きまね制御部３２７から供給される制御情報に従った処理を行う。
【０４５６】
演算部３２３は、図１８の演算部２０３と同様の処理を行う。
【０４５７】
すなわち、演算部３２１には、誤差算出部２０５から入力誤差データ△S及び出力誤差データ△Aが、図１における誤差データ△Dとして供給される。
【０４５８】
演算部３２３は、誤差算出部２０５からの入力誤差データ△S及び出力誤差データ△Aを用いて、誤差モデル記憶部２０４に記憶されている誤差モデルの学習を行う。また、演算部３２３は、誤差モデル記憶部２０４に記憶されている誤差モデルを用いて、誤差算出部２０５から供給される入力誤差データ△Sに対応する出力誤差データ△Aを再構成した再構成出力誤差データ△ARを生成して出力する。さらに、演算部３２３は、誤差算出部２０５から供給される出力誤差データ△Aに対して、誤差モデル記憶部２０４に記憶されている誤差モデルを用いて、出力誤差データ△Aを再構成した再構成出力誤差データ△ARを生成して出力する。
【０４５９】
また、演算部３２３は、聞きまね制御部３２７から供給される制御情報に従った処理を行う。
【０４６０】
聞きまね制御部３２７は、新聞きまね学習を行うための各種の処理を行う。
【０４６１】
すなわち、聞きまね制御部３２７には、演算部３２１が出力する再構成出力データAR、加算部２０６が出力する加算データAR+△AR、及び目標とする入力データT等が供給される。
【０４６２】
なお、目標とする入力データTは、図２８で説明した聞きまね学習における、外部からの音声データの音響パラメータ（目標とする音響パラメータ）に相当する。
【０４６３】
いま、説明を簡単にするために、ある入力データSと、その入力データSに対して出力すべき出力データAとの間に、ある関数f()を用いた式S=f(A)に従った関係があるとする。ここで、例えば、図２８に示したように、入力データSが音響パラメータであり、出力データAが調音パラメータであれば、関数f()は、調音パラメータAを用いて音声合成を行い、その結果得られる合成音声データから、音響パラメータSを抽出することに相当する。
【０４６４】
関数値S=f(A)を、出力データAに対応する入力データということとすると、新聞きまね学習では、最終的な再構成出力データである加算データAR+△ARに対応する入力データf(AR+△AR)が、目標とする入力データTに近くなるような（理想的には一致するような）、加算データAR+△ARを探索することになる。
【０４６５】
そのため、聞きまね制御部３２７には、加算部２０６が出力する加算データA'R＝AR+△AR、及び目標とする入力データTが供給され、聞きまね制御部３２７は、加算データAR+△ARに対応する入力データf(AR+△AR)が、目標とする入力データTに近いかどうかを判定する。
【０４６６】
また、聞きまね制御部３２７は、加算データAR+△ARに対応する入力データf(AR+△AR)が、目標とする入力データTに近いと判定した場合には、入力データTに近い入力データf(AR+△AR)を、入力データSとするとともに、加算データAR+△ARを、出力データAとする教示データを用いての、本体モデル及び誤差モデルの学習を行うために、入力データTに近い入力データf(AR+△AR)を、入力データSとするとともに、加算データAR+△ARを、出力データAとして、演算部３２１等に供給する。
【０４６７】
さらに、聞きまね制御部３２７は、新聞きまね学習に必要な処理を、演算部３２１及び３２３に行わせるために、演算部３２１及び３２３を制御するための制御情報を、演算部３２１及び３２３に供給する。
【０４６８】
次に、図３０のフローチャートを参照して、図２９の本体学習モジュール１０１、誤差学習モジュール１０２、及び制御部１０３による新聞きまね学習の処理について説明する。
【０４６９】
なお、ここでは、図２４及び図２５に示したように、本体モデル記憶部２０２に記憶されている本体モデルとして、入出力関係モデルである本体入出力関係モデルが採用されているとともに、誤差モデル記憶部２０４に記憶されている誤差モデルとして、入出力関係モデルである誤差入出力関係モデルが採用されていることとする。
【０４７０】
また、本体入出力関係モデル、及び、誤差入出力関係モデルについては、ある程度の数の教示データを用いた図２６の学習処理が行われ、本体入出力関係モデル、及び、誤差入出力関係モデルは、その本体入出力関係モデル、及び、誤差入出力関係モデルが獲得しうるパターンの少なくとも一部を既に獲得していることとする。
【０４７１】
新聞きまね学習では、例えば、外部から、目標とする入力データT（以下、適宜、目標データTともいう）が与えられ、この目標データTは、制御部１０３の聞きまね制御部３２７に供給される。
【０４７２】
聞きまね制御部３２７は、目標データTが供給されると、ステップＳ３０１において、その目標データTを、入力データSとして、演算部３２１及び誤差算出部２０５に供給するとともに、認識生成処理を行うように、演算部３２１及び３２３を制御して、処理は、ステップＳ３０２に進む。
【０４７３】
これにより、演算部３２１及び３２３では、目標データTを、入力データSとして、図２７で説明した認識生成処理が行われる。
【０４７４】
すなわち、図２７で説明したように、演算部３２１は、本体モデル記憶部２０２に記憶された本体入出力関係モデルの入力本体SOMを構成するノードの中から、聞きまね制御部３２７からの入力データSに対する勝者ノードを決定し、その勝者ノード（を表すノードラベル）を、入力データS（ここでは、目標データT）の認識結果とする（ステップＳ２８１）。
【０４７５】
さらに、演算部３２１は、入力データSの認識結果としてのノードラベルが表す入力本体SOMの勝者ノードとの本体結合重みが最も強い出力本体SOMのノードを検出し、そのノードを、入力データSに対して出力すべき出力データAを再構成した再構成出力データARを生成するのに用いる生成ノードに決定する（ステップＳ２８２）。
【０４７６】
また、演算部３２１は、入力データSの認識結果としての、その入力データSに対する勝者ノードを用いて、入力データSを再構成した再構成入力データSRを、図１２の再構成部５３と同様にして生成（取得）し、誤差算出部２０５に供給する（ステップＳ２８３）。
【０４７７】
誤差算出部２０５は、聞きまね制御部３２７からの入力データSと、その入力データSに対して演算部３２１が再構成した再構成入力データSRとの入力誤差データ△Sを算出し、演算部３２３に供給する（ステップＳ２８４）。
【０４７８】
演算部３２３は、誤差モデル記憶部２０４に記憶された誤差入出力関係モデルの入力誤差SOMを構成するノードの中から、誤差算出部２０５からの入力誤差データ△Sに対する勝者ノードを決定し、その勝者ノード（を表すノードラベル）を、入力誤差データ△Sの認識結果とする（ステップＳ２８５）。
【０４７９】
さらに、演算部３２３は、入力誤差データ△Sの認識結果としてのノードラベルが表す入力誤差SOMの勝者ノードとの誤差結合重みが最も強い出力誤差SOMのノードを検出し、そのノードを、入力誤差データ△Sに対応する出力誤差データ△Aを再構成した再構成出力誤差データ△ARを生成するのに用いる生成ノードに決定する（ステップＳ２８６）。
【０４８０】
一方、演算部３２１は、聞きまね制御部３２７からの入力データS（ここでは、目標データT）に対する入力本体SOMの勝者ノードとの本体結合重みが最も強い出力本体SOMのノードを用い、聞きまね制御部３２７からの入力データSに対して出力すべき出力データAを再構成した再構成出力データARを、図１２の再構成部５３（図２０の再構成部２３４）と同様にして取得（生成）し、誤差算出部２０５及び加算部２０６に供給する（ステップＳ２８７）。
【０４８１】
また、演算部３２３は、誤差算出部２０５からの入力誤差データ△Sに対する入力誤差SOMの勝者ノードとの誤差結合重みが最も強い出力誤差SOMのノードを用い、入力誤差データ△Sに対応する出力誤差データ△Aを再構成した再構成出力誤差データ△ARを、図１２の再構成部５３（図２０の再構成部２３４）と同様にして取得（生成）し、加算部２０６に供給する（ステップＳ２８８）。
【０４８２】
そして、加算部２０６は、演算部３２１からの再構成出力データARと、演算部３２３からの再構成出力誤差データ△ARとを加算した加算データA'R＝AR+△ARを、再構成出力データARを補正した最終再構成出力データとして求め（ステップＳ２８９）、聞きまね制御部３２７に供給する。
【０４８３】
なお、聞きまね制御部３２７には、以上のようにして、加算部２０６から加算データA'R＝AR+△ARが供給される他、その加算データA'R＝AR+△ARを得るのに用いられた再構成出力データARが、演算部３２１から供給される。
【０４８４】
聞きまね制御部３２７は、以上のようにして、加算部２０６から加算データAR'(=AR+△AR)が供給されるとともに、演算部３２１から再構成出力データARが供給されると、ステップＳ３０２において、加算部２０６からの加算データAR'を、その加算データAR'に対応する入力データ（以下、適宜、対応データともいう）f(AR')に変換するとともに、演算部３２１からの再構成出力データARも、その再構成出力データARに対応する入力データf(AR)に変換して、処理は、ステップＳ３０３に進む。
【０４８５】
ステップＳ３０３では、聞きまね制御部３２７は、再構成出力データARを補正した加算データAR'に対応する入力データである対応データf(AR')が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ているかどうかを判定する。
【０４８６】
ここで、ある入力データSが、目標データTに似ている（似ていない）ことの尺度としては、例えば、上述のパターン間距離を採用することができる。
【０４８７】
この場合、あるデータDに対する入力本体SOMの勝者ノードをg(D)と表すとともに、あるノードN1とN2との間のパターン間距離を、|N1-N2|と表すこととすると、ステップＳ３０３の判定は、目標データTに対する入力本体SOMの勝者ノードg(T)と、対応データf(AR')に対する入力本体SOMの勝者ノードg(f(AR'))との間のパターン間距離|g(T)-g(f(AR'))|が、目標データTに対する入力本体SOMの勝者ノードg(T)と、再構成出力データARに対応する入力データf(AR)に対する入力本体SOMの勝者ノードg(f(AR))との間のパターン間距離|g(T)-g(f(AR))|より小であるかどうかによって行うことができる。
【０４８８】
ステップＳ３０３において、対応データf(AR')が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ていると判定された場合、すなわち、パターン間距離|g(T)-g(f(AR'))|が、パターン間距離|g(T)-g(f(AR))|より小である場合、処理は、ステップＳ３０４に進み、聞きまね制御部３２７は、対応データf(AR')を、入力データSとして、演算部３２１及び誤差算出部２０５に供給するとともに、加算データAR'を、出力データAとして、演算部３２１及び誤差算出部２０５に供給し、その入力データS及び出力データAのセットを教示データとして学習処理を行うように、演算部３２１及び３２３を制御して、処理は終了する。
【０４８９】
これにより、演算部３２１及び３２３では、対応データf(AR')を、入力データSとするとともに、加算データAR'を、出力データAとして、図２６で説明した学習処理が行われる。
【０４９０】
すなわち、図２６で説明したように、演算部３２１は、聞きまね制御部３２７からの入力データS（ここでは、対応データf(AR')）を用いて、本体モデル記憶部２０２に記憶された本体入出力関係モデルの入力本体SOMを自己組織的に更新する（ステップＳ２５１）。さらに、演算部３２１は、聞きまね制御部３２７からの出力データA（ここでは、加算データAR'）を用いて、本体モデル記憶部２０２に記憶された本体入出力関係モデルの出力本体SOMを自己組織的に更新する（ステップＳ２５２）。
【０４９１】
また、演算部３２１は、本体モデル記憶部２０２に記憶された本体入出力関係モデルの入力本体SOMを構成するノードの中から、聞きまね制御部３２７からの入力データSに対する勝者ノードを決定するとともに（ステップＳ２５３）、本体モデル記憶部２０２に記憶された本体入出力関係モデルの出力本体SOMを構成するノードの中から、聞きまね制御部３２７からの出力データAに対する勝者ノードを決定する（ステップＳ２５４）。
【０４９２】
その後、演算部３２１は、入力データSに対する入力本体SOMの勝者ノードを中心として、入力本体SOMの各ノードと、出力データAに対する出力本体SOMの勝者ノードとの本体結合重みを更新するとともに、出力本体SOMの勝者ノードを中心として、出力本体SOMの各ノードと、入力本体SOMの勝者ノードとの本体結合重みを更新する（ステップＳ２５５）。
【０４９３】
さらに、演算部３２１は、入力データSに対する入力本体SOMの勝者ノードを用いて、その入力データSを再構成した再構成入力データSR（ここでは、対応データf(AR')を再構成した再構成対応データ）を生成し、誤差算出部２０５及び加算部２０６に供給する（ステップＳ２５６）。
【０４９４】
誤差算出部２０５は、聞きまね制御部３２７からの入力データSと、その入力データSに対して演算部３２１から供給された再構成入力データSRとを用いて、入力誤差データ△Sを算出し、演算部３２３に供給する（ステップＳ２５７）。
【０４９５】
演算部３２３は、誤差算出部２０５からの入力誤差データ△Sを用いて、誤差モデル記憶部２０４に記憶された誤差入出力関係モデルの入力誤差SOMを自己組織的に更新する（ステップＳ２５８）。
【０４９６】
また、演算部３２１は、聞きまね制御部３２７からの出力データAに対する出力本体SOMの勝者ノードを用いて、出力データAを再構成した再構成出力データAR（ここでは、加算データAR'を再構成した再構成加算データ）を生成し、誤差算出部２０５及び加算部２０６に供給する（ステップＳ２５９）。
【０４９７】
誤差算出部２０５は、聞きまね制御部３２７からの出力データAと、その出力データAに対して演算部３２１から供給された再構成出力データARとを用いて、出力誤差データ△Aを算出し、演算部３２３に供給する（ステップＳ２６０）。
【０４９８】
演算部３２３は、誤差算出部２０５からの出力誤差データ△Aを用いて、誤差モデル記憶部２０４に記憶された誤差入出力関係モデルの出力誤差SOMを自己組織的に更新する（ステップＳ２６１）。
【０４９９】
また、演算部３２３は、誤差モデル記憶部２０４に記憶された誤差入出力関係モデルの入力誤差SOMを構成するノードの中から、誤差算出部２０５からの入力誤差データ△Sに対する勝者ノードを決定するとともに（ステップＳ２６２）、誤差モデル記憶部２０４に記憶された誤差入出力関係モデルの出力誤差SOMを構成するノードの中から、誤差算出部２０５からの出力誤差データ△Aに対する勝者ノードを決定する（ステップＳ２６３）。
【０５００】
さらに、演算部３２３は、誤差算出部２０５からの入力誤差データ△Sに対する入力誤差SOMの勝者ノードを中心として、入力誤差SOMの各ノードと、誤差算出部２０５からの出力誤差データ△Aに対する出力誤差SOMの勝者ノードとの誤差結合重みを更新するとともに、出力誤差SOMの勝者ノードを中心として、出力誤差SOMの各ノードと、入力誤差SOMの勝者ノードとの誤差結合重みを更新する（ステップＳ２６４）。
【０５０１】
以上のように、再構成出力データARを補正した加算データAR'に対応する入力データである対応データf(AR')が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ている場合には、対応データf(AR')を、入力データSとするとともに、加算データAR'を、出力データAとして、本体モデル記憶部２０２に記憶された本体入出力関係モデルの学習（入力本体SOM及び出力本体SOMの自己組織的な更新、並びに、本体結合重みの更新）と、誤差モデル記憶部２０４に記憶された誤算入出力関係モデルの学習（入力誤差SOM及び出力誤差SOMの自己組織的な更新、並びに、誤差結合重みの更新）とが行われる。
【０５０２】
すなわち、対応データf(AR')が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ている場合には、再構成出力データARを、いわば、再構成出力誤差データ△ARを加算する方向に変更すると、その変更後の再構成出力データである加算データAR'(=AR+△AR)に対応する入力データ（対応データ）f(AR')が、目標データTに近い入力データとなると推定（近似）して、対応データf(AR')を、入力データSとするとともに、加算データAR'を、出力データAとして、本体入出力関係モデルの学習と、誤算入出力関係モデルの学習とを行う、誤差を適切に考慮した処理が行われる。
【０５０３】
その結果、目標データTに対して出力すべき出力データを再構成した再構成出力データ、すなわち、対応する入力データが目標データTに近い（理想的には一致する）再構成出力データ（図２８で説明した目標調音パラメータに相当するデータ）を、迅速に探索することができる。
【０５０４】
一方、ステップＳ３０３において、再構成出力データARを補正した加算データAR'に対応する入力データである対応データf(AR')が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ていないと判定された場合、すなわち、パターン間距離|g(T)-g(f(AR'))|が、パターン間距離|g(T)-g(f(AR))|より小でない場合、処理は、ステップＳ３０５に進み、聞きまね制御部３２７は、演算部３２１を制御することにより、目標データTに対する入力本体SOMの勝者ノードg(T)と、再構成出力データARに対応する入力データf(AR)に対する入力本体SOMの勝者ノードg(f(AR))とを求めさせ、処理は、ステップＳ３０６に進む。
【０５０５】
ステップＳ３０６では、聞きまね制御部３２７は、目標データTに対する入力本体SOMの勝者ノードg(T)と、再構成出力データARに対応する入力データf(AR)に対する入力本体SOMの勝者ノードg(f(AR))とが一致するかどうかを判定する。
【０５０６】
ステップＳ３０６において、目標データTに対する勝者ノードg(T)と、再構成出力データARに対応する入力データf(AR)に対する勝者ノードg(f(AR))とが一致すると判定された場合、すなわち、目標データTを入力データSとして行われた認識生成処理によって得られた再構成出力データARに対応する入力データf(AR)が、目標データTに似ている入力データになっている場合、処理は、ステップＳ３０７に進み、聞きまね制御部３２７は、目標データTを、入力データSとして、演算部３２１及び誤差算出部２０５に供給するとともに、演算部３２１からの再構成出力データARを、出力データAとして、演算部３２１及び誤差算出部２０５に供給し、その入力データS及び出力データAのセットを教示データとして学習処理を行うように、演算部３２１及び３２３を制御して、処理は終了する。
【０５０７】
したがって、再構成出力データARに対応する入力データf(AR)が、目標データTに似ている入力データになっている場合には、目標データTを、入力データSとするとともに、その目標データTを入力データとして行われた認識生成処理によって得られた再構成出力データARを、出力データAとして、本体入出力関係モデルの学習と、誤算入出力関係モデルの学習とが行われる。
【０５０８】
また、ステップＳ３０６において、目標データTに対する勝者ノードg(T)と、再構成出力データARに対応する入力データf(AR)に対する勝者ノードg(f(AR))とが一致しないと判定された場合、すなわち、対応データf(AR')が、目標データTを入力データSとして行われた認識生成処理によって得られた再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ておらず、かつ、その再構成出力データARに対応する入力データf(AR)も、目標データTに似ていない場合、処理は、ステップＳ３０８に進み、目標データTを入力データSとして行われた認識生成処理によって得られた再構成出力データARを、ランダムに変更して、対応する入力データが目標データTに似ている再構成出力データを探索するランダム探索処理が行われ、その後、処理は、終了する。
【０５０９】
次に、図３１のフローチャートを参照して、図３０のステップＳ３０８で行われるランダム探索処理について説明する。
【０５１０】
ランダム探索処理では、まず最初に、ステップＳ３２１において、聞きまね制御部３２７が、対応する入力データが目標データTに似ている再構成出力データを探索する探索回数を表す変数CNを、例えば、1に初期化して、処理は、ステップＳ３２２に進む。
【０５１１】
ステップＳ３２２では、聞きまね制御部３２７は、演算部３２１から供給された再構成出力データAR、すなわち、目標データTを入力データSとして行われた認識生成処理によって得られた再構成出力データARを変更するための変更データ△A'を乱数によって生成し、処理は、ステップＳ３２３に進む。
【０５１２】
ステップＳ３２３では、聞きまね制御部３２７は、演算部３２１から供給された再構成出力データARを、直前のステップＳ３２２で生成された変更データ△A'を加算すること等によって変更し、その変更後の再構成出力データである変更出力データAR''を得て、処理は、ステップＳ３２４に進む。
【０５１３】
ステップＳ３２４では、聞きまね制御部３２７は、直前のステップＳ３２３で得た変更出力データAR''を、対応する入力データf(AR'')に変換するとともに、元の再構成出力データAR、すなわち、演算部３２１から供給された再構成出力データARを、対応する入力データf(AR)に変換して、処理は、ステップＳ３２５に進む。
【０５１４】
ステップＳ３２５では、聞きまね制御部３２７は、変更出力データAR''に対応する入力データf(AR'')が、元の再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ているかどうかを判定する。
【０５１５】
ここで、ステップＳ３２５の判定は、例えば、図３０のステップＳ３０３の判定と同様にして行うことができる。
【０５１６】
ステップＳ３２５において、変更出力データAR''に対応する入力データf(AR'')が、元の再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ていないと判定された場合、処理は、ステップＳ３２６に進み、聞きまね制御部３２７は、探索回数CNがあらかじめ決められた10回等の所定の閾値未満であるかどうかを判定する。
【０５１７】
ステップＳ３２６において、探索回数CNが所定の閾値未満であると判定された場合、処理は、ステップＳ３２７に進み、聞きまね制御部３２７は、探索回数CNを１だけインクリメントして、処理は、ステップＳ３２２に戻り、以下、同様の処理が繰り返される。
【０５１８】
また、ステップＳ３２６において、探索回数CNが所定の閾値未満でないと判定された場合、すなわち、所定の閾値の回数だけ、再構成出力データARをランダムに変更しても、対応する入力データf(AR'')が目標データTに似ている変更出力データAR''を得ることができなかった場合、聞きまね制御部３２７は、いわば探索をうち切り、処理はリターンする。
【０５１９】
一方、ステップＳ３２５において、変更出力データAR''に対応する入力データf(AR'')が、元の再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ていると判定された場合、処理は、ステップＳ３２８に進み、聞きまね制御部３２７は、目標データTに似ていると判定された、変更出力データAR''に対応する入力データf(AR'')を、入力データSとして、演算部３２１及び誤差算出部２０５に供給するとともに、変更出力データAR''を、出力データAとして、演算部３２１及び誤差算出部２０５に供給し、その入力データS及び出力データAのセットを教示データとして学習処理を行うように、演算部３２１及び３２３を制御して、処理はリターンする。
【０５２０】
これにより、演算部３２１及び３２３では、変更出力データAR''に対応する入力データf(AR'')を、入力データSとするとともに、変更出力データAR''を、出力データAとして、図２６で説明した学習処理、すなわち、本体入出力関係モデルの学習と、誤算入出力関係モデルの学習とが行われる。
【０５２１】
なお、上述の新聞きまね学習では、図３１のステップＳ３２２において、変更データ△A'を乱数によって生成することとしたが、変更データ△A'としては、その他、例えば、誤差モデル記憶部２０４に記憶された誤差入出力関係モデルの出力誤差SOMを構成するノードのうちの１つをランダムに選択し、そのノードを用いて生成した再構成出力誤差データを採用することができる。
【０５２２】
出力誤差SOMを構成するノードからランダムに選択した１つのノードを用いて生成された再構成出力誤差データを、変更データ△A'として用いる場合には、変更データ△A'として乱数を採用する場合に比較して、変更データ△A'として採用される値が制限され、その結果、ステップＳ３２３において、対応する入力データf(AR'')が、目標データTから大きく離れていくような変更出力データAR''が生成される可能性を低減することができる。
【０５２３】
また、上述の新聞きまね学習では、図３０のステップＳ３０３において（図３１のステップＳ３２５でも同様）、対応データf(AR')が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ているかどうかを、パターン間距離|g(T)-g(f(AR'))|と|g(T)-g(f(AR))|との大小関係によって判定することとしたが、目標データTに似ているかどうかは、パターン間距離以外の尺度によって判定することが可能である。
【０５２４】
すなわち、例えば、入力データSが固定長のデータである場合、つまり、対応データf(AR')、再構成出力データARに対応する入力データf(AR)、及び、目標データTが、一定数のサンプルからなるデータである場合には、対応するサンプルどうしの差分を自乗した値の、すべてのサンプルについての総和（いわゆる自乗誤差の総和）の大小関係によって、対応データf(AR')が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ているかどうかを判定することができる。
【０５２５】
また、例えば、入力データSが、時系列データ等の可変長のデータである場合、つまり、対応データf(AR')、再構成出力データARに対応する入力データf(AR)、及び、目標データTが、必ずしも一定数でない数のサンプルからなるデータである場合において、本体入出力関係モデルの入力本体SOM及び出力本体SOM、並びに、誤差入出力関係モデルの入力誤差SOM及び出力誤差SOMのノードが有するパターン記憶モデル２１（図６）として、HMMが採用されているときには、HMMから求められる尤度によって、対応データf(AR')が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ているかどうかを判定することができる。
【０５２６】
すなわち、対応データf(AR')を学習データとして、HMMの学習を行い、その、対応データf(AR')を用いて学習が行われたHMM（以下、適宜、対応HMMという）から、目標データTが観測される尤度を求めるとともに、目標データTに対する入力本体SOMの勝者ノードが有するパターン記憶モデル２１としてのHMMから、目標データTが観測される尤度を求め、対応HMMから求められた尤度が、目標データTに対する入力本体SOMの勝者ノードが有するHMMから求められた尤度よりも大である場合には、対応データf(AR')が、目標データTを入力データSとして行われた認識生成処理によって得られた再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ていると判定し、逆に、対応HMMから求められた尤度が、目標データTに対する入力本体SOMの勝者ノードが有するHMMから求められた尤度よりも大でない場合には、対応データf(AR')が、目標データTを入力データSとして行われた認識生成処理によって得られた再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ていないと判定することができる。
【０５２７】
ここで、上述のように、あるデータが目標データTに似ているかどうかを、尤度によって判定する手法を、以下、適宜、尤度判定方式という。
【０５２８】
尤度判定方式によれば、目標データTに似ているかどうかを判定する判定対象のデータを構成するサンプルの数と、目標データTを構成するサンプルの数との違い（サンプル数の違い）や、サンプルどうしの位相のずれを吸収して、目標データTに似ているかどうかを判定すること（サンプル数の違いや位相のずれの影響を受けにくい判定を行うこと）ができる。
【０５２９】
したがって、尤度判定方式は、目標データTに似ているかどうかを判定する判定対象のデータが、音声データ（から抽出された特徴パラメータの系列）のような、時系列データであり、目標データTに似ているかどうかの判定に、位相のずれを影響させたくない場合等に、特に有効である。
【０５３０】
なお、ノードが有するパターン記憶モデル２１（図６）がHMMである場合には、そのHMMを用いて、再構成出力データARや再構成出力誤差データ△AR等としての時系列データを生成すると、その時系列データには、図１２で説明したように、生成なまりが生じることがあり、この生成なまりが生じた再構成出力データARと再構成出力誤差データ△ARとを加算した加算データAR'(=AR+△AR)に対応する対応データf(AR')は、生成なまりのために、ある程度以上、目標データTに近づかない（似ているものとならない）ことがあり得る。
【０５３１】
そこで、再構成出力データARや再構成出力誤差データ△AR等としての時系列データは、ノードが有するHMMを用いて生成するのではなく、上述の図１２で説明したように、ノードが有する学習データ記憶部２２（図６）に記憶された学習データとしての時系列データからランダムに選択することにより取得することができる。
【０５３２】
ノードが有する学習データ記憶部２２に記憶された学習データとしての時系列データからランダムに選択した時系列データは、生成なまりを有しないので、そのような時系列データを、再構成出力データAR、及び再構成出力誤差データ△ARとして採用することにより、再構成出力データARと再構成出力誤差データ△ARとを加算した加算データAR'(=AR+△AR)に対応する対応データf(AR')が、生成なまりのために、ある程度以上、目標データTに近づかなくなること（似ているものとならないこと）を防止することができる。
【０５３３】
また、図３０の新聞きまね学習では、目標データTを入力データSとして行われた認識生成処理によって得られた再構成出力データARと再構成出力誤差データ△ARとを加算した加算データAR'(=AR+△AR)に対応する対応データf(AR')が、その再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ている場合に、対応データf(AR')を、入力データSとするとともに、加算データAR'を、出力データAとして、本体入出力関係モデルの学習と、誤算入出力関係モデルの学習とを行うことによって（ステップＳ３０４）、対応する入力データが目標データTに近い（理想的には一致する）再構成出力データを、迅速に探索することとしたが、その他、例えば、本体入出力関係モデルの出力本体SOMの各ノードについて、そのノードを用いて生成された再構成出力データARから得られた加算データAR'の中で、その加算データAR'に対応する対応データf(AR')が、目標データTに最も近い（似ている）加算データ（以下、適宜、ベスト出力データという）AR_bestを保持しておき、そのベスト出力データAR_bestを用いることで、対応する入力データが目標データTに近い再構成出力データを、より迅速に探索することができる。
【０５３４】
ここで、以下、適宜、ベスト出力データAR_bestを用いる新聞きまね学習を、ベスト方式の新聞きまね学習という。
【０５３５】
図３２のフローチャートを参照して、図２９の本体学習モジュール１０１、誤差学習モジュール１０２、及び制御部１０３によるベスト方式の新聞きまね学習の処理について説明する。
【０５３６】
例えば、外部から、目標データTが与えられると、この目標データTは、制御部１０３の聞きまね制御部３２７に供給される。
【０５３７】
聞きまね制御部３２７は、目標データTが供給されると、ステップＳ３５１において、その目標データTを、入力データSとして、演算部３２１及び誤差算出部２０５に供給するとともに、認識生成処理を行うように、演算部３２１及び３２３を制御して、処理は、ステップＳ３５２に進む。
【０５３８】
これにより、演算部３２１及び３２３では、目標データTを、入力データSとして、図３０のステップＳ３０１と同様に、図２７で説明した認識生成処理が行われる。
【０５３９】
ステップＳ３５１での認識生成処理により、演算部３２１で得られる再構成出力データARは、聞きまね制御部３２７に供給される。さらに、ステップＳ３５１での認識生成処理により、演算部３２３で得られる再構成出力誤差データ△ARは、加算部２０６を経由して、聞きまね制御部３２７に供給される。
【０５４０】
ステップＳ３５２では、聞きまね制御部３２７は、ステップＳ３５１での認識生成処理によって演算部３２１から供給される再構成出力データARを、対応する入力データf(AR)に変換して、処理は、ステップＳ３５３に進む。
【０５４１】
ステップＳ３５３では、聞きまね制御部３２７は、直前のステップＳ３５１の認識生成処理で再構成出力データARを得るのに用いられた出力本体SOMのノードを、注目ノードとして、その注目ノードについて、目標データTに対していままで得られた加算データAR'のうちの、対応データf(AR')が、目標データTに最も近い加算データであるベスト出力データAR_bestを、対応する入力データf(AR_best)に変換して、処理は、ステップＳ３５４に進む。
【０５４２】
ここで、聞きまね制御部３２７は、出力本体SOMの各ノードについて、ベスト出力データAR_bestを、内蔵する図示せぬメモリに保持（記憶）しており、ステップＳ３５３では、内蔵するメモリに記憶されているベスト出力データAR_bestのうちの、注目ノードについてのベスト出力データAR_bestが、対応する入力データf(AR_best)に変換される。
【０５４３】
ステップＳ３５４では、聞きまね制御部３２７は、直前のステップＳ３５３で得られた、ベスト出力データAR_bestに対応する入力データf(AR_best)が、直前のステップＳ３５２で得られた、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ているかどうかを、図３０のステップＳ３０３の場合と同様にして判定する。
【０５４４】
ここで、ベスト方式の新聞きまね学習において、注目ノードとなった出力本体SOMのノードが、初めて注目ノードとなった場合には、聞きまね制御部３２７が内蔵するメモリには、注目ノードについて、ベスト出力データAR_bestが記憶されていない。この場合、ステップＳ３５３及びＳ３５４の処理は、直前のステップＳ３５１での認識生成処理により、演算部３２１で得られた再構成出力データARを、ベスト出力データAR_bestとして用いて行われる。
【０５４５】
したがって、この場合、ベスト出力データAR_bestに対応する入力データf(AR_best)と、再構成出力データARに対応する入力データf(AR)とは一致するので、ステップＳ３５４では、ベスト出力データAR_bestに対応する入力データf(AR_best)が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ていないと判定される。
【０５４６】
ステップＳ３５４において、ベスト出力データAR_bestに対応する入力データf(AR_best)が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ていると判定された場合、処理は、ステップＳ３５５に進み、ベスト出力データAR_bestを基準として得られる加算データAR'を、出力データAとするとともに、その加算データAR'に対応する入力データである対応データf(AR')を、入力データSとして、本体入出力関係モデル、及び誤算入出力関係モデルの学習を行う学習処理（以下、適宜、ベスト出力データAR_bestを基準とした加算データAR'を用いた学習処理という）が行われ、その後、処理は終了する。
【０５４７】
一方、ステップＳ３５４において、ベスト出力データAR_bestに対応する入力データf(AR_best)が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ていないと判定された場合、処理は、ステップＳ３５６に進み、再構成出力データARを基準として得られる加算データAR'を、出力データAとするとともに、その加算データAR'に対応する入力データである対応データf(AR')を、入力データSとして、本体入出力関係モデル、及び誤算入出力関係モデルの学習を行う学習処理（以下、適宜、再構成出力データARを基準とした加算データAR'を用いた学習処理という）が行われ、その後、処理は終了する。
【０５４８】
次に、図３３のフローチャートを参照して、図３２のステップＳ３５５で行われる、ベスト出力データAR_bestを基準とした加算データAR'を用いた学習処理について説明する。
【０５４９】
ベスト出力データAR_bestを基準とした加算データAR'を用いた学習処理は、図３２で説明したように、ベスト出力データAR_bestに対応する入力データf(AR_best)が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ている場合、つまり、注目ノードについて過去に得られているベスト出力データAR_bestに対応する入力データf(AR_best)が、目標データTを入力データSとして行われた認識生成処理によって得られた再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ている場合に行われる。
【０５５０】
ベスト出力データAR_bestを基準とした加算データAR'を用いた学習処理では、ステップＳ３６１において、聞きまね制御部３２７が、再構成出力データARを、ベスト出力データAR_bestに変更し（再構成出力データとしての変数ARに、ベスト出力データとしての変数AR_bestを代入し）、処理は、ステップＳ３６２に進む。
【０５５１】
ステップＳ３６２では、聞きまね制御部３２７が、変更後の再構成出力データARと、図３０のステップＳ３５１での、目標データTを入力データSとして行われた認識生成処理によって得られた再構成出力誤差データ△ARとを加算することにより、変更後の再構成出力データARを補正した加算データAR'(=AR+△AR)を求め、処理は、ステップＳ３６３に進む。
【０５５２】
ステップＳ３６３では、聞きまね制御部３２７が、変更後の再構成出力データARを、対応する入力データf(AR)に変換するとともに、加算データAR'を、対応する入力データである対応データf(AR')に変換し、処理は、ステップＳ３６４に進む。
【０５５３】
ステップＳ３６４では、聞きまね制御部３２７が、変更後の再構成出力データARと、加算データAR'とのうちの、対応する入力データ(f(AR)とf(AR')）が、目標データTに似ている方によって、内蔵するメモリに記憶されている、注目ノードについてのベスト出力データAR_bestを更新し（上書きし）、処理は、ステップＳ３６５に進む。
【０５５４】
すなわち、聞きまね制御部３２７は、変更後の再構成出力データARに対応する入力データf(AR)が、加算データAR'に対応する対応データf(AR')よりも、目標データTに似ている場合には、注目ノードについてのベスト出力データAR_bestを、変更後の再構成出力データARに更新する。ここで、いまの場合、変更後の再構成出力データARは、聞きまね制御部３２７が内蔵するメモリに記憶されている注目ノードについてのベスト出力データAR_bestに等しいので、実質的な更新は行われない（行う必要がない）。
【０５５５】
また、聞きまね制御部３２７は、変更後の再構成出力データARに対応する入力データf(AR)が、加算データAR'に対応する対応データf(AR')よりも、目標データTに似ていない場合には、注目ノードについてのベスト出力データAR_bestを、加算データAR'（変更後の再構成出力データARと、再構成出力誤差データ△ARとの加算値）に更新する。
【０５５６】
ステップＳ３６５では、聞きまね制御部３２７は、直前のステップＳ３６５での更新によって得られた、注目ノードについての、更新後のベスト出力データAR_bestを、対応する入力データf(AR_best)に変換し、処理は、ステップＳ３６６に進む。
【０５５７】
ステップＳ３６６では、聞きまね制御部３２７は、更新後のベスト出力データAR_bestに対応する入力データf(AR_best)を、入力データSとして、演算部３２１及び誤差算出部２０５に供給するとともに、更新後のベスト出力データAR_bestを、出力データAとして、演算部３２１及び誤差算出部２０５に供給し、その入力データS及び出力データAのセットを教示データとして学習処理を行うように、演算部３２１及び３２３を制御して、処理はリターンする。
【０５５８】
これにより、更新後のベスト出力データAR_bestに対応する入力データf(AR_best)を、入力データSとするとともに、更新後のベスト出力データAR_bestを、出力データAとして、本体入出力関係モデル、及び誤差入出力関係モデルの学習が行われる。
【０５５９】
次に、図３４のフローチャートを参照して、図３２のステップＳ３５６で行われる、再構成出力データARを基準とした加算データAR'を用いた学習処理について説明する。
【０５６０】
再構成出力データARを基準とした加算データAR'を用いた学習処理は、図３２で説明したように、ベスト出力データAR_bestに対応する入力データf(AR_best)が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに似ていない場合、つまり、目標データTを入力データSとして行われた認識生成処理によって得られた再構成出力データARに対応する入力データf(AR)が、注目ノードについて過去に得られているベスト出力データAR_bestに対応する入力データf(AR_best)よりも、目標データTに似ている場合に行われる。
【０５６１】
再構成出力データARを基準とした加算データAR'を用いた学習処理では、ステップＳ３７１において、聞きまね制御部３２７が、図３０のステップＳ３５１での、目標データTを入力データSとして行われた認識生成処理によって得られた再構成出力データARと再構成出力誤差データ△ARとを加算することにより、再構成出力データARを補正した加算データAR'(=AR+△AR)を求め、処理は、ステップＳ３７２に進む。
【０５６２】
ステップＳ３７２では、聞きまね制御部３２７が、再構成出力データARを、対応する入力データf(AR)に変換するとともに、加算データAR'を、対応する入力データである対応データf(AR')に変換し、処理は、ステップＳ３７３に進む。
【０５６３】
ステップＳ３７３では、聞きまね制御部３２７が、再構成出力データARと、加算データAR'とのうちの、対応する入力データ(f(AR)とf(AR')）が、目標データTに似ている方によって、内蔵するメモリに記憶されている、注目ノードについてのベスト出力データAR_bestを更新し（上書きし）、処理は、ステップＳ３７４に進む。
【０５６４】
すなわち、聞きまね制御部３２７は、再構成出力データARに対応する入力データf(AR)が、加算データAR'に対応する対応データf(AR')よりも、目標データTに似ている場合には、注目ノードについてのベスト出力データAR_bestを、再構成出力データARに更新する。
【０５６５】
また、聞きまね制御部３２７は、再構成出力データARに対応する入力データf(AR)が、加算データAR'に対応する対応データf(AR')よりも、目標データTに似ていない場合には、注目ノードについてのベスト出力データAR_bestを、加算データAR'（再構成出力データARと、再構成出力誤差データ△ARとの加算値）に更新する。
【０５６６】
ステップＳ３７４では、聞きまね制御部３２７は、直前のステップＳ３７４での更新によって得られた、注目ノードについての、更新後のベスト出力データAR_bestを、対応する入力データf(AR_best)に変換し、処理は、ステップＳ３７５に進む。
【０５６７】
ステップＳ３７５では、聞きまね制御部３２７は、更新後のベスト出力データAR_bestに対応する入力データf(AR_best)を、入力データSとして、演算部３２１及び誤差算出部２０５に供給するとともに、更新後のベスト出力データAR_bestを、出力データAとして、演算部３２１及び誤差算出部２０５に供給し、その入力データS及び出力データAのセットを教示データとして学習処理を行うように、演算部３２１及び３２３を制御して、処理はリターンする。
【０５６８】
これにより、更新後のベスト出力データAR_bestに対応する入力データf(AR_best)を、入力データSとするとともに、更新後のベスト出力データAR_bestを、出力データAとして、本体入出力関係モデル、及び誤差入出力関係モデルの学習が行われる。
【０５６９】
なお、図１８、並びに図２９では、本体モデル記憶部２０２に記憶される本体モデル、及び誤差モデル記憶部２０４に記憶される誤差モデルとして、SOMを利用した入出力関係モデルを採用したが、本体モデル、及び誤差モデルとしては、入出力関係モデル以外の、例えば、NN（ニューラルネットワーク）等を採用することが可能である。
【０５７０】
すなわち、図３５は、NNが採用された本体モデル、及び誤差モデルを模式的に示している。
【０５７１】
図３５において、本体モデル、及び誤差モデルとしてのNNは、入力層、隠れ層（中間層）、及び出力層により構成されている。なお、入力層、隠れ層、及び出力層は、それぞれ任意の数の、ニューロンに相当するユニット（図３５において、丸印で示す）により構成することができる。
【０５７２】
入力層の各ユニットには、データが入力される。隠れ層のユニットは、入力層に入力されたデータを対象として、所定のウエイト（重み）を用いた重み付け加算を行い、その重み付け加算の結果を引数とする非線形関数の演算を行って、その演算結果を、出力層のユニットに出力する。出力層の各ユニットからは、隠れ層のユニットからのデータが出力される。
【０５７３】
図３５では、入力データSが、２次元のベクトル(s1,s2)であり、出力データAも、２次元のベクトル(a1,a2)となっている。さらに、本体モデルとしてのNNには、入力データSと、その入力データに対して出力すべき出力データAとのセットである教示データが与えられる。
【０５７４】
そして、本体モデルとしてのNNに対して、入力データSが与えられたときに、その本体モデルとしてのNNから、その入力データSを再構成した再構成入力データSRと、その入力データSとともに教示データを構成している出力データAを再構成した再構成出力データARとを出力することができるように、教示データを用いて、本体モデルとしてのNNの学習が行われる。
【０５７５】
ここで、学習後の本体モデルとしてのNNにおいて、ある入力データSが与えられたときに出力される、その入力データSを再構成した再構成入力データSRとしての２次元のベクトルを、(s1*,s2*)と表すとともに、入力データSに対して出力すべき出力データAを再構成した再構成出力データARとしての２次元のベクトルを、(a1*,a2*)と表すこととする。
【０５７６】
さらに、入力データS=(s1,s2)と、再構成入力データSR=(s1*,s2*)との誤差である入力誤差データ△Sとしての２次元のベクトルを、(△s1,△s2)=(s1,s2)-(s1*,s2*)と表すとともに、出力データA=(a1,a2)と、再構成出力データAR=(a1*,a2*)との誤差である出力誤差データ△Aとしての２次元のベクトルを、(△a1,△a2)=(a1,a2)-(a1*,a2*)と表すこととする。
【０５７７】
また、出力誤差データ△A=(△a1,△a2)を再構成した再構成出力誤差データ△ARとしての２次元のベクトルを、(△a1*,△a2*)と表すこととする。
【０５７８】
入力データSと出力データAとのセットである教示データを用いて、本体モデルとしてのNNの学習が行われ、その本体モデルとしてのNNが、入力データS=(s1,s2)が与えられたときに、その入力データS=(s1,s2)を再構成した再構成入力データSR=(s1*,s2*)と、その入力データS=(s1,s2)に対して出力すべき出力データA=(a1,a2)を再構成した再構成出力データAR=(a1*,a2*)を出力することができるようになった後、誤差モデルとしてのNNの学習が行われる。
【０５７９】
誤差モデルとしてのNNの学習は、誤差モデルとしてのNNに対して、入力誤差データ△S=(△s1,△s2)が与えられたときに、その誤差モデルとしてのNNから、その入力誤差データ△S=(△s1,△s2)に対応する出力誤差データ△A=(△a1,△a2)を再構成した再構成出力誤差データ△AR=(△a1*,△a2*)を出力することができるように、入力誤差データ△S=(△s1,△s2)と、その入力誤差データ△S=(△s1,△s2)に対応する出力誤差データ△A=(△a1,△a2)とを用いて行われる。
【０５８０】
ここで、入力誤差データ△S=(△s1,△s2)=(s1,s2)-(s1*,s2*)は、教示データを構成する入力データS=(s1,s2)と、その入力データS=(s1,s2)を、学習後の本体モデルとしてのNNに与えて得られる再構成入力データSR=(s1*,s2*)とを用いて求めることができる。
【０５８１】
また、出力誤差データ△A=(△a1,△a2)=(a1,a2)-(a1*,a2*)は、教示データを構成する出力データA=(a1,a2)と、その教示データを構成する入力データS=(s1,s2)を、学習後の本体モデルとしてのNNに与えて得られる再構成出力データAR=(a1*,a2*)とを用いて求めることができる。
【０５８２】
以上のような本体モデル及び誤差モデルとしてのNNの学習後は、その学習後の本体モデル及び誤差モデルとしてのNNを用いて、上述したような、量子化誤差を低減した認識生成や、迅速な探索が可能な新聞きまね学習を行うことが可能となる。
【０５８３】
すなわち、認識生成時には、入力データS=(s1,s2)が、本体モデルとしてのNNに与えられ、本体モデルとしてのNNから、入力データS=(s1,s2)を再構成した再構成入力データSR=(s1*,s2*)と、その入力データS=(s1,s2)に対して出力すべき出力データA=(a1,a2)を再構成した再構成出力データAR=(a1*,a2*)とが出力される。
【０５８４】
さらに、入力データS=(s1,s2)と、その入力データS=(s1,s2)を本体モデルとしてのNNに与えて得られる再構成入力データSR=(s1*,s2*)とを用いて、入力誤差データ△S=(△s1,△s2)=(s1,s2)-(s1*,s2*)が求められ、誤差モデルとしてのNNに与えられる。
【０５８５】
誤差モデルとしてのNNは、入力誤差データ△S=(△s1,△s2)に対して、その入力誤差データ△S=(△s1,△s2)に対応する出力誤差データ△A=(△a1,△a2)を再構成した再構成出力誤差データ△AR=(△a1*,△a2*)を出力する。
【０５８６】
そして、誤差モデルとしてのNNが出力する再構成出力誤差データ△AR=(△a1*,△a2*)と、本体モデルとしてのNNにおいて先に得られている再構成出力データAR=(a1*,a2*)とが加算され、その加算によって得られる加算データAR+△ARが、最終再構成出力データとして出力される。
【０５８７】
一方、新聞きまね学習時には、目標データTが入力データとして、本体モデルとしてのNNに与えられ、本体モデルとしてのNNから、入力データSとしての目標データTを再構成した再構成入力データSRと、その入力データSに対して出力すべき出力データAを再構成した再構成出力データARとが出力される。
【０５８８】
さらに、入力データSとしての目標データTと、その入力データSを本体モデルとしてのNNに与えて得られる再構成入力データSRとを用いて、入力誤差データ△Sが求められ、誤差モデルとしてのNNに与えられる。
【０５８９】
誤差モデルとしてのNNは、入力誤差データ△Sに対して、その入力誤差データ△Sに対応する出力誤差データ△Aを再構成した再構成出力誤差データ△ARを出力する。
【０５９０】
さらに、誤差モデルとしてのNNが出力する再構成出力誤差データ△ARと、本体モデルとしてのNNにおいて先に得られている再構成出力データARとが加算され、加算データAR+△ARが求められる。
【０５９１】
そして、加算データAR+△ARに対応する入力データf(AR+△AR)が、再構成出力データARに対応する入力データf(AR)よりも、目標データTに近い（似ている）場合には、加算データAR+△ARに対応する入力データf(AR+△AR)と、その加算データAR+△ARとのセットを教示データとして、本体モデル、及び誤差モデルとしてのNNの学習が行われる。
【０５９２】
次に、図３６ないし図６３を参照して、本件発明者が行ったシミュレーションについて説明する。
【０５９３】
まず、認識生成について行ったシミュレーションについて説明する。
【０５９４】
図３６は、認識生成を行うにあたって、本体入出力関係モデル、及び誤差入出力関係モデルの学習に用いた教示データを構成する入力データSと出力データAを示している。
【０５９５】
シミュレーションでは、データright，center，left，up，mid，down，rup，lup、及びcircleの９種類を準備し、教示データを構成する入力データS及び出力データAとして用いた。
【０５９６】
９種類のデータright，center，left，up，mid，down，rup，lup、及びcircleは、いずれも、人工的に作成した２次元のベクトル(x,y)の周期的な系列であり、30サンプルが１周期になっている。
【０５９７】
図３６は、以上のような９種類のデータright，center，left，up，mid，down，rup，lup、及びcircleそれぞれの、xy平面上での軌跡を示している。
【０５９８】
ここで、教示データとして用いるのに準備したデータright，center，left，up，mid，down，rup，lup、及びcircleを、以下、適宜、準備データという。
【０５９９】
図３７は、データright，center，left，up，mid，down，rup，lup、及びcircleとしてのベクトル(x,y)のx座標とy座標の変化（時間変化）を示している。
【０６００】
図３７において、実線は、x座標の変化を示しており、点線は、y座標の変化を示している。
【０６０１】
本体入出力関係モデル、及び誤差入出力関係モデルの学習では、準備データである９種類のデータright，center，left，up，mid，down，rup，lup、及びcircleのうちの、同一種類のデータのセットを教示データとして用いた。
【０６０２】
すなわち、例えば、教示データを構成する入力データS（図３７上）として、データrightを採用したとき、その教示データを構成する出力データA（図３７下）としても、データrightを採用した。
【０６０３】
また、シミュレーションでは、準備データのサンプル値を、１サンプルずつずらしながら、１０サンプル分取り出して、１フレームとし、先頭からt番目のフレーム#tを入力データSとするとともに、先頭からt+1番目のフレーム#t+1を出力データAとして、そのような入力データSと出力データAとのセットを教示データとして用いた。
【０６０４】
また、本体入出力関係モデルの入力本体SOM及び出力本体SOM、並びに、誤差入出力関係モデルの入力誤差SOM及び出力誤差SOMとしては、横×縦が20×20個のノードからなり、横に隣接するノードどうし、及び縦に隣接するノードどうしにリンクを与えたパターン記憶SOMを採用した。なお、パターン記憶SOMのノードが有するパターン記憶モデル２１（図６）としては、6状態を有するleft-to-right型のHMMを採用した。
【０６０５】
シミュレーションでは、上述の教示データを用いて、本体入出力関係モデル、及び誤差入出力関係モデルの学習を行い、教示データとして用いた準備データを入力データSとして用いて、認識生成を行った。
【０６０６】
図３８ないし図５５は、認識生成の結果を示している。
【０６０７】
すなわち、図３８ないし図４６は、準備データを入力データSとして用いて、認識生成を行ったときに得られる再構成入力データSRと、その再構成入力データ△SRを、再構成入力誤差データ△SRを加算することにより補正したデータ（以下、適宜、補正入力データSR'(=SR+△SR)という）とを示している。
【０６０８】
なお、再構成入力誤差データ△SRとは、誤差入出力関係モデルの入力誤差SOMに対して、入力誤差データ△S（入力データSと、再構成入力データSRとの誤差）を与え、入力誤差データ△Sを再構成することによって得たデータである。
【０６０９】
ここで、図３８ないし図４６において、細い実線は、入力データSのx座標を表し、細い点線は、入力データSのy座標を表している。さらに、太い実線は、再構成入力データSR、又は補正入力データSR'のx座標を表し、太い点線は、再構成入力データSR、又は補正入力データSR'のy座標を表している。
【０６１０】
また、図３８ないし図４６において、上側は、再構成入力データSRを示しており、下側は、補正入力データSR'を示している。
【０６１１】
さらに、図３８は、入力データSとして、データrightを用いた場合の、図３９は、入力データSとして、データcenterを用いた場合の、図４０は、入力データSとしてデータleftを用いた場合の、図４１は、入力データSとして、データupを用いた場合の、図４２は、入力データSとして、データmidを用いた場合の、図４３は、入力データSとして、データdownを用いた場合の、図４４は、入力データSとして、データrupを用いた場合の、図４５は、入力データSとして、データlupを用いた場合の、図４６は、入力データSとして、データcircleを用いた場合の、再構成入力データSRと、補正入力データSR'とを示している。
【０６１２】
図３８ないし図４６によれば、再構成入力データSRよりも、その再構成入力データSRに、再構成入力誤差データ△SRを加算した補正入力データSR'の方が、入力データSに対する誤差が小さくなっていることが分かる。
【０６１３】
図４７ないし図５５は、準備データを入力データSとして用いて、認識生成を行ったときに得られる再構成出力データARと、その再構成出力データ△ARを、再構成出力誤差データ△ARを加算することにより補正した加算データ（以下、適宜、補正出力データAR'(=AR+△AR)ともいう）とを示している。
【０６１４】
ここで、図４７ないし図５５において、細い実線と細い点線は、入力データSに対して出力すべき出力データA、つまり、入力データSとともに教示データを構成する出力データAのx座標とy座標を、それぞれ表している。さらに、太い実線は、再構成出力データAR、又は補正出力データAR'のx座標を表し、太い点線は、再構成出力データAR、又は補正出力データAR'のy座標を表している。
【０６１５】
また、図４７ないし図５５において、上側は、再構成出力データARを示しており、下側は、補正出力データAR'を示している。
【０６１６】
さらに、図４７は、入力データSとして、データrightを用いた場合の、図４８は、入力データSとして、データcenterを用いた場合の、図４９は、入力データSとしてデータleftを用いた場合の、図５０は、入力データSとして、データupを用いた場合の、図５１は、入力データSとして、データmidを用いた場合の、図５２は、入力データSとして、データdownを用いた場合の、図５３は、入力データSとして、データrupを用いた場合の、図５４は、入力データSとして、データlupを用いた場合の、図５５は、入力データSとして、データcircleを用いた場合の、再構成出力データARと、補正出力データAR'とを示している。
【０６１７】
図４７ないし図５５によれば、再構成出力データARよりも、その再構成出力データARに、再構成出力誤差データ△ARを加算した補正出力データAR'の方が、入力データSに対して出力すべき出力データAに対する誤差が小さくなっていることが分かる。
【０６１８】
次に、新聞きまね学習について行ったシミュレーションについて説明する。
【０６１９】
新聞きまね学習については、入力データS及び出力データAとして、ベクトルを採用した場合と、時系列データを採用した場合とについて、それぞれシミュレーションを行った。
【０６２０】
まず、入力データS及び出力データAとして、ベクトルを採用した場合の新聞きまね学習（以下、適宜、ベクトルを対象とする新聞きまね学習ともいう）のシミュレーションについて説明する。
【０６２１】
ベクトルを対象とする新聞きまね学習では、入力データS及び出力データAとして、２次元のベクトル(x,y)を採用した。
【０６２２】
なお、入力データS及び出力データAとしてのベクトル(x,y)は、式(0,0)≦(x,y)≦(1,1)で表される範囲の実数のベクトルであり、入力データSとしてのベクトル(x,y)を、ベクトル(s1,s2)と表すとともに、出力データAとしてのベクトル(x,y)を、ベクトル(a1,a2)と表すこととすると、入力データS=(s1,s2)と、その入力データS=(s1,s2)に対して出力すべき出力データA=(a1,a2)との間には、式s1=a2、及びs2=a1で表される関係があることとした。
【０６２３】
図５６は、入力データS=(s1,s2)と、その入力データS=(s1,s2)に対して出力すべき出力データA=(a1,a2)との関係を示している。
【０６２４】
入力データS=(s1,s2)（図５６左）と、その入力データS=(s1,s2)に対して出力すべき出力データA=(a1,a2)（図５６右）との間には、上述したように、式s1=a2、及びs2=a1で表される関係があるので、例えば、入力データS=(0,0.5)に対して出力すべき出力データAは、ベクトル(0.5,0)となる。また、入力データS=(0,1)に対して出力すべき出力データAは、ベクトル(1,0)となる。
【０６２５】
シミュレーションでは、新聞きまね学習にあたり、式(0,0)≦(s1,s2)≦(0.5,0.5)で表される範囲のベクトルの入力データSと、その入力データSに対して出力すべき出力データAとのセットを、ランダムに100セットだけ選択し、その100セットを教示データとして用いて、本体入出力関係モデル、及び誤差入出力関係モデルの学習を、あらかじめ行った。
【０６２６】
なお、本体入出力関係モデルの入力本体SOM及び出力本体SOM、並びに、誤差入出力関係モデルの入力誤差SOM及び出力誤差SOMとしては、横×縦が20×20個のノードからなり、横に隣接するノードどうし、及び縦に隣接するノードどうしにリンクを与えた一般的なSOM、つまり、ノードがベクトル（ここでは、２次元のベクトル）を有するSOMを採用した。
【０６２７】
シミュレーションでは、本体入出力関係モデル、及び誤差入出力関係モデルの学習で、教示データとしては用いられていない２次元のベクトル(0.8,0,8)を、未知の目標データTとして与えて、新聞きまね学習を行った。
【０６２８】
図５７は、本体入出力関係モデル、及び誤差入出力関係モデルの学習で、教示データとして用いられた100個の入力データS=(s1,s2)と、目標データT=(0.8,0,8)とを示している。
【０６２９】
シミュレーションでは、未知の目標データT=(0.8,0,8)を入力して、図３０の新聞きまね学習の処理を100回行い、その後、目標データT=(0.8,0,8)を入力データSとして、図２７の認識生成処理を行うことを繰り返した。
【０６３０】
図５８は、目標データT=(0.8,0,8)を入力データSとして認識生成処理を行って得られる加算データAR'(=AR+△AR)に対応する入力データ（対応データ）f(AR')の軌跡を示している。
【０６３１】
図５８において、対応データf(AR')は、新聞きまね学習が行われるにつれて、入力データSの空間（入力データ空間）上の点(0.4,0.4)付近から、未知の目標データTである点(0.8,0.8)の方に移動して行っており、したがって、新聞きまね学習において、加算データAR'に対応する入力データ（対応データ）f(AR')が目標データTに近づく方向の加算データAR'が求められていることが分かる。
【０６３２】
図５９は、図３０の新聞きまね学習を行った場合と、ランダム聞きまね学習を行った場合との、目標データTに対する誤差を示している。
【０６３３】
ここで、ランダム聞きまね学習とは、図３０の新聞きまね学習の処理において、ステップＳ３０３及びステップＳ３０６の判定の結果に関係なく、ステップＳ３０８のランダム探索処理（図３１）を行うようにした聞きまね学習である。したがって、ランダム聞きまね学習では、誤差入出力関係モデルは使われない。
【０６３４】
図５９左は、未知の目標データT=(0.8,0.8)を入力データSとして入力して、新聞きまね学習、又はランダム聞きまね学習を行った回数（入力回数）と、各入力回数において得られる加算データAR'に対応する入力データ（対応データ）f(AR')の、未知の目標データT=(0.8,0.8)に対する自乗誤差との関係を示している。
【０６３５】
図５９左によれば、新聞きまね学習、及びランダム聞きまね学習のいずれにおいても、入力回数が増加するにつれ（新聞きまね学習、及びランダム聞きまね学習が行われるにつれ）、未知の目標データTに対する自乗誤差が減少しているが、新聞きまね学習の方が、ランダム聞きまね学習よりも、自乗誤差が急峻に減少し、その結果、迅速に収束していることが分かる。
【０６３６】
図５９右は、未知の目標データT=(0.8,0.8)を入力データSとして入力して、新聞きまね学習、又はランダム聞きまね学習を行った回数（入力回数）と、各入力回数において、本体入出力関係モデル、及び誤差入出力関係モデルの学習に用いた100個の入力データSを入力し、認識生成を行うことによって得られる加算データAR'に対応する入力データ（対応データ）f(AR')の、入力データSに対する自乗誤差の平均値を示している。
【０６３７】
図５９右によれば、新聞きまね学習、及びランダム聞きまね学習のいずれにおいても、入力回数が増加しても、本体入出力関係モデル、及び誤差入出力関係モデルの学習に用いられた入力データSに対する自乗誤差（の平均値）が、それほど増加せず、したがって、未知の目標データTが繰り返し与えられても、本体入出力関係モデル、及び誤差入出力関係モデルにおいて、100個の教示データから獲得したパターン（の保持）が維持されていることが分かる。
【０６３８】
次に、入力データS及び出力データAとして、時系列データを採用した場合の新聞きまね学習（以下、適宜、時系列データを対象とする新聞きまね学習ともいう）のシミュレーションについて説明する。
【０６３９】
図６０は、時系列データを対象とする新聞きまね学習において教示データを構成する入力データS及び出力データAとして採用した時系列データを示している。
【０６４０】
時系列データを対象とする新聞きまね学習では、入力データS及び出力データAとして、1/4周期を100サンプルにサンプリングした正弦波を採用した。
【０６４１】
本体入出力関係モデル、及び誤差入出力関係モデルの学習では、振幅が0.0ないし0.5の正弦波を、ランダムに1000個だけ生成した。そして、本体入出力関係モデル、及び誤差入出力関係モデルの学習では、その1000個の正弦波から、ランダムに１つの正弦波を選択し、教示データを構成する入力データS及び出力データAとして用いることを、10000回だけ繰り返した。
【０６４２】
なお、教示データを構成する入力データSと出力データAとの間には、恒等写像の関係があることとした。すなわち、教示データを構成する入力データS及び出力データAとしては、同一の正弦波を採用した。
【０６４３】
また、本体入出力関係モデルの入力本体SOM及び出力本体SOM、並びに、誤差入出力関係モデルの入力誤差SOM及び出力誤差SOMとしては、横×縦が20×20個のノードからなり、横に隣接するノードどうし、及び縦に隣接するノードどうしにリンクを与えたパターン記憶SOMを採用した。なお、パターン記憶SOMのノードが有するパターン記憶モデル２１（図６）としては、6状態を有するleft-to-right型のHMMを採用した。
【０６４４】
シミュレーションでは、振幅が0.6の正弦波と、振幅が0.8の正弦波を、目標データTとして用いて、新聞きまね学習を行った。
【０６４５】
なお、新聞きまね学習としては、図３２で説明したベスト方式の新聞きまね学習を採用し、さらに、ベスト方式の新聞きまね学習の処理（図３２）において、ステップＳ３５４での、目標データTに似ているかどうかの判定の手法としては、上述の尤度判定方式を採用した。
【０６４６】
図６１は、目標データTを用いて、（ベスト方式の）新聞きまね学習を行って得られる加算データAR'に対応する入力データ（対応データ）f(AR')を示している。
【０６４７】
図６１では、目標データTの入力回数（したがって、新聞きまね学習の回数）が、１回目、５回目、１０回目、２０回目、及び１００回目のときにそれぞれ得られた対応データf(AR')が示されている。
【０６４８】
なお、図６１左は、目標データTとして、振幅が0.6の正弦波を用いた場合の対応データf(AR')を示しており、図６１右は、目標データTとして、振幅が0.8の正弦波を用いた場合の対応データf(AR')を示している。
【０６４９】
図６１によれば、目標データTの入力回数が大になるにつれ、つまり、新聞きまね学習が行われるにつれ、対応データf(AR')が、目標データTに近づいていっている（似てきている）ことが分かる。
【０６５０】
図６２は、目標データTに対する勝者ノードが有するHMMから、振幅が0.6のデータT（実線）、及び振幅が0.8の目標データ（点線）が観測されるマイナス尤度と、目標データTに対して得られる対応データf(AR')の自乗誤差とを示している。
【０６５１】
すなわち、図６２上は、目標データTを入力データSとして入力して、新聞きまね学習を行った回数（入力回数）と、各入力回数において、本体入出力関係モデルの入力本体SOMのノードの中で、目標データTに対する勝者ノードとなるノードが有するHMMから、目標データTが観測されるマイナス尤度との関係を示している。
【０６５２】
ここで、マイナス尤度とは、尤度のマイナスをとった値の対数であり、値が小さいほど、HMMから目標データTが観測される可能性が高いこと、すなわち、いわば、HMMが獲得しているパターン（時系列パターン）が、目標データTのパターンに似ていることを表す。
【０６５３】
図６２上によれば、目標データTの入力回数が大になるにつれ、つまり、新聞きまね学習が行われるにつれ、マイナス尤度が小さくなっていること、つまり、目標データTに対する勝者ノードが有するHMMが獲得しているパターンが、目標データTのパターンに似てきていることが分かる。
【０６５４】
図６２下は、目標データTを入力データSとして入力して、新聞きまね学習を行った回数（入力回数）と、各入力回数において、目標データTに対して得られる対応データf(AR')の、目標データTに対する１フレーム（としての所定のサンプル数）あたりの自乗誤差の総和の平均値を示している。
【０６５５】
図６２下によれば、自乗誤差も、図６２上のマイナス尤度と同様に、目標データTの入力回数が大になるにつれ、小さくなっていく傾向があることが分かる。
【０６５６】
図６３は、目標データTを入力データSとして入力して、新聞きまね学習、又はランダム聞きまね学習を行った回数（入力回数）と、各入力回数において、目標データTに対して得られる対応データf(AR')の、目標データTに対する１フレーム（としての所定のサンプル数）あたりの自乗誤差の総和の平均値を示している。
【０６５７】
すなわち、図６３において、実線は、新聞きまね学習で得られる対応データf(AR')の自乗誤差（の総和の平均値）を示しており、点線は、ランダム聞きまね学習で得られる対応データf(AR')の自乗誤差（の総和の平均値）を示している。
【０６５８】
図６３によれば、ランダム聞きまね学習についての自乗誤差が、ほとんど変化していないのに対して、新聞きまね学習についての自乗誤差は、急峻に減少しており、したがって、新聞きまね学習では、目標データに似ている対応データf(AR')が得られる加算データAR'が迅速に探索されていることが分かる。
【０６５９】
以上のように、本体モデルで学習されるデータと、本体モデルを用いてデータを再構成した再構成データとの誤差を、誤差モデルで学習するようにしたので、誤差を適切に考慮した処理を行うことができる。
【０６６０】
すなわち、上述したように、量子化誤差を低減した、精度の良いデータを再構成すること、ランダム探索よりも迅速に（効率的に）、目標データに似たデータを探索すること、及びメモリを効率的に使用することができる。
【０６６１】
さらに、本体モデル、及び誤差モデルとして、SOM（SOMを利用した入出力関係モデル）を採用する場合には、多次元の入力や,スケールを問わず同じシステムで扱うこと（データを、その粒度やダイナミックレンジ関係なく扱うこと）が可能となる。
【０６６２】
次に、上述した一連の処理は、ハードウェアにより行うこともできるし、ソフトウェアにより行うこともできる。一連の処理をソフトウェアによって行う場合には、そのソフトウェアを構成するプログラムが、汎用のコンピュータ等にインストールされる。
【０６６３】
そこで、図６４は、上述した一連の処理を実行するプログラムがインストールされるコンピュータの一実施の形態の構成例を示している。
【０６６４】
プログラムは、コンピュータに内蔵されている記録媒体としてのハードディスク９０５やROM９０３に予め記録しておくことができる。
【０６６５】
あるいはまた、プログラムは、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)，MO(Magneto Optical)ディスク，DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体９１１に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体９１１は、いわゆるパッケージソフトウエアとして提供することができる。
【０６６６】
なお、プログラムは、上述したようなリムーバブル記録媒体９１１からコンピュータにインストールする他、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、コンピュータに無線で転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを、通信部９０８で受信し、内蔵するハードディスク９０５にインストールすることができる。
【０６６７】
コンピュータは、CPU(Central Processing Unit)９０２を内蔵している。CPU９０２には、バス９０１を介して、入出力インタフェース９１０が接続されており、CPU９０２は、入出力インタフェース９１０を介して、ユーザによって、キーボードや、マウス、マイク等で構成される入力部９０７が操作等されることにより指令が入力されると、それに従って、ROM(Read Only Memory)９０３に格納されているプログラムを実行する。あるいは、また、CPU９０２は、ハードディスク９０５に格納されているプログラム、衛星若しくはネットワークから転送され、通信部９０８で受信されてハードディスク９０５にインストールされたプログラム、またはドライブ９０９に装着されたリムーバブル記録媒体９１１から読み出されてハードディスク９０５にインストールされたプログラムを、RAM(Random Access Memory)９０４にロードして実行する。これにより、CPU９０２は、上述したフローチャートにしたがった処理、あるいは上述したブロック図の構成により行われる処理を行う。そして、CPU９０２は、その処理結果を、必要に応じて、例えば、入出力インタフェース９１０を介して、LCD(Liquid Crystal Display)やスピーカ等で構成される出力部９０６から出力、あるいは、通信部９０８から送信、さらには、ハードディスク９０５に記録等させる。
【０６６８】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【０６６９】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０６７０】
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【０６７１】
また、本発明は、ロボットの他、例えば、テレビジョン受像機やHDレコーダなどのAV(Audio Visual)機器、コンピュータ、その他の装置における、ユーザインタフェース（ヒューマンインタフェース）に適用することが可能である。
【図面の簡単な説明】
【０６７２】
【図１】本発明を適用した入出力システムの一実施の形態の構成例を示すブロック図である。
【図２】学習処理を説明するフローチャートである。
【図３】認識生成処理を説明するフローチャートである。
【図４】本体学習モジュール１０１、誤差学習モジュール１０２、及び制御部１０３の第１の構成例を示すブロック図である。
【図５】パターン記憶SOMの第１の構成例を示す図である。
【図６】ノードの構成例を示す図である。
【図７】パターン記憶SOMの第２の構成例を示す図である。
【図８】学習装置の構成例を示すブロック図である。
【図９】更新重みを決定する決定方法を説明するための図である。
【図１０】学習データ記憶部２２に記憶させる学習データを更新する更新方法を説明するための図である。
【図１１】学習処理を説明するフローチャートである。
【図１２】認識生成装置の構成例を示すブロック図である。
【図１３】認識生成処理を説明するフローチャートである。
【図１４】パターン記憶SOMが採用された本体モデル及び誤差モデルを模式的に示す図である。
【図１５】本体SOM及び誤差SOMに対して入出力することができるデータを説明する図である。
【図１６】学習処理を説明するフローチャートである。
【図１７】認識生成処理を説明するフローチャートである。
【図１８】本体学習モジュール１０１、誤差学習モジュール１０２、及び制御部１０３の第２の構成例を示すブロック図である。
【図１９】入出力関係モデルの構成例を示す図である。
【図２０】入出力関係モデルを用いた処理を行う学習装置と認識生成装置の構成例を示すブロック図である。
【図２１】入出力関係モデルの学習処理を説明するフローチャートである。
【図２２】結合重み行列を示す図である。
【図２３】入出力関係モデルを用いた認識生成処理を説明するフローチャートである。
【図２４】入出力関係モデルが採用された本体モデル及び誤差モデルを模式的に示す図である。
【図２５】本体入出力関係モデル、及び誤差入出力関係モデルに対して入出力することができるデータを説明する図である。
【図２６】学習処理を説明するフローチャートである。
【図２７】認識生成処理を説明するフローチャートである。
【図２８】聞きまね学習を説明するための図である。
【図２９】本体学習モジュール１０１、誤差学習モジュール１０２、及び制御部１０３の第３の構成例を示すブロック図である。
【図３０】新聞きまね学習の処理を説明するフローチャートである。
【図３１】ランダム探索処理を説明するフローチャートである。
【図３２】ベスト方式の新聞きまね学習の処理を説明するフローチャートである。
【図３３】ベスト出力データAR_bestを基準とした加算データAR'を用いた学習処理を説明するフローチャートである。
【図３４】再構成出力データARとした加算データAR'を用いた学習処理を説明するフローチャートである。
【図３５】NNが採用された本体モデル、及び誤差モデルを模式的に示す図である。
【図３６】シミュレーションで用いた教示データを構成する入力データSと出力データAを示す図である。
【図３７】シミュレーションで用いた教示データを構成する入力データSと出力データAを示す図である。
【図３８】認識生成のシミュレーションで得られた再構成入力データSRと、補正入力データSR'とを示す図である。
【図３９】認識生成のシミュレーションで得られた再構成入力データSRと、補正入力データSR'とを示す図である。
【図４０】認識生成のシミュレーションで得られた再構成入力データSRと、補正入力データSR'とを示す図である。
【図４１】認識生成のシミュレーションで得られた再構成入力データSRと、補正入力データSR'とを示す図である。
【図４２】認識生成のシミュレーションで得られた再構成入力データSRと、補正入力データSR'とを示す図である。
【図４３】認識生成のシミュレーションで得られた再構成入力データSRと、補正入力データSR'とを示す図である。
【図４４】認識生成のシミュレーションで得られた再構成入力データSRと、補正入力データSR'とを示す図である。
【図４５】認識生成のシミュレーションで得られた再構成入力データSRと、補正入力データSR'とを示す図である。
【図４６】認識生成のシミュレーションで得られた再構成入力データSRと、補正入力データSR'とを示す図である。
【図４７】認識生成のシミュレーションで得られた再構成出力データARと、補正出力データAR'とを示す図である。
【図４８】認識生成のシミュレーションで得られた再構成出力データARと、補正出力データAR'とを示す図である。
【図４９】認識生成のシミュレーションで得られた再構成出力データARと、補正出力データAR'とを示す図である。
【図５０】認識生成のシミュレーションで得られた再構成出力データARと、補正出力データAR'とを示す図である。
【図５１】認識生成のシミュレーションで得られた再構成出力データARと、補正出力データAR'とを示す図である。
【図５２】認識生成のシミュレーションで得られた再構成出力データARと、補正出力データAR'とを示す図である。
【図５３】認識生成のシミュレーションで得られた再構成出力データARと、補正出力データAR'とを示す図である。
【図５４】認識生成のシミュレーションで得られた再構成出力データARと、補正出力データAR'とを示す図である。
【図５５】認識生成のシミュレーションで得られた再構成出力データARと、補正出力データAR'とを示す図である。
【図５６】シミュレーションで用いた入力データSと、その入力データSに対して出力すべき出力データAとの関係を示す図である。
【図５７】本体入出力関係モデル、及び誤差入出力関係モデルの学習で用いられた100個の入力データSと、目標データT=(0.8,0,8)とを示す図である。
【図５８】目標データT=(0.8,0,8)を用いた認識生成処理によって得られた加算データAR'に対応する入力データf(AR')の軌跡を示す図である。
【図５９】新聞きまね学習を行った場合と、ランダム聞きまね学習を行った場合との、目標データTに対する誤差を示す図である。
【図６０】時系列データを対象とする新聞きまね学習において教示データを構成する入力データS及び出力データAとして採用した時系列データを示す図である。
【図６１】目標データTを用いた新聞きまね学習によって得られた加算データAR'に対応する入力データf(AR')を示す図である。
【図６２】目標データTが観測されるマイナス尤度と、目標データTに対して得られる対応データf(AR')の自乗誤差とを示す図である。
【図６３】目標データTに対して得られる対応データf(AR')の、目標データTに対する誤差を示す図である。
【図６４】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０６７３】
２１  パターン記憶モデル，  ２２  学習データ記憶部，  ４１  スコア計算部，  ４２  勝者ノード決定部，  ４３  重み決定部，  ４４  学習データ更新部，  ４５  モデル学習部，  ５１  スコア計算部，  ５２  勝者ノード決定部，  ５３  再構成部，  １００  学習モジュール，  １０１  本体学習モジュール，  １０２  誤差学習モジュール，  １０３  制御部，  １２１  演算部，  １２２  本体モデル記憶部，  １２３  演算部，  １２４  誤差モデル記憶部，  １２５  誤差算出部，  １２６  加算部，  ２０１  演算部，  ２０２  本体モデル記憶部，  ２０３  演算部，  ２０４  誤差モデル記憶部，  ２０５  誤差算出部，  ２０６  加算部，  ２２１  学習部，  ２２２  結合重み更新部，  ２３１  スコア計算部，  ２３２  勝者ノード決定部，  ２３３  生成ノード決定部，  ２３４  再構成部，  ３０１  特徴抽出装置，  ３０２  音声合成装置，  ３２１，３２３  演算部，  ３２７  聞きまね制御部，  ９０１  バス，  ９０２  CPU，  ９０３  ROM，  ９０４  RAM，  ９０５  ハードディスク，  ９０６  出力部，  ９０７  入力部，  ９０８  通信部，  ９０９  ドライブ，  ９１０  入出力インタフェース，  ９１１  リムーバブル記録媒体
【図１】
2008293259.tif 000003
【図２】
2008293259.tif 000004
【図３】
2008293259.tif 000005
【図４】
2008293259.tif 000006
【図５】
2008293259.tif 000007
【図６】
2008293259.tif 000008
【図７】
2008293259.tif 000009
【図８】
2008293259.tif 000010
【図９】
2008293259.tif 000011
【図１０】
2008293259.tif 000012
【図１１】
2008293259.tif 000013
【図１２】
2008293259.tif 000014
【図１３】
2008293259.tif 000015
【図１４】
2008293259.tif 000016
【図１５】
2008293259.tif 000017
【図１６】
2008293259.tif 000018
【図１７】
2008293259.tif 000019
【図１８】
2008293259.tif 000020
【図１９】
2008293259.tif 000021
【図２０】
2008293259.tif 000022
【図２１】
2008293259.tif 000023
【図２２】
2008293259.tif 000024
【図２３】
2008293259.tif 000025
【図２４】
2008293259.tif 000026
【図２５】
2008293259.tif 000027
【図２６】
2008293259.tif 000028
【図２７】
2008293259.tif 000029
【図２８】
2008293259.tif 000030
【図２９】
2008293259.tif 000031
【図３０】
2008293259.tif 000032
【図３１】
2008293259.tif 000033
【図３２】
2008293259.tif 000034
【図３３】
2008293259.tif 000035
【図３４】
2008293259.tif 000036
【図３５】
2008293259.tif 000037
【図３６】
2008293259.tif 000038
【図３７】
2008293259.tif 000039
【図３８】
2008293259.tif 000040
【図３９】
2008293259.tif 000041
【図４０】
2008293259.tif 000042
【図４１】
2008293259.tif 000043
【図４２】
2008293259.tif 000044
【図４３】
2008293259.tif 000045
【図４４】
2008293259.tif 000046
【図４５】
2008293259.tif 000047
【図４６】
2008293259.tif 000048
【図４７】
2008293259.tif 000049
【図４８】
2008293259.tif 000050
【図４９】
2008293259.tif 000051
【図５０】
2008293259.tif 000052
【図５１】
2008293259.tif 000053
【図５２】
2008293259.tif 000054
【図５３】
2008293259.tif 000055
【図５４】
2008293259.tif 000056
【図５５】
2008293259.tif 000057
【図５６】
2008293259.tif 000058
【図５７】
2008293259.tif 000059
【図５８】
2008293259.tif 000060
【図５９】
2008293259.tif 000061
【図６０】
2008293259.tif 000062
【図６１】
2008293259.tif 000063
【図６２】
2008293259.tif 000064
【図６３】
2008293259.tif 000065
【図６４】
2008293259.tif 000066