안녕하세요 이번 주 X-Review는 arXiv에 업로드되어있는 QD-VMR이라는 방법론입니다. 비디오 분야의 Moment Retrieval task를 수행하며, 포맷상 25년도 AAAI에 제출된 것으로 보입니다. 해결하고자 하는 문제가 제가 지금 보고있는 문제와 유사하여 좀 더 자세히 살펴보게 된 논문입니다. 리뷰 바로 시작하겠습니다.
1. Introduction
비디오 분야의 Moment Retrieval (MR) task는, 비디오와 텍스트 쿼리를 쌍으로 입력받아 둘 간의 상응 구간을 예측하는 것이 목적입니다. 최근에는 DETR 구조를 기반으로 MR을 수행하는 Moment-DETR, QD-DETR, MESM 등이 활발하게 연구되고 있습니다. DETR 구조 방법론들 중 베이스라인 방법론인 Moment-DETR이 기존 모델들보다 좋은 성능을 달성했지만, 워낙 모델링 기법이 간단하여 이후 등장한 DETR 기반 방법론들이 성능을 큰 폭으로 올려내고 있었습니다.
여기서 저자가 정의하는 문제점은, 제가 보고 있던 문제와 동일한데 바로 텍스트 쿼리 문장에 있는 단어들의 모든 단어가 중요하지 않음에도 불구하고 이에 대한 라벨이 없기에 모두 중요한 단어라 가정하고 활용하고있었다는 점입니다. 비디오의 경우 비디오를 구성하는 클립 중 어떠한 클립이 positive 상응 구간이고 어떤 클립이 negative인지 라벨링이 되어있어 이를 활용할 수 있음에 비해 텍스트의 단어는 그러한 라벨이 없는 상황입니다. 실제로 텍스트 쿼리에서 모든 단어가 중요한 것은 아니겠죠.
그러한 관점에서 저자가 정의하는 문제점을 그림 1과 함께 살펴보겠습니다. 그림 1-(a)에서 주어진 텍스트 쿼리는 “Two buddies hang out above the cloudline after walking up to a viewpoint on a mountain.”입니다. 비디오의 상응 구간을 보면 실제로 GT 구간은 “Two buddies hang out above the cloudline.” 만을 보여주고 있고, 뒤쪽 문장인 “after walking up to a viewpoint on a mountain.”는 그냥 구간과 관계 없이 앞서 일어난 일을 설명해주고 있습니다. 즉 산을 올라가는 것은 경치를 보기 위한 필요 조건일 뿐 비디오에 등장하진 않지만 텍스트에 포함되어 있다는 것이죠. 저자는 이를 query의 bias라고 표현합니다.개인적인 의견으로 이 정도의 텍스트 쿼리는 잘못 라벨링 되어있는게 아닌가.. 싶긴 하지만 아무튼 주어진 GT이니 모델이 이와 같은 문장의 숨은 맥락 또한 잘 파악해야 좋은 구간을 찾아낼 수 있다고 이야기합니다.
사실 제가 이전에 리뷰했던 CG-DETR이라는 방법론이 텍스트 문장 내 단어들이 모두 positive임은 아니기에 Dummy token을 도입해 dummy token들이 negative word로서의 역할을 하도록 이미 간접적인 학습을 진행하고 있습니다. 아직 Publication 된 논문은 아니지만 오랫동안 arXiv에 공개되어 있었는데, 저자는 위와 같이 단어 수준의 negative를 따지는 연구가 본인들이 처음이라고 주장합니다. 물론 CG-DETR이 arXiv에만 공개되어있으니 그럴 수 있지만, 또 벤치마크 테이블에는 포함되어 있어 살짝 의아하긴 합니다.
두 번째로 주어진 텍스트 쿼리가 비디오의 모든 내용을 담고 있지 못하다고 말합니다. 저자의 언급에 따르면 실제 그림 1의 비디오에서는 두 사람이 떠들고 주변 상황을 설명하며 브이로그를 찍고 있는데, 텍스트 쿼리 문장은 그런 세세한 정보까지 담고 있지 않다는 것입니다. 이렇게 되면 모델이 이해한 비디오와 텍스트 쿼리의 정보가 달라 제대로된 구간 예측을 만들어낼 수 없겠죠. 현재 그림 1에 나타나있는 텍스트 쿼리는 QVHighlights 데이터셋의 한 예시인데, 학계에서 사용하는 데이터셋 중 그나마 QVHighlights가 이와 같이 free-form 형태로 주어지고 Charades-STA 등등의 데이터셋은 정말 단순히 “A man is talking.”과 같은 형태로 주어져 꽤나 유의미한 문제 정의라고 볼 수 있습니다.
위와 같은 문제들을 해결하기 위해 저자는 Query-Debiasing Video Moment Retrieval (QD-VMR) 모델을 제안합니다. 먼저 비디오와 문장 간 상호작용을 통한 cross-modal alignment 향상을 위한 Global Partial Aligner (GPA) 모듈, 앞서 언급한 쿼리의 bias를 최소화하기 위해 텍스트의 정보를 enhance 해주는 Query Debiasing Module (QDM), 마지막으로 비디오 정보를 enhance 해주기 위한 Visial Enhancement (VE) 모듈을 제안합니다.
2. Method
Overview
우선 전체 과정은 그림 2를 통해 확인할 수 있습니다. 두 모달간의 상응 구간을 찾아내기 위해, 먼저 각 사전학습 모델에서 비디오 feature F_{v}와 텍스트 feature F_{t} 를 추출합니다. 이후 두 feature를 동일 차원의 embedding space로 투영시켜줍니다. 다음으로 Global Partial Aligner 모듈을 통해 cross-modal interaction을 한 번 수행해주고, Query Debiasing 모듈과 Visual Enhancement 모듈을 통해 각각 텍스트와 비디오 모달의 feature를 enhance 해줍니다. 이후엔 기존과 동일하게 DETR 모델을 거쳐 중심 구간 m_{c}와 너비 m_{\sigma{}}를 예측하게 됩니다.
2.1 Feature Extraction
QD-VMR 방법론의 feature 추출 과정에서 좀 특이한 점이 있었습니다. 보통은 CLIP의 text encoder에서 feature를 추출해 사용하는데, 이 뿐만 아니라 단어에 대한 이해도를 높이기 위해 문장의 1/3을 masking한 채로 feature를 추가적으로 추출한다고 합니다. 문장 개수를 K라고 했을 때 이전과 동일한, 즉 완전한 텍스트 쿼리 feature는 F_{t} = \{f_{t}^{i} \in{} \mathbb{R}^{N \times{} D_{t}} | i=1, \cdots{}, K\}, 1/3 랜덤 마스킹 후 추출한 텍스트 쿼리 feature는 F_{w} = \{f_{w}^{i} \in{} \mathbb{R}^{N \times{} D_{t}} | i=1, \cdots{}, K\}라고 칭합니다. N은 단어 개수라고 볼 수 있습니다.
비디오 feature는 F_{v} = \{f_{v}^{i} \in{} \mathbb{R}^{L \times{} D_{v}}| i=1, \cdots{}, K\}이고 기존 연구와 동일하게 SlowFast 및 CLIP image encoder를 백본으로 사용합니다. 현재 비디오 feature F_{v}, 온전한 텍스트 feature F_{w}, 마스킹된 텍스트 feature F_{w}가 존재하는데, 각각의 MLP을 태움으로써 동일한 차원의 embedding 공간으로 투영시켜 \bar{F}_{v}, \bar{F}_{t}, \bar{F}_{w}를 얻어줍니다. 모든 feature는 H차원으로 동일하게 투영된 상태입니다.
2.2 Global Partial Aligner
본 GPA 모듈의 목적은 두 모달간 상호작용을 통해 모델의 이해력을 높이는 것입니다. 해당 모듈에서는 비디오 feature \bar{F}_{v}와 온전한 텍스트 feature \bar{F}_{t}가 활용되며 두 feature의 시공간적 이해 능력을 향상시키기 위해 아래와 같이 코사인 유사도를 구할 수 있습니다.
하나의 비디오 클립이 텍스트 쿼리와 얼마나 상응하는지 구하기 위해 위 수식 (2)에서 얻은 유사도 S를 단어 축으로 평균내어 클립 개수인 L차원의 벡터 \bar{S}를 얻어줍니다. 이를 활용해 아래 수식 (3)의 Part-aware loss \mathcal{L}_{P}를 얻어줍니다.
위 loss에서 C_{i}는 비디오 클립이 GT 상응 구간에 속하는지 여부에 따른 0, 1 이진 라벨입니다. 앞서 얻은 score가 실제 상응 구간일수록 커지도록 만들어주는 loss라고 볼 수 있습니다.
추가적으로 아래 수식 (4)와 같이 배치 B 내 비디오 feature 간 contrastive learning을 위한 loss \mathcal{L}_{G}를 제안합니다.
수식 (4)에서 \bar{F}_{v}^{{G}_{i}}는 비디오의 클립 feature들의 평균인데, 이 때 GT 구간 내 속하는 클립들의 평균을 내어주는 것인지, 비디오의 모든 클립들의 평균을 내어주는 것인진 모호하게 나와있으나 정황상 GT 구간을 알고있으니 문장과 상응하는 구간의 feature만 평균낸 것으로 보는 것이 더 적합할 것 같습니다. 결국 \mathcal{L}_{G}는 배치 내 쌍을 이루는 비디오 구간과 문장 간 거리는 가깝게, 다른 쌍에 대한 거리는 멀어지도록 학습한다고 볼 수 있습니다. 저자는 수식 (3)과 (4)의 loss를 평균내어 \mathcal{L}_{GPA}라 칭합니다.
이 모듈에서 제안한 loss들이 제가 생각했을 때 간단히 실험해볼 수 있을만한 아이디어라고 생각했었는데 직접 실험을 해주었네요.. 실험 부분에서 GPA 모듈의 효과를 자세히 살펴보아야 할 것 같습니다.
2.3 Query Debiasing Module
현재 저도 Mixture of Experts의 개념을 통해 문장 feature의 표현력을 enhancing하고 이를 이전 방법론인 QD-DETR에 적용했을 때 성능이 일부 오르는 것을 발견했는데, 방법론은 다르지만 본 모듈이 제가 해결하고자 하는 문제와 동일한 포인트를 지적하고 있다는 점에서 또한 주의깊게 볼만한 것 같습니다.
앞서 본 모듈을 통해 해결하고자 하는 쿼리의 bias란 쿼리 문장 내 모든 단어가 positive인 것은 아니며 반대로 비디오에 등장하는 상황들을 모두 텍스트 쿼리가 담고있지는 않다는 것이었습니다. 저자는 이 문제를 해결하기 위해 query expansion 모듈과 contextual understanding enhancement 모듈 두 가지로 이루어진 Query Debiasing 모듈을 제안합니다.
두 모듈 중 Query expansion 모듈은 expansion이라는 키워드답게, 텍스트 쿼리에는 담겨있지 않는 비디오 내의 정보를 알 수 있도록 학습하는 것이 목적입니다. 우선 하이퍼파라미터 N_{e}와 learnable parameter F_{e} = \{f_{e}^{i} \in{} \mathbb{R}^{N_{e} \times{} H} | i=1, \cdots{}, K\}가 있다 했을 때 F'_{e}는 아래와 같이 정의됩니다.
위 수식에서 encoder는 Transformer Encoder를 의미합니다. 결국 learnable parameter F_{e}와 기존 텍스트 feature를 concat하여 encoder에 태우는 것인데, 이렇게 얻은 F'_{e}에서 다시 top N_{e}개의 토큰을 선택하고 \bar{F}_{t}와 concat해 expanded된 \hat{F}_{t}를 만들어주게 됩니다. 학습 가능한 파라미터를 붙여 해당 파라미터들이 추후 구간 예측에 관여하고 GT로 학습되며 비디오에는 담겨있지만 텍스트 쿼리에는 담겨있지 않은 정보를 나타내도록 학습하는 방식이라고 볼 수 있습니다.
하지만 실제 비디오와 텍스트의 정보가 항상 일치하는 것은 아니기 때문에 위와 같은 naive한 방식으로는 정말 쿼리의 정보가 expansion 될 것이라고 보기엔 어렵습니다. 따라서 저자는 추가적인 모듈, Contextual understanding enhancement 과정을 제안합니다. 앞서 텍스트 쿼리의 1/3을 마스킹한 feature \bar{F}_{w}를 추출했지만 아직 활용하지 않았습니다. 본 모듈에서 해당 feature가 사용되는데요, 단순히 masked language modeling과 동일한 기법입니다. 문장 내 키워드를 맞춤으로서 모델이 단어 하나하나의 의미를 깨우치도록 학습하는 것이죠.
가려진 단어를 맞추기 위해, 위 수식 (6)과 같이 attention 연산을 수행합니다. 이 때 query는 비디오 feature \bar{F}_{v}, key, value는 텍스트 feature \bar{F}_{t}로부터 만들어냅니다. 이렇게 reconstruct된 feature F_{w}^{R}을 P(\cdot{})=MLP+Softmax에 태워 \mathbb{R}^{N \times{} L_{vocab}} 형태의 예측 확률 분포를 얻어냅니다. 이후 가려진 단어가 무엇이었는지 알고 있으니 아래 수식 (7)과 같이 분류 학습을 진행합니다.
2.4 Visual Enhancement
앞선 2.3절에서 텍스트 쿼리의 표현력을 개선해주었다면 본 절에서는 절의 이름을 따라 비디오 feature의 표현력을 개선해주게 됩니다. 여기서는 기존 방법론인 TR-DETR을 따라 앞서 수식 (2)에서 얻은 유사도 S를 활용합니다. S에 대해 column 축으로 softmax를 태워 S_{c}를 얻고, row 축으로 softmax를 태워 S_{r}을 얻을 수 있습니다. 이후 아래 수식 (8), (9)와 같은 연산을 수행해줍니다.
수식 (8)은 video-to-query feature로, clip-level textual feature이고, 수식 (9)는 query-to-video feature로 word-level visual feature입니다. 즉 유사도로부터 추출한 상대 모달리티의 attention map을 모달 feature에 곱해주는 것입니다. 수식 (8), (9)의 출력 모두 L \times{} D 형태의 매트릭스가 됩니다.
이후엔 아래 수식 (10)과 같이 앞서 얻은 feature들을 concat해 DETR에 입력해줄 feature를 최종적으로 만들어줍니다. TR-DETR이라는 기존 방법론과 동일한 방식이네요.
위와 같은 feature를 얻은 뒤 DETR 구조에 입력되고, 이후는 기존 방법론들과 완전히 동일하여 추가로 작성하진 않겠습니다. 이에 대해 질문 주시면 상세히 답변드리겠습니다.
3. Experiments
3.1 Experimental Settings
평가를 위해 QVHighlights, Charades-STA 데이터셋을 활용합니다. 평가지표는 기존과 동일하게 mAP와 Recall@1이며, 추가적으로 Highlight Detection에 대한 성능은 mAP와 HIT@1입니다.
3.2 Performance Comparisons
표 1은 QVHighlights test split에서의 성능 벤치마크 표입니다. 오디오를 함께 사용한 V+A 성능보다 비디오만을 활용한 성능 V에 집중하여 살펴보겠습니다. 우선 비디오만 활용하는 경우 일부 메트릭을 제외하고 가장 높은 성능을 달성하고 있습니다. 표 1에서 QD-DETR*은 QD-DETR에 저자의 모듈을 붙인 경우의 성능을 의미하고, Ours는 하이퍼파라미터를 최적화했을 때의 성능입니다. 하이퍼파라미터 변경 없이 R1@0.5 성능을 2.9퍼센트 가량 올렸다는 점이 인상깊습니다.
표 2는 Charades-STA 데이터셋에 대한 성능입니다. SlowFast와 CLIP feature를 함께 쓰는 경우 성능이 그리 높지는 않습니다. MESM이 워낙 Charades에서 높은 성능을 찍어놓은지라 웬만한 향상폭으로는 넘기 어려워보입니다. 저자가 이에 대해 크게 분석하고 있지는 않네요. VGG feature를 활용한 경우 다른 방법론들과 비교했을 때 가장 높은 성능을 달성하고 있는데, 보니 텍스트의 경우 CLIP의 text encoder를 썼다고 하네요. 기존 논문의 경우 VGG+CLIP text encoder가 아닌 VGG+GloVe를 쓰는데, feature가 동일한 조건에서 추출된것인지 확인해봐야할 것 같습니다..
3.3 Ablation Study
표 4는 QVHighlights val split에서의 모듈별 ablation 성능입니다. 우선 앞서 제가 아이디어로서 제안하려 했었던 간단한 GPA 모듈이 여러 조건에서 굉장히 큰 성능 향상을 불러오는 것을 볼 수 있습니다. 동일한 contrastive learning 방식을 좀 다르게 적용해보는 것도 좋은 contribution으로 이어낼 수 있을 것 같습니다. 또한 (e)의 성능을 보면 CUE만 적용했을 때 기존 베이스라인 성능보다 더욱 떨어지는 것을 알 수 있는데, 단순히 masking한 단어를 복원하는 것만으로는 별다른 효과를 보지 못했음을 알 수 있었습니다.
기타 실험은 단순 하이퍼파라미터 ablation이라 따로 리뷰에 담진 않겠습니다.
4. Conclusion
나름 이번달에 올라온 논문이라 기대를 품고 봤지만 굉장히 대단한 방법론이 적용되어있진 않았습니다. 그래도 제가 해결하고자 하는 문제와 같은 문제를 해결하고자 했고, 그리 어렵지 않은 모듈들로 성능을 많이 올린 것이 인상깊습니다. 논문을 작성할 때 정의한 문제에 대해 분석하기가 어려우면 방법론을 제시하더라도 이에 대한 성능 향상을 입증할 방법이 벤치마크 성능밖에 없다는 것을 다시 한 번 깨닫고, 문제 정의의 중요성을 느끼게 되는 논문이었습니다.
이상으로 리뷰 마치겠습니다.