Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2019: Multimodal Transformer Networks for End-to-End Video-Grounded Dialogue Systems #272

Open
jojonki opened this issue Jul 14, 2019 · 0 comments

Comments

@jojonki
Copy link
Owner

jojonki commented Jul 14, 2019

Multimodal Transformer Networks for End-to-End Video-Grounded Dialogue Systems
Hung Le, Doyen Sahoo, Nancy F. Chen, Steven C.H. Hoi
Accepted at ACL 2019 (Long Paper)
https://arxiv.org/abs/1907.01166
pytorch's code: https://github.com/henryhungle/MTN

概要

Video-Grounded Dialogue Systems (VGDS)の研究.音声付き動画とそのキャプションが与えられ,それに関する質問に答える能力を評価する.この問題に対して,我々はMultimodal Transformer Networks (MTN)を提案.ビデオをエンコードし,複数のモダリティの情報を取り込むことができる.また非テキストから得られるquery-awareな特徴量を抽出するため,auto-encoderを通してquery-awareアテンションを提案.推論時は生成応答の品質を改善するために,トークンレベルのデコーディングをシミュレートする.提案モデルはDSTC7でSOTA.さらに他のvisual-grounded dialog taskでも汎化できることを確認した.

イントロ

今回扱うような事例はFig 1.// スクショになっているが,動画である
VQAなどと比べても,静止画でないのでかなりチャレンジングなタスクになっている.
Screen Shot 2019-07-14 at 2 07 53 PM

マルチモーダルの多くの研究はRNNをベースにモデルを構築するものになっている.また中にはモデルに特定の特徴量にアテンションするようなことを可能にしたモデルもある.ただしこれらの研究でも,ビデオフレームのような複雑で長いシーケンシャルのデータに対してはうまく適用できていない.

関連研究

スキップ.VisionとNLPに関する研究などが記載されている.2章参照.

Multimodal Transofrmer Networks (MTN)

ビデオV,キャプションC,t-1ターンまでの対話コンテキスト((Q1, A1), ..., (Qt-1, At-1)),が与えられ,Qtが与えられ,Atを生成する問題.我々はTransformerを使い,異なるモダリティを表現し,queryに関連する特徴量を異なるモダリティの中からアテンションし利用して推論するモデルを提案.

MTNは3つのコンポーネントから成る.

  1. Encoder layers
    テキストシーケンスとビデオをエンコードし,系列表現を得る.位置エンコーディングでは,トークンにおける入力テキストの系列特徴量,ビデオフレームにおけるビデオ特徴量を抽出するために利用される

  2. Decoder layers
    ターゲットシーケンスを出力し,マルチヘッドアテンションを利用して複数特徴量にアテンションし推論を行う.アテンションレイヤーは、feed-forwardとresidual接続を組み合わせ,応答生成モジュールに渡す前にN回のアテンションステップを通してターゲットシーケンスを処理する.

  3. Auto-encoder layers
    入力ビデオの映像と音声におけるquery-awareなアテンションを張り,ビデオ特徴量を強化する.マルチヘッドアテンションのネットワークは,クエリのauto-encoderとして利用され,教師なしのマナーでアテンションを学習する.

上記3つを組み合わせたものをMultimodal Transoformer Networksモデルを呼び,E2Eで学習.アーキテクチャはFig 2で詳しくは次の章で.
Screen Shot 2019-07-14 at 2 45 59 PM

3.1 Encoder Layers

Screen Shot 2019-07-14 at 3 02 49 PM

  • Text Sequence Encoders(Fig 3 左)
    x1,...,xnをz1,...,znにエンコードする.トークンレベル埋め込み,ポジションエンコーディング、レイヤー正規化から成る.
    またstackedなTransformer encoder blocksも試しており,自己アテンションのフィードフォワードレイヤーと我々のアプローチと比較している(Table 4, Row A and B-1).またソースシーケンスの埋め込みの重さは,query, video caption, 対話履歴で共有で利用.

  • Video Encoders(Fig 3 右)
    n枚のビデオフレームを利用するスライディングウインドウで抽出し,n枚のフレーム毎に特徴量を得る.ビデオには映像と音声が含まれる(M=(v,a))ため,それぞれでエンコードする.我々は事前学習ずみの特徴量抽出器を利用し,学習中は抽出器のパラメタは固定.その後にReLUを通し,Text encodersと同様のポジションエンコーディングを行う.最後に正規化レイヤーを通した.

Decoder Layers

各ソースシーケンスxsの連続表現zsを受けて,ztがターゲットシーケンスとして出てくる.ここのdecoderでは,出力シーケンス(, y2, ..., ym)を出力する.decoderはN個のスタックレイヤーとなっており,さらに各レイヤーは,ターゲットシーケンスzt, 対話履歴zhis, ビデオキャプションzcap,ユーザークエリzque, そしてビデオから動画と音声のfa, fvのサブレイヤーから成る.
各サブレイヤーはマルチヘッドアテンション機構であり、position-wiseなフィードフォワードレイヤーになっている.各フィードフォワードは2つの線形変換+ReLUから成る.さらにresidual接続と正規化レイヤーを各アテンションブロックに採用.zsにおけるマルチヘッドアテンションは下記のように定義できる.
ユーザークエリ(テキスト)でアテンションしているため,テキストシーケンスの特徴量から,映像と音声の特徴量にアテンションすることで,ビデオの異なるポジションにおけるアテンションが可能になり情報を抽出できる.

Screen Shot 2019-07-14 at 3 40 15 PM

Auto-Encoder Layers

マルチヘッドアテンションは,異なる入力コンポーネントに動的にアテンションするため,入力クエリと入力ビデオの非テキストの基本的なインタラクションは完全に実装されていない.またresidual接続が採用され,デコーダーレイヤーの最後にビデオアテンションブロックが入ったが,ビデオ特徴量のアテンションは最適ではないかもしれない.そこで別コンポーネントとしてビデオ特徴量におけるquery-awareなアテンションを考える.それをビデオ特徴量のquery-related特徴量に注目できるようにquery auto-encoderを作る.このauto-encoderはN個のスタックレイヤーであり,各レイヤーはqueryの自己アテンション,ビデオ特徴量(映像と音声)のquery-awareアテンションをもつ.

Generative Network

線形変換レイヤー+softmaxでトークンレベルで単語を予測.AEも同様.

Simulated Token-level Decoding
学習時と異なり,推論時はデコーディングは,トークン単位で文を生成する自己回帰プロセス.学習時にこのプロセスを再現するために下記を行った.これにより学習と推論でのデコーダーへの入力ミスマッチを減らすことができる.またターゲットシーケンスのみにこのプロセスは適用し,query AEには利用しない

  • 長さLのターゲットシーケンスを常に使うわけでなく、トークンレベルのデコーディングでは下記を行う
    • 確率50%で一様ランダムで決めたポジションより右側はcropして削る
       - 以前述べたようにターゲットシーケンスはデコーダーへの入力として1つ位置文オフセットされる

実験

DSTC7

DSTC7を利用.統計情報はTable 1.音声と映像特徴量の抽出器にはYouTubeとKineticsデータセットにおける事前学習ずみの抽出器を利用.// see Kay 2017, Hori, 2018
また他具体的な処理はA.1
Screen Shot 2019-07-15 at 9 47 10 AM

Training

生成するターゲットシーケンスと入力クエリ(AEの出力)に対する一般的な最尤推定を目的関数に採用.またレイヤーのスタック数や隠れ層のサイズを変えて,BASEとLARGEを作った.
他ハイパパラメタは4.2参照.PyTorchのgithubコードもある

Video-Grounded Dialogues

提案するMTNモデルとベースライン(Hori 2018),他のDSTC7 Track 3に提出されたモデルを比較.評価メトリクスは,BLEU, CIDEr, ROUGE-L, METEOR.テストデータのリファレンスと比較する形で評価. // see 参考リンク
結果はTable 3.

  • LARGEはこれまで報告されていたモデルを全て上回る
  • BASEもそこそこ既存のものを上回る
  • 提出されているモデルが外部データやアンサンブルを利用しているのに対して,我々は提供されているテストデータのみ利用している

Screen Shot 2019-07-15 at 9 56 09 AM

トークンレベルデコーディングシミュレーションのインパクト
トークンレベルデコーディングシミュレーションの分析をするためにテキスト飲みの対話を検討(映像と音声なし).またqueryのAEも取り除いた.クロップする確率を0, 0.1,...,1.0と変えていってパフォーマンスの違いをみた.Fig 4にあるように,p=0.5周辺で性能向上が見られル.p=1では必ずクロップされたものが渡されるのでパフォーマンスが低くなっているようだ.
Screen Shot 2019-07-15 at 10 04 57 AM

Ablation Study

  • テキストのみ設定において(A, B-1),Aが悪い.自己アテンションエンコーダーは、Lie 2018で述べられている通りモデルの最適化が難しい.
  • キャプションを除き,映像か音声を使った設定において(B-2, B-3, C-1, C-2),query-awareアテンションを使ったC-1, C-2の方が良い.
  • エンコーダーとしてAE構造を使い(つまりqueryの生成モジュールはなし),エンコーダーのN番目のレイヤーの出力をデコーダーの1番目の入力に使った設定において(D),AEはスタックレイヤーよりも優れていた.我々のあー木では,デコーダーとAEはパラレルに計算できるため処理スピードの観点で良い.
  • 他組み合わせの結果は付録Bへ

Screen Shot 2019-07-15 at 10 10 29 AM

Visual Dialogues

他のビジョン対話であるVisDial (画像を与えてそれについての対話,Das 2017a)を使ってMTNの汎化性能を確かめる.DSTC7よりはるかに学習データが多く,COCOデータセットからの120万以上の対話データがある.このタスクでは応答は生成でなく,100個の応答候補から選ぶ問題.ただMTNの応答生成モデルはそのままで学習時は同様に最尤推定し,推論時は応答をランクづけする形.またposition encodingも動画でなく静止画なので使っていない.他のコンポーネントおよびパラメタは変更なし.
Normalized Discouted Cumulative Gain (NDCG)スコアtいうものを評価サーバーに送る形で評価.
Table 2にその結果.興味深いことにMTNが既存のretrievalスタイルのアプローチよりもよかった.NDCGスコアが他にもよかったモデルがリーダーボードに提出されていたが,それらのアプローチが比較するにはクリアでなかったため記載していない.// 手法に関してペーパーが出ていない手法なのか?
Screen Shot 2019-07-15 at 6 45 16 PM

定性分析

Fig 6にbaseline(Hori, 2018)と比較した対話応答がある.

  • MTNはより正確
  • "with a cloth in her hand"のようにより手の込んだ応答になってる
  • single action (cleaning the table)やseries of actions (walks over to a closet and takes off her jacket)のどちらもできており,複数モダリティを捉えられていることがわかる

Screen Shot 2019-07-15 at 6 48 02 PM

Fig 5にbaselineと比べてCIDErスコアを掲載.1~10ターンにおいていずれも優れている.さらに短い対話でもうまくいっているし,長い対話でもうまくいっている
Screen Shot 2019-07-15 at 6 47 53 PM

結論

マルチモーダルの設定でマルチヘッドアテンションを採用したMTNを紹介.DSTC7でSOTA.静止画対話においても良い結果になった.BERTやimageでグラウンドした事前学習型単語埋め込みでモデルが改善するかも見てみたい

参考

@jojonki jojonki changed the title 🚧 2019: Multimodal Transformer Networks for End-to-End Video-Grounded Dialogue Systems 2019: Multimodal Transformer Networks for End-to-End Video-Grounded Dialogue Systems Jul 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant