본문 바로가기
NLP

[VCR] From Recognition to Cognition: Visual Commonsense Reasoning 논문 이해

by 방구석 몽상가 2021. 7. 11.
VCR

From Recognition to Cognition: Visual Commonsense Reasoning은 CVPR 2019 (oral)에 게재된 논문으로, Visual Commonsense Reasoning (VCR) task를 새로 제안하고 그에 대한 데이터셋과 추론 모델을 제안한다. 이 포스팅은 task 정의와 데이터셋 생성까지만 다룬다.

VCR 이란?

특정 상황에 대한 이미지와 이에 대한 질문이 주어지면, 정확한 대답과 함께 정당한 근거를 제시해야 하는 task이다. 논문에서는 해당 task를 다음과 같이 정의한다.

추후 데이터셋에 대해 더 자세히 이야기하겠지만 간단히 이야기하자면, 제안된 데이터셋은 4개의 보기 중 질문에 대한 대답으로 올바른 것을 고르고 정답을 맞췄다면 올바른 논리상 근거를 맞추어야 하는 구조로 이루어졌다. 다음의 예시를 보면서 task에 대해 자세히 이해해보자.

우리는 위 이미지를 보고 여러 물체들을 인식하는 것을 넘어서 전체 상황을 추론할 수 있다. 일단 세 사람이 함께 저녁식사를 하고 있으며 사진이 찍히기 전에 이미 음식을 주문했을 것이다. Person3는 서빙을 하고 있고 합석하지는 않을 것 같다. 그리고 Person4Person1을 가리키고 Person1 이 종업원을 바라보고 있는 것으로 보아 Person1이 펜케이크와 베이컨을 주문했을 것이라 추론할 수 있다.

이를 잘 이해했는지 QA를 통해 확인할 수 있다. 하지만, 보기가 4개이므로 찍어서 맞출 확률만 해도 25%다. 이러한 answer-only biases 문제를 해결하기 위해 Adversarial Matching 알고리즘을 통해 데이터셋을 만든다. 물론, 답을 맞췄다면 올바른 추론의 근거를 선택해서 모델이 정말 이해하고 맞췄는지를 확인하기 때문에 사실상 모델이 완벽하게 찍어서 맞출 확률은 6.25%다.

이처럼 VCR은 인식(recognition)을 넘어서 인지(cognition) 간의 통합을 요구한다. 따라서 모델은 객체 탐지뿐만 아니라 객체들의 목적, 의도, 사람들 간의 관계 등 cognition-level reasoning을 수행해야 한다.

정리하면, VCR은 질문과 이미지를 이해하고 정확한 답을 맞추고 올바른 추론 근거까지 선택해야 한다. 따라서 두 가지 subtask인 answering ()과 justification ()로 나눌 수 있다. 각 VCR subtask의 단일 예시는 다음과 같이 구성된다.

  • Image
  • A sequence of object detections
    • 각 탐지된 객체 는 bounding box , segmentation mask 과 class label 로 구성된다. 여기서 은 task와 무관하다.
  • A query
    • 쿼리 내 각 단어 는 vocabulary 에 있는 단어이거나 에 있는 객체를 참조하는 태그다.
  • A set of responses
    • 각 response 는 쿼리와 같은 맥락으로 쓰여졌고 정확한 정답은 하나다.
에서 쿼리는 concat된 question과 정답이고 response는 rationale choice다.

VCR 데이터

데이터셋은 clean-cut evaluation을 위해 다지선다 QA 형태이고, 110k개의 영화 장면으로부터 파생된 290k개의 (questions, answers, rationales) 쌍으로 구성된다.

어떻게 이미지를 수집했는가?

기존에 행해졌던 사전 정의된 labels을 검색하여 수집하는 건 search engine bias를 발생시킬 수 있다. 따라서, 흥미로운 상황과 다양한 상황을 위해 영화 클립으로부터 이미지를 추출했으며, 각 이미지는 사람이 추가적인 문맥없이 풀 수 있는 상황이다. 예를 들면, 위 이미지에서 Person3Person1에게 팬케이크를 서빙할 것이라는 것은 사진만 보고도 충분히 이해할 수 있는 사항이다. 반면, machine이 이해하기에는 좀 어려울지도 모른다. 영화 클립은 Large Scale Movie Description ChallengeYouTube movie clips에서 수집했으며 간단한 이미지를 피하기 위해 interestingness filter를 훈련시켜 적용시켰다. 예를 들어, 어떤 물체가 클로즈업 되어있는 장면은 모델을 학습시키기에는 적합하지 않을 수 있다.

Interestingness filter를 적용하기 전에 초 단위에서 분 단위까지 길이가 다양한 각 클립들로부터 shot detection을 수행하여 이미지를 추출한다. shot detection의 pipeline은 다음과 같다.

  • 1 fps 속도로 video clip을 훑는다. 각 video clip을 훑는 걸 하나의 반복을 본다.
  • 각 반복마다 shot detection을 수행한다.
    • HSV 공간에서 평균 30 픽셀 차가 탐지되면 shot boundary에 등록한다.
  • shot boundary를 발견한 후, shot의 중간 프레임에 Mask-RCNN을 적용하고 결과 이미지와 detection 정보를 저장한다.

Interestingness filter에 대해 좀 더 이야기해보자

해당 논문의 제1저자는 LSMDC 데이터셋의 2000장 이미지에 대해 'interesting' 혹은 'not interesting'을 수동으로 annotation했다. 그리고 label을 예측하도록 logistic regression model을 훈련시켰다. 해당 모델은 탐지된 객체 수와 사람 수를 입력으로 받았다. 그렇게 학습된 모델을 LSMDC 내 interesting 이미지를 확인하는데 사용했다. 이렇게 선택된 이미지가 72k였다.

클라우드소싱 과정 중 더 나은 filter를 빌드할 수 있는 데이터를 얻을 수 있었다. Workers는 각 이미지가 흥미로운지, 적당히 괜찮은지, 지루한지를 질문받았다. 이렇게 수집된 데이터로, 전체 이미지에 대해 ResNet50 backbone으로 객체 수에 대해 multilayer perceptron을 사용하여 end-to-end로 학습했다. ResNet의 2048차원 features는 object counts의 512 차원 projection과 concat되고 labels을 예측한다. 이렇게 학습한 네트워크로 Movieclips으로부터 가장 흥미로운 40k개의 이미지를 선택했다.

질문은 어떻게 수집했는가?

Cognition-level reasoning을 요구하는 challenging questions을 만들고 참조 표현의 서투름 (clunkiness)을 피하기 위해, VCR의 언어는 객체 태그 (ex) Person2)를 통합하여 오른쪽에 있는 여자와 같은 참조 표현을 제외시킨다. 해당 태그들은 Mask-RCNN으로부터 탐지되고 이미지는 최소한 3개의 high-confidence 태그를 가지도록 필터링된다.

Amazon Mechanical Turk의 workers는 탐지된 이미지와 비디오 캡션 형식으로 추가적인 context를 받았다. 그리고 workers는 이미지 당 1~3개의 질문을 만들고 그에 합당한 대답과 rationale을 제공한다.

고퀄리티 대규모 데이터셋을 위한 Adversarial Matching 알고리즘

Adversarial matching 알고리즘은 인간 개입을 최소화하면서 'language generation' 데이터셋을 다지선다로 바꾸는 방법이다. 다시 말하자면, 고퀄리티의 오답 혹은 counterfactuals를 얻는 것을 분명히 한다. 여기서 counterfactuals는 일어나지 않았지만 일어났을 수도 있었던 반사실적인 것을 의미한다. 좋은 counterfactuals를 얻는 문제는 다음 두 subtask로 나눌 수 있다.

  • 최대한 문맥과 관련있도록 하는 것. (relevant)
  • 우연히 정답이 될 수 없도록 정답과 너무 유사하지 않도록 하는 것. (similar)

인간에게는 쉽고 기계에게는 어렵도록 challenging 데이터셋을 만드는 것은 위 두 목적 사이의 균형을 이루는 것과 같다. 두 목적을 달성하기 위해 query와 response 간 관련성 (relevance)을 계산하는 , 두 response choices 간 유사도 (similarity)를 계산하는 절차가 요구된다. 이를 위해, 각각 BERT와 ESIM+ELMO를 채택했다. 두 절차를 거친 뒤 dataset examples 가 주어지면, weight matrix 에 대해 최대 가중 이분 매칭 (maximum-weight bipartite matching)을 수행함으로써 각 에 대한 counterfactual를 얻는다.

여기서 는 관련성과 유사도 사이의 tradeoff를 조정한다. 다수의 counterfactuals를 얻기 위해 여러 번의 이분 매칭을 수행하고 오답을 다양하게 하기 위해 각 반복에서 유사도 term을 candidate response 와 현재 에 할당된 모든 responses 사이의 최대 유사도로 대체한다.

VCR 데이터셋에 적절히 대응할 수 있는 baseline으로 제시된 Recognition to Cognition Networks (R2C)는 본 논문을 확인하길 바란다.

댓글