AI바라기의 인공지능
VLM : 빠른 논문 리뷰 : Learning Situation Hyper-Graphs for Video Question Answering 본문
VLM : 빠른 논문 리뷰 : Learning Situation Hyper-Graphs for Video Question Answering
AI바라기 2026. 4. 23. 21:34용어 설명
- Situation hyper-graph: 비디오 내의 객체(entities), 관계(relationships), 그리고 시간에 따른 행동(actions)의 변화를 포괄적으로 나타내는 그래프 구조. 원시 비디오 데이터를 high-level 추상화로 변환한 형태.
- Set prediction task: 객체의 순서와 무관하게 집합(set) 자체를 예측하는 문제 정의. 본 논문에서는 프레임별로 발생하는 다양한 관계와 행동들을 순서에 얽매이지 않고 예측하는 데 사용.
- Bipartite matching (Hungarian loss): 예측된 집합과 정답 집합 간의 일대일 최적 매칭을 찾아 비용을 최소화하는 손실 함수. 본 논문에서는 프레임별 중복 예측 방지를 위해 변형되어 사용.
- Cross-attentional Transformer: 질문 임베딩과 예측된 그래프 임베딩 간의 fine-grained 상호작용을 계산하여 최종 답변을 추론하는 모듈.
Purpose of the Paper
- 기존 한계: 복잡한 비디오 상황을 이해하기 위해 기존 모델들은 사전 학습된 object detector(예: Faster R-CNN)에 지나치게 의존하여 계산 비용이 크거나 실세계의 모든 상호작용을 명시적으로 모델링하기 어려웠음. 반대로 raw visual features에만 의존하면 신호가 너무 노이즈가 많아 high-level reasoning에 부적합함.
- 새로운 접근: 객체 bounding box 검출과 같은 명시적인 사전 지식 없이, 비디오 영상에서 직접 내재된(implicit) Situation hyper-graphs를 예측하는 엔드투엔드(end-to-end) 아키텍처 제안. 예측된 그래프를 reasoning의 중간 단계 표현으로 활용하여 language-guided reasoning의 성능을 극대화함.
Key Contributions
- Implicit Graph Learning: Bounding box나 명시적인 object level supervision 없이 비디오 특징에서 직접 행동과 관계를 추론하는 Situation hyper-graph decoder 도입. 이로 인해 inference 시 별도의 무거운 그래프 연산이 필요 없음.
- Framewise Set Prediction Formulation: Spatio-temporal graph 학습을 frame 단위의 set prediction task로 새롭게 정의. 변형된 Hungarian matching loss를 활용하여 각 프레임에서 발생하는 행동과 관계의 집합을 정확히 추출하고 중복 예측을 방지함.
- High-level Embeddings for Reasoning: 추출된 Situation hyper-graphs만을 시각적 정보(visual information)로 사용하여 질문 텍스트와 함께 Cross-attentional Transformer의 입력으로 사용. 복잡한 visual reasoning 파이프라인 없이도 이 압축된 정보만으로 우수한 VQA 성능을 낼 수 있음을 입증.
Experimental Highlights
- Datasets: AGQA(Action Genome QA) 및 STAR. 두 데이터셋 모두 비디오에 대한 밀집된 ground-truth hyper-graph 정보를 제공하여 모델의 그래프 임베딩 학습 능력을 평가하기에 최적화됨.
- AGQA 성능 SOTA 달성: SOTA 모델인 HCRN 대비 Overall Accuracy 7.09% 향상 (49.20% vs 42.11%). 특히 객체-행동(object-action) reasoning 질문에서 기존 최고 성능(PSAC) 대비 14.63%의 압도적인 성능 향상 기록.
- STAR 성능 향상: SOTA 모델인 ClipBERT 및 NS-SR 압도 (Overall 39.47% 달성). 특히 객체 간 상호작용을 묻는 'Interaction' 질문에서 7.86%의 큰 폭의 성능 향상 기록.
- Ablation 증명: Frame-wise set prediction loss를 적용했을 때 단일 frame 내의 중복 예측(duplicate predictions) 문제가 크게 완화되었으며, 그래프 생성의 품질(quality)이 VQA 성능 향상에 절대적이고 필수적인 요소임을 수치로 증명.
Limitations and Future Work
- Limitations:
- 모델이 가끔 행동이나 관계에 대해 비어있는 집합을 뜻하는 'no-class (초기화 토큰)'를 예측하는 한계가 존재함.
- 보이지 않는 미래 상황을 예측하는 문제(Prediction/Feasibility task)에서는 Ground-truth 그래프를 정답 수준으로 제공하더라도, 여전히 모델이 추론에 어려움을 겪음. 미래 예측 reasoning에는 그래프의 질 외에 추가적인 메커니즘이 필요함.
- Future Work:
- 생성되는 Situation hyper-graphs의 예측 품질을 더욱 고도화하고 중복/빈 예측 문제를 해결하는 연구.
- 관측되지 않은 미래 프레임(unseen future)에 대한 reasoning 능력을 강화하여 VQA 시스템의 전반적인 행동 예측(prediction) 정확도를 한 단계 더 끌어올리는 방향.
Overall Summary
이 논문은 비디오 내 객체의 동적 상호작용을 효과적으로 파악하기 위해, 명시적인 object detection 파이프라인 없이 내재된 Situation hyper-graphs를 직접 예측하는 SHG-VQA 아키텍처를 제안합니다. Spatio-temporal graph 생성을 Transformer 기반의 set prediction task로 정의함으로써 노이즈가 많은 비디오 시각 정보를 깔끔한 high-level 임베딩으로 압축하고, 이를 바탕으로 질문과 교차 집중(cross-attention)시켜 답변을 추론합니다. 복잡한 visual-language reasoning의 병목을 해소하며 고난도 데이터셋(AGQA, STAR)에서 압도적인 SOTA를 달성해, 향후 Graph-based VQA 연구의 새롭고 효율적인 패러다임을 제시했습니다.
쉬운 설명
비디오를 보고 질문에 답할 때, 기존 AI는 영상 프레임마다 "여기 사람이 있고, 저기 컵이 있다"며 화면의 모든 물체를 일일이 찾아내고 연결하려다 보니 계산이 너무 무겁고 전체적인 맥락을 놓치기 일쑤였습니다.
이 논문이 제안하는 방식은 AI가 비디오를 보는 즉시 중간 과정 없이 **"사람이 컵을 들고 있다 -> 물을 마신다" 형태의 깔끔한 '핵심 상황 마인드맵(Situation hyper-graph)'**으로 요약해 버리도록 학습시키는 것입니다.
마치 두꺼운 소설책을 처음부터 끝까지 다 읽고 시험을 보는 대신, 주인공들의 관계도와 주요 사건만 완벽하게 정리된 '족보(그래프)'를 먼저 만들고, 그 족보만 참고하여 국어 시험(VQA)을 푸는 것과 같습니다. 군더더기 없는 핵심 요약본을 바탕으로 추론하기 때문에 훨씬 더 빠르고 정확하게 정답을 맞힐 수 있습니다.

질문을 cls 토큰과, 객관식이라면 sep 토큰도 붙여서 텍스트 트랜스포머에 넣어 임베딩으로 만듬
비디오도 피쳐 뽑고 플래튼해서 시퀀스로 만든뒤 차원 맞춰서 vis 토큰과 포지셔널 인코딩을 더해 입력 임베딩을 만들고, 그걸 visual encoder에 넣어 encoded video tokens를 만듬
그 비디오 토큰들을 액선 디코더에 넣음. 정확히는 디코더의 query들이 비디오 토큰을 memory로 cross-attention해서 읽는 구조 액션 쪽은 learnable action queries를 따로 둔다.
그 쿼리들이 인코더 정보를 참고해서 디코딩 되고 각 시점마다 최대 3개의 액션 슬랏을 예측
같은 비디오 토큰을 릴레이션십 디코더에 넣음. 릴레이션쪽은 learnable relationship queries를 따로 두고 또 어떤 관계 트리플렛이 있는지 뽑는것. 이때는 최대 8개 뽑는다고 함.
각 출력을 서로 다른 헤드로 보내 class 예측
순서에 의미는 없기때문에, 예측세트와 gt를 최적으로 짜줌
head에서 loss 계산하고, 잠시
그 예측된 결과들을 합쳐 하이퍼 그래프 임베딩을 만듬.
정확히는 예측된 클래스 결과 자체를 합친다기보다, action/relation decoder가 뱉은 decoded query embedding들을 합쳐서 hyper-graph embedding을 만듬
decoded action/relation embedding들에 type embedding, frame ID, attention mask, [HG] 토큰을 더해서 어떤 토큰 시퀀스를 만들고 질문 임베딩과 같이 크로스 어텐션 때ㅕ버림.
그리고 최종 클래시파이어가 답을 예측하고 여기서도 loss
1. 질문을 text transformer로 임베딩한다.
2. 비디오를 visual encoder로 임베딩해서 encoded video tokens를 만든다.
3. encoded video tokens를 memory로 두고,
action decoder와 relationship decoder의 learnable queries가 cross-attention으로 읽는다.
그 결과 각 프레임마다
- action slot 최대 3개
- relationship slot 최대 8개
를 예측한다.
4. action/relation head는 각 slot의 class를 예측하고,
Hungarian matching으로 GT와 맞춰 loss를 계산한다.
그런데 VQA reasoning에 쓰는 것은 head의 class 결과가 아니라,
head에 들어가기 전 decoded action/relation query embedding z이다.
5. decoded action z와 relation z를 token sequence 방향으로 concat하고,
각 token에 type embedding과 frame/situation ID embedding을 더한다.
그리고 [HG] special token을 앞에 붙인다.
training 때는 no-class/padded token을 attention mask로 가린다.
6. 이렇게 만든 situation hyper-graph token sequence와
질문 token sequence를 cross-attentional transformer에 넣는다.
7. cross-attention 이후의 [CLS] output과 [HG] output을 사용해서
최종 answer classifier가 정답을 예측한다.