CV-008, NL-120, Multimodal Transformer Networks for End-to-End Video-Grounded Dialogue Systems (ACL-2019)

◼ Comment

  • DSTC10-SIMMC2.0의 베이스라인 논문이라 읽어보았다.
  • 쉽게 말해서, 각 모달리티를 임베딩하고 아들을 attention한다.
    • 생각해보면, 직관적인 방법이다.
  • 그리고 loss가 2종류인데, 하나는 오토인코더로 재구성하는 과정, 다른 하나는 응답생성이다.
    • 이 부분이 다른 연구를 할 때 조금 참고가 될 수는 있겠다.

0 Abstract

  • Video-Grounded Dialogue Systems (VGDS)을 개발하는 것은 전통적인 image or text-grounded dialogue systems 보다 더욱 챌린지하다.
    • 여기서 대화는 주어진 비디오의 visual과 audio의 관점에서 구성이된다.
  • 왜냐하면 
    • (1) 여러 사진 frames을 가로질러 videos의 features space이 걸쳐져 있고 이것은  semantic information을 얻기 힘들게 한다.
    • (2) 대화 agent는 다른 모달리티들 (audio, video, caption, etc)으로부터 information을 프로세싱하고 인지해서 comprehensive understanding을 얻어야한다.
  • RNNs와 seq2seq 구조를 기반으로한 이전의 연구들은, 비디오와 같이 복잡한 long-term dependencies을 캡쳐하는데 효율적이지 못하다.
  • 이를 극복하기 위해, 우리는 Multimodal Transformer Networks (MTN)을 제안하여 비디오들을과 다른 모달리티의 정보들을 결합한다.
  • 우리는 또한 auto-encoder을 통하여 query-aware attention을 제안하여 query-aware features을 non-text 모달리티들로부터 추출한다.
  • 우리는 인퍼런스동안 생성된 response의 퀄리티를 증가시키기 위해, token-level decoding을 시뮬레이션하는 학습과정을 개발한다.
  • 우리는 Dialogue System Technology Challenge 7에서 SoTA을 달성한다.
  • 우리의 모델은 또한 다른 멀티모달 visual-grounded dialogue task으로 일반화하고 신뢰할만한 성능을 얻을 수 있다.
  • We implemented our models using PyTorch and the code is released at https://github. com/henryhungle/MTN.

1 Introduction

  • video-grounded dialogue system (VGDS)는 사람의 queries에 적절한 대화 response을 생성한다.
    • 또한 관련된 대화 컨텍스트을 track을 유지할 뿐만 아니라 주어진 비디오의 context에서 (knowledge grounded in a video) query와 관련성을 이해함으로써 response을 생성한다.
  • 대화 교환의 예로 그림 1에서 보여준다.
  • 이러한 시스템들을 개발하는 것은 최근 연구 커뮤니티에서 많은 관심을 받았다. (DSTC7 챌린지)
  • 이러한 테스크는 전통적인 text-grounded or image-grounded 대화 시스템보다 더 챌린지하다.
    • (1) 비디오의 feature space는 크고 text-based or image-based featires보다 좀 더 복잡하다.
      • 왜냐하면 diverse information 때문이다. 
      • 여러 비디오 프레임을 가로지르는 background noise, human speech, flow of actions, etc 등과 같은 정보를 말하는 것이다.
    • (2) conversational agent는 다른 모달리티로부터 (비디오로부터 visual, audio features와 사람의 질문과 대화 히스토리부터의 text) 정보 이해와 인지하는 능력을 가져야하고 사람에게 의미있는 response을 형성해야한다.
  • 멀티모달 대화 시스템에대한 기존의 접근법들은 sequence processing으로 RNNs을 기반으로 하고 seq2seq 네트워크를 전체 구조로하여서 텍스트의 sequential information을 모델링하였다. (Das et al., 2017a,b; Hori et al., 2018; Kottur et al., 2018). 
    • 몇 개의 노력들은 query-aware attention을 적용하여 모델이 대화 컨텍스트와 많은 관련있는 features의 특정 부분에 집중하도록 하였다.
  • 신뢰할만한 결과들에도 불구하고, 이러한 방법들은 비디오 프레임을 프로세싱하는데 매우 효율적이지 못한다.
    • 왜냐하면 여러 모달리티로부터 long term sequential information의 복잡성 때문이다.
  • 우리는 Multimodal Transformer Networks (MTN)을 제안하고, 이는 비디오 프레임으로부터 복잡한 sequential information을 모델링하고 또한 다른 모달리티의 정보들과 결합한다.
    • MTNs는 다른 representation subspaces의 정보에 같이 집중함으로써 비디오와 같은 멀티모달 데이터에 대해 복잡한 추론을 하게 하고 RNNs보다 다른 모달리티로부터 정보를 쉽게 결합하게한다.
  • Text에대한 Transformers의 성공으로부터 영감받아, 우리는 새로운 아키텍쳐 VGDS을 제안한다.
    • (1) 우리는 비디오 프레임으로부터 multi-head attention layers을 사용하여 복잡한 sequqential information을 캡쳐한다.
      • Multihead attention은 다양한 모달리티에 대해 적용된다. (visual, audio, captions)
      • 이것은 모델이 비디오를 종합적으로 추론하여 사람의 질문에 답할 수 있도록 하는 메모리 네트워크처럼 작동합니다.
    • (2) 우리는 query-aware attention layer을 고안해서 auto-encoder 요소를 제안하여 입력 비디오의 non-text features애 대한 모델의 추론 능력을 향상시킨다.
    • (3) 우리는 학습동안 token-level decoding을 시뮬레이션에 의한 생성된 response을 향상시키는 학습 접근법을 적용한다.
  • 우리는 video 기반의 대화 데이터세트에 대해 MTN을 평가한다. (DSTC 7에서 릴리즈된 데이터)
  • 각 대화에서, 오디오, visual, video caption와 같은 비디오 features들은 사용가능하며, 이는 대화를 이해하도록 프로세싱된다.
  • 우리는 우리의 접근법을 검증하기 위해 포괄적인 실험들을 한다.
    • 우리의 결과들에대한 automatic evaluations, ablations, qualitative 분석들을 한다.
  • 우리는 또한 우리의 접근법을 visual 기반의 대화 테스크에서 검증하고 다른 멀티모달 대화 시스템에 대해 일반화할 수 있음을 보여준다.

2 Related Work

3 Multimodal Transformer Networks 

  • 입력 비디오 V와 caption C와 각 (question, answer) (Q1, A1), ...,(Qt−1, At−1)의 쌍을 포함한 대화 컨텍스트 (t-1) turns와 비디오 컨텐츠에 대한 factual query Qt가 주어졌을 때, VGDS의 목표는 적절한 대화 response At을 생성하는 것이다.
  • 우리는 Transformer 네트워크의 attention 기반을 따르고 새로운 구조를 제안한다.
    • Multimodal Transformer Network은 다른 모달리티로부터 feature representations을 우아하게 융합한다.
  • MTN은 3개의 주요 요소들로 구성된다.
    • encoder, decoder, auto-encoder layers이다.
  • (1) Encoder layers은 입력 비디오와 텍스트 시퀀스들을 연속적인 representation으로 인코딩한다.
    • Positional encoding은 토큰 및 비디오프레임에서 각각 비디오 features의 입력 텍스트의 sequential 특성을 부여하는데 사용한다.
  • (2) Decoder layers은 target sequences을 project하고 다양한 인코딩된 features에서 multi-haed attention 메커니즘으로 추론을 수행한다.
    • feed-forward and residual connections와 결합된 attention layers은 응답생성을 위해 생성 요소로 전달되기 전에  N attention steps을 걸쳐 projected target sequence을 처리한다.
  • (3) Auto-encoder layers은 입력 비디오의 관점에서 visual과 audio에 대해 query-aware attentions와 함께 비디오 features을 강화한다.
    • multi-haed attentions layers의 네트워크는 unsupervised 방법으로 attention을 배우기 위해 query auto-encoder로써 작동한다.
    • 우리는 이러한 모듈들을 MTN 모델와 결합하고 모델을 end-to-end로 학습한다.
  • 전체 MTN 구조는 그림2에서 보여준다.
  • 그 다음, 우리는 각 요소의 세부를 다룰 것이다.

3.1 Encoder Layers

  • Text Sequence Encoders. 
    • 인코더 layers은 토큰들의 각 시퀀스 (x1, ..., xn)을 continuous representation z = (z1, ..., zn) ∈ R^d로 매핑한다.
    • An overview of text sequence encoder can be seen in Figure 3. 
    • 인코더는 token 레벨 학습된 임베딩으로 구성되고 fixed positional encoding layer와 layer normalization으로 구성되어있다.
    • 우리는 positional encoding을 소스 시퀀스의 sequential 정보와 결합하는데 사용한다.
    • token-level positional embedding은 element-wise 합을 사용하여 embedding layer의 top에 추가된다.
    • 학습된 embedding과 positiona encoding 둘다 같은 차원 d을 가진다.
    • We used the sine and cosine functions for the positional encoding as similarly adopted in (Vaswani et al., 2017). 
    • Transformer encoder와 비교하여, 우리는 self-attention와 함께 encoder layers을 stack하여 소스 시퀀스들을 인코딩하지 않는다.
    • 대신에, 우리는 layer normalization을 임베딩의 top에 사용한다.
    • 우리는 또한 stacked Transformer encoder blocks으로 실험하고, 이는 self-attention과 feed-forward layers으로 구성되고 우리의 접근법과 비교한다 (테이블 4)
    • targe 시퀀스 At = (y1, ..., ym)는 one position만큼 offest되어서 이전의 positions 1, ..., (i-1)에 의해 auto-regressive한 디코딩 step i에서의 예측을 보장한다.
    • 여기서, 우리는 소스 시퀀스들의 인코더의 embedding weights을 공유한다.
      • 즉 query, video caption, dialogue history
  • Video Encoders. 
    • 비디오 V가 주어졌을 때, 그것의 features는 n-video-frame 길이의 sliding 윈도우로부터 추출된다.
    • 그 결과 모달리티 m에 대한 모달리티 특징 벡터 fm ∈ R^{numSeqs×dm}이 생성됩니다.
    • 각 fm은 n개의 비디오 프레임 시퀀스에 대한 기능을 나타냅니다.
    • 여기서 우리는 시각 및 청각 기능 M = (v, a)를 모두 고려합니다.
    • 우리는 사전 훈련된 특징 추출기를 사용하고 훈련 중에 추출기의 가중치를 고정된 상태로 유지합니다.
    • 장면 시퀀스 s1, ..., sv 세트의 경우 양식 m에 대해 추출된 특징은 fm = (f1, ..., fv)입니다.
    • 특징 벡터를 dm-에서 d-차원 공간으로 변환하기 위해 ReLU 활성화가 있는 선형 네트워크를 적용합니다.
    • 그런 다음 fm에 순차적 정보를 주입하기 위해 이전과 동일한 위치 인코딩을 사용합니다.
    • 비디오 인코더의 개요는 그림 3을 참조하십시오.

3.2 Decoder Layers (번역)

  • 각 소스 시퀀스 xs에 대한 연속 표현 zs 및 오프셋 대상 시퀀스에 대한 zt가 주어지면 디코더는 출력 시퀀스(y2, ..., ym)를 생성합니다 (첫 번째 토큰은 항상 hsosi 토큰임).
  • 디코더는 N개의 동일한 레이어의 스택으로 구성됩니다.
  • 각 레이어에는 오프셋 대상 시퀀스 zt , 대화 기록 zhis, 비디오 캡션 zcap, 사용자 쿼리 zque 및 비디오 비텍스트 기능 {fa, fv}과 같은 4개 이상의 kMk 하위 계층이 있으며 각 하위 계층은 개별 인코딩된 입력에 주의를 기울입니다. .
  • 각 하위 계층은 다중 헤드 주의 메커니즘과 위치별 피드포워드 계층으로 구성됩니다.
  • 각 피드포워드 네트워크는 사이에 ReLU 활성화가 있는 2개의 선형 변환으로 구성됩니다.
  • 우리는 각 주의 블록 주위에 잔여 연결(He et al., 2016)과 계층 정규화(Ba et al., 2016)를 사용했습니다. zs에 대한 다중 헤드 주의는 다음과 같이 정의됩니다.

    • where W Q i ∈ R d×dk , WK i ∈ R d×dk , WV i ∈ R d×dk , WO i ∈ R hdv×d (the superscripts of s and t are not presented for each W for simplicity). 
    • z dec out is the output of the previous sub-layer.
  • multi-head attention은 모델이 sequences의 다른 positions에서 text sequence features에 대해 주의를 가지는 모델링을 하게 한다.
  • visual과 audio features에 대한 multi-head attention을 사용함으로써, 모델은 sequences frame에 대해 attend할 수 있고 비디오의 다른 부분에서 informatino을 project와 extract할 수 있다.
  • 다른 입력요소에 대해 multiple attentions을 사용하는 것은 모델이 모든 것에 대해 같은 attention network을 사용하는 대신 입력에 따라 다르게 attend하게 한다.
  • 우리는 또한 입력 시퀀스들을 concatenating하는 실험을 하고 각 decoding layer에서 attention block 한개 만을 사용하는 실험도 한다. (Transformer decoder와 유사하게, Appendix B)

3.3 Auto-Encoder Layers 

  • multi-head attentions은 다른 입력 요소들에대해 dynamic attentions하게 함으로써, 입력 비디오의 입력 query와 non-text features 필수적인 상호작용이 완벽히 수행되지 않는다.
  • residual connenction이 적용되고 video attention block이 디코더 layer의 끝에 위치한동안, video features에 대한 attention은 아마도 필수가 아닐 것이다.
  • 우리는 video features에 대한 query-aware attention을 별도의 요소로 추가하는 것을 고려한다.
  • 우리는 unsupervised 방식으로 query auto-encoder가 모델이 비디오의 query와 연관된 features에 집중하도록 작동하도록 고안한다.
    • auto-encoder는 N layers의 stack으로 구성되고, 각각은 비디오 features에 대해 query self-attention과 query-aware attention을 포함한다.
  • 그래서, sub-layers의 수는 1 + ||M||이다.
  • self-attention에서, 이전 sub-layer의 출력  (혹은 첫번째 auto-encoder stack인 경우 )은 식3에서 q, k, v에 동일하게 사용된다.
  • 반면, query-aware attention에서 는 q에서 사용되고 는 k,v에 사용된다.
  • n-th auto-encoder layer에서, video features 에 대한 각 query-aware attention의 출력은 n-th decoder layer에 해당하는 video attention layer을 통과한다.
  • decoding layer n-th에서 주어진 모달리티 m에대한 각 video attention head i은 다음과 같이 정의된다.
  • 디코더와 auto-encoder는 인코딩된 query features가 두 모듈사이에 공유되기 때문에 one-to-mnay 세팅과 비슷하게 네트워크를 생성한다.
  • 우리는 또한 auto-encoder을 query-aware encoder layers으로 사용하는 것을 고려한다.
    • video features에 대한 즉 query self-attention과 query-based attention을 사용하고 decoder의 N번째 block에서 final layer의 출력을 추출하낟.
  • 성능의 비교는 auto-encoder 구조가 관련된 video features을 캡쳐하는데 효과적임을 보여준다.

3.4 Generative Network

4 Experiments
5 Qualitative Analysis
6 Conclusion

  • In this paper, we showed that MTN, a multi-head attention-based neural network, can generate good conversational responses in multimodal settings. 
  • Our MTN models outperform the reported baseline and other submission entries to the DSTC7. 
  • We also adapted our approach to a visual dialogue task and achieved excellent performance. 
  • A possible improvement to our work is adding pre-trained embedding such as BERT (Devlin et al., 2018) or image-grounded word embedding (Kiros et al., 2018) to improve the semantic understanding capability of the models.

Reference

댓글