[ICCV 2023] Open-Vocabulary Video Question Answering: A New Benchmark for Evaluating the Generalizability of Video Question Answering Models

안녕하세요, 마흔두 번째 X-Review입니다. 이번 논문은 2023년도 ICCV에 게재된 Open-Vocabulary Video Question Answering: A New Benchmark for Evaluating the Generalizability of Video Question Answering Model로 지난 KCCV 학회 oral 발표된 논문입니다. 바로 시작하도록 하겠습니다. 🧞‍♂️

1. Introduction

Video Question answering(VideoQA)는 비디오 데이터와 그에 관련된 질문을 입력으로 받아 알맞는 답을 예측하는 task입니다. VideoQA는 크게 multiple-choice와 open-ended라는 두가지 타입으로 나눠볼 수 있습니다. 간단하게 설명하자면 multiple-choice VideoQA는 몇 가지 선택지 답변 중에 하나를 모델이 선택하는 식으로 동작하구요, open-ended VideoQA는 모델이 어떤 후보지 없이 답을 예측하는 식입니다. 하지만, 대부분 현존하는 VideoQA 모델은 이 open-ended videoQA task를 학습 set에 빈번하게 존재하는 top 1000개의 후보군들을 고정해놓고 여기서 답을 고르도록 하는 classification 문제로 풀고 있다고 합니다. 따라서 학습 때 사용되지 않은 답변, 즉 out-of-vocabulary 답변은 평가 때 바로 틀린 답으로 고려를 해버리는 문제가 있죠.

위의 Fig 1a를 보면 전체 답변 후보 중 자주 등장하는 top 1000개가 17.8%를 차지하고 있는 반면에, 그림 1b에서 나와있듯이 이 상위 1000개의 답변이 전체 sample 들 중에 90.2%나 차지하고 있음을 확인할 수 있습니다. 이는, 기존 모델들이 top k개의 답변에 대해서는 좋은 성능을 보일수는 있지만 실제로는 잘 등장하지 않거나 unseen 답변들에 대해서는 성능이 좋지 않을 수 있다고 합니다.

하지만 이런 문제는 그동안 무시되어 왔는데, 왜냠 기존 모델들은 전체 성능만으로 평가가 되어 왔기 때문이죠. 전체 성능이 높게 나오긴 해도 이건 주로 자주 등장하는 답변에서 좋은 성능을 보였기 때문이구, 레어하거나 unseen 답변들에 대한 성능은 반영되지 않았다고 볼 수 있겠습니다.

즉, 본 논문의 저자는 기존의 open-ended VideoQA 벤치마크는 모델의 일반화 능력을 제대로 측정하지 못하고 있다는 점을 지적하고 있습니다. 따라서 long-tail distribution을 다룰 수 있는 포괄적인 벤치마크가 필요하다고 하며, 이 벤치마크는 모델이 자주 등장하지 않는 답변들에 대해서도 얼마나 잘 예측할 수 있는지 평가할 수 있어야 한다고 주장합니다.

long-tail distribution에서 rare하거나 unseen 답변에 대처를 잘 하기 위해서는 few-shot, zero-shot generalization 능력이 필요합니다. 최근에는 large-scale pretrain 모델을 활용한 prompt-tuning이 이런 few-shot, zero-shot학습에서 성능을 크게 향상시킬 수 있는 방법으로 주목 받고 있는데요, 이와 더불어 모델의 parameter를 효율적으로 조정하면서 학습하도록 하는 방법 중 하나가 pre-train 단계에서 사용된 MLM(masked language modeling)을 유지하는 것입니다. MLM은 모델이 문장 내의 [MASK] 토큰에 들어올 단어를 예측하는 방식으로 특정 task를 수행하게 되는데 이 과정에서 verbalizer라는 컨셉이 등장하였습니다. Verbalizer란 [MASK] 토큰 자리에 채워질 단어와 라벨을 연결하는 역할을 하는데요, 예를 들어 positive인지 negative인지 감정을 예측하는 task가 있다고 할 때 이 positive라는 라벨을 예측하기 위해서 [MASK] 자리에 ‘great’라는 단어를 넣는 방식입니다. 이 Verbalizer는 수동으로 설정할수도 있지만, cost가 많이 들기에 이를 자동으로 검색해 설정하는 방식들도 여럿 제안이 되고 있는 상황입니다.

최근에는 learnable한 token으로 구성된 soft verbalizer가 제안이 되었는데, 이 soft verbalizer는 학습 중 최적의 임베딩을 찾도록 설계되었지만 아직 unseen answer에 대한 verbalizer에 대한 연구는 진행되지 않았다고 합니다.

이를 위해서 본 논문에서는 rare하거나 unseen 답변을 포함하는 보다 현실적인 상황에서의 task를 정의하기 위해 Open-vovabulary Video Question Answering(OVQA)라는 새로운 벤치마크를 제안하였습니다. 이전 연구들에서는 자주 등장하는 답변에만 초점을 맞췄다면, 이 OVQA는 rare하거나 학습 데이터셋에 없는 답변을 예측할 수 있도록 하는 것이 목표입니다. 본 저자는 이 OVQA에서 자주 등장하는 답변에 대한 bias 문제를 해결하기 위해 외부 knowledge base에서 유사한 단어들의 정보를 모아 원래 answer embedding을 smoothing하는 새로운 GNN 기반의 soft verbalizer를 제안을 합니다. 구체적으로, GNN 기반의 soft verbalizer는 학습 단계에서 원래의 answer를 그 주변 단어들과 함께 smoothing하는 방식을 학습하는 것이고 이렇게 학습된 smoothing 능력을 바탕으로 test 단계에서 학습 때 보지 못한 답변에 대한 예측 능력을 향상시키는 식입니다. 보다 구체적인 내용은 method 부분에서 다루도록 하겠습니다.

2. Open-vocabulary video question answering

2.1. Open-ended VideoQA

앞서 intro에서 설명했던 모델이 5개의 선택지 중 하나를 맞추도록 하는 multiple-choice VideoQA와 이름은 open-ended 였지만 이를 classification으로 풀거있던 VideoQA 둘을 Closed-vocabulary Video Question Answering(CVQA)라고 칭하고 있습니다. 이 기존 CVQA에서 기존 모델들은 오직 자주 등장하는 top-k의 답변들을 학습하도록 함으로써 보기엔 높은 성능을 내지만, rare, unseen 답변들에 대해서는 답변하지 못하는 문제가 있었습니다.

저자는 먼저 VideoQA에서 자주 사요오디는 4개의 벤치마크 데이터셋의 답변들을 <video question, answer> triplet에 기반하여 unseen과 rare, common, base로 나누어 보았습니다. 여기서 unseen같은 경우는 학습 set에는 없고 오직 test에만 있는 답에 해당합니다.

결과는 tab1과 같은데, 예시로 두번째 열의 MSRVTT-QA를 보면 top 1000개가 Base와 Common에 해당하는 것을 보아 모델이 이 범위를 벗어나는 rare, unseen에 대해서는 예측하지 못하겠죠. 따라서 본 논문에서는 새로운 open-ended VideoQA 벤치마크를 제안합니다.

2.2. Task definition

Open-vocabulary Video Question Answering (OVQA)는 자주 등장하는 답변 뿐 아니라 rare, unseen 답변까지도 고려하는 새로운 벤치마크입니다. 기존 CVQA에서는 비디오와 question의 multi-modal feature에서 각 class label에 해당하는 logit score를 계산하는 방식으로 답변을 예측하곤 했습니다. 이는 학습 중 보지 못한 answer에 대해서는 logit score를 제대로 예측하지 못하는 한계가 있었죠. 이에 비해 OVQA에서는 모든 answer vocabularies를 고려학 ㅣ위해 answer feature를 인코딩하고, video-question feature과 encoding된 answer feature간의 유사도를 계산하는 새로운 방식을 도입함으로써 학습 때 보지 못한 답변에 대해서도 예측할 수 있도록 합니다.

Fig2는 방금 설명한 것이 도식화가 되어있는데 기존 (a)가 CVQA에서 mlp를 태워 계산한 logit 기반으로 예측을 하기 때문에 학습 중 보지 못한 답변에 대해서는 제대로 예측하지 못하지만 저자가 제안한 (b)에서는 feature간의 유사도를 통해 답변을 도출하도록 하고 있습니다 .

3. GNN-based soft verbalizer

방금 설명한 이 OVQA를 가능하게 하기 위해 추가적으로 answer encoder를 도입해 answer embedding을 추출해야 합니다. 이를 위해 저자는 새로운 GNN 기반의 soft verbalizer를 제안하였습니다. 본 framework의 목표는 잘은 모르겠지만 GloVe나 ConceptNet과 같은 external knowledge base에서 확장된 유사한 단어들을 사용해 원래의 answer 후보들을 smoothing하는 방식을 학습한느 것입니다. 이를 통해 모델이 rare, unseen 답변에 대한 예측 성능을 향상시킬 수 있구, 이웃 노드들로부터 information을 aggregate함으로써 모델의 일반화 능력을 개선한다고 합니다. 전체적인 아키텍처를 살펴보기 전에 먼저 verbalizer, GNN에 대한 기본 개념을 간략히 짚고 넘어가도록 하겠습니다.

3.1. Preliminaries

Verbalizer

Verbalizer는 large-scale pre-trained된 언어 모델(BERT나 GPT같은)에서 특정 task를 수행할 때 라벨과 실제 단어를 연결해주는 개념입니다. 이 모델들은 일반적으로 문장 내에서 일부 단어를 [MASK]로 가리고 그 자리에 들어갈 적절한 단어를 예측하도록 학습되는 모델인데, 예를 들어 감정 인식 task에서 “This movie is [MASK]”라는 문장이 주어졌을 때 모델은 [MASK] 자리에 들어갈 단어로 great이나 terrible 같은 단어를 예측하게 되겠죠. 여기서 실제 모델이 감정 인식 task에 맞춰 예측해야 하는 라벨인 POSITIVE와 NEGATIVE를 도출해내기 위해 great를 positive로 terrible을 negative로 연결해주어야 하는데 이를 연결해주는 역할을 하는 것이 Verbalizer입니다.

기존에는 이런 Verbalizer가 고정된 단어 (앞서 예를 들었던 great나 terrible)만을 사용하여 하나의 라벨에 하나의 단어만 연결하는 방식이었는데 최근에는 여러 단어를 하나의 라벨에 매핑할 수 있는 방식으로 Verbalizer가 개선되고 있다고 합니다. 즉, POSITIVE라는 하나의 라벨에 ‘great’ ‘perfect’ ‘fun’과 같은 여러 단어들이 연결될 수 있다는 것이죠. 또, 고정된 단어 대신에 learnable한 embedding을 사용하는 soft verbalizer가 제안이 되어 모델이 학습 중에 최적의 단어 embedding을 찾아낼 수 있게 되었다고 합니다.

GNN

GNN은 graph 형태로 데이터를 처리하고 학습하는데 사용되는 신경망으로 Node와 edge로 구성되며 G = (V, E)로 표현됩니다. 여기서 V는 노드들의 집합니구, E는 node들간의 edge 집합을 나타내며 각 노드 i∈V는 노드의 feature vector v_i ∈ R^D를 가지며 여기서 D는 feature vector의 차원입니다.

특정 i번째 node의 이웃 집합 N_i는 해당 노드 자신 i와 그 노드와 연결된 다른 노드들로 구성이 됩니다. 식으로는 아래와 같이 표현해볼 수 있겠죠.

GNN의 대부분 모델들은 message passing 구조를 사용해 그래프 구조 data를 학습하는데, 이 과정에서 노드 i의 hidden state hi는 아래와 같이 업데이트 됩니다.

여기서 W는 learnable한 weight matrix이며, aggregate는 모델에 따라 다르게 저으이되는 information aggregate함수입니다. 이 과정은 GNN의 각 layer를 통과할때마다 반복되어서 node의 feature가 update됩니다.

최근 연구에 따르면 GCN(graph convolution network)나 GAT(graph attention network)와 같은 GNN 모델들은 연결된 node들이 유사한 특성을 가질 때 정보를 효과적으로 전달하고 의미있는 패턴을 학습할 수 있다는 것이 밝혀졌는데, 본 논문의 저자는 이에 따라 GNN을 사용해 원래의 답변을 유사한 단어들로 smoothing하는 방법을 학습하고 이를 test 시에 새로운 답변이나 rare한 답변을 처리하는데 적용하고자 하고 있습니다.

3.2. Overall architecture

이제 모델의 아키텍처에 대해 살펴보도록 하겠습니다. 모델은 FrozenBiLM을 base로 하고 있고 이 FrozenBiLM은 3가지의 주요 구성 요소로 이루어져 있습니다. 간략하게만 살펴보겠습니다.

  1. Video encoder

입력으로 들어온 비디오는 T개의 frame으로 나누어지구요, 각 frame은 CLIP ViT-L/14 모델을 통해서 feature를 추출하게 되며 이 feature들은 X={x_t}^T_{t=1}R^{T \times D}로 표현됩니다. D는 feature vector 차원입니다. OVQA의 입력 text prompt는 cloze형태로 구성이 되는데, 이는 모델이 prompt내의 [MASK] token을 채우는 방식으로 prediction해야 한다는 의미입니다. prompt는 [CLS] Question: <질문>? Answer: [MASK]. Subtitles: <Subtitles> [SEP] 형태로 구성이 되고, 이 때 [CLS]와 [SEP] 토큰은 각각 sequence 시작과 끝에 들어가는 토큰입니다. 이 prompt sequence는 DeBERTa 토크나이저를 사용해 토큰화되며, Y= {y_n

}^N_{n=1}R^{N \times D}로 표현됩니다. 여기서 N은 토큰 수입니다. 앞서 추출한 video feature X와 text feature Y는 cross modal encoder로 들어가게 됩니다. 모델은 MLM(masked language modeling)의 목표에 따라 optimization되구요, 예측하는 [MASK] token의 feature는 m ∈ R^D

로 나나태집니다. 이후, 모델은 이 m과 DeBERTa tokenizer로 인코딩된 answer feature간의 유사도를 비교해 최종 prediction을 수행하게 됩니다.

정리하자면 이 OVQA 아키텍처는 기존 CVQA가 MLP 기반의 classification head를 사용하여 prediction하는 것과는 달리 video-question multi modal feature와 answer embedding간의 유사도를 계산하는 방식으로 prediction을 한다는 차이를 통해 test시에 train 때 보지 못한 answer가 있는 상황에도 잘 prediction할 수 있게 됩니다.

3.3. Answer graph construction

다음으로는 GNN 기반의 soft verbalizer에 사용할 answer graph를 external knowledge base를 사용해 구성하는 방법에 대해 살펴보겠습니다. 먼저 원래 모델이 예측한 답변 a에 대해 이웃을 구성하는 함수 n(a)를 정의하는데, 이는 3.1에서 언급한 1:n mapping verbalizer 개념과 유사합니다. 이 함수 n(a)는 GloVe와 같은 external knowledge base에서 추출한 가장 가까운 이웃 단어들로 구성이 되는데, 그 다음 이 이웃 단어들을 하나의 node set으로 확장을 합니다.

위의 V train, V test가 각각 train 데이터에 대한 노드 집합이구, test 데이터에 대한 노드 집합닙니다. edge set은 아래와 같습니다.


최종적으로 answer graph는 k-hop 개의 이웃을 포함하는 node와 edge로 구성되며 이때 k는 2로 설정이 되었습니다.

예시를 들어 다시 정리해보자면 모델이 ‘cat’ 이라는 답을 학습하고 예측해야 한다고 할 때 ‘cat’과 관련된 다른 단어들 가령 “kitten”, “feline”, “pet” 등을 포함하여 모델이 더 나은 예측을 하고자 하는 상황입니다. 이때 cat이 a라고 한다면 cat의 이웃 단어를 찾는 함수를 n이라고 한 것이고 n(a)를 한다면 “kitten”, “feline”, “pet”가 나오기를 기대하는 것이겠죠.

처음 node에는 ‘cat’만 포함되어 있겠지만 n(a) 함수를 통해 나온 단어들도 노드에 포함시키게 되고, 이렇게 노드를 확장해가는 식이 식(2), edge를 확장해 가는 식이 (3)입니다. 그리고 2-hop 개의 이웃을 포함하도록 한 것은 ‘cat’에서 두 번의 관계를 거쳐서 연결될 수 있는 모든 단어를 포함한 그래프를 구성한다는 것인데 cat → kitten으로 거쳤다면 kitten → animal 까지의 단어를 포함한다는 것입니다.

이 그래프를 만들 때 원래 답변들 예를 들어 cat, dog끼리의 직접적인 연결은 제거하도록 하여 모델이 원래 답변들과의 관계에 의존하지 않고 주변 단어들로부터 학습되도록 하였다고 합니다.

3.4. Label smoothing

이제 GNN 기반의 soft verbalizer가 어떻게 동작하는지 좀 더 자세히 살펴보도록 하겠습니다. 먼저 answwer graph를 구성한 후, answer embedding을 추출하는 과정부터 시작이 되는데요 여기서 answer embedding은 3.3에서 구성한 V train과 V test에서 추출이 되며, 이는 각 node의 feature vector로 사용됩니다. 예를 들어 DeBERTa와 같은 tokenizer를 사용해 각 answer를 vector로 변환하게 되며, 이때 answer encoder는 학습 중에 freeze된 상태로 동작합니다.

학습 때 이 node feature V train과 그래프 구조 G train이 GNN에 입력으로 들어가게 되는데요, 이 GNN은 GAT(graph attention network)를 변형해 사용하며, 이웃 노드들로부터 정보를 전달받을 떄 각 노드에 가중치를 부여한다고 합니다. 이 가중치 즉, attention score는 노드들 간의 유사도를 바탕으로 계산이됩니다. 즉, 한 노드 i와 그의 이웃 노드 j간의 유사도를 반영해 새로운 feature vector로 업데이트 하게 되는것이죠. 이때 이웃 노드들간의 attention score는 아래 식 5로 계산이 됩니다.

그다음 식 1에서의 aggregation은 아래 식 6과 같이 정의되는데,

식5에서 구한 가중치를 바탕으로 이웃 노드 feature들을 가중합하게 됩니다.

GNN의 여러 layer를 거친 후, 최종적으로 output answer embedding을 얻어냅니다.

여기서 L은 2로 설정이 되었는데, 이는 즉 2-hop 이웃 노드들까지의 information을 aggregation한 후 output answer embedding H_{train}을 얻어냈다고 보면 되겠습니다.

이후 식7과 같이 학습의 안정성을 위해 output embedding H_{train}와 초기 input embedding V_{train}를 가중합하여 새로운 embedding을 생성해 냅니다.

최종적으로 cross-modal encoder에서 얻은 [MASK] token의 output feature m과 smoothing된 answer embedding \hat{H}_{train}간의 유사도를 계산해 최종 정답을 예측해내게 됩니다.

이 과정에서 corss entropy loss를 사용해 학습하게 되고 학습 중 GNN 기반의 soft verbalizer는 원래 answer를 주변 단어들로 smoothing하는 방식을 학습하는 것이죠. test 때에는 이 학습된 smoothing 기능을 사용해 rare하거나 unseen 답에 대한 prediction 성능을 개선할 수 있게 되며, 빈번하게 등장하는 답에 대한 bias를 막을수 있다고 합니다.

4. Experiments

4.1. Evaluation on OVQA

우선 VQA의 baseline model을 CVQA와 OVQA 모두에서 평가했습니다. OVQA setting에서는 DeBERTa tokenizer를 사용해 answer의 embedding을 추출하는 answer encoder를 추가했다는 차이가 있습니다. 표2에 결과가 나와있는데 B, C, R, U, T, M은 각각 Base, Common, Rare, Unseen, Total, meanACC를 나타냅니다. B → U로 갈수록 기존 모델들은 성능이 심하게 줄어드는 것을 확인할 수 있는데, 이는 자주 등장하는 answer에 대한 bias가 심하다고 해석할 수 있겠으며 rare하거나 unseen 답변에 대해서는 generalization 능력이 아예 없다고 볼 수 있습니다. 특히 기존 모델들은 unseen에 대해 전부 0의 성능을 보이고 있네요. 반면에 OVQA 기반의 모델은 그에 비해 rare하거나 unseen 샘플 설능이 확실히 나아진 것을 확인할 수 있습니다. 정리하자면 일반적으로 CVQA의 모델들이 전체 성능 (T)는 그럴듯해 보이지만, mACC는 매우 낮은 것을 확인할 수 있죠. 이에 비해 OVQA의 mAcc는 모든 데이터셋에서 증가하였습니다.

4.2. Ablation studies on GNN-based soft verbalizer

Effectiveness of GNN-based soft verbalizer

표3에서는 FrozenBiLM+를 기반으로 GNN 기반의 soft verbalizer를 넣은 것과 뺀 것에 대한 성능 확인을 하고 있습니다. 둘을 비교해봤을 때 unseen에 대한 성능 향상은 각 데이터셋에서 2.4%, 1.6% 2.6%, 0.8% 향상이 되었으며 base 답변과 common 답변에 대한 성능도 모든 데이터셋에서 향상이 되어 GNN 기반의 soft verbalizer가 rare 답변과 unseen 뿐만 아니라 base와 common에 대해서도 좋은 효과를 보이는 것을 시사합니다.

표 4는 다양한 모델에서의 효과를 보여주는데요, 마찬가지로 몇을 빼면 GNN-based의 soft verbalizer를 사용한 경우가 R, U는 물론 B와 C에서도 성능이 향상되는 것을 보여줍니다.

Comparison of various verbalizers.

표5에서는 GNN 기반의 soft verbalizer와 함께 다양한 기존 verbalizer를 비교하고 있습니다. 먼저 external knowledge base에서 유사한 단어의 average pooling feature를 사용하는 hard verbalizer를 사용하는 방식 (B)는 verablier가 없는 방식인 (A)와 비교해봤을 때 상당한 성능 저하를 보입니다. 하지만 (C)는 (A), (B)를 모두 능가하여 learnable한 mlp layer를 사용하는 soft verbalizer가 유사한 단어의 정보를 적절히 조정함으로써 모델의 성능을 향상시키는 것을 보여줍니다. 또, 일반적으로 (D), (E)가 각각 graph를 사용하지 않는 (B), (C)의 성능을 또 능가하고 있는데 이는 verbalizer를 answer graph와 message passing 알고리즘으로 구성하는 것이 더 효괒거인 answer embedding을 도출한다고 볼 수 있겠죠. 최종적으로 본 논문의 모델 (E)는 (C)와 비교해봤을 때 성능을 rare, unseen에서 각각 0.6, 1.1% 향상시킴으로써 본 논문의 GNN 기반의 soft verbalizer가 answer graph 상에서 유사한 단어 정보를 adaptive하게 aggregation함으로써 더 효과적인 answer embedding을 제공한다고 할 수 있겠습니다.

4.3. Qualitative results

마지막으로 정성적 결과 보고 마무리하도록 하겠습니다. fig 4는 FrozenBiLM과 본 논문의 FrozenBiLM+를 비교해서 보여주고 있습니다. 자세히 살펴보면 (a)에서 question으로 ‘비디오에서 사람이 무엇을 하고 있냐?”는 질문에 대해서 FrozenBiLM은 closed-vocabulary set인 “kitchen”만을 답으로 내고 있습니다. 반면에 FrozenBiLM+는 answer encoder로부터 answer embedding을 뽑아내고 이와 유사도가 높은 making cocktails를 예측해낼 수 있게 되는 것이죠.

또, FrozenBiLM은 top-k개의 후보만 고려함으로써 자주 나오는 답에 편향되는 성질이 있는데요, (b)와 같이 “Is”로 시작되는 질문에 대해 97%의 답변이 “yes”혹은 “no”이기 때문에 보통 “yes”를 예측해내는 경향이 있다고 합니다. 하지만 본 논문의 모델은 이런 bias를 완하하게 되어 prediction을 보면 “double fold eyelids”를 예측하고 있죠.

Author: 정 윤서

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다