人工知能やビッグデータ解析やクラウドの技術進歩によって、ロボットや機械による人間らしいヒューマンインターフェースの研究は、盛んに研究されるようになりました。

ソフトバンクのPepperをはじめとして、日本でも商業レベルでロボットに人間らしい振る舞いをさせる取り組みは今後も注目を集めそうです。

一方で、ロボットが人間の感情を理解し、表現するためには、人間の行動や表現する感情を機械が理解し、自身の記憶や他者とのかかわり合いを考慮しながら複雑なコンテキストを自力で表現することが必要不可欠になってきます。人間ですら、自分の感情を理解することが出来ないのですから、非常に難しく終わりの見えない研究のようにも思えます。

本記事では、現在の感情に関する事例や進歩を感じられる研究を紹介していきます。

表情から人間の感情を推定する技術

ロボットやコンピュータは、カメラを通して人間の表情を解析することができます。人と人とのコミュニケーションを円滑にする上で、表情は重要な役割を果たしています。コンピュータビジョンでこの顔の動きを捕捉することができれば、人間の感情を推定することができそうです。

心理学や精神病理学などの分野では、FACS(Facial Action Coding System)と呼ばれる表情理論があります。FACSは表情を形成する筋肉の動きをコード化することで、客観的に顔の動きを分析したり自然な表情をアニメーションなどで再現することに応用されています。

それほど、表情と感情がリンクしているのであれば、顔画像から感情を推定することも、ディープラーニングを使った顔認識技術で精度向上が見込めそうです。

以下の画像は、顔画像から7つの表情(驚き,恐れ,嫌悪,怒り,喜び,悲しみ, 普通)に分類したデータセットです。

[2] EmoNets: Multimodal deep learning approaches for emotion recognition in video

この顔画像を分類する手法にディープラーニングを応用した研究があります。 その中には、オートエンコーダで学習したものもあります。以下の画像はオートエンコーダで学習したネットワークのフィルタを可視化した画像です。

[3] Emotion Detection using Deep Belief Networks

オートエンコーダで学習したフィルタを見ると、おでこや目元などにフォーカスするための検出器らしきものが自動抽出されていることが分かります。そのような検出器を開発することなく、自動でFACSのような顔面筋の特徴を抽出できていることが分かります。

顔画像をディープラーニングで感情分類する研究には、Convolutional Neural Networksを使った手法が好成績を残しています。Convolutional Neural Networksは、ニューラルネットワークの一種で画像認識のコンペティションで大きな成果を上げた手法です。詳細は以下の記事を参考にしてください。

定番のConvolutional Neural Networkをゼロから理解する /deep_learning/2016/11/07/convolutional_neural_network.html

こうして学習された表情分類では、ポジティブな感情では85.01%の分類率を達成しているものもあり、少量のデータセットでも転移学習することで分類精度の向上を達成している研究成果など [1] あります。

一方で、恐れや怒り・嫌悪などの複雑な表情に関しては、人間が見ても判断することが難しく、事前の学習データの作成の難しさが指摘されています。 ラベル付が失敗してしまえば、その後の学習に大きな影響を与えることは注意が必要です。

テキストから感情を推定する技術

キーボードで打ち込んだ文字を通して機械と通信し、人間と機械とを区別することが出来るかどうかを判定することを目的としたチューリングテストと呼ばれるテストがありますが、テキストから相手の感情を推定することができれば、気の利いた回答を返すことや、AIによる感情推定する上での参考になります。

長い文章列から分類する技術としては、Recurrent Neural Networksを使うことで単語の順序を考慮した分類することに活用されることがありますが、順序を考慮する必要性があるために、並列化が難しく、スケーラビリティに欠けるといった欠点がありました。

並列性と長い順序を考慮するRNNのいいとこ取りをしているのがQuasi-Recurrent Neural Networks [4] です。

自然言語からユーザの感情を推定するタスクとしてはIMDbという25,000点の映画レビューのデータセットをネガティブな文章かポジティブな文章なのかを判定するタスクで性能調査に利用されることがあります。

Quasi Recurrent Neural Networksでは、このタスクを90%以上の精度で分類することができます。

音声から感情を推定する技術

音声から直接Convolutional Neural Networksを使って感情推定する技術も進んでいます。人間の声色やトーンなど、従来手法では、音声認識した後に、個別に特徴抽出してSVMで分類していました。CNNを使った手法では、以下の図のように、生の音声データから直接感情分類することができます。

特徴抽出はチューニングと実装が難しく、時間がかかる上に、人手のミスの誘発や実行速度が犠牲になることがあります。CNNを使った手法ではリアルタイムで感情推定し、SVMよりも高精度になることが実験で示されています。 [5]

生体信号から感情を推定する技術

表情や言語データだけでなく、生体信号まで感情推定には使われています。

MITが発表した技術は、「EQ-Radio」と呼ばれるデバイスから無線信号をユーザに向けて発信することで、心拍数を測定して感情を推定する技術です。

EQ-Radioは、0.3%の誤差の範囲で正確に人の心拍数を測定することができます。さらに実験結果では、4つの感情に分類するのに87%の精度で正確に分類することが可能なのです。

表情をベースとした既存のシステムには、Microsoftの「Emotion API」があります。EQ-RadioはEmotion APIと比較して喜び・悲しみ・怒りに関する感情推定を正確に検出することができます。

AIは感情を獲得することができるのか

人間と親しくコミュニケーションするためには、感情を理解し、表現するエンジンを搭載することが必要になるでしょう。AIを活用することで、自然な感情表現をすることができるのでしょうか。

コンピュータの進歩によってビッグデータを処理することが可能になり、ディープラーニングのようなアルゴリズムが発達したおかげで、「りんな」などのチャットボットの対話生成も比較的自然にできるようになりました。

とはいえ、大規模なテキストから言語モデルを獲得するアプローチでは、本質的に感情の要素を学習していません。

最近の研究では、ニューラルネットワーク内部に感情状態と感情辞書を持つ [7] 感情エミュレーションの研究が進んでいます。

内部メモリについては、以下の記事を参考にしてください。

Attentionで拡張されたRecurrent Neural Networks /deep_learning/2017/03/03/attention-augmented-recurrent-neural-networks.html

下図のように、入力されたユーザーの会話から、感情状態を考慮しながら返答を返す仕組みになっています。

[7] Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory

このようにすることで、実験結果では以下のように同じユーザからの問いかけに対して、感情状態に応じた対話が可能になります。

ユーザ:最悪!渋滞のせいで遅刻してしまった。
(好ましい状態):いつでもあなたのサポートをするよ。
(幸福):笑って!そうすれば次第に良いことが起こるようになるよ。
(悲しい):たまに人生はつまらないことが起こるよね。
(怒り): 渋滞なんて無くなればいいのに!

まとめ

本記事では、「感情」にフォーカスを当てて研究事例を紹介してきました。人工知能は人間の感情を持つことは不可能だ。という意見をよく耳にしますが、様々なセンサデータを活用することや、アルゴリズムの進化のおかげで、実際には感情を持ち始めていると言ってもいいでしょう。

今後も人工知能に感情を搭載する研究開発が進むことで、より楽しく便利な社会が実現しそうですね。

参考文献

[1] Deep Learning for Emotion Recognition on Small Datasets Using Transfer Learning
[2] EmoNets: Multimodal deep learning approaches for emotion recognition in video
[3] Emotion Detection using Deep Belief Networks
[4] Quasi-Recurrent Neural Networks
[5] Real-Time Speech Emotion and Sentiment Recognition for Interactive Dialogue Systems
[6] Detecting emotions with wireless signals
[7] Emotional Chatting Machine: Emotional Conversation Generation with Internal and External Memory