(57)【要約】【課題】  コンテキストを考慮することで認識対象の情動の状態を安定的に推定する。【解決手段】  情動推定システム５０は、時系列のセンサ情報に基づき、センサ情報のコンテキストを考慮してユーザの情動を推定した推定情動Ｅｓを出力する情動推定装置１と、行動のコンテキストを考慮して学習された予想情動変化データベースを参照し、行動実行後に変化するとされる予想情動変化ｄＥｂを求め、行動前における情動推定装置１の推定結果Ｅｓ’とから予測情動Ｅｂを出力する情動予測装置４０と、推定情動Ｅｓと予測情動Ｅｂを、予測情動Ｅｂの時間的な減衰を考慮したパラメータηにより融合して最終的な推定情動Ｅを出力する情動統合部５２とを有する。【選択図】  図１１
2005199403.tif 000002
【特許請求の範囲】
【請求項１】
時系列のセンサ情報から、情動を認識するための認識対象に関する時系列の特徴量を抽出する特徴量抽出手段と、
上記時系列の特徴量に基づき、上記センサ情報のコンテキストを考慮して上記認識対象の情動を推定する情動推定手段と
を有することを特徴とする情動推定装置。
【請求項２】
上記特徴量抽出手段は、複数のモーダルについて各モーダル毎の上記時系列の特徴量をモーダル別特徴量列として抽出し、
上記情動推定手段は、上記モーダル別特徴量列に基づき各モーダル毎に上記情動を認識する複数のモーダル別情動認識手段と、該各モーダル別情動認識手段の認識結果に基づき上記情動を推定する認識結果統合手段とを有する
ことを特徴とする請求項１記載の情動推定装置。
【請求項３】
上記情動推定手段は、上記モーダル別情動認識手段により得られた認識結果の予測誤差を算出する予測誤差算出手段を有し、
上記認識結果統合手段は、上記各モーダル別情動認識手段により得られた認識結果及びその予測誤差に基づき上記情動を推定する
ことを特徴とする請求項２記載の情動推定装置。
【請求項４】
上記予測誤差算出手段は、上記モーダル別特徴量列及び／又は上記モーダル別情動認識手段により得られた認識結果に基づき、該認識結果の予測誤差を算出する
ことを特徴とする請求項３記載の情動推定装置。
【請求項５】
上記認識結果統合手段は、上記予測誤差算出手段により得られた予測誤差を信頼度に変換し、各モーダル別情動認識手段により得られた認識結果にその信頼度を重み付けした重み付け認識結果に基づき上記情動を推定する
ことを特徴とする請求項３記載の情動推定装置。
【請求項６】
上記情動推定手段は、時系列のセンサ情報から抽出した上記認識対象に関する時系列の特徴量を入力データとしたとき、上記時系列のセンサ情報を取得した際の上記認識対象の情動が出力データとなるよう、再帰的学習により予め学習されたものである
ことを特徴とする請求項１記載の情動推定装置。
【請求項７】
上記予測誤差算出手段は、時系列のセンサ情報から抽出した認識対象に関するモーダル毎の時系列の特徴量及び／又は上記モーダル別情動認識手段により得られた認識結果を入力データとしたとき、当該時系列のセンサ情報を取得した際の認識対象の情動と上記モーダル別情動認識手段により得られた認識結果との差分が出力データとなるよう、再帰的学習により予め学習されたものであり、
上記モーダル別情動認識手段は、時系列のセンサ情報から抽出した認識対象に関するモーダル毎の時系列の特徴量を入力データとしたとき、当該時系列のセンサ情報を取得した際の認識対象の情動が出力データとなるよう、再帰的学習により予め学習されたものである
ことを特徴とする請求項３記載の情動推定装置。
【請求項８】
上記再帰的学習には、ニューラルネットワークを使用する
ことを特徴とする請求項６記載の情動推定装置。
【請求項９】
時系列のセンサ情報から、情動を認識するための認識対象に関する時系列の特徴量を抽出する特徴量抽出工程と、
上記時系列の特徴量に基づき、上記センサ情報のコンテキストを考慮して上記認識対象の情動を推定する情動推定工程と
を有することを特徴とする情動推定方法。
【請求項１０】
上記特徴量抽出工程では、複数のモーダルについて各モーダル毎の上記時系列の特徴量をモーダル別特徴量列として抽出し、
上記情動推定工程は、上記モーダル別特徴量列に基づき各モーダル毎に上記情動を認識するモーダル別情動認識工程と、上記モーダル別情動認識工程にて得られたモーダル別認識結果に基づき上記情動を推定する認識結果統合工程とを有する
ことを特徴とする請求項９記載の情動推定方法。
【請求項１１】
上記モーダル別情動認識工程にて得られた認識結果の予測誤差を算出する予測誤差算出工程を有し、
上記認識結果統合工程では、上記モーダル別情動認識工程にて得られたモーダル別認識結果及びその予測誤差に基づき上記情動を推定する
ことを特徴とする請求項１０記載の情動推定方法。
【請求項１２】
上記認識結果統合工程では、上記予測誤差算出工程にて算出された予測誤差を信頼度に変換し、各モーダル別情動認識工程にて得られた認識結果にその信頼度を重み付けした重み付け認識結果に基づき上記情動を推定する
ことを特徴とする請求項１１記載の情動推定方法。
【請求項１３】
内部状態及び／又は外部刺激に基づき自律的に行動するロボット装置において、
インタラクション対象に関する情報を取得する１以上のセンサと、
上記センサから時系列のセンサ情報を受け取り、上記インタラクション対象に関する時系列の特徴量を抽出する特徴量抽出手段と、
上記時系列の特徴量に基づき、上記センサ情報のコンテキストを考慮して上記インタラクション対象の情動を推定する情動推定手段とを有する
ことを特徴とするロボット装置。
【請求項１４】
上記特徴量抽出手段は、複数のモーダルについて各モーダル毎の上記時系列の特徴量をモーダル別特徴量列として抽出し、
上記情動推定手段は、上記モーダル別特徴量列に基づき各モーダル毎に上記情動を認識する複数のモーダル別情動認識手段と、該各モーダル別情動認識手段により得られた認識結果に基づき上記情動を推定する認識結果統合手段とを有する
ことを特徴とする請求項１３記載のロボット装置。
【請求項１５】
上記情動推定手段は、上記モーダル別情動認識手段により得られた認識結果の予測誤差を算出する予測誤差算出手段を有し、
上記認識結果統合手段は、上記各モーダル別情動認識手段により得られた認識結果及びその予測誤差に基づき上記情動を推定する
ことを特徴とする請求項１４記載のロボット装置。
【請求項１６】
複数の行動から一の行動を選択して実行する行動実行手段と、
上記行動実行手段により実行された行動の種類に応じて上記インタラクション対象の情動を予測する情動予測手段と、
上記情動推定手段により得られた推定結果と上記情動予測手段により得られた予測結果とに基づき上記インタラクション対象の情動を推定する情動統合手段と
を有することを特徴とする請求項１３記載のロボット装置。
【請求項１７】
上記情動予測手段は、一の行動と、該一の行動の実行後に変化すると予想される予想情動変化とが対応づけられた予想情動変化データベースを参照して行動実行後の情動変化を予想し、該予想結果と行動実行前に上記情動推定手段により推定された推定結果とに基づき行動実行後の上記情動を予測する
ことを特徴とする請求項１６記載のロボット装置。
【請求項１８】
上記予想情動変化データベースは、各行動に対してその実行前後の上記インタラクション対象の情動変化に基づき上記予想情動変化が学習されたものである
ことを特徴とする請求項１７記載のロボット装置。
【請求項１９】
上記行動実行手段により行動が実行される毎に、上記情動推定手段により推定された行動実行前後の上記インタラクション対象の情動の差分に基づき、上記予想情動変化データベースの上記予想情動変化を更新するデータベース学習手段を有する
ことを特徴とする請求項１７記載のロボット装置。
【請求項２０】
上記情動統合手段は、行動実行後から時間が経過するに従って上記情動予測手段による予測結果より上記情動推定手段による推定結果を重視するように変化するパラメータにより、上記推定結果及び予測結果に重み付けし、該重み付けした結果に基づき上記情動を推定する
ことを特徴とする請求項１６記載のロボット装置。
【請求項２１】
内部状態及び／又は外部刺激に基づき自律的に行動するロボット装置の情動認識方法において、
時系列のセンサ情報から、インタラクション対象に関する時系列の特徴量を抽出する特徴量抽出工程と、
上記時系列の特徴量に基づき、上記センサ情報のコンテキストを考慮して上記インタラクション対象の情動を推定する情動推定工程と
ことを特徴とするロボット装置の情動認識方法。
【請求項２２】
上記特徴量抽出工程では、複数のモーダルについて各モーダル毎の上記時系列の特徴量をモーダル別特徴量列として抽出し、
上記情動推定工程は、上記モーダル別特徴量列に基づき各モーダル毎に上記情動を認識するモーダル別情動認識工程と、上記モーダル別情動認識工程にて得られたモーダル別認識結果に基づき上記情動を推定する認識結果統合工程とを有する
ことを特徴とする請求項２１記載のロボット装置の情動認識方法。
【請求項２３】
上記モーダル別情動認識工程にて得られた認識結果の予測誤差を算出する予測誤差算出工程を有し、
上記認識結果統合工程では、上記各モーダル別情動認識工程にて得られた認識結果及びその予測誤差に基づき上記情動を推定する
ことを特徴とする請求項２２記載のロボット装置の情動認識方法。
【請求項２４】
複数の行動から一の行動を選択して実行する行動実行手段により一の行動が実行された場合に、該実行された行動の種類に応じて上記インタラクション対象の情動を予測する情動予測工程と、
上記情動推定工程にて得られた推定結果と上記情動予測工程にて得られた予測結果とに基づき上記インタラクション対象の情動を推定する情動統合工程と
を有することを特徴とする請求項２１記載のロボット装置の情動認識方法。
【請求項２５】
上記情動予測工程では、一の行動と、該一の行動実行後に変化すると予想される予想情動とが対応づけられた予想情動変化データベースを参照して行動実行後の情動変化を予想し、該予想結果と行動実行前に上記情動推定工程にて得られた推定結果とに基づき行動実行後の情動を予測する
ことを特徴とする請求項２４記載のロボット装置の情動認識方法。
【請求項２６】
上記情動統合工程では、行動実行後から時間が経過するに従って上記情動予測工程にて得られた予測結果より上記情動推定工程にて推定された推定結果を重視するように変化するパラメータにより、上記推定結果及び予測結果に重み付けし、該重み付けした結果に基づき上記情動を推定する
ことを特徴とする請求項２４記載のロボット装置の情動認識方法。
【請求項２７】
与えられた入力データから、インタラクション対象の情動を認識する情動認識装置を搭載したロボット装置の学習方法において、
時系列のセンサ情報から抽出したインタラクション対象に関する時系列の特徴量を入力データとし、当該時系列のセンサ情報を取得した際の上記インタラクション対象の情動を出力の目標値として上記情動認識装置の学習をする学習工程を有する
ことを特徴とするロボット装置の学習方法。
【請求項２８】
内部状態及び／又は外部刺激に基づき自律的に行動するロボット装置において、
与えられた入力データから、インタラクション対象の情動を認識する情動認識装置と、
インタラクション対象に関する情報を取得する１以上のセンサと、
上記センサから時系列のセンサ情報を受け取り、上記インタラクション対象に関する時系列の特徴量を抽出する特徴量抽出手段と、
上記時系列のセンサ情報から抽出したインタラクション対象に関する時系列の特徴量を入力データとし、当該時系列のセンサ情報を取得した際の上記インタラクション対象の情動を出力の目標値として上記情動認識装置の学習をする学習手段とを有し、
上記情動認識装置は、上記特徴量抽出手段により抽出された上記時系列の特徴量を上記入力データとして上記情動を認識する
ことを特徴とするロボット装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情動を認識するための認識対象の情動を、センサ情報から抽出した認識対象の特徴量に基づき認識する情動認識装置及び方法、この情動認識装置を搭載したロボット装置の学習方法、並びに、インタラクション対象の情動を認識するロボット装置及びその情動認識方法に関する。
【背景技術】
【０００２】
従来の感情認識技術やそれを応用したシステムとしては、下記特許文献１乃至特許文献４などがある。例えば特許文献１には、ユーザの音声に含まれる感情に反応してストリーが展開される対話型映画システムの技術が開示されている。また、特許文献２には、音声から感情を認識する認識器と、画像から感情を認識する認識器とを用意し、認識器が認識した感情に応じて重み付けして統合する階層的感情認識装置の技術が開示されている。
【０００３】
また、特許文献３には、学会などの発表者に対して発表者自身の感情を聴衆の反応に応じて認識し、フィードバックさせる発表支援装置の技術が開示されている。更に、特許文献４には、複数の感情認識器の認識結果を重み付けして統合することで人間の感情を認識し、認識した感情を考慮した行動パターンを提案するための行動パターン処理装置が開示されている。
【０００４】
これら下記特許文献１乃至特許文献４における感情認識技術には下記のような特徴がある。すなわち、
各感情に専用のサブ認識器を設け、出力を論理合成して最終的な出力とする
複数の特徴量に基づく認識結果を重み付けによって組み合わせ、最終的な出力とする
認識結果を統合する重み付けパラメータは実験的に採取した教師データを元に算出している
各認識器で利用するパラメータは認識対象の各個人毎に準備されている。
【０００５】
【特許文献１】特許２８７４８５８号公報
【特許文献２】特許２９６７０５８号公報
【特許文献３】特許２９６００２９号公報
【特許文献４】特開２００２−７３６３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、これら特許文献１乃至特許文献４に記載の技術においては、下記のような問題点がある。すなわち、各認識器はその瞬間のセンサ入力情報のベクトルのみに依存してその出力を決定するものである。したがって、感情認識装置が例えば、表情、音声、ジェスチャなどに関するセンサ入力のベクトル情報と、それに対応する感情との写像関係を学習するようなモデルで構成されている場合、そのときのセンサ入力情報、すなわち認識対象の表面的な状態変化のみを絶対的なものとして信頼し、出力を決定するため、少しのセンサ入力の変化で容易に認識結果が変化してしまい、安定することがない。
【０００７】
例えば、機嫌よく話をしている最中に、考え事をして少し顔をしかめただけでその一瞬は嫌悪感を表出していると判断されるようなものである。従来の技術では、上記のような脆弱な認識器から得られた情報をそのまま機器の機能選択やロボット装置の行動選択に利用することが提案されているが、実際のシステムを構築した場合、ちょっとした出力の変化で機能を選択していては、頻繁に機能選択が起こり機器の利用上の支障をきたす。機器の機能選択やロボット装置の行動選択、又はコミュニケーションにおいて重要なのは、認識対象の根底に定常的にある感情の状態である。一瞬の表情の変化や、発話のちょっとした語調の変化から生じる認識結果のブレは何らかの処理によってスムージングされることが必要である。
【０００８】
本発明は、このような従来の実情に鑑みて提案されたものであり、コンテキストを考慮することで認識対象の情動の状態を安定的に推定する情動推定装置及び方法、そのような情動推定装置を搭載したロボット装置及びその情動認識方法、並びに情動推定装置を搭載したロボット装置及びその学習方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した目的を達成するために、本発明に係る情動認識装置は、時系列のセンサ情報から、情動を認識するための認識対象に関する時系列の特徴量を抽出する特徴量抽出手段と、上記時系列の特徴量に基づき、上記センサ情報のコンテキストを考慮して上記認識対象の情動を推定する情動推定手段とを有することを特徴とする。
【００１０】
本発明においては、時系列の特徴量に基づき認識対象の情動を推定する、すなわちセンサ情報のコンテキストを考慮して情動推定を行うため、例えば認識対象の一瞬の情動変化又は瞬間的なセンサ情報から抽出した特徴量に基づく推定結果の誤りなどを反映してしまうことがなく、認識対象の情動推定結果を平滑化したものとして認識することができる。
【００１１】
また、上記特徴量抽出手段は、複数のモーダルについて各モーダル毎の上記時系列の特徴量をモーダル別特徴量列として抽出し、上記情動推定手段は、上記モーダル別特徴量列に基づき各モーダル毎に上記情動を認識する複数のモーダル別情動認識手段と、上記各モーダル別情動認識手段の認識結果に基づき上記情動を推定する認識結果統合手段とを有することにより、例えば認識対象の表情、ジェスチャ、音声などのモーダル別に時系列の特徴量を抽出し、モーダル別に情動を認識することができ、認識結果統合手段は、１つのモーダルについて推定された情動を認識結果としたり、複数のモーダルについて推定された情動を統合して認識結果としたりすることができる。
【００１２】
更に、上記情動推定手段は、上記モーダル別情動認識手段により得られた認識結果の予測誤差を算出する予測誤差算出手段を有し、上記認識結果統合手段は、上記各モーダル別情動認識手段により得られた認識結果及びその予測誤差に基づき上記情動を推定することができ、モーダルに応じて異なる情動認識率などを有する場合にこれを上記予測誤差に反映させることで更に情動推定手段の情動推定率（情動認識率）を向上することができる。
【００１３】
更にまた、上記認識結果統合手段は、上記予測誤差算出手段により得られた予測誤差を信頼度に変換し、各モーダル別情動認識手段により得られた認識結果にその信頼度を重み付けした重み付け認識結果に基づき上記情動を推定することができ、予測誤差をある程度平均化するなどして信頼度とし、重み付け認識結果を求めることで、情動推定手段が推定結果を更に平滑化することができる。
【００１４】
また、上記情動推定手段は、時系列のセンサ情報から抽出した認識対象に関する時系列の特徴量を入力データとしたとき、上記時系列のセンサ情報を取得した際の上記認識対象の情動が出力データとなるよう、再帰的学習により予め学習されたものとすることができ、情動推定手段を例えばリカレントネットワークとして学習することができる。
【００１５】
本発明に係るロボット装置は、内部状態及び／又は外部刺激に基づき自律的に行動するロボット装置において、インタラクション対象に関する情報を取得する１以上のセンサと、上記センサから時系列のセンサ情報を受け取り、上記インタラクション対象に関する時系列の特徴量を抽出する特徴量抽出手段と、上記時系列の特徴量に基づき、上記センサ情報のコンテキストを考慮して上記インタラクション対象の情動を推定する情動推定手段とを有することを特徴とする。
【００１６】
本発明においては、ロボット装置のインタラクション対象となるユーザなどの情動を、ユーザの特徴量の時系列データに基づき推定する情動推定手段を有するため、ユーザの情動を誤認識や一時的な認識結果によらないものとしてより確実に推定することができる。
【００１７】
また、複数の行動から一の行動を選択して実行する行動実行手段と、上記行動実行手段により実行された行動の種類に応じて上記インタラクション対象の情動を予測する情動予測手段と、上記情動推定手段により得られた推定結果と上記情動予測手段により得られた予測結果とに基づき上記インタラクション対象の情動を推定する情動統合手段とを有することができ、更に安定かつ正確に情動を推定することができる。
【００１８】
更に、上記情動予測手段は、一の行動と、該一の行動の実行後に変化すると予想される予想情動変化とが対応づけられた予想情動変化データベースを参照して行動実行後の情動変化を予想し、該予想結果と行動実行前に上記情動推定手段により推定された推定結果とに基づき行動実行後の上記情動を予測することができ、行動実行前後に変化すると考えられるインタラクション対象の情動変化を予測することができる。
【００１９】
更にまた、上記予想情動変化データベースは、各行動に対してその実行前後の上記インタラクション対象の情動変化に基づき上記予想情動変化が学習されたものとすることができ、例えば一の行動が実行された際の行動実行前後における上記情動推定手段による推定結果や、外部から与えられた行動実行前後における情動変化に基づき、一の行動を実行する毎に更新して上記予想情動データベースを逐次更新することで、行動のコンテキストを考慮した予想情動データベースを構築することができる。
【００２０】
また、上記情動統合手段は、行動実行後から時間が経過するに従って上記情動予測手段による予測結果より上記情動推定手段による推定結果を重視するように変化するパラメータにより、上記推定結果及び予測結果に重み付けし、該重み付けした結果に基づき上記情動を推定することができ、情動推定手段における推定結果に対して情動予測手段の予測結果によりトップダウンの補正を行うと共に、行動の実行に関わらず常に得られる情動推定手段の推定結果を、行動実行後の経過時間が長くなるほど重視させるようにすることができる。
【００２１】
本発明に係るロボット装置の学習方法は、与えられた入力データから、インタラクション対象の情動を認識する情動認識装置を搭載したロボット装置の学習方法において、時系列のセンサ情報から抽出したインタラクション対象に関する時系列の特徴量を入力データとし、当該時系列のセンサ情報を取得した際の上記インタラクション対象の情動を出力の目標値として上記情動認識装置の学習をする学習工程を有することを特徴とする。
【００２２】
本発明においては、ロボット装置の情動認識装置を、例えばリカレントネットワークなどにより構成することで、時系列の特徴量を入力データとして情動を認識するものとして学習することで、インタラクション対象の情動を、センサ情報のコンテキストを考慮して推定することが可能な情動認識装置を搭載したロボット装置を得ることができる。
【発明の効果】
【００２３】
本発明に係る情動認識装置及び方法によれば、時系列のセンサ情報から、インタラクション対象に関する時系列の特徴量を抽出し、これに基づき、上記センサ情報のコンテキストを考慮して上記インタラクション対象の情動を推定するので、例えば瞬間的なセンサ情報に基づいてインタラクション対象の一瞬の表情の変化や、発話の際の一瞬の語調の変化を認識結果に反映させてしまうことを防止し、インタラクション対象の情動推定結果を平滑化してより自然なものとして認識することができる。
【００２４】
更に、本発明に係るロボット装置及びその情動認識方法によれば、時系列のセンサ情報から、インタラクション対象に関する時系列の特徴量を抽出し、これに基づき、上記センサ情報のコンテキストを考慮して上記インタラクション対象の情動を推定する情動認識装置を搭載することで、ロボット装置が、ユーザの一瞬の表情変化や、発話の一瞬の語調の変化に左右されることなく、インタラクション対象となるユーザなどの情動をより正しく認識することができ、ユーザとのインタラクションをより上手に行うことができ、また、時系列のセンサ情報に加え、自身の行動履歴に基づきユーザの情動変化を予測した結果を考慮すれば、センサ情報に基づく認識結果を補正して更に正確にユーザの情動を認識し、より生物らしい振る舞いを行わせることが可能となる。
【００２５】
また、本発明に係るロボット装置及びその学習方法によれば、時系列のセンサ情報から抽出したインタラクション対象の時系列の特徴量を入力とし、その際の実際のインタラクション対象の情動を出力目標値として、例えばリカレントネットワークなどの再帰学習により学習を行うことで、センサ情報のコンテキストを考慮してインタラクション対象の情動を認識することが可能な情動認識装置の学習をロボット装置が行うことができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。この実施の形態は、本発明を、コンテキストを考慮して、認識対象の情動を認識する情動認識システムを搭載したロボット装置に適用したものである。本実施の形態におけるロボット装置は、外部環境（外部刺激）の時系列データと、行動履歴とから情動の認識対象となるインタラクション対象（以下、ユーザという。）の情動を安定的かつ正しく推定するものである。ここでは、先ず、情動認識システムについて説明し、その後、この情動認識装置を搭載するに好適なロボット装置の一構成例について説明する。
【００２７】
Ａ：情動認識システム
上述した如く、従来の情動認識器は、例えばユーザなどのインタラクション対象の瞬間的な音声や画像から得られる特徴量から、インタラクション対象の情動を認識するものであって、コンテキスト情報を無視しているため認識結果が不安定となってしまう。ここでいうコンテキストとは具体的には、インタラクション対象がたった今どのような情動状態であったか、インタラクション対象に対してたった今、ロボット装置自身がどのような行動を行ったのかなどである。
【００２８】
そこで、本実施の形態におけるロボット装置は、コンテキストを考慮して情動認識を行うため、それまでの状態を基準とし、次の状態を予測するアルゴリズムの１つとしてリカレントニューラルネットワークなどを利用することによって、入力情報、本実施の形態においては、センサ情報から抽出される特徴量の時間的な変化（コンテキスト）を考慮して情動を推定するものである。
【００２９】
さらに、ロボット装置自らが行う行動選択と、当該選択した行動によるインタラクション対象の情動変化の対応関係を予測するモデルを準備し、これによりロボット装置がどのような行動を取るとインタラクション対象にどのような情動変化が起こるかを予測して、センサ情報から推定される情動推定結果にトップダウンの補正をかけることにより、情動推定結果を更に平滑化するものである。
【００３０】
すなわち、本実施の形態における情動認識システムは、時系列のセンサ情報からユーザの情動を推定する情動推定装置と、実行した行動の種類に応じてユーザの情動変化を予測するための情動予測装置と、情動推定装置が推定した推定結果（以下、推定情動Ｅｓという。）及び情動予測装置が予測した予測結果（以下、予測情動Ｅｂという。）に、行動履歴の時間減衰を考慮した重みを乗算して足し合わせたものを最終的に得られた認識結果（以下、認識情動Ｅという。）として出力する情動統合部とから構成される。
【００３１】
（１）情動推定装置
先ず、センサ情報の時系列データからセンサ情報のコンテキストを考慮した推定情動Ｅｓを出力する情動推定装置について説明する。図１は、本実施の形態における情動推定装置を示すブロック図である。図１に示すように、この情動推定装置１は、外部の状況を検出するセンサ部２ｍと、ジェスチャ、発話、人間の表情などの各モーダル毎にセンサ部２ｍからのセンサ情報から前処理として特徴量を抽出する特徴量抽出部３ｎと、同じく各モーダル毎に推定情動Ｅｓｎ及び後述する予測誤差ｘｎ＾（ｘｎ＾は、ｘｎハットを示す、以下同様。）を算出するモーダル別情動推定部４ｎと、予測誤差ｘｎ＾から推定情動Ｅｓｎに対する信頼度λｎを算出するソフトマックス演算器７ｎと、推定情動Ｅｓｎと信頼度λｎとを乗算する乗算器８ｎと、乗算器８ｎの出力の総和を求め、推定情動Ｅｓを出力する加算器９とを有する。
【００３２】
センサ部２ｍは、例えば、周囲の画像を撮像する撮像手段としてのカメラ２１、周囲の音声を入力する音声入力手段としてのマイクロホン２２などからなり、時系列のセンサ情報（以下、センサ情報列ともいう。）を出力する。
【００３３】
特徴量抽出部３ｎは、モーダル毎に前処理を行うもので、例えば表情分析部３１、ジェスチャ分析部３２、発話分析部３３などを有し、時系列のセンサ情報から、モーダル毎に、認識対象の時系列の特徴量ベクトルを抽出し、モーダル別特徴量列として出力する。
【００３４】
情動推定部４ｎは、モーダル毎に用意され、各モーダルに対応した特徴量抽出部３ｎにて前処理され得られた特徴量ベクトル列が入力され、この特徴量ベクトル列から推定情動Ｅｓｎを推定して出力するものである。この情動推定部４ｎは、過去の情動を考慮して現在の情動を予測する情動フォアードモデル（forward model：フォワードモデル又は順モデル）により情動を推定して、モーダル別推定情動Ｅｓｎとして出力するモーダル別情動認識手段としての情動認識器５ｎと、この情動認識器５ｎが出力した推定情動Ｅｓｎの予測誤差ｘｎ＾を算出する誤差予測器６ｎとを有している。誤差予測器６ｎにおいても、過去の予測誤差ｘｎ＾を考慮して現在の予測誤差ｘｎ＾を算出するフォワードモデルにより推定情動Ｅｓｎの予測誤差ｘｎ＾を算出するものとすることができる。
【００３５】
フォワードモデルは、入出力の写像関係、すなわち本実施の形態においては、時系列の特徴量ベクトルを入力した場合に、推定情動Ｅｓｎを出力とする写像関係を実現していればよく、数式、パラメータマトリクス、対応表など、どのような表現方法であってもよい。また、本実施の形態においては、センサ入力から情動を予測する方向、すなわちここでは、特徴量ベクトル列を入力とし、推定情動Ｅｓｎを出力とする方向を順方向（情動フォワードモデル）という。なお、フォワードモデルと入出力データが逆になるモデルをインバースモデル又は逆モデルという。
【００３６】
ソフトマックス演算部７ｎは、ソフトマックスを求める後述する関数を用いて予測誤差ｘｎ＾を、各情動推定器５ｎが算出する推定情動Ｅｓｎに対する信頼度λｎに変換し、乗算器８ｎは、推定情動Ｅｓｎに信頼度λｎを乗算する。加算器９は、乗算器８ｎにて信頼度λｎで重み付けされた重み付き推定情動λｎＥｓｎの総和を求めて推定情動Ｅｓとして出力する。これらソフトマックス演算部７ｎ、乗算器８ｎ及び加算器９により、モーダル別情動認識器５ｎの認識結果を統合するための認識結果統合手段が構成される。
【００３７】
ここで、本実施の形態においては、この情動認識器（情動フォワードモデル）及び誤差予測器として、例えばリカレントニューラルネットワークなどを利用して予め学習されたものを使用する。すなわち、情動認識器５ｎは、時系列の特徴量ベクトルｓｎ＊とそれに対応する予め感情が分類された教師データである時系列の感情分類情報Ｅｓｎ＊とからなる学習データを使用し、入力として与えられる時系列の特徴量ベクトルから時系列の感情情報を出力する情動認識器５ｎを学習するものである。すなわち、学習データのうち、時系列の特徴量ベクトルｓｎ＊を入力データとし、教師データである時系列の感情情報Ｅｓｎ＊を出力データの目標値としてモーダル毎に予め学習する。
【００３８】
また、誤差予測器６ｎは、時系列の特徴量ベクトルｓｎ＊とそれに対応する予め感情が分類された教師データである時系列の感情分類情報Ｅｓｎ＊とからなる学習データを使用して、入力として与えられる情動認識器５ｎの出力（推定情動Ｅｓｎ）及び／又は特徴量ベクトルｓｎ＊から予測誤差を出力する誤差予測器６ｎを情動認識器５ｎ毎に学習する。ここではまずこれらの学習方法について説明し、次に学習された情動認識器５ｎ及び誤差予測器６ｎを有する情動推定部４ｎを使用した情動推定装置における情動推定方法（再現方法）について説明する。
【００３９】
（２）モーダル別情動認識器の学習方法
本実施の形態においては、モーダル毎に情動推定部４ｎ、すなわち情動認識器５ｎを用意する。情動認識器５ｎは、１つの情動認識器により、例えば「喜び（joy）」、「悲しみ（sadness）」、「怒り（anger）」、「驚き（surprise）」、「嫌悪（disgust）」、及び「恐れ（fear）」などの複数の情動を認識することができ、ある一のモーダルにおいて各感情に対応する特徴量を予め学習しておき、認識の際には、モーダル毎にセンサ入力から特徴量を抽出する前処理を行って、抽出した特徴量に基づきユーザの情動を推定して出力するものである。なお、本実施の形態における情動認識器は、上記６つの基本６感情を認識するものとし、したがってモーダル別情動認識器５ｎが出力する推定情動Ｅｓｎ及び情動推定装置１が出力する推定情動Ｅｓは、６種類の感情を要素とするベクトルとするが、認識する感情の種類はこれに限らない。
【００４０】
情動認識器５ｎが考慮するモーダルとしては、例えば表情、ジェスチャ、発話などがある。学習では、先ず、情動認識器５ｎの学習を行うための学習データを用意し、次に、モーダル毎に情動認識器５ｎの学習を行う。
【００４１】
情動認識器５ｎの学習を行うために必要な学習データは、入力データとなる時系列の特徴量ベクトルと、出力データの目標値となる、上記入力データを取得した際のインタラクション対象、本実施の形態においてはユーザの情動である。なお、ユーザの情動は適当に数値化されているものとする。
【００４２】
入力データは、表情分析部３１、及びジェスチャ分析部３２などからなる特徴量抽出部３ｎに、画像などの時系列のセンサ情報を供給し、発話分析部３３などからなる特徴量抽出部３ｎに音声などの時系列のセンサ情報を供給し、この時系列のセンサ情報に基づいて、それぞれのモーダルに対応した、時系列のユーザの特徴量（フィーチャー）ベクトルを集める。
【００４３】
例えば、表情分析部３１であれば、画像全体の周波数成分や方向成分を抽出するフィルタリング処理を行った結果が特徴量として抽出されたり、例えば額や眉間、頬のしわの密度や方向、目の見開き具合、唇の形など、顔に視覚的に表れている要素の特徴を数値的に現したベクトルデータなどが特徴量として抽出されたりして、特徴量ベクトルの時系列データ（特徴量ベクトル列）が出力される。
【００４４】
また、ジェスチャ分析部３２であれば、手先位置の移動量、移動速度、手先軌道の切り返しの周波数などが特徴量として抽出され特徴量ベクトル列が出力される。
【００４５】
また、発話分析部３３であれば、認識した発話の平均音圧（パワー）、基本周波数（相似的な波の繰り返しのパターンが現れる周波数）、及びスペクトルなどのデータを特徴量として、抽出された特徴量ベクトル列が出力される。
【００４６】
それぞれのモーダルに対応した情動認識器５ｎの学習データの収集は、例えば次のように実験的に行うことができる。すなわち、特徴量抽出部３ｎの前で、決められたシナリオ通りの演技を人間に実際に演じてもらい、その際に観測されたデータ（センサ情報列）から特徴量抽出部３ｎにより各モーダルに対応した時系列の特徴量ベクトル（フィーチャーベクトル）を抽出し、そのときの人間の感情を示す情報と共に記録することで学習データを収集することができる。また、後述するロボット装置に情動認識システムを搭載する場合には、少なくとも特徴量抽出部３ｎが搭載されたロボット装置の前で、同様に人間に演技を演じてもらって学習データを収集すればよい。ここで、特徴量ベクトルを抽出した際の人間の感情を示す情報は、上述の基本６感情が数値化されたたベクトル（感情分類情報）であり、認識時において情動認識器５ｎが出力する推定情動の教師データとなるものである。以下では、この学習データを推定情動（教師）Ｅｓｎ＊と記載するものとする。また、学習データのうち、学習に使用する特徴量ベクトルを特徴量ベクトル（教師）ｓｎ＊と記載する。
【００４７】
こうしてこの特徴量抽出部３ｎにより収集された入力データとなる時系列の特徴量ベクトル（教師）ｓｎ＊及び、出力の目標値とする、特徴量ベクトル（教師）ｓｎ＊を取得した際のユーザの推定情動（教師）Ｅｓｎ＊からなる学習データを使用して、各情動認識器５ｎの学習を行う。
【００４８】
なお、情動推定部４ｎの学習は各モーダル毎に個別に行われ、特徴量抽出部３ｎ、情動推定部４ｎ、は各モーダル毎に用意され、情動認識器５ｎ、誤差予測器６ｎは各情動推定部４ｎ毎に設けられるものであるが、以下の説明においては、特に必要がないときは特徴量抽出部３、情動推定部４、情動認識器５、誤差予測器６ということとする。
【００４９】
図２は、学習時の情動推定部５を模式的に示す図である。図２に示すように、学習時には、一のモーダル、ここでは「表情」より情動認識する表情用情動認識器５に対して、この「表情」について前処理により得られた学習データが格納されたデータベース１０が接続される。情動認識器５は、データベース１０から供給される学習データ、すなわち時系列の特徴量ベクトル（教師）ｓｎ＊とそのときの時系列の推定情動（教師）Ｅｓｎ＊とにより、与えられた時系列の特徴量ベクトルから情動を推定するための情動モデルの学習を行う。すなわち、学習データの特徴量ベクトル（教師）ｓｎ＊を入力としたとき、推定情動（教師）Ｅｓｎ＊を出力するよう、モーダル毎に情動認識器（情動フォワードモデル）５を学習させる。
【００５０】
本実施の形態においては、時系列データから情動を推定する情動認識器（情動フォワードモデル）５を、リカレントニューラルネットワークにより構成する。なお、情動を学習、認識する際に用いるアルゴリズムはリカレントニューラルネットワークに限らず、時系列のデータを出力に反映させることができるものであれば、どのようなアルゴリズムであってもよい。例えば、ある時間幅を有する情報をクラスタリングする手法としては、ＤＰ（Dynamic Programming）マッチング（動的計画法）、隠れマルコフモデル（Hidden Markov Model：ＨＭＭ）などの手法がある。本実施の形態におけるコンテキストとは、その時の状態ベクトルだけではなく、過去を遡り、時間幅を有する状態ベクトルデータ列を指すものであり、このようなデータを入力として出力（推定情動）を得ることができればよい。
【００５１】
図２の情動認識器５には、それぞれのモーダルに対する、前処理によって抽出された字系列の学習データのうち、特徴量ベクトル（教師）ｓｎ＊がリカレントニューラルネットワークの入力データとして与えられる。そして、入力データを収集した際の推定情動（教師）Ｅｓｎ＊が出力データとして与えられ、情動フォワードモデルとしての情動認識器５の学習が行われる。リカレントニューラルネットワークには、図３に示すように、対応するモーダルにおける特徴量ベクトルが入力される入力層１１ａと、１以上の層からなる中間層１２と、対応するモーダルに関する推定情動を出力する出力層１３ａ、１３ｂと、出力層１３ｂの推定情動が入力される入力層１１ｂとを有する。すなわち、入力層１１ａ、１１ｂには、あるタイミングにおける特徴量ベクトル、前のタイミングにて出力層１３ｂから出力された推定情動が入力され、これが中間層１２を介して出力層１３ａ、１３ｂから出力され、そのうちの一部が次のタイミングにおいて入力層１１ｂへ戻される。
【００５２】
このように、リカレントニューラルネットワークには出力層から入力層（または中間層）にフィードバックする一群のユニット（入力層１１ｂ、出力層１３ｂ）があり、これらは時系列入力に基づく文脈情報（コンテキスト）を内部表現している。出力層１３ｂから入力層１１ｂへのフィードバックはコンテキストループと呼ばれる。このリカレントニューラルネットワークを利用することで、瞬間的な入出力情報の写像関係ではなく、文脈情報を考慮した現在の情動推定を実現することができる。なお、リカレントニューラルネットワークについての詳細は後述する。
【００５３】
（３）誤差予測器の学習方法
人間が各モーダルを通じで表現する情動には、必ずしも各感情に相当する表現が平均的に含まれていないことが実験により知られている。例えば上記特許文献２においては、音声又は画像により感情を認識する際、「悲しみ」、及び「恐怖」は、音声のみで認識される度合いが高く、「怒り」、「幸福」、及び「驚き」は、画像のみで認識される度合いが高いことを利用し、音声データ及び画像データからそれぞれ感情認識する感情認識部を設けたとき、例えば音声データから感情認識する感情認識部にて「悲しみ」、又は「恐怖」が認識された場合はその重みを大きくし、画像データから感情認識する感情認識部にて「怒り」、「幸福」、又は「驚き」が認識された場合はその重みを大きくして、これら２つの感情認識部の認識結果を統合するものである。
【００５４】
このように、感情に応じて、認識を得意とするセンサ情報が異なるため、各感情についてモーダル毎の認識結果がどの程度信頼できるかには差が生じる。この差を各認識器の信頼度として予めの学習によって獲得しておき、認識時に各モーダルの認識結果に重み付けして最終的な認識結果とすることで、認識結果の信頼性を高めることができる。
【００５５】
上述の図１にて説明したように、本実施の形態の情動推定装置においては、マルチモーダルなセンサ情報から情動を推定するものであり、各モーダルに対応した情動認識器５が要素認識器（情動フォワードモデル）として用いられている。また、それぞれの情動認識器５が出力する情動認識結果を、そのコンテキストでの認識結果の信頼度に応じて重み付けして最終的な出力を決定している。このため、各モーダルに対応したモジュール（情動推定部４）において、情動認識器５と対になって信頼度を算出するための誤差予測器６を有している。ここでいうコンテキストとは、センサ入力状態（時系列のセンサ情報列）、または感情認識状態（時系列の推定情動）などを想定することができる。それぞれの想定に応じて、誤差予測器６への入力データを設定し、例えばセンサ情報のコンテキストを考慮する場合には、入力データとして時系列のセンサ情報から抽出した時系列の特徴量ベクトルを使用したり、感情認識状態のコンテキストを考慮する場合には、入力データとして、情動認識器５の出力を使用するようにすればよい。
【００５６】
上述した如く、各モーダルに対して個別に学習された要素認識器（情動認識器）の出力をどの程度信頼するかを出力する誤差予測器６の学習においても、センサ入力情報もしくは感情認識状態の履歴情報を元に算出するモデルを適用することができ、センサ情報（またはこれらから抽出された特徴量）、及び／又は感情認識状態を入力として対となる要素認識器の誤差を予測するモデルがリカレントニューラルネットワークによって実現される。ここでは、時系列のセンサ情報から抽出された時系列の特徴量ベクトルと、感情認識器により認識されたモーダル別推定情動とを入力とするモデルについて説明する。
【００５７】
すなわち、誤差予測器６は、図４に示すように、各モーダルについて収集された上述の学習データを再度用い、特徴量ベクトル（教師）ｓｎ＊及びこの特徴量ベクトル（教師）ｓｎ＊を入力としたときの情動認識器５の出力データである推定情動Ｅｓｎ＊を入力データとし、情動認識器５の出力Ｅｓｎと特徴量ベクトルｓｎ＊に対応する推定情動（教師）Ｅｓｎ＊との差分である誤差情報を理想出力ｘｎ＊とし、この理想出力力ｘｎ＊を出力の目標値として各モーダルに対応した誤差予測器６の学習を行う。なお、特徴量ベクトル（教師）ｓｎ＊は複数の特徴量を要素とするベクトルであり、推定情動Ｅｓｎ＊、推定情動Ｅｓｎ、理想出力ｘｎ＊は、上述の６種類の情動を要素とするベクトルである。また、学習に使用する学習データは、情動認識器５の学習に用いた学習データとは異なるものを用意してもよく、このことによりより汎化能力が高い誤差予測器６を得ることができる。
【００５８】
図５は、リカレントニューラルネットワークを用いた誤差予測器の学習方法を示す。誤差予測器の学習の場合には、対応するモーダルの時系列の特徴量ベクトルｓｎ、対応するモーダルにおける情動予測データである推定情動Ｅｓｎが入力層２１ａ、２１ｂに入力され、出力層２３ａから情動予測誤差ｘｎ＾が出力される。また、出力層２３ｂから出力される予測誤差ｘｎ＾がコンテキストループによりフィードバックされて入力層１１ｃに供給される。すなわち、時刻ｔ＋１における予測誤差ｘｎ＾は、特徴量ベクトルｓｎ、及び推定情動Ｅｓｎ、並びに時刻ｔで出力された予測誤差ｘｎ＾から出力される。
【００５９】
（４）リカレントニューラルネットワーク
次に、リカレントニューラルネットワークの一例について説明しておく。なお、次に説明する特開平８−６９１６号公報に記載のリカレント型ニューラルネットワークに限らず、上述したように、時系列データを入力とし、コンテキストを考慮した学習、認識を行うことができるものであればよい。
【００６０】
ニューラルネットワークとは、人間の脳における神経回路網を簡略化したモデルであり、それは神経細胞ニューロンが、一方向にのみ信号が通過するシナプスを介して結合されているネットワークである。ニューロン間の信号の伝達は、このシナプスを通して行われ、シナプスの抵抗、すなわち、重みを適当に調整することにより、様々な情報処理が可能となる。各ニューロンでは、結合されている他のニューロンからの出力をシナプスの重み付けをして入力し、それらの総和を非線形応答関数の変形を加えて、再度、他のニューロンへ出力する。
【００６１】
ニューラルネットワークの構造の一つに、図６に示すような多層型ネットワークがある。このタイプのネットワークは層構造を有し、層間の結合のみが許され、層内の結合や自己回帰的な結合は存在しない。この多層型ネットワークは、空間的に広がるパターンの認識や、情報圧縮に適していると考えられている。
【００６２】
一方、図７に示すように、ネットワークの構造にそのような制限を設けず、各ユニット間で任意の結合を許すものが、リカレント型ネットワークとよばれる。厳密に言うと、リカレント型ネットワークには層の概念はないが、ここでは多層型ネットワークとの対応をとるために、便宜的に層という概念を取り入れる。以下では、入力データが入力されるユニット群を入力層、ネットワークの出力を出すユニット群を出力層、その他のユニット群を中間層と呼ぶ。
【００６３】
リカレント型ネットワークでは、各ユニットの過去の出力がネットワーク内の他のユニット、または自分自身に戻される結合がある。そのため、時間に依存して各ニューロンの状態が変化するダイナミックスをネットワークの内部に有する。このように、ネットワーク内に時間を有するシステムであるので、リカレント型ネットワークは、時系列パターンの認識や予測に適していると考えられている。なお、多層型ネットワークは、リカレント型ネットワークの特別な場合と見ることができる。
【００６４】
リカレント型ニューラルネットワークの各ニューロンの従う状態方程式は下記式（１）、式（２）で与えられる。
【００６５】
【数１】
2005199403.tif 000003
【００６６】
【数２】
2005199403.tif 000004
【００６７】
ここで、ｘｉ（ｔ）は時刻ｔにおけるユニットｉの内部状態であり、出力値ｙｉは内部状態を非線形変換して決められる。また、τｉ，Ｘｉはそれぞれユニットｉの時定数、外部入力であり、ｗｉｊはユニットｊからユニットｉへの結合の重みである。Ｎは総ユニット数である。
【００６８】
時刻ｔ０から時刻ｔｎまでの各時刻におけるネットワークの状態を求める場合は次の手順により求めることができる。まず、初期状態として時刻ｔ０におけるネットワークの内部状態と出力値を適当に設定する。その後、上記式（１）及び式（２）を時間の順方向にｔ０からｔｎまで解く。
【００６９】
本実施の形態のように、時系列パターンの認識や予測に、リカレント型ニューラルネットワークを用いる場合、ネットワークが正しい出力を出すように、上述したように、特徴量ベクトル列などの時系列データである入力データと、推定情動などの時系列データである教師データ（出力データ）とが対になった学習データを用意し、それらを用いてネットワークの重み値、時定数、初期状態を予め学習しておく必要がある。これには通常、バックプロパゲーション法と呼ばれる最適化手法を用いて行われる。
【００７０】
この手法の特徴は、下記式（３）で与えられるようなｔ０からｔｎにわたる有限時間区間における誤差を小さくするように、最急降下法に基づき重みを修正することである。
【００７１】
【数３】
2005199403.tif 000005
【００７２】
ここで、Ｙｋ（ｔ）は時刻ｔにおけるユニットｋに提示される教師データである。但し、ｋは出力層に属するユニット群、Ｎｖは出力層に属するユニット数を示す。
【００７３】
重み値、時定数、初期状態の修正量を計算する際に用いられる最急降下方向は下記式（４）、式（５）、式（６）で与えられる。
【００７４】
【数４】
2005199403.tif 000006
【００７５】
【数５】
2005199403.tif 000007
【００７６】
【数６】
2005199403.tif 000008
【００７７】
ここでＰｉ（ｔ）はそれぞれユニットｉの逆伝搬誤差である。逆伝搬誤差は下記式（７）に従って計算される。
【００７８】
【数７】
2005199403.tif 000009
【００７９】
ここで、δｉｋはクロネッカーのデルタ記号である。上記式（７）では、出力層に属するニューロンの逆伝搬誤差は、他のニューロンからの逆伝搬誤差と重みの総和以外に、各時刻毎に出力値の誤差が加算される形になっている。また、ｄｆ(ｘｉ)／ｄｘｉ、(ｙｉ(ｔ)−Ｙｉ(ｔ))は、ｘｉ(ｔ)、ｙｉ(ｔ)が決まらないと計算できない。そこで、ｘｉ(ｔ)、ｙｉ(ｔ)を時間の順方向に計算した後、時刻ｔｎでは逆伝搬誤差は０であると仮定して、下記式（８）で与えられる境界条件を設定し、逆伝搬誤差をｔｎ→ｔ０の時間の逆方向に計算する。
【００８０】
【数８】
2005199403.tif 000010
【００８１】
最急降下方向の計算の手順は以下のように行う。すなわち、まず時刻ｔ０における各ユニットの初期状態を適当に設定した後、上記式（１）及び式（２）に従って各時刻の内部状態と出力値を計算し、その値を保存しておく。次に、時刻ｔｎにおける上記式（８）で与えられる逆伝搬誤差の境界条件を設定する。その後、先程計算した内部状態と出力値を用いて、上記式（７）に従って時間に逆行しながら各時刻の逆伝搬誤差を計算し保存する。最後に、求められた各時刻の出力値と逆伝搬誤差を用いて上記式（４）乃至式（６）で与えられる最急降下方向を計算する。
【００８２】
バックプロパゲーション学習の処理手順の詳細を、図８を用いて示す。  
まず、図８における学習データは、例えば、図７のような二つの入力層ニューロンと、一つの出力層ニューロンとを有するネットワークに対する学習データとする。学習データは図９に示すように、入力データと教師データとからなり、それぞれ（入力層ニューロン数×時系列サンプル点数）、(出力層ニューロン数×時系列サンプル点数）だけのデータ数を有する。
【００８３】
まず、適当な乱数などを用いて重み値、時定数、及び初期状態の初期値を設定する（ステップＳ１）。そして、逆伝搬誤差が収束するまで次のステップＳ２からステップＳ７までの処理を繰り返す。
【００８４】
まず、適当にネットワークの初期状態、すなわち、ネットワークの内部状態と出力値を設定した後、上記式（１）及び式（２）に従い入力データを用いて時間の順方向に各ユニットの内部状態、出力値を計算してそれを保存する（ステップＳ２）。
【００８５】
そして、上記式（８）の境界条件を設定し、その後、上記式（７）に従い、教師データを使用して時間の逆方向に各ユニットの逆伝搬誤差Ｐｉ(ｔ）を計算し、それを保存する（ステップＳ３）。
【００８６】
次いで、ステップ２で求めた内部状態及び出力値と、ステップ３で求めた逆伝搬誤差を用いて、上記式（４）乃至式（６）に従い最急降下方向を計算する（ステップＳ４）。
【００８７】
そして、ステップ２４で求めた最急降下方向と、前回の重みの修正量により下記式（９）乃至式（１１）に従って今回の重みの修正量を計算する（ステップＳ５）。
【００８８】
【数９】
2005199403.tif 000011
【００８９】
【数１０】
2005199403.tif 000012
【００９０】
【数１１】
2005199403.tif 000013
【００９１】
ここでγは学習係数、αはモーメント係数、ｎは学習回数である。右辺第２項はモーメント項と呼ばれ、学習を加速するために経験的に加える項である。
【００９２】
次いで、下記式（１２）乃至式（１４）に従い、各ユニットの重みを修正する（ステップＳ２６）。
【００９３】
【数１２】
2005199403.tif 000014
【００９４】
【数１３】
2005199403.tif 000015
【００９５】
【数１４】
2005199403.tif 000016
【００９６】
そして、ステップ７にて、誤差が一定の値以下に収束するか否かが判断され、誤差が一定値より大きい場合は、ステップ２からステップ６の処理を繰り返す。以上のようにして、情動認識器５や誤差予測器６の学習を行なうことができ、学習された情動認識器５及び誤差予測器６からなる情動推定部４を用いて情動推定装置１が構成される。
【００９７】
（５）各モーダル別の認識結果の統合（再現方法）
次に、情動推定装置１の情動推定方法について説明する。先ず、ロボット装置が有するカメラ２１やマイクロホン２２などの各種センサ手段が時系列のセンサ情報を取得する。そして、特徴量抽出部３は、この時系列のセンサ情報から、前処理として時系列の特徴量ベクトルを抽出する。すなわち、特徴量抽出部３により、表情、ジェスチャ、発話などのモーダル毎にモーダル別特徴量列として、時系列の特徴量ベクトルを抽出する。
【００９８】
次に、抽出された特徴量を対応する情動推定部４へ供給する。例えば、表情の特徴量であれば、表情用情動推定部４１へ、ジェスチャの特徴量であればジェスチャ用情動推定部４２へ、発話の特徴量であれば発話用情動推定部４３へ、特徴量ベクトル列が供給される。
【００９９】
各情動推定部４は、情動認識器５により時系列の特徴量ベクトルｓｎから推定情動Ｅｓｎを出力し、誤差予測器６により予測誤差ｘｎ＾を算出して出力する。なお、特徴量抽出部３は、情動認識器５や誤差予測器６内に配置に配置してもよい。上述したように、モーダル別推定情動Ｅｓｎはモーダル毎に設けられた情動認識器５毎に算出された情動推定ベクトルであり、情動の要素として定義した各感情（例えば、基本６感情）のそれぞれの値が含まれる。また、最終的な出力となる推定情動Ｅｓも同じく各感情の値が含まれたベクトル情報である。
【０１００】
誤差予測器６により算出された予測誤差ｘｎ＾は、対応するモーダルにソフトマックス演算器７に供給される。ソフトマックス演算器７は、誤差予測器６から出力された予測誤差ｘｎ＾を元に下記式（１５）のソフトマックス関数に従って情動認識器５の信頼度λｎを算出する。ここでｘｎ＾、ｘｌ＾は各誤差予測器の出力、σは各認識器の誤差をどの程度平均化して責任信号（信頼度）を算出するかを決定するパラメータである。
【０１０１】
【数１５】
2005199403.tif 000017
【０１０２】
それぞれの信頼度λｎは、下記式（１６）に示すように、対応する各情動認識器５が出力する推定情動Ｅｓｎに乗算され、これらを加算した総和が、時系列のセンサ入力情報を元に推定された最終的な情動認識結果ベクトルとしての推定情動Ｅｓとなる。
【０１０３】
【数１６】
2005199403.tif 000018
【０１０４】
このように、本実施の形態における情動推定装置１は、各モーダルに対応した情動認識器（要素認識器）５が、瞬間のセンサ情報のみから情動を推定するのではなく、それ以前の過去のセンサ情報も考慮し、時間的な広がりを持ったセンサ情報（時系列のセンサ情報）から特徴量を抽出して情動を推定することで、センサ情報のコンテキストを考慮して情動を認識することができる。すなわち、予め、情動認識器５及び誤差予測器６を再帰的学習方法、例えばリカレントニューラルネットワークなどのアルゴリズムを用いて、それぞれ時系列の特徴量ベクトルから推定情動を出力するフォワードモデル及び時系列の特徴量ベクトル及び／又は推定情動から予測誤差を出力するフォワードモデルを学習しておくことにより、各センサの入力情報から得られる特徴量ベクトルの時系列データを入力とし、コンテキストを考慮して情動を推定する情動推定装置を得ることができる。
【０１０５】
また、誤差予測器から得られた予測誤差をソフトマックス関数の処理によって信頼度に変換し、モーダルごとの認識結果に重み付けすることにより、各感情に対してより正確に判定を行うことができると予想されるモーダルの出力を重視した統合結果として推定情動Ｅｓを出力することができる。
【０１０６】
（６）情動予測装置
次に、ロボット装置が実行した行動のコンテキストを考慮し、その行動に応じてユーザの情動を予測する情動予測装置について説明する。情動予測装置は、上記のセンサ入力情報の履歴を元に現在のインタラクション対象の情動推定を行うモジュール（情動推定装置）と並列に、ロボット装置自らの行動とそれに対応するインタラクション対象（ユーザ）の情動変化を推定するモジュールである。この情動予測装置は、実行した行動ｋに応じて、行動実行後のユーザの情動変化を予想し、この予想した情動変化（以下、予想情動変化ｄＥｂｋという。）と、行動の実行前の上述の情動推定装置における推定結果Ｅｓ’とを統合し、予測情動Ｅｂを出力する。
【０１０７】
図１０（ａ）は、ロボット装置における情動予測装置に関わる要部を示す図である。図１０（ａ）に示すように、ロボット装置は、内部状態３１及び／又は外部刺激３２に基づき自律的に行動を実行するものであって、複数の要素行動（スキーマ）３３が木構造に構成されたスキーマツリーを有する行動制御器３０を供える。スキーマ３３は、内部状態３１及び外部刺激３２が入力されると、これらから各スキーマが自身に記述された行動の実行優先度を示す行動価値（アクティベーションレベル：Activation level）ＡＬを算出し、この行動価値ＡＬに基づき実行する行動を選択するモジュール（行動記述モジュール）であり、各モジュール毎にステートマシンを用意しており、それ以前の行動（動作）や状況に依存して、センサ入力された外部情報の認識結果を分類し、動作を機体上で発現する。各スキーマ３３は、自身に記述された行動に応じて所定の内部状態及び外部刺激が定義されている。
【０１０８】
ここで外部刺激３２とは、ロボット装置の知覚情報等であり、例えばカメラから入力された画像に対して処理された色情報、形情報、顔情報等の対象物情報等が挙げられる。具体的には、例えば、色、形、顔、３Ｄ一般物体、及びハンドジェスチャー、その他、動き、音声、接触、距離、場所、時間、及びユーザとのインタラクション回数等が挙げられる。
【０１０９】
また、内部状態３１とは、内部状態管理部（図示せず）にて管理される本能や感情といった情動であり、例えば、疲れ（FATIGUE）、痛み（PAIN）、栄養状態（NOURISHMENT）、乾き（THURST）、愛情（AFFECTION）、好奇心（CURIOSITY）等がある。例えば、内部状態「栄養状態」は、バッテリの残量を基に決定し、内部状態「疲れ」は、消費電力を基に決定することができる。
【０１１０】
そして、例えば行動出力が「食べる」であるスキーマ３３は、外部刺激３２として対象物の種類、対象物の大きさ、対象物の距離等を扱い、内部状態３１として「NOURISHMENT」（「栄養状態」）、「FATIGUE」（「疲れ」）等を扱う。このように、各スキーマ３３毎に、扱う外部刺激３２及び／及び内部状態３１の種類が定義され、該当する外部刺激３２及び／又は内部状態３１に対応する行動（要素行動）の行動価値ＡＬが算出される。なお、１つの内部状態、又は外部刺激は、１つの要素行動だけでなく、複数の要素行動に対応付けられていてもよいことはもちろんである。
【０１１１】
行動価値ＡＬとは、スキーマ３３をロボット装置がどれくらいやりたいか（実行優先度）を示すものである。この行動価値ＡＬに基づき、選択されたスキーマ３３は自身に記述された行動を出力する。この行動価値ＡＬは、内部状態３１及び外部刺激３２から算出される。具体的には、例えば、内部状態３１から、該当する行動について、どれだけやりたいかを示すモチベーションベクトル（Motivation Vector）が算出され、内部状態３１及び外部刺激３２から、該当する行動をやれるか否か示すリリーシングベクトル（Releasing Vector）が算出され、これら２つのベクトルから行動価値ＡＬを算出することができる。そして、例えば、アクティベーションレベルが最も高いスキーマを選択したり、アクティベーションレベルが所定の閾値を超えた２以上のスキーマを選択して並列的に行動実行するようにすることができる。但し、並列実行するときは各スキーマ同士でハードウェア・リソースの競合がないことを前提とする。
【０１１２】
行動制御器３０は、選択されたスキーマ３３を識別する識別ＩＤ（スキーマＩＤ）を出力し、このスキーマＩＤは情動予想装置４０に入力される。
【０１１３】
情動予測装置４０は、予想情動変化の値が格納された予想情動変化データベース４１を有し、入力されるスキーマＩＤが示す行動に基づき、当該行動の実行後に変化すると予想される情動変化（予想情動変化）を出力する。予想情動変化は、ロボット装置の行動制御器３０における行動制御アルゴリズムと密接な関係を持っており、行動制御アルゴリズムに定義された全てのスキーマ３３に対応した予想情動変化の値が定義されている。
【０１１４】
予想情動変化データベース４１は、実際のインタラクションを通じて観測された値を用いて動的に更新することができる。通常は、全てのインタラクション対象の人物について共通の予想情動変化データベースを構築するが、それまでにロボット装置が実際にインタラクションを行い、顔、声、名前などを記憶した人物毎にデータを保持することによって、人物毎に予測モデルとなる予想情動変化データベースを切り替え可能なように、予想情動変化データベースを構築してもよい。また、これらを組み合わせて、よく知っている人物に対しては人物毎に予想情動変化データベースを構築し、初対面の人物など用の共通に使用可能な予想情動データベースを構築しておいてもよい。
【０１１５】
そして、行動単位（スキーマ）ｋ毎に定義された予想情動変化ベクトル（予測情動変化）をｄＥｂｋとし、当該行動実行前の情動を、その行動を実行する前に観測されたセンサ情報から推定された推定情動Ｅｓ’、すなわち上述の情動推定装置にて算出された行動実行前の推定情動としたとき、これらを組み合わせ、行動履歴の情報を元に推定される下記式（１７）に示す予測情動Ｅｂが求められる。予測情動Ｅｂも上記基本６感情を要素とするベクトルである。
【０１１６】
【数１７】
2005199403.tif 000019
【０１１７】
（７）予想情動変化データベースの学習方法
次に、情動予測装置における予想情動変化データベースの構築方法（学習方法）について説明する。予想情動変化データベースは、行動を実行する前と後との情動の差分を表現したデータベースであり、初期状態の情動予測装置４０の予想情動変化データベース４１は全て０で初期化されており、センサ情報から推定された推定情動Ｅｓのみを利用してインタラクション対象の情動が判断される。その後は、実際にロボット装置が行動選択を行ってインタラクションした結果、行動前後におけるインタラクション対象の情動推定結果が得られた場合には、下記式（１８）に示すように、行動を実行した後の最終的な情動予測結果Ｅａと行動を実行した後の行動履歴に基づく推定情動Ｅｂとの差分の値を用いて予想情動変化データベースは更新される。
【０１１８】
【数１８】
2005199403.tif 000020
【０１１９】
ここで、ｄＥｂｋは各行動単位ｋに対応した予測情動変化ベクトル、Ｅａはセンサ情報から推定された推定情動Ｅｓと、行動履歴の情報を元に推定される予測情動Ｅｂとから得られる後述する最終的な出力としての推定情動Ｅ、αは学習係数、時刻Ｔ’は前回行動ｋを行った時間、時刻Ｔは次回、同一の行動ｋを行う時間を示し、ｄＥｂの値は、行動ｋに対応した値のみが更新される。また、時刻Ｔ’における推定情動Ｅａを示すＥａＴ’は、例えば行動実行後（時刻Ｔ’）に時系列のセンサ情報から抽出したユーザの時系列の特徴量に基づき推定された推定情動Ｅｓとして予測情動変化データベースを更新してもよい。また、例えば人為的にデータベースを作成したいときなどにおいては、時刻Ｔ’におけるユーザの情動を、教師データとして外部から供給したり、ロボット装置に教えたりすればよい。
【０１２０】
ここで、予想情動変化ｄＥｂｋＴを更新しようとした場合、目標とする値が推定情動Ｅａであり、それに対して前回の予測情動変化ｄＥｂｋＴ’を考慮して算出された値が今回の予測情動ＥｂｋＴとなるため、上記式（１８）の右辺に示すように推定情動ＥａＴ’と予測情動ＥｂｋＴ’との差分をとり、この値が正ならば予想情動変化ｄＥｂｋＴをより大きくする必要があり、負ならば予想情動変化ｄＥｂｋＴをより小さくする必要があることを示す。
【０１２１】
このように、時刻Ｔにおける予想情動変化ｄＥｂｋＴは、時刻Ｔ’における予想情動変化ｄＥｂｋＴ’に、時刻Ｔ’におけるユーザの情動ＥａＴ’と時刻Ｔ’における予測情動ＥｂｋＴ’との差に学習係数αを乗算した値を加算したものとなっており、行動履歴、すなわち行動のコンテキストを考慮したものとなっている。
【０１２２】
例えば、図１０（ｂ）に示すように、ある時点における予想情動変化データベース４１においては、例えばスキーマＩＤ（ｋ）＝１に記述された行動を実行すると、内部状態「JOY」が上昇し（１０）、内部状態「DISGUST」が減少している（−２５）。また、スキーマＩＤ（ｋ）＝６に記述された行動を実行すると、内部状態「JOY」が上昇し（＋５）、内部状態「DISGUST」が減少する（−１０）ことを示している。
【０１２３】
こうしてロボット装置は、行動を実行することで予想情動変化の値を更新し、予想情動変化データベース４１を学習することができる。なお、予想情動変化データベース４１は、常に更新し続けるものとしてもよいが、所定期間の行動実行結果に応じて更新した後に更新を終了してもよく、予め行動実行後の予想情動変化ｄＥｂｋが定義された予想情動変化データベースを使用してもよい。
【０１２４】
（８）情動認識システムにおける推定情動Ｅの推定方法
次に、時系列のセンサ入力情報に基づく認識結果と行動履歴に基づく情動予測結果の融合方法について説明する。上述した情動推定装置により、センサ入力情報に基づく認識結果として得られる推定情動Ｅｓは、センサ入力の時系列情報に従って逐次出力されるものであるが、情動予測装置により、行動履歴に基づく認識結果として得られる推定情動Ｅｂは、ある要素行動を完了した瞬間に得られる値である。したがって、行動履歴に基づいて予測された予測情動の信頼性は、行動完了後から時間の経過とともに低下する。この効果を反映させた上で、センサ入力に基づいて算出された情動認識結果（推定情動Ｅｓ）に対するトップダウンの補正を行うアルゴリズムを下記式（１９）及び式（２０）によって定式化する。これらの式（１９）、（２０）は、行動完了すぐの段階では、行動履歴に基づく情動予測結果である予測情動Ｅｂを重視し、行動完了から時間が経過するに従ってセンサ情報に基づく情動認識結果である推定情動Ｅｓを重視するように変化することを意味している。ここでｔはある行動が完了してからの経過時間（異なる行動が完了すると、０にリセットされる）、τ０及びτは時間経過に対する減衰の度合を決定するパラメータである。
【０１２５】
【数１９】
2005199403.tif 000021
【０１２６】
【数２０】
2005199403.tif 000022
【０１２７】
図１１は、情動認識システムのうち、情動推定装置１の推定結果である推定情動Ｅｓと、情動予測装置４０の予測結果である予測情動Ｅｂとを統合する情動統合部５２に関する部分を示す図である。図１１に示すように、結果統合部５２は、情動推定装置１からの推定情動Ｅｓと情動予測装置４０からの予測情動Ｅｂとが入力され、上記式（１９）、（２０）に従って推定情動Ｅを出力する。
【０１２８】
ここで、情動推定装置１は、上述したように、時系列のセンサ情報列から時系列の特徴量を抽出し、コンテキストを考慮して推定した推定結果を推定情動Ｅｓとして出力するセンサ情報分析システムとして作用する。
【０１２９】
また情動予測装置４０は、行動実行後に、行動履歴、すなわち行動のコンテキストを考慮して学習された予想情動変化データベース４１を参照して予想情動変化ｄＥｂｋを出力する情動変化予測部（行動履歴分析システム）４２と、この予想情動変化ｄＥｂｋ及び行動実行前の情動推定装置１’の推定情動Ｅｓ’から予測情動を算出する予測情動算出部４３とを有する。この情動予測装置４０は、行動実行後に予測情動Ｅｂを出力するもので、情動推定装置１’から行動実行前の推定情動Ｅｓ’を受け取り、情動予測部４２から実行した行動ｋに対応づけられた予想情動変化ｄＥｂｋを受け取り、これらを加算して推定情動Ｅｂを出力する。なお、図１１には、推定情動Ｅｓ’を出力する情動推定装置１’を記載しているが、情動推定装置１から行動開始前の推定情動Ｅｓ’を入力するようにすればよい。
【０１３０】
これらの出力データは、図１２のようになる。図１２は、ロボット装置が３つの行動Ｂ１〜Ｂ３を実行した際の推定情動の変化を示すグラフであって、上段から、時系列のセンサ情報に基づき、情動推定装置にて算出された推定情動Ｅｓ、次段は、この推定情動Ｅｓの時間減衰を考慮した値＝（１−η）Ｅｓを示す。
【０１３１】
また、３段目は、行動履歴に基づき予測された予測情動Ｅｂを示し、その後段は、この予測情動Ｅｂの時間減衰を考慮した値＝ηＥｂを示す。そして、５段目は、（１−η）Ｅｓ及びηＥｂを統合して得られる情動認識装置５０の認識結果である推定情動Ｅを示す。
【０１３２】
本実施の形態においては、複数のモーダルについて、モーダル毎に情動認識器を用意し、入力されるモーダル別の時系列のセンサ情報から抽出した時系列の特徴量ベクトルにより推定情動を算出し、更に、認識結果の予測誤差を求めて信頼度パラメータに変換し、認識結果に重み付けするため、センサ入力情報の時系列（コンテキスト）を考慮した情動を推定することができる。このことにより、センサのノイズによって推定情動が不安定になる、すなわち認識結果が支離滅裂に変化することを抑えて、極めて安定な認識結果とすることができると共に、信頼度λにより認識器の認識結果に重み付けして統合して推定情動Ｅｓとすることで極めて正確に情動を推定することができる。
【０１３３】
更に、センサ入力情報から認識器によって得られた推定情動Ｅｓだけではなく、ロボット装置自身の行動のコンテキストから情動変化を予測した予測情動Ｅｂを求め、推定情動Ｅｓにトップダウンの補正をかけると共に、センサ情報が入力され次第得ることができる推定情動Ｅｓと、行動結果後にのみ出力される予測情動Ｅｂの時間的な誤差を考慮する、すなわち、行動完了すぐの段階では、行動履歴に基づく予測情動Ｅｂの結果を重視し、行動完了から時間が経過するに従ってセンサ情報に基づく情動認識結果（推定情動Ｅｓ）を重視するようにパラメータηを変化させ、センサ入力に基づく認識結果（推定情動Ｅｓ）と、行動履歴に基づく情動予測結果（予測情動Ｅｂ）とを融合させることで、情動推定システムにて最終的に得られる推定情動を、ユーザの情動変化に対する、生物により近い自然な認識を可能する。
【０１３４】
また、自らの行動がインタラクション対象のどのような情動変化をもたらすかを推定するための予想情動変化データベース（フォワードモデル）は、情動推定装置１から得られた結果を教師データとして逐次的に、行動−情動予測モデルのリアルタイム学習を行うことができ、その予測精度を向上させることができる。
【０１３５】
このように、センサ情報から得られる推定情動Ｅｓだけではなく、それまでの人間とのインタラクション経験から、自らの行動が相手の情動に対してどのような変化をもたらすかの経験、すなわちロボット装置自身の行動のコンテキストを考慮し他者の情動遷移モデルとなる予想情動変化データベースを構築して予測情動Ｅｂを求め、情動推定装置１からの推定情動Ｅｓと合わせて判断することで推定情動Ｅの推定精度を向上することができる。したがって、ロボット装置は、インタラクション対象の情動を示すこの推定情動Ｅに応じて行動を選択することができ、例えばインタラクション対象を喜ばせたり、楽しませたりといった行動を発現してよりエンターテイメント性を向上することができる。
【０１３６】
Ｂ：ロボット装置
次に、上述した情動認識システムを搭載したロボット装置の一具体例について説明する。本実施の形態においては、２足歩行型のロボット装置を例にとって説明するが、２足歩行のロボット装置に限らず、４足又は車輪等により移動可能なロボット装置に適用できることはいうまでもない。
【０１３７】
この人間型のロボット装置は、住環境その他の日常生活上の様々な場面における人的活動を支援する実用ロボットであり、内部状態（怒り、悲しみ、喜び、楽しみ等）に応じて行動できるほか、人間が行う基本的な動作を表出できるエンターテインメントロボットである。また、自身の内部状態ではなく、上述の情動認識システムにおいて認識したユーザの情動に応じて行動を発現することも可能である。図１３は、本実施の形態におけるロボット装置の概観を示す斜視図である。
【０１３８】
図１３に示すように、ロボット装置１０１は、体幹部ユニット１０２の所定の位置に頭部ユニット１０３が連結されると共に、左右２つの腕部ユニット１０４Ｒ／Ｌと、左右２つの脚部ユニット１０５Ｒ／Ｌが連結されて構成されている（但し、Ｒ及びＬの各々は、右及び左の各々を示す接尾辞である。以下において同じ。）。
【０１３９】
このロボット装置１０１が具備する関節自由度構成を図１４に模式的に示す。頭部ユニット１０３を支持する首関節は、首関節ヨー軸１１１と、首関節ピッチ軸１１２と、首関節ロール軸１１３という３自由度を有している。
【０１４０】
また、上肢を構成する各々の腕部ユニット１０４Ｒ／Ｌは、肩関節ピッチ軸１１７と、肩関節ロール軸１１８と、上腕ヨー軸１１９と、肘関節ピッチ軸１２０と、前腕ヨー軸１２１と、手首関節ピッチ軸１２２と、手首関節ロール輪１２３と、手部１２４とで構成される。手部１２４は、実際には、複数本の指を含む多関節・多自由度構造体である。ただし、手部１２４の動作は、ロボット装置１０１の姿勢制御や歩行制御に対する寄与や影響が少ないので、本明細書では簡単のため、ゼロ自由度と仮定する。したがって、各腕部は７自由度を有するとする。
【０１４１】
また、体幹部ユニット１０２は、体幹ピッチ軸１１４と、体幹ロール軸１１５と、体幹ヨー軸１１６という３自由度を有する。
【０１４２】
また、下肢を構成する各々の脚部ユニット１０５Ｒ／Ｌは、股関節ヨー軸１２５と、股関節ピッチ軸１２６と、股関節ロール軸１２７と、膝関節ピッチ軸１２８と、足首関節ピッチ軸１２９と、足首関節ロール軸１３０と、足部１３１とで構成される。本明細書中では、股関節ピッチ軸１２６と股関節ロール軸１２７の交点は、ロボット装置１０１の股関節位置を定義する。人体の足部１３１は、実際には多関節・多自由度の足底を含んだ構造体であるが、本明細書においては、簡単のためロボット装置１０１の足底は、ゼロ自由度とする。したがって、各脚部は、６自由度で構成される。
【０１４３】
以上を総括すれば、ロボット装置１０１全体としては、合計で３＋７×２＋３＋６×２＝３２自由度を有することになる。ただし、エンターテインメント向けのロボット装置１が必ずしも３２自由度に限定されるわけではない。設計・制作上の制約条件や要求仕様等に応じて、自由度すなわち関節数を適宜増減することができることはいうまでもない。
【０１４４】
上述したようなロボット装置１０１がもつ各自由度は、実際にはアクチュエータを用いて実装される。外観上で余分な膨らみを排してヒトの自然体形状に近似させること、２足歩行という不安定構造体に対して姿勢制御を行うこと等の要請から、アクチュエータは小型且つ軽量であることが好ましい。
【０１４５】
このようなロボット装置は、ロボット装置全体の動作を制御する制御システムを例えば体幹部ユニット１０２等に備える。図１５は、ロボット装置１０１の制御システム構成を示す模式図である。図１５に示すように、制御システムは、ユーザ入力等に動的に反応して情緒判断や感情表現を司る思考制御モジュール３００と、アクチュエータ４５０の駆動等ロボット装置１の全身協調運動を制御する運動制御モジュール４００とで構成される。
【０１４６】
思考制御モジュール３００は、情緒判断や感情表現に関する演算処理を実行するＣＰＵ（Central Processing Unit）３１１や、ＲＡＭ（Random Access Memory）３１２、ＲＯＭ（Read Only Memory）３１３及び外部記憶装置（ハード・ディスク・ドライブ等）３１４等で構成され、モジュール内で自己完結した処理を行うことができる、独立駆動型の情報処理装置である。
【０１４７】
この思考制御モジュール３００は、画像入力装置３５１から入力される画像データや音声入力装置３５２から入力される音声データ等、外界からの刺激等に従って、ロボット装置１０１の現在の感情や意思を決定する。すなわち、上述したように、入力される画像データからユーザの表情を認識し、その情報をロボット装置１０１の感情や意思に反映させることで、ユーザの表情に応じた行動を発現することができる。ここで、画像入力装置３５１は、例えばＣＣＤ（Charge Coupled Device）カメラを複数備えており、また、音声入力装置３５２は、例えばマイクロホンを複数備えている。
【０１４８】
また、思考制御モジュール３００は、意思決定に基づいた動作又は行動シーケンス、すなわち四肢の運動を実行するように、運動制御モジュール３００に対して指令を発行する。
【０１４９】
一方の運動制御モジュール４００は、ロボット装置１０１の全身協調運動を制御するＣＰＵ４１１や、ＲＡＭ４１２、ＲＯＭ４１３及び外部記憶装置（ハード・ディスク・ドライブ等）４１４等で構成され、モジュール内で自己完結した処理を行うことができる独立駆動型の情報処理装置である。また、外部記憶装置４１４には、例えば、オフラインで算出された歩行パターンや目標とするＺＭＰ軌道、その他の行動計画を蓄積することができる。
【０１５０】
この運動制御モジュール４００には、図１４に示したロボット装置１０１の全身に分散するそれぞれの関節自由度を実現するアクチュエータ４５０、対象物との距離を測定する距離計測センサ（図示せず）、体幹部ユニット１０２の姿勢や傾斜を計測する姿勢センサ４５１、左右の足底の離床又は着床を検出する接地確認センサ４５２，４５３、足底１３１の足底１３１に設けられる荷重センサ、バッテリ等の電源を管理する電源制御装置４５４等の各種の装置が、バス・インターフェース（Ｉ／Ｆ）４０１経由で接続されている。ここで、姿勢センサ４５１は、例えば加速度センサとジャイロ・センサの組み合わせによって構成され、接地確認センサ４５２，４５３は、近接センサ又はマイクロ・スイッチ等で構成される。
【０１５１】
思考制御モジュール３００と運動制御モジュール４００は、共通のプラットフォーム上で構築され、両者間はバス・インターフェース３０１，４０１を介して相互接続されている。
【０１５２】
運動制御モジュール４００では、思考制御モジュール３００から指示された行動を体現すべく、各アクチュエータ４５０による全身協調運動を制御する。すなわち、ＣＰＵ４１１は、思考制御モジュール３００から指示された行動に応じた動作パターンを外部記憶装置４１４から取り出し、又は、内部的に動作パターンを生成する。そして、ＣＰＵ４１１は、指定された動作パターンに従って、足部運動、ＺＭＰ軌道、体幹運動、上肢運動、腰部水平位置及び高さ等を設定するとともに、これらの設定内容に従った動作を指示する指令値を各アクチュエータ４５０に転送する。
【０１５３】
また、ＣＰＵ４１１は、姿勢センサ４５１の出力信号によりロボット装置１０１の体幹部ユニット１０２の姿勢や傾きを検出するとともに、各接地確認センサ４５２，４５３の出力信号により各脚部ユニット１０５Ｒ／Ｌが遊脚又は立脚のいずれの状態であるかを検出することによって、ロボット装置１０１の全身協調運動を適応的に制御することができる。更に、ＣＰＵ４１１は、ＺＭＰ位置が常にＺＭＰ安定領域の中心に向かうように、ロボット装置１０１の姿勢や動作を制御する。
【０１５４】
また、運動制御モジュール４００は、思考制御モジュール３００において決定された意思通りの行動がどの程度発現されたか、すなわち処理の状況を、思考制御モジュール３００に返すようになっている。このようにしてロボット装置１０１は、制御プログラムに基づいて自己及び周囲の状況を判断し、自律的に行動することができる。
【０１５５】
このようなロボット装置には、動的に変化する作業環境下で一定時間内に応答できるようなヒューマン・インターフェース技術が要求されている。本実施の形態に係るロボット装置１０１は、情動推定システムを搭載することにより、周囲のユーザ（飼い主又はともだち、若しくは正当なユーザ）の情動を認識すると共に、認識結果に基づいてリアクションを制御することによって、より高いエンターテイメント性を実現することができる。
【０１５６】
なお、本発明は上述した実施の形態のみに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。また、上述の実施の形態における情動認識システムは、ハードウェアにより実現しても、任意の処理を、演算器にコンピュータプログラムを実行させることにより実現してもよいことは勿論である。この場合、コンピュータプログラムは、記録媒体に記録して提供することも可能であり、また、インターネットその他の伝送媒体を介して伝送することにより提供することも可能である。
【図面の簡単な説明】
【０１５７】
【図１】本発明の実施の形態における情動推定装置を示すブロック図である。
【図２】上記情動推定装置における、学習時の情動推定部５を模式的に示す図である。
【図３】上記情動推定装置における情動推定部のリカレントニューラルネットワークにおける学習方法を説明するための図である。
【図４】上記情動推定装置における、学習時の誤差予測器を模式的に示す図である
【図５】上記情動推定装置における誤差予測器のリカレントニューラルネットワークにおける学習方法を説明するための図である。
【図６】多層型ニューラルネットワークの一例を示す図である。
【図７】リカレント型ネットワークの一例を示す図である
【図８】リカレント型ネットワークにおける重み値、時定数、初期状態に対するバックプロバケーション学習方法を示すフローチャートである。
【図９】学習データの一例を示す図である。
【図１０】（ａ）は、ロボット装置における予測情動装置に関わる要部を示す図、（ｂ）は、予想情動変化データベースの一具体例を示す図である。
【図１１】本発明の実施の形態における情動認識装置の要部を説明する図である。
【図１２】本発明の実施の形態における情動推定結果、情動予測結果、及びこれらを統合した結果の一例を示す図である。
【図１３】本発明の実施の形態におけるロボット装置の概観を示す斜視図である。
【図１４】同ロボット装置が具備する関節自由度構成を模式的に示す図である。
【図１５】同ロボット装置の制御システム構成を示す模式図である。
【符号の説明】
【０１５８】
１  情動推定装置、２ｍ  センサ部、３ｎ  特徴量抽出部、４ｎ  モーダル別情動推定部、７ｎ  ソフトマックス演算器、８ｎ  乗算器、９  加算器、５ｎ  情動認識器、６ｎ  誤差予測器、１０  データベース、３１  内部状態、３２  外部刺激、３０  行動制御器、３３  スキーマ、４０  情動予測装置、４１  予想情動変化データベース、４２  予想情動算出部、５０  情動推定システム、５２  情動統合部
【図１】
2005199403.tif 000023
【図２】
2005199403.tif 000024
【図３】
2005199403.tif 000025
【図４】
2005199403.tif 000026
【図５】
2005199403.tif 000027
【図６】
2005199403.tif 000028
【図７】
2005199403.tif 000029
【図８】
2005199403.tif 000030
【図９】
2005199403.tif 000031
【図１０】
2005199403.tif 000032
【図１１】
2005199403.tif 000033
【図１２】
2005199403.tif 000034
【図１３】
2005199403.tif 000035
【図１４】
2005199403.tif 000036
【図１５】
2005199403.tif 000037