안녕하세요. 이번 X-Review에선 새롭게 Partially Relevant Video Retrieval(PRVR) 문제를 다룬 논문을 소개해드리고자 합니다. 이 논문은 PRVR에서 자주 발생하는 semantic collapse 문제를 text embedding과 video embedding 양쪽에서 모두 완화하고자 한 방법론입니다.
1. Introduction
먼저 PRVR이 어떤 문제인지부터 간단히 말씀드리겠습니다. 기존 Text-to-Video Retrieval은 자연어 query가 주어졌을 때, 그 query와 가장 잘 맞는 비디오를 찾아오는 task입니다. PRVR도 목표 자체는 동일합니다. 다만 중요한 차이는, PRVR에서는 하나의 비디오 전체가 query와 완벽하게 일치한다고 가정하지 않는다는 점입니다. 즉, 비디오 전체가 아니라 비디오 안의 일부 구간만 query와 관련 있을 수 있다고 보는 문제입니다. 예를 들어 하나의 긴 비디오 안에 사람이 문을 열고, 걸어가고, 물건을 집고, 다시 앉는 장면이 모두 들어있다고 하겠습니다. 이때 “a person opens the door”라는 query는 비디오 전체가 아니라 문을 여는 짧은 구간에만 관련됩니다. PRVR은 바로 이런 부분적 관련성을 고려해서 비디오를 검색해야 하는 task입니다.
그런데 PRVR에서 가장 어려운 점은 학습 annotation이 굉장히 coarse하다는 데 있습니다. 보통 학습 데이터에서는 text-video pair만 positive로 주어질 뿐, query가 비디오의 정확히 어느 시점과 대응되는지는 주어지지 않습니다. 또한 하나의 비디오에 여러 개의 서로 다른 query가 positive로 붙어있는 경우가 많은데, 이 query들끼리 의미적으로 얼마나 비슷한지도 명시되어 있지 않습니다.
이러한 상황에서 일반적인 retrieval 학습 방식인 InfoNCE loss를 그대로 사용하면 semantic collapse라는 문제가 발생하게 됩니다. Semantic collapse란, 실제 의미가 다르더라도 같은 비디오에 붙어있는 text query들이 embedding space에서 과도하게 가까워지고, 반대로 의미가 비슷하더라도 서로 다른 비디오에 붙어있다는 이유만으로 멀어지는 현상을 말합니다.

그림 1-(a)를 보면 이 문제가 text embedding space에서 어떻게 나타나는지 확인할 수 있습니다. 같은 video ID에 positive로 연결된 query들은 실제 의미가 다르더라도 서로 가까워지게 됩니다. 반대로 의미적으로 비슷한 query라 하더라도 다른 비디오에 연결되어 있다면 negative로 취급되기 때문에 서로 멀어지게 됩니다. 즉, 모델이 query 자체의 semantic content를 보는 것이 아니라, 어떤 video ID에 묶여 있었는지를 기준으로 representation을 학습하게 되는 것입니다.
이 문제는 text embedding에서만 발생하는 것이 아닙니다. 그림 1-(b)에서 볼 수 있듯, video embedding에서도 동일한 현상이 발생합니다. 하나의 비디오 안에는 서로 다른 event나 context가 존재할 수 있지만, 학습 과정에서는 모든 segment가 동일한 text query set과 positive 관계를 공유하게 됩니다. 그 결과 서로 다른 의미를 가진 video segment들도 같은 비디오에 속해있다는 이유만으로 embedding space에서 collapse될 수 있습니다.
기존 연구들도 이러한 semantic collapse 문제를 해결하고자 했습니다. 대표적으로 GMMFormer와 GMMFormer-v2는 같은 비디오에 연결된 text query들이 무작정 가까워지는 현상을 완화하기 위해, text embedding 사이의 similarity를 조절하는 방식들을 제안했습니다. 즉, text side에서 발생하는 collapse를 줄이고자 한 것입니다.
하지만 저자는 여기서 두 가지 한계를 지적합니다. 첫 번째는 text query들 사이의 실제 semantic relationship이 충분히 고려되지 않았다는 점입니다. 단순히 같은 비디오에 붙어있는 query들을 멀어지게 만드는 것만으로는, 어떤 query들이 의미적으로 가까워야 하고 어떤 query들이 멀어져야 하는지를 정확히 알기 어렵습니다. 두 번째는 video embedding에서 발생하는 semantic collapse가 상대적으로 충분히 다뤄지지 않았다는 점입니다. PRVR은 결국 비디오 안의 부분적 관련성을 찾아야 하는 문제인데, video segment들이 서로 다른 의미를 갖도록 학습되지 못한다면 검색 성능에 한계가 생길 수밖에 없습니다.
이러한 문제의식에서 저자는 PRVR의 semantic collapse를 text와 video 양쪽에서 동시에 완화하는 방법론을 제안합니다. 전체 방법은 크게 두 가지 축으로 구성됩니다. 하나는 Text Correlation Preservation Learning, 줄여서 TCPL이고, 다른 하나는 Cross-Branch Video Alignment, 줄여서 CBVA입니다.
먼저 TCPL은 text embedding space에서 발생하는 semantic collapse를 줄이기 위한 방법입니다. 핵심 아이디어는 CLIP과 같은 vision-language foundation model이 이미 잘 정리된 semantic space를 가지고 있다는 점을 활용하는 것입니다. CLIP의 text encoder는 다양한 문장 사이의 의미적 관계를 어느 정도 잘 보존하고 있기 때문에, 저자는 이 semantic relationship을 PRVR 모델에 distillation하는 방식으로 사용합니다. 다시 말해, PRVR 모델이 학습 과정에서 video ID에만 끌려가지 않고, CLIP이 가지고 있는 text-text semantic structure를 따라가도록 regularization을 걸어주는 것입니다.
하지만 저자는 동일한 방식을 video embedding에 그대로 적용하기는 어렵다고 봅니다. 왜냐하면 CLIP은 기본적으로 image-text pretraining을 통해 학습된 모델이기 때문에, 정적인 이미지의 semantic structure는 잘 담고 있을 수 있지만, 비디오에서 중요한 temporal dynamics를 충분히 모델링한다고 보기는 어렵기 때문입니다. PRVR에서는 시간에 따라 다른 event가 등장하고, segment마다 서로 다른 의미를 가질 수 있기 때문에, video side에는 별도의 방법이 필요합니다.
이를 위해 제안되는 것이 CBVA입니다. CBVA는 video modality 안에서 context diversity를 보존하기 위한 objective입니다. PRVR 모델들이 흔히 사용하는 dual-branch architecture, 즉 frame-level branch와 clip-level branch를 활용해서 비디오 내부의 서로 다른 event를 구분하도록 학습합니다.
구체적으로는 같은 timestamp에서 나온 frame-level embedding과 clip-level embedding은 서로 가깝게 만들고, 다른 timestamp에서 나온 embedding들은 서로 멀어지도록 contrastive objective를 적용합니다. 이렇게 하면 모델은 하나의 비디오 안에 있는 모든 segment를 같은 의미로 뭉개는 것이 아니라, 시간적으로 다른 위치에 있는 event들을 구분해서 표현하게 됩니다. 결국 video embedding space에서도 semantic collapse를 줄이고, 비디오의 실제 temporal content에 맞는 representation을 만들 수 있게 됩니다.
여기에 저자는 token merging 전략도 함께 활용합니다. 첫 번째는 order-preserving token merging으로, 비디오의 시간 순서를 유지하면서 의미적으로 일관된 clip들을 aggregation하는 방식입니다. 두 번째는 bipartite token merging을 활용해 각 비디오 안에서 대표적인 context를 효율적으로 구성하는 방식입니다. 이 두 전략은 CBVA가 video representation을 더 video-adaptive하게 만들 수 있도록 도와줍니다.
정리하면, 이 논문의 핵심은 PRVR에서 발생하는 semantic collapse를 단순히 text side의 문제로만 보지 않았다는 점입니다. 기존에는 같은 비디오에 붙은 text query들이 과도하게 가까워지는 문제에 주로 집중했다면, 이 논문은 text embedding뿐만 아니라 video embedding에서도 동일한 collapse가 발생한다고 보고, 두 공간을 각각 다른 방식으로 regularization합니다.
Text side에서는 CLIP의 semantic relationship을 distillation하여 query 간 의미 구조를 보존하고, video side에서는 frame-clip alignment와 timestamp-level contrastive learning을 통해 비디오 내부의 서로 다른 event를 구분하도록 만듭니다. 그 결과 TCPL과 CBVA를 함께 적용했을 때, PRVR benchmark 전반에서 sota 성능을 달성했다고 합니다.
2. Method
이제 제안 방법론을 자세히 살펴보겠습니다.

전체 구조는 그림 2에 나타나 있습니다. 큰 흐름만 먼저 말씀드리면, 기존 PRVR 방법론들과 유사하게 text와 video를 각각 pretrained encoder에 태워 token feature를 추출하고, 이후 trainable layer를 거쳐 retrieval에 사용할 representation을 만드는 방식입니다. 다만 이 논문에서 중요한 점은 단순히 retrieval loss만 사용하는 것이 아니라, 앞서 말한 semantic collapse를 줄이기 위해 text side에는 TCPL을, video side에는 CBVA를 추가한다는 것입니다.
2.1 Preliminary
먼저 전체 architecture와 기본 학습 방식을 정의하면서 시작하겠습니다.
이 논문은 기존 PRVR 방법론들과 유사하게 text와 video를 각각 pretrained encoder에 태운 뒤, trainable layer를 통해 retrieval에 사용할 representation을 만듭니다.
먼저 text branch부터 보겠습니다. 입력으로 text query가 주어지면, pretrained text encoder를 통해 word token들을 추출합니다. 이때 query sequence에는 문장 시작을 의미하는 ([SOS]) token과 문장 끝을 의미하는 ([EOS]) token이 함께 포함됩니다. 이렇게 얻은 text token들은 projection layer와 transformer layer를 거치고, 마지막으로 attention pooling을 통해 하나의 query representation으로 요약됩니다.
다음은 video branch입니다. Video encoder는 입력 video에서 frame-level token을 먼저 추출합니다. 예를 들어 CLIP을 backbone으로 사용한다면, 각 frame의 ([CLS]) token을 frame feature로 사용할 수 있습니다. 그런데 PRVR에서는 단일 frame만 보는 것이 아니라, 다양한 temporal length를 가진 moment를 표현하는 것이 중요합니다. 그래서 이 논문은 frame-level branch뿐만 아니라 clip-level branch도 함께 사용합니다. 즉, video를 frame 단위로도 보고, 여러 frame을 묶은 clip 단위로도 보는 구조입니다.
이제 기본 retrieval objective를 보겠습니다. 학습 과정에서는 각 video마다 text query와 가장 similarity가 높은 video token을 선택합니다. 이 과정은 frame branch와 clip branch에서 각각 수행됩니다. 즉, frame-level representation에서도 가장 잘 맞는 token을 고르고, clip-level representation에서도 가장 잘 맞는 token을 고르는 것입니다. 이렇게 선택된 token들을 사용해 InfoNCE loss와 triplet ranking loss를 적용합니다. 전체 기본 loss는 아래와 같습니다.

즉, 기본 retrieval 학습은 clip branch와 frame branch 양쪽에서 모두 text-video alignment가 잘 되도록 학습하는 구조입니다. 하지만 이 기본 학습만으로는 앞서 말한 semantic collapse 문제가 발생합니다. PRVR에서는 학습 annotation이 text-video pair 형태로만 주어집니다. 다시 말해, 어떤 text query가 어떤 video와 positive인지만 알려줄 뿐, query들 사이의 의미 관계나 video 내부 segment들의 실제 의미 차이는 알려주지 않습니다.
이 때문에 일반적인 contrastive learning을 적용하면 같은 video에 연결된 text query들은 서로 의미가 다르더라도 가까워지게 됩니다. 반대로 의미적으로 유사한 query라 하더라도 서로 다른 video와 pair로 묶여 있다면 negative처럼 취급되어 멀어지게 됩니다.
따라서 이 논문은 semantic collapse를 두 공간에서 각각 완화하고자 합니다. 다음 Section에서는 text embedding에서 발생하는 collapse를 줄이기 위한 TCPL을 설명하고, 이어서 video embedding에서 발생하는 collapse를 줄이기 위한 CBVA를 설명하겠습니다.
2.2 Semantic Collapse in Text Embeddings: Text Correlation Preservation Learning
먼저 text embedding에서 발생하는 semantic collapse를 줄이기 위한 TCPL부터 보겠습니다.
TCPL의 핵심 아이디어는 CLIP의 text embedding space를 teacher처럼 사용하는 것입니다. CLIP은 large-scale image-text pretraining을 통해 학습되었기 때문에, text query들 사이의 의미적 관계가 비교적 잘 정리되어 있다고 볼 수 있습니다. 그래서 CLIP space에서의 query-query 관계를 PRVR 모델의 retrieval space로 distillation합니다.
이때 query 사이의 관계는 두 가지로 측정합니다. 하나는 두 query 사이의 거리인 Euclidean distance이고, 다른 하나는 세 query 사이의 방향 관계를 보는 angular distance입니다

여기서 (fe)는 두 text embedding이 얼마나 떨어져 있는지를 보고, (fa)는 세 text embedding 사이의 상대적인 방향 관계를 봅니다. 즉, 단순한 pairwise 거리뿐만 아니라 embedding space의 구조 자체를 보존하려는 것입니다.
구체적으로는 mini-batch 안의 query들에 대해 CLIP의 ([EOS]) token을 모읍니다. 그리고 이 CLIP ([EOS]) token들 사이의 거리 관계와 방향 관계를, 현재 retrieval 모델의 text representation가 따라가도록 학습합니다.
최종 TCPL loss는 아래와 같이 정리됩니다.


2.3 Semantic Collapse in Video Embeddings: Cross-Branch Video Alignment
다음은 video embedding에서 발생하는 semantic collapse를 보겠습니다.
일반적인 text-video retrieval loss는 서로 다른 video를 구분하는 데에는 효과적입니다. 하지만 하나의 video 내부에 존재하는 서로 다른 event나 context를 구분하는 데에는 한계가 있습니다. PRVR에서는 하나의 video 안에 여러 장면이 들어있을 수 있는데, 모든 segment가 같은 video ID 아래에서 학습되기 때문에 서로 다른 segment들이 비슷한 embedding으로 collapse될 수 있습니다. 이를 해결하기 위해 제안하는 방법이 Cross-Branch Video Alignment, 즉 CBVA입니다. CBVA의 목적은 같은 video 안에서도 서로 다른 temporal context를 구분할 수 있도록 만드는 것입니다.
이 논문은 frame-level branch와 clip-level branch를 함께 사용하는 dual-branch 구조를 활용합니다. 같은 timestamp에 해당하는 frame token과 clip token은 positive pair로 보고 가깝게 만들고, 다른 timestamp에 해당하는 token들은 negative로 보고 멀어지게 만듭니다.
다만 여기서 중요한 문제가 하나 있습니다. 기존 방법처럼 fixed-length average pooling으로 clip을 만들면, 하나의 clip 안에 여러 context가 섞일 수 있습니다. 그러면 frame과 clip을 alignment하더라도 clip 자체가 이미 noisy하기 때문에 효과가 제한됩니다.
그래서 저자는 먼저 Order-Preserving Token Merging, 즉 OP-ToMe를 사용해 더 일관된 clip segment를 만듭니다. OP-ToMe는 시간 순서를 유지하면서 인접한 frame token들 중 cosine similarity가 높은 pair를 병합합니다. 이 과정을 반복해 frame들을 일정 개수의 clip token으로 압축합니다.
핵심은 아무 token이나 합치는 것이 아니라, 반드시 시간적으로 인접한 frame끼리만 병합한다는 것입니다. 그래서 video의 temporal order는 유지하면서도, 의미적으로 비슷한 frame들을 하나의 clip으로 묶을 수 있습니다.
이렇게 context-consistent한 clip이 만들어지면, CBVA를 적용합니다. 각 clip (i)에 대응되는 frame token 집합을 아래와 같이 정의합니다.

여기서 (delta(j))는 j번째 frame이 어떤 clip에 속하는지를 알려주는 함수입니다.
CBVA는 크게 두 방향으로 동작합니다. 첫 번째는 frame token이 자신이 속한 clip token과 가까워지도록 하는 frame-to-clip NCE입니다. 두 번째는 clip token이 자신에게 대응되는 frame token들과 가까워지도록 하는 clip-to-frame NCE입니다.

즉, 같은 timestamp에 해당하는 frame과 clip은 가깝게 만들고, 다른 timestamp의 frame과 clip은 멀어지게 만드는 것입니다. 이를 통해 하나의 video 안에서도 서로 다른 event representation이 구분되도록 학습합니다.
추가로 저자는 Adaptive CBVA도 제안합니다. 모든 video가 같은 수의 context를 갖는 것은 아니기 때문입니다. 예를 들어 interview video처럼 거의 동일한 장면이 반복되는 경우도 있고, 여러 action이 빠르게 바뀌는 video도 있습니다. 그런데 모든 video를 동일한 clip 개수로 나누면 오히려 불필요한 noise가 생길 수 있습니다.
그래서 Adaptive CBVA는 video 내부의 similarity structure를 보고, representative clip 개수를 조절합니다. 내부적으로 비슷한 clip이 많으면 더 많이 merge하고, 다양한 context가 많으면 clip을 더 많이 유지합니다. 이를 통해 video마다 적절한 수준으로 CBVA를 적용할 수 있게 됩니다.
2.4 Total Training Objective
마지막으로 전체 loss를 정리하겠습니다. 최종 objective는 기본 retrieval loss, text embedding collapse를 완화하는 TCPL loss, 그리고 video embedding collapse를 완화하는 CBVA loss로 구성됩니다.

정리하면, 이 방법론은 기본 PRVR retrieval framework 위에 두 가지 보조 학습을 추가한 구조입니다. Text side에서는 CLIP의 semantic relationship을 distillation하여 query 간 의미 구조를 보존하고, video side에서는 frame-clip alignment를 통해 video 내부의 서로 다른 event가 구분되도록 만듭니다. 결국 TCPL과 CBVA를 함께 사용함으로써 PRVR에서 발생하는 semantic collapse를 text와 video 양쪽에서 동시에 완화하는 것이 핵심입니다.
3. Experiments
이제 실험 결과를 살펴보겠습니다.

먼저 Table 3은 제안한 각 구성 요소와 hyperparameter가 실제로 성능에 어떤 영향을 주는지 보여줍니다. 여기서 중요한 점은 TCPL과 CBVA가 단순히 추가 loss로 들어간 것이 아니라, 각각의 설계가 성능에 실제로 기여한다는 것입니다.
TCPL에서는 Euclidean relationship과 angular relationship의 비율을 바꿔가며 실험했는데, λE : λA =1:2, 즉 angular relationship을 더 강하게 주었을 때 가장 좋은 성능을 보였습니다. 이는 text query 간 단순 거리뿐만 아니라, embedding space 안에서의 상대적인 방향 구조를 보존하는 것이 중요하다는 것을 의미합니다.
또한 TCPL의 source model을 바꾼 실험도 있습니다. CLIP-B보다 CLIP-L, OpenCLIP-L을 사용했을 때 성능이 더 좋아졌습니다. 즉, TCPL은 foundation model이 가진 semantic space를 distillation하는 방식이기 때문에, source model의 semantic structure가 좋을수록 더 큰 효과를 얻는다고 볼 수 있습니다.
CBVA 쪽에서는 merge rate와 threshold에 대한 실험이 제시됩니다. 특히 merge rate (N=75%)를 사용했을 때 가장 좋은 성능을 보였고, threshold 는 0.5에서 0.8 사이에서 비교적 안정적인 결과를 보였습니다. 이는 Adaptive CBVA가 특정 threshold에 지나치게 민감하지 않다는 점을 보여줍니다.


다음으로 Table 4와 Table 5는 기존 SOTA 방법론들과의 비교입니다. Table 4는 QVHighlights 결과를 보여주는데, 제안 방법은 SumR 234.6을 기록하며 기존 방법들보다 가장 높은 성능을 달성합니다. 특히 QVHighlights는 하나의 untrimmed video 안에 여러 event가 자주 등장하는 데이터셋이기 때문에, semantic collapse 문제가 더 크게 나타날 수 있습니다. 따라서 이 데이터셋에서의 성능 향상은 TCPL과 CBVA가 실제로 PRVR의 핵심 문제를 잘 완화하고 있음을 보여줍니다.
Table 5에서는 TVR, ActivityNet Captions, Charades-STA에 대한 결과를 제시합니다. 이 데이터셋들에서도 제안 방법은 전반적으로 가장 좋은 성능을 보입니다. QVHighlights만큼 큰 차이는 아니지만, 여러 benchmark에서 일관되게 성능이 향상된다는 점에서 방법론의 generalizability를 확인할 수 있습니다.


효율성 측면도 간단히 볼 수 있습니다. Table 6과 Table 7에서는 inference time, memory, training cost를 비교합니다. 제안 방법은 학습 과정에서는 TCPL과 CBVA를 추가로 계산해야 하므로 training cost가 증가합니다. 하지만 중요한 점은 inference 단계에서는 새로운 module을 추가하지 않는다는 것입니다. 따라서 실제 retrieval 시 latency나 memory는 GMMFormer-v2와 거의 동일한 수준으로 유지됩니다. 즉, 추가 비용은 주로 offline training에서 발생하고, deployment 시에는 큰 부담이 없다고 볼 수 있습니다.


마지막으로 Table 8과 Table 9는 semantic collapse가 실제로 완화되었는지를 분석한 결과입니다. Table 8에서는 같은 video 내부 instance들의 similarity와 전체 instance similarity를 비교합니다. 기존 방법들은 같은 video 안의 text나 video segment들이 과도하게 비슷해지는 경향을 보이지만, 제안 방법은 이 차이를 줄여 더 적절한 similarity structure를 만듭니다.
Table 9에서는 CLIP semantic space와의 Spearman rank correlation을 측정합니다. 제안 방법은 기존 baseline들보다 훨씬 높은 correlation을 보입니다. 이는 TCPL이 의도한 대로 CLIP의 text semantic relationship을 retrieval embedding space에 잘 보존하고 있음을 의미합니다.
정리하면, 실험 결과는 크게 세 가지를 보여줍니다. 첫째, TCPL과 CBVA는 각각 text-side와 video-side semantic collapse를 완화하며 성능 향상에 기여합니다. 둘째, QVHighlights뿐만 아니라 TVR, ActivityNet Captions, Charades-STA에서도 일관된 성능 향상을 보입니다. 셋째, 학습 비용은 증가하지만 inference 단계에서는 추가적인 latency가 거의 없기 때문에 실제 retrieval 시스템에도 적용 가능한 구조입니다.
리뷰 감사합니다.
결국 이 논문이 semantic collapse를 감소했다는게 가장 큰 어필 포인트 같은데 (맞나요..?)
Q1. semantic collapse 완화를 Table 8에서 similarity 차이로 분석했다고 하셨는데, similarity가 낮아지는 것이 항상 좋은 representation을 의미하는지는 조금 궁금합니다. 같은 비디오 안에서도 관련 있는 segment들은 가까워야 할 텐데, collapse 완화와 semantic consistency 보존 사이의 균형을 어떻게 봤는지 궁금합니다.
좋은 질문 감사합니다.
네, 이 논문의 핵심 어필은 semantic collapse 완화가 맞다고 봅니다. 다만 similarity가 낮아지는 것 자체가 좋은 것은 아니고, 같은 비디오 내 coherence는 유지하면서 과도하게 뭉치는 현상만 줄이는 것이 핵심이라고 이해하시면 될 것 같습니다.
감사합니다.
안녕하세요 의철님 좋은 리뷰 감사합니다~!
실제 의미가 아니라 같은 비디오에 속했다는 이유로 의미가 묶이는 문제를 다룬 논문이라 이해했는데요!
한가지 궁금한 점은
서로 다른 타임스탭의 frame clip pair를 negative로 두는부분인데 실제 비디오에서는 같은 이벤트가 길게 이어지거나 비슷한행동이 반복되는 경우들도 있는데 이런 경우에는 의미적으로 비슷한 타임스텝들 까지 너무 멀게 학습될 가능성은 없는지 궁금합니다.
아니면 Adaptive CBVA나 OP-ToMe가 이런 문제를 완화해준다고 생각하면 되는건지…?!
좋은 질문 감사합니다.
맞습니다. 서로 다른 timestep을 negative로 두면 반복 행동이나 긴 이벤트까지 멀어질 위험이 있습니다. 논문에서는 OP-ToMe로 유사한 인접 frame을 먼저 묶고, Adaptive CBVA로 영상별 context 수를 조절해 이 문제를 완화하려는 것으로 볼 수 있습니다.
감사합니다.