CV-007, NL-119, Learning Better Visual Dialog Agents with Pretrained Visual-Linguistic Representation (CVPR-2021)

0 Abstract

  • GuessWhat?!은 visual dialog guessing 게임으로 Orace agent가 이미지의 타겟 object에 대해 관련된 질문에대해 답하는 동안, Questioner agent가 질문의 시퀀스들을 생성하는 것을 결합한 것이다.
  • Questioner과 Oracle 사이의 대화 히스토리를 기반으로, Guesser agent는 target object의 최종 guess을 만들어낸다.
  • 이전의 연구들은 dialogue policy optimization과 visual-linguistic informatino fusion에 초점을 맞춰왔으나, 대부분의 연구들은 vision-linguistic representation의 shared and prior knowledge없이, GuessWhat?!에서 온전히 3개의 agents을 위한 vision-linguistic을 배운다.
  • 이러한 gaps을 해결하기 위해, 이 논문은 새로운 Oracle, Guesser and Questioner을 제안하여 pretrained vision-linguistic model의 장점을 취한 모델 VilBERT을 제안한다.
    • Oracle 모델에서, 우리는 background/target fusion 2가지 메커니즘을 소개하여 intra and inter-object questions을 이해한다.
    • Guesser 모델에서, 우리는 expression comprehension을 참조하는 single-turn에서 VilBERT의 장점을 매우 잘 활용하는 state-estimator을 소개한다.
    • Questioner에서, 우리는 question generator을 가이드하기위해 pretrained Guessor와 Quesionter로부터 state-estimator을 공유한다.
  • Experimental results show that our proposed models outperform state-of-the-art models significantly by 7%, 10%, 12% for Oracle, Guesser and End-to-end Questioner respectively. 

1. Introduction 

  • 멀티모달 대화 테스크들은 최근에 GuessWhat?!, GuessWhich?!, VisDial, VDQG, vision-and-language navifation R2R, ImageChat, Alfered등과 같이 관심이 많아졌다.
  • 멀티모달 대화 테스크들은 높은 레벨의 image understanding과 visual grounding을 수행해야하는 모델들로써 챌린지하고 이러한 visual grounding은 적절히 understadning과 의미있게 multi-turn 대화들을 트래킹하여 결합하여야한다.
  • GuessWhat?! 데이터세트는 두명의 player game을 위한 챌린지 데이터세트이다.
    • 여기서 한 명의 player는 binary questions의 시퀀스를 요청과 다른 player에의해 지정한 이미지의 object에 대한 final guess을 한다.
  • first player은 두 개의 sub-tasks들 수행한다.
    • 1. Questioner to ask questions (질문자로써 질문하기)
    • 2. Guesser to make the final guess (추측자로써 최종 추측하기)
  • second player은 first player의 질문에 Yes/No answer을 Oracle로써 하게 된다.
  • GuessWhat?! 게임의 하나의 예시는 그림1에서 보여준다.
  • GuessWhat?! 게임은 VQA와 같은 멀티모달을 위한 좋은 test-bed이고 멀티턴, 멀티에이전트 대화로 구성되어있다.
    • VQA는 expression comprehension과 generation을 참조한다.
  • 이 논문은, GuessWhat?! 데이터세트에서 2명의 플레이어에 대한 3개의 agents에 집중한다.
    • 3개의 agents는 Oracle model, Guessor model, Questioner model이다.
  • Oracle 테스크는 object-aware Visual Question Answering task (VQA)로써 고려된다.
    • 여기서, 입력은 image와 question과 pre-defined target object이다.
    • 출력은 Yes/No/Na로 대답하고 question이 target object와 매칭되는지에 의존한다. 
    • 베이스라인 Oracel model은 오직 category와 spatial information으로 target object을 인코딩한다. (visual information없다), 이는 color, shape, relation, object의 actions와 같은 복잡한 질문에 대해 대답하는 것이 불충분할 수 있다.
    • 이러한 갭을 채우기 위해, 우리는 ViLBERT-Oracle을 소개하고 이는 VQA tasks에서 SoTA 성능을 달성하는 모델이다.
    • 우리는 VilBERT 인코더의 top에서 2가지 background/target fushion 메커니즘을 소개하여 target object에 관하여 올바른 binary answer을 예측하는 방법을 학습한다.
  • Guesser 모델은 참조 expression comprehension 문제의 특별 케이스를 고려한 것이 될 수 있다.
    • 하나의 image와 질문의 (referring expression) 전체 history와 그것의 해당하는 answers가 주어졌을 때, Guesser 모델은 전체 대화를 보고 final guess을 해야한다.
    • 하나의 직관적인 솔루션은 전체 대화를 concat하여 그들을 모델에 넣는 것이다.
    • 그러나, 이것은 대화 히스토리가 각 턴에서 question과 answer에 따르는 objects을 향상시키는 방향으로 적절히 분해되지 않을 경우 부적절할 수 있다.
    • 최근 연구[23]는 object state tracking 메커니즘을 소개하고, 여기서 모든 objects의 belief는 각 턴 이후에 동적으로 업데이트된다.
    • 다른 이슈는 대부분의 기존 Guesser 모델들은 object와 question 사이의 vision-linguistic 연관성을 GuessWhat?! 데이터세트에서 초기부터 학습한다, 이는 새로운 objects을 위한 참조표현의 수렴이 sparse해질 것이다.
    • 이러한 차이를 줄이기 위해, 우리는 VilBERT-Guessor을 제안하고, 이는 싱글턴 referring expression comprehension에서 VilBERT의 강점을 기반으로 구축된 것이고, object state tracking 메커니즘을 VilBERT 인코더에 넣어서 대화를 통하여 object states의 belief을 업데이트하는 것을 배우게 한다.
    • 우리가 아는한, 이것은 large-scale pre-traeind vision-linguistic model에 dialog state tracking을 하는 첫 번째 연구로 싱글턴 text descriptions에서만 작동한다.
  • Questioner 모델은 referring expression generation 문제의 특수 케이스로 고려될 수 있다.
    • Questioner 모델의 이전 연구들은 직관적으로 image feature와 dialog history 정보를 인코딩하여 fused representation을 만들어서 language decoder을 활용해서 question을 생성한다. [31, 26, 42, 40, 1, 2]
    • 멀티모달 fusion 모듈들은 대부분 GuessWhat?! 데이터세트로부터 처음부터 학습하고, 이는 Guesser 모델들과 비슷한 이유로 불충분하다.
    • 게다가, 전체 대화 히스토리의 인코딩은 language generator가 long-term 히스토리를 잊어버리는 경향을 가지는 챌린지를 가지고 있고 반복되는 questions을 생성한다.
    • 최근 연구는 Questioner에서 state-tracking을 소개하고, 이는 objects에 대해 beliefs을 업데이트하여 동적으로 Questioner에게 입력하여서, language genrator가 각 턴에서 targeted questions에 맞게 생성할 수 있게 한다.
    • 이 연구에서 영감받아, 우리는 우리의 VilBERT-Questioner에게 object state estimation 메커니즘을 도입한다.
    • 게다가, VilBERT-Guesser가 한번 학습되면, 우리는 이것의 weights을 ViLBERT-Qeustioner의 state-estimator로 읽어들이고, 나중에 object states을 추정하기위한 신뢰할만한 prediction을 만드는 Guesser의 능력의 장점을 활용한다.
  • 우리의 주요 컨트리뷰션은 다음과 같다.
    • 먼저, 우리는 새로운 Orace을 제안하고, Guesser와 Questioner 모델들은 SoTA vision-linguistic pre-trained model을 기반으로 구성된다.
    • 제안한 모델들은 기존의 SoTA 모델들보다 많은 차이로 향상된다.
    • 두 번째로, 우리는 Guesser와 Questioner에 대한 통합된 프레임워크를 제안해서 Questioner가 VilBERT-Guesser로부터 강인한 state-estimator을 학습한 장점을 활용할 수 있다.
    • 세 번째로, 우리는 ablation study을 수행하여, 세 개의 agents 사이의 vision-linguistic represetation을 공유하는 것이 mutual-understanding과 end-game 성공에 유익함을 알아낸다.

2. Related Work

2.1. Oracle 

  • GuesWhat의 기존 연구는 question encoding을 target object의 공간 및 범주 정보와 연결하고 최종 답변을 예측하기 위해 MLP 계층에 공급하는 기준 Oracle [8]을 제안합니다.
  • 그러나 기본 Oracle은 시각적 정보 인코딩 없이 colors, shapes, relations, actions 등과 같은 더 어려운 시각적 질문을 처리하기에 충분하지 않을 수 있습니다.
  • Oracle 작업은 개체 식별자의 추가 입력이 있는 VQA(Visual Question Answering) 문제의 특수한 경우로 간주할 수 있습니다.
  • [37, 14, 13, 39]에서 제안한 방법은 VQA 작업에서 경쟁력 있는 성능을 달성합니다.
  • 그러나 이러한 모델은 object identifier의 추가 입력에 적용되지 않는 한 이 작업에서 쉽게 사용할 수 없습니다.

2.2. Guesser

  • Guesser 모델은 GuessWhat에서 중요한 역할을 합니다! 시각적 개체를 설명하기 위해 대화에서 referring expression comprehension를 수행하고 다중 회전 대화 추론을 수행해야 하는 게임이다.
  • 이전 작업에서는 대상 개체를 예측하기 위해 전체 대화의 인코딩을 개체 범주 및 공간 임베딩[8, 31]과 융합하는 추측기 모델을 제안합니다.
  • [28, 20, 9]의 이후 작업은 유사한 접근 방식을 채택하고 전체 대화 기록을 전체적으로 처리했습니다.
  • 이것은 두 가지 이유로 문제가 될 수 있습니다. 
  • 첫째, 이러한 다중 턴 대화에 대한 추론은 턴바이턴 명시적 대화 상태 추적 없이는 어렵습니다.
  • 둘째, 턴 수준의 시각적 접지가 부족하면 질문이 각 턴에서 어떤 대상을 참조하는지에 대해 추측자 모델을 혼동할 수 있습니다.
  • 다중 모드 표현에서 원래의 추측자 모델은 시각적 정보를 인코딩하지 않습니다.
  • 일부 접근 방식은 VGG 기능[30] 및 Faster-RCNN 기능[36, 19, 22]과 같은 이미지 기능을 추측 모델에 사용하여 정확도 향상을 보여주었습니다.
  • [22, 36]의 최근 작업은 대화를 턴 레벨 질문/답변으로 나누고 소프트 상태 추적으로 최종 추측을 업데이트하는 것을 제안합니다[22], 이는 우수한 성능 향상을 보여줍니다.

2.3. Questioner

  • Questioner는 시각적으로 의미 있는 질문을 하고 대화를 목표 지향적인 최종 게임 성공률로 안내해야 하기 때문에 GuesWhat 게임에서 중요한 역할을 합니다.
  • [8]은 대화 히스토리가 계층적 순환 인코더 디코더(HRED)로 인코딩되고[25] 고정 길이 VGG 특징으로 인코딩된 이미지를 조건화하는 인코더-디코더 구조를 가진 첫 번째 질문자 모델을 제안했습니다 [30].
  • 이후 작업에서는 시각적 인코더가 ResNet[11] 및 LSTM 기반 언어 인코더[12]를 기반으로 하는 Gainser와 Questioner 모두를 위한 공유 대화 상태 인코더를 도입했습니다.
  • [23]의 최근 작업은 턴 레벨 객체 상태 추적을 Questioner에 통합했으며 지도 학습 설정에서 약간의 개선을 보여주었습니다.
  • 위에서 언급한 모든 접근 방식은 시각적 접지 및 개체 상태 추적을 처음부터 guessWhat?! 개체의 의미론적 범위가 희박하기 때문에 새로운 개체/게임으로 일반화하기에는 불충분할 수 있습니다.
  • While this paper focuses on using supervised methods for the three models, its worth mentioning there are methods as in [31, 41, 2, 42, 23] that use Reinforcement Learning (RL) approaches to learn Questioner/Guesser model with different variants of end-game success reward.
    • 이 논문은 supervised 방법으로 학습하지만, RL으로 학습할 수도 있다.

3. Vision-Linguistic Pretrained Model: Vilbert

  • 우리의 VilBERT 기반의 모델들을 소개하기전에, 우리는 간략히 VilBERT의 모델 구조를 리뷰한다.
  • VilBERT는 이미지 컨텐츠와 natural language의 task-agnostic joint representation을 학습한 모델이다.
  • BERT 구조와 유사하게, VilBERT는 분리된 스트림에서 visual과 textual 입력들을 처리하고나서 co-attention transformers layers을 통해 상호작용한다.
  • object/region features o1, o2, ..., oM의 집합으로 표현된 image I와 text 입력 w1, w2, ..., wL가 주어졌을 때, VilBERT 모델은 vision 정보로써 final representations ho1, ho2, ..., hoM울 출력하고 text 정보로써 hw1, hw2, ..., hwL을 출력한다.
  • For more details of VilBERT, please refer to the original work [19]. 
  • There are also concurrent work such as VL-Bert [33], Lxmert [34], Oscar [16], UNITER [6] and so on.

4. Proposed Method 

  • In this section, we describe the three models built upon VilBERT, namely VilBERT-Oracle, VilBERT-Guesser and VilBERT-Questioner.

4.1. VilBERT-Oracle Model

  • Oracle task는 object-aware visual question answering task (VQA)으로 고려될 수 있고, 여기서 입력은 image, question, pre-defined target object이고 출력은 (Yes, No, NA)의 정답이다. (question이 target object와 매칭되는지 아닌지)
  • Oracle model 구조는 그림 2에서 설명된다.

  • 모델은 multi-modal encoder (VilBERT)와 background/target fusion predictor으로 구성된다.
  • 멀티모달 인코더는 question 에 대한 language encoding와 vision encoding을 포함하고, 여기서 번갈아 target object encoding o_tgt와 image/all objects encoding 와 연관된다.
    • q의 Features은 Vilbert 모델로 pretrained된 word embeddings이다.
    • Features 은 object detection 모델에 (Faster-RCNN와 같은) 의해 예측된 target object와 M개의 regions/objects의 visual features이다.
  • 입력 features은 그리고나서 Vilbert에 넣어지고 visual information 와 text information 에 대한 final hidden states을 얻게된다.
  • 우리의 2가지 방법 background/target fusion을 위해, 
    • 우리는 background image hidden state 와 language 출력 을 결합하고 
    • target object hidden states 와 language output 을 결합한다.
    • 각각 각 쌍 사이의 element-wise multiplication으로 결합하고 target object 카테고리 embedding와 함께 그들을 concat하여 최종결과를 얻는다.
    • 여기서 N은 questions의 수이고, K는 answer classes의 사이즈이다.
    • 우리의 직관은 만약 question이 target object와 매칭된다면, 와 의 결합은 강한 시그널을 줄 것이다.
    • 와  사이의 결합은 가 표현할 수 있는 이상의 object relations을 이해하는 것을 학습할 것이다.

4.2. Vilbert-Guesser Model

  • Guesser 모델은 referring expression comprehension 문제의 특별 케이스로 고려될 수 있다.
  • regions와 objects {o1, ..., oN }을 가지는 이미지 I와 전체 question의 대화 히스토리와 (referring expression)과 대응하는 answers {(q1, a1), ...,(qT , aT )}가 주어지면, Guesser 모델은 이미지의 모든 objects의 likelihood가 target object인지 예측한다.
    • 정리하면 Vilbert-Oracle은 전체 이미지와 question이 주어진다.
    • 여기서 각각 target을 Faster-RCNN 등으로 뽑아서, o_tgt, o_p1... 의 object을 뽑는다.
    • 이것을 입력으로 넣어서 question과 o_tgt 사이가 Yes/No/NA 관계인지 파악하는 것이다. (즉 그림1)
    • Vilbert-Guesser은 뽑아진 전체이미지, (groudn truth box?) object들과 이에 해당하는 대화 히스토리가 주어진다.
    • 그럼, 대화 히스토리와 object들이 입력으로 들어가서 가장 높은 object을 찾게끔 확률 분포를 구하는 것이다.
  • VilBERT-Guesser은 그림3에서 설명한다.
    • 모델은 멀티모달 인코더 (VilBERT)와 global image/text fusion layer와 state-weighting layer, answer-updating layer가 있다.
  • 구체적으로, 각 턴 동안, 우리는 먼저 visual과 language features ({o1, ..., oN }, (qt) )을 모델에 넣는다.
    • 여기서 (qt)는 현재 턴 질문에 대한 word embeddings이다.
  • VilBERT layers 이후에, 우리는 final visual hidden states{h, ho1 , ..., hoN}을 얻고, 각 visual state에대해 sentence-level VilBERT language 출력 h와 element-wise 곱을 하여 얻는다.
    • 즉 visual output: 이다.
  • 우리의 직관은 h로 인코딩된 질문 설명과 일치하는 object foi의 융합된 visual output이 관련 없는 객체에 비해 더 강한 신호를 가질 것이라는 것입니다.
  • 그 다음, 각 object와 결합된 출력들은 이전 턴의 object state beleif pt와 가중치를 매겨서 와 같이 된다.
    • 여기서 p_ti는 이전 턴의 i번째 object에 대한 belief이다.
  • 다음에, 우리는 각 object의 가중치 출력을 이 턴의 answer embedding에 더해여 업데이트한다.
  • 이제 각 ojbect voi의 final visual output은 이상적으로는 다음을 만족시킨다.
    • (1) object(s) matching the current-turn question should have stronger signals
    • (2) if the objects have higher likelihood indicated in previous turn, that belief should carry over to the current turn; 
    • (3) if the answer is positive/negative, then the belief should be updated to reflect the increased/decreased belief of certain objects. 
  • 위의 모든 것의 기본 기반은 Vilbert가 pre-trained을 받은 robust referring expression comprehension이다.
  • 결국 각 객체 voi의 최종 시각적 출력은 MLP 레이어에 입력되고 소프트맥스가 뒤따르는 이번 턴 에 대한 업데이트된 상태 믿음을 도출하며, 이는 다음 턴에 대한 foi의 가중치를 재조정하는 데 사용됩니다.
  • 또한 더 빠른 수렴을 위해 믿음 상태 교차 회전을 누적합니다.
    • 여기서 α ∈ [0, 1]은 상태 누적 계수입니다.
  • 마지막으로, 마지막 턴 T에서 추측을 하게 됩니다.
  • 따라서 VilBERT-Guesser의 손실은 이미지의 모든 객체에 대한 cross-entropy los로 정의할 수 있습니다.

    • 어디 |D| 는 대화의 수이고 M은 각 이미지의 개체 수입니다. 
    • 개체 상태가 차례대로 업데이트되는 구체적인 예를 보려면 보충 자료(그림 6-11)를 참조하십시오.

7. Conclusion

  • 이 논문에서, 우리는 3개의 모델들을 소개한다. 
    • VilBERTOracle, VilBERT-Questioner and VilBERT Guesser for the GuessWhat?! game. 
  • 제안한 모델들은 pretrained visual-linguistic encoder (VilBERT)의 장점을 활용하고 이는 여러 개의 vision-language 테스크들, 특히 VQA, referring expression comprehension에서 SoTA을 달성한다.
  • 상태 추정기는 개체 상태 업데이트를 차례대로 처리하기 위해 추측자 및 질문자 모델에 도입되었습니다.
  • 실험 결과는 VilBERT 모델이 사전 훈련된 방식에 따라 VilBERT 모델에 턴 레벨 텍스트 설명을 제공하는 것이 긴 대화 기록을 제공하는 것보다 낫다는 것을 보여줍니다. Ablation 연구에 따르면 공유된 비전 언어 인코더는 이러한 3인용 게임에 유용할 수 있습니다.
  • 향후 작업을 위해 질문자 및 추측자와 함께 다양한 강화 학습 접근 방식을 탐색하여 종단 간 성공률을 더욱 향상시킬 계획입니다.

Reference

댓글