AI바라기의 인공지능

VLM : 빠른 논문 리뷰 : Contrastive Video Question Answering via Video Graph Transformer 본문

논문리뷰

VLM : 빠른 논문 리뷰 : Contrastive Video Question Answering via Video Graph Transformer

AI바라기 2026. 4. 23. 20:43

 

Terminology

  • VideoQA (Video Question Answering): 비디오 영상과 자연어 질문이 주어졌을 때, 영상의 내용을 바탕으로 올바른 답변을 추론하는 multi-disciplinary AI task.
  • CoVGT (Contrastive Video Graph Transformer): 본 논문에서 제안하는 핵심 모델. 비디오의 동적 그래프 구조와 자연어를 대조 학습(contrastive learning) 방식으로 연결하는 구조.
  • Dynamic Graph Transformer (DGT): 비디오 내의 시각적 객체(node)와 객체 간의 관계(edge)가 시간에 따라 어떻게 변하는지(dynamics)를 명시적으로 모델링하는 특수 모듈.
  • Supervised Contrastive Learning: VideoQA의 주어진 ground-truth 정답 정보를 활용하여, 임베딩 공간에서 비디오-질문 쌍과 '정답'은 가깝게 당기고 '오답'은 멀리 밀어내는 학습 방식.
  • Self-supervised Contrastive Learning: 별도의 라벨링 없이, 해당 비디오에 짝지어진 '질문' 자체를 비디오의 올바른 설명(positive)으로 간주하고, 다른 비디오의 질문들을 무관한 설명(negative)으로 간주하여 cross-modal correspondence를 강화하는 학습 방식.
  • InfoNCE loss: 모델이 positive 데이터 쌍을 negative 데이터 쌍들 사이에서 구별해 내도록 학습시킬 때 사용하는 대표적인 대조 학습 손실 함수.

Purpose of the Paper

  • 기존 연구의 한계 1 (과도하게 단순한 Video encoder): 기존 transformer 기반 VideoQA 모델들은 단순히 희소한 프레임이나 짧은 비디오 조각을 holistic하게 처리하여, 객체 간의 상호작용이나 시간적 흐름(causal and temporal relations)을 요구하는 fine-grained reasoning에 취약함.
  • 기존 연구의 한계 2 (비효율적인 문제 정의): 기존 모델들은 VideoQA를 단순한 classification 문제로 접근함. 이는 정답과 오답 간의 미세한 의미 차이를 구분하기 어렵게 만들며, 입력 데이터와 타겟 라벨 간의 spurious correlation(가짜 상관관계)을 학습하게 만들어 방대한 양의 pre-training 데이터를 강제함.
  • 새로운 접근 방식 제시: 단순한 영상 인식/묘사를 넘어선 fine-grained visual relation reasoning을 위해 객체와 그 동적 변화를 추적하는 Dynamic Graph Transformer를 도입. 또한 classification layer를 버리고 정답/오답, 관련 질문/무관한 질문을 대조하는 Joint fully-supervised and self-supervised contrastive learning 구조로 VideoQA 문제를 새롭게 정의함.

Key Contributions

  • Dynamic Graph Transformer (DGT) 도입
    • Contribution: 비디오를 단순 프레임의 나열이 아닌, 객체(nodes)와 관계(edges)로 이루어진 local-to-global hierarchical graph로 구성하고, node transformer와 edge transformer를 순차적으로 적용.
    • Novelty: 기존의 정적(static)이거나 단일화된(monolithic) 그래프와 달리, 인접 프레임 간의 객체 동역학(temporal dynamics)을 명시적으로 포착하여 action 및 event 단위의 복잡한 추론을 가능하게 함.
  • Contrastive VideoQA 문제 재정의
    • Contribution: 무거운 cross-modal transformer를 통한 classification 대신, vision과 text를 각각 독립적인 transformer로 인코딩한 뒤 가벼운 cross-modal interaction module로 통신하는 dual-transformer 구조 설계.
    • Novelty: VideoQA 최초로 정답/오답을 구분하는 Supervised contrastive objective와 해당 비디오에 관련된 질문/무관한 질문을 구분하는 Self-supervised contrastive objective를 동시에 최적화함. 이는 흔한 단어에 대한 편향을 억제하고 진정한 cross-modal correspondence 학습을 유도함.
  • Data-efficient Pre-training의 가능성 증명
    • Contribution: Visual graph transformer를 video-language understanding (VLU)에 적용하여 pre-training을 수행한 최초의 연구.
    • Novelty: 수백만 개의 외부 데이터 없이도 기존 SOTA를 능가하는 성능을 보였으며, 매우 적은 양의 데이터(약 0.18M)만으로도 효과적인 cross-modal pre-training이 가능함을 증명하여 데이터 효율성을 극대화함.

Experimental Highlights

  • 실험 설정: 복잡한 인과관계 및 시간적 추론을 평가하는 datasets (NExT-QA, TGIF-QA, STAR-QA, Causal-VidQA)과 단순 묘사를 평가하는 datasets (TGIF-FrameQA, MSRVTT-QA) 사용. Text encoder로는 BERT 및 RoBERTa 활용.
  • State-of-the-art (SOTA) 성능 달성:
    • NExT-QA: 외부 데이터 pre-training 없이도 기존 SOTA 모델(ATP, HQGA 등) 대비 validation/test set에서 정확도를 5.7% 에서 7.7% 가량 크게 향상시킴. (특히 Causal 및 Temporal reasoning 영역에서 압도적 우위)
    • STAR-QA & Causal-VidQA: STAR-QA의 mean accuracy에서 이전 SOTA 대비 9.4% 상승, Causal-VidQA의 overall accuracy에서 약 10% 상승을 기록.
  • 핵심 Ablation 결과:
    • DGT의 중요성: DGT 모듈을 단순 mean-pooling으로 대체했을 때 TGIF-QA Action dataset에서 성능이 5% 이상 급락함. 이는 동적 그래프 구조가 reasoning에 필수적임을 증명.
    • Contrastive vs Classification: 제안된 대조 학습 방식이 기존 classification 방식보다 다양한 데이터셋에서 일관되게 높은 성능과 일반화(generalization) 능력을 보임.

Limitations and Future Work

  • 한계 1 (Offline Video Feature Extraction): 현재 모델은 사전에 샘플링된 프레임에서 offline으로 추출된 객체 feature(bounding boxes 등)에 의존함. 이로 인해 추론에 결정적인 프레임이나 작은 객체(예: failure case에서의 'ball')를 놓치면 오답을 낼 확률이 높음.
    • Future Work: 훈련 과정에서 더 많은 비디오 콘텐츠를 동적으로 반영할 수 있는 online feature extraction 접근법 개발이 필요함.
  • 한계 2 (Computational Efficiency): 강력한 large language models (RoBERTa 등)를 사용하기 때문에 inference 시 요구되는 메모리와 연산 시간(FLOPs)이 큼.
    • Future Work: 복잡한 비디오 reasoning이 가능하면서도 구조가 가벼운 light-weight model 구조 탐색이 유망함.
  • 한계 3 (Open-ended QA 성능 한계): Multi-choice QA에서는 성능 향상 폭이 매우 컸으나, 주관식(Open-ended) QA 환경에서는 개선 폭이 상대적으로 작음.
    • Future Work: 주관식 답변 생성 환경에 더 적합하고 효과적인 구조 및 학습 방식에 대한 추가 연구가 필요함.
  • 한계 4 (Pre-training Data & Temporal Reasoning): 방대한 데이터 pre-training이 descriptive 질문에는 도움을 주지만, 복잡한 시간적/인과적 질문(temporal/causal questions) 성능은 크게 올리지 못하거나 오히려 해칠 수 있음 (현존하는 pre-training 데이터에 temporal 언어가 부족하기 때문).
    • Future Work: 단순히 인터넷 데이터를 마스킹하는 것을 넘어, 시공간 및 인과적 시각 추론에 특화된 pre-training proxy tasks를 새롭게 설계해야 함.

Overall Summary

이 논문은 기존 VideoQA 모델들이 가진 피상적인 영상 이해와 비효율적인 분류(classification) 방식의 한계를 극복하기 위해, 비디오 내 객체들의 동적 상호작용을 추적하는 Dynamic Graph Transformer를 제안합니다. 이를 기반으로 VideoQA 문제를 다중 선택지 간의 정답/오답, 그리고 관련 질문/무관 질문을 대조하는 Joint Contrastive Learning 프레임워크로 재정의하여 cross-modal alignment 성능을 극대화했습니다. 결과적으로 방대한 외부 학습 데이터에 의존하지 않고도 복잡한 시공간 및 인과적 추론을 요구하는 다양한 벤치마크에서 압도적인 State-of-the-art 성능을 달성하여, VideoQA 분야를 단순한 영상 인식 수준에서 정교한 관계 추론(fine-grained relation reasoning)의 단계로 한 차원 끌어올렸습니다.


쉬운 설명

기존의 비디오 AI가 영상을 보고 "사람, 공, 잔디밭이 있네" 정도로 수박 겉핥기식 이해를 한 뒤 정답을 단순한 '분류(찍기)' 문제로 풀었다면, 이 논문이 제안한 CoVGT 모델은 다릅니다. 이 모델은 "사람이 팔을 뻗어 공을 던졌고, 그 후 개가 뛰어갔다"처럼 객체들의 관계와 움직임을 시간 순서대로 꼼꼼히 추적(Dynamic Graph)합니다. 답을 맞힐 때도 단순히 정답일 확률을 계산하는 것이 아니라, "진짜 정답과 매력적인 오답", "이 영상에 맞는 질문과 엉뚱한 비디오의 질문"들을 넓은 공간에 펼쳐놓고 "맞는 짝끼리는 자석처럼 끌어당기고, 틀린 짝끼리는 강하게 밀어내는(Contrastive Learning)" 똑똑한 짝 맞추기 게임을 통해 아주 적은 데이터만으로도 훨씬 정교한 추론을 해냅니다.

 

 

 

 

 

 

 

 

 

 

 

 

더보기

비디오를 32프레임으로 샘플링하고, 이를 8개 clip으로 나눈다. clip 하나는 4프레임이다.

각 프레임마다 detector로 상위 10개 객체 RoI feature를 뽑고, 프레임 전체 appearance feature도 하나 뽑는다.

각 clip의 첫 프레임 객체들을 anchor로 잡고, 다음 프레임들에서 appearance similarity와 IoU를 이용해 greedy하게 연결하여 같은 객체를 시간축으로 정렬한다.

각 프레임에서는 객체 appearance feature와 위치 feature를 합쳐 객체 node를 만들고, 같은 프레임 안 모든 객체쌍에 대해 relation score를 계산해 adjacency matrix를 만든다. 즉 sparse threshold graph라기보다, 사실상 모든 객체쌍에 대해 relation weight가 있는 frame graph를 만든다.

그다음 각 clip 내부에서 DGT를 적용한다.

 

DGT는 clip 안의 frame graph sequence를 입력으로 받아,
노드(feature)와 엣지(relation)를 transformer와 graph 연산으로 업데이트한 뒤 aggregation하는 구조이다.

 

먼저 Node Transformer는 object linking을 통해 시간축으로 정렬된 동일 객체의 frame-wise feature sequence를 입력으로 받아, 각 객체 sequence에 대해 self-attention을 적용하여 frame별 객체 feature를 업데이트한다.

 

이때 각 프레임의 객체 feature는 같은 객체의 다른 시점 feature들을 attention weight 기반으로 가중합하여 갱신된다.

 

이후 갱신된 객체 feature를 기반으로 pairwise similarity를 다시 계산하여 relation matrix를 재구성한다.

 

그 다음 Edge Transformer는 프레임별 relation matrix를 sequence 형태로 입력받아 self-attention을 수행하고, 동일 객체쌍의 relation 값들을 시간축에서 가중합하여 업데이트한다.

 

이후 spatial graph convolution에서는 갱신된 relation matrix를 adjacency로 사용하여 객체 node들을 이웃 객체들과의 weighted aggregation 방식으로 업데이트한다.

 

마지막으로 각 프레임의 객체 node들을 attention-weighted sum으로 집계하여 frame embedding을 만들고, 여기에 frame-level appearance feature를 결합한 뒤, clip 내 frame embedding들을 평균 pooling하여 최종 clip embedding을 생성한다.

 



텍스트 query는
객관식이면 각 질문-답변쌍(QA pair),
주관식이면 질문만 사용한다.
clip-level visual representation과 텍스트 token들의 유사도를 계산해, token weighted sum을 visual representation에 더함으로써 query-aware clip representation을 만든다.

마지막으로 이 query-aware clip sequence를 global transformer에 넣어 clip 간 긴 시간 관계를 모델링하고, 전체 비디오 표현을 얻는다.

그것과 답변 벡터와의 유사도가 제일 큰 후보를 고르고
주관식의 경우, open-ended 안에서 고름

(질문과 답과의 유사도도 측정한다고 함)

 

 

추론 시에는 query-aware video representation과 answer representation 사이의 similarity를 계산하고, similarity가 가장 높은 답을 선택한다. 객관식에서는 주어진 candidate answer 중에서 선택하고, open-ended에서는 전체 vocabulary가 아니라 dataset이 정의한 global answer set 안에서 선택한다.

 

 

학습 시에는 이 similarity score를 이용해 contrastive learning을 수행한다.

즉 모델은 정답 answer 또는 정답 QA pair와 video representation의 similarity는 높이고, 오답 answer 또는 오답 QA pair와의 similarity는 낮추도록 학습된다.

 

이를 위해 supervised contrastive loss와 self-supervised contrastive loss를 함께 사용한다.

 

supervised contrastive loss는 correct answer와 incorrect answer를 구분하도록 학습하는 objective이고, self-supervised contrastive loss는 해당 video와 관련 있는 question과 관련 없는 question을 구분하도록 학습하는 objective이다.

 

negative sample은 loss 종류에 따라 다르게 구성된다. supervised contrastive learning에서 객관식 QA의 negative는 원래 주어진 오답 후보들과, 다른 질문들의 정답 answer에서 추가로 샘플링한 answer들로 구성된다.

 

open-ended QA에서는 global answer set에서 현재 정답을 제외한 나머지 answer들을 negative로 사용한다. self-supervised contrastive learning에서는 현재 video의 원래 question을 positive로 두고, 다른 sample에서 가져온 question을 negative로 사용한다. 이때 더 어려운 negative를 만들기 위해 가능한 한 같은 question type의 질문을 negative로 샘플링한다.

 

 

 

 

 

 

 

 

 

 

 

 

1. 비디오를 여러 프레임으로 샘플링한 뒤, 이를 여러 개의 clip으로 나눈다.

2. 각 프레임에서 객체 단위 feature와 프레임 전체 feature를 추출한다.

3. clip 내부에서 같은 객체들을 시간축으로 연결하여 객체의 흐름을 만든다.

4. 각 프레임을 객체들로 이루어진 graph로 표현하고, 객체 간 관계를 weight로 표현한다.

5. 각 clip에 대해 DGT를 적용하여 노드 간 정보를 교환하고 노드를 업데이트

6. 이후 객체 정보를 모아 frame-level representation을 만들고, 여기에 프레임 전체 feature를 결합한다.

7. clip 내부의 frame representation들을 평균내어 clip embedding을 생성한다.

8. clip embedding들과 질문을 결합하여 query-aware video representation을 만든다.

9. 전체 clip sequence를 transformer로 처리하여 비디오 전체 representation을 얻는다.

10. 이 representation과 답변 후보들의 similarity를 계산하여 답을 선택한다.

11. 학습 시에는 정답은 가깝게, 오답은 멀어지도록 contrastive learning으로 학습한다.