[arXiv 2021] CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retrieval
Abstract
- Multi-modal 분야의 Video-Text Retrieval 을 위한 CLIP4Clip 이라는 end-to-end 모델을 제안합니다.
- 본 논문의 메인 아이디어는, 기존의 image-language pretraining 모델인 CLIP 을 video-language 분야로 knowledge transfer 한 것입니다.
- similarity calculator 를 세 가지 타입으로 디자인했고, 여러 실험을 통해 분석합니다.
- 추가로, 당시에 CLIP4Clip 모델은 여러 video-text retriveal datasets (MSR-VTT, MSVC, LSMDC, ActivityNet, DiDeMo) 에서 SOTA 를 달성했었다고 합니다. (지금은 CLIP2TV, CaMoE 등의 모델이 SOTA 입니다.)
연구 배경 : 기존의 방법론들
우선 Video-text retrieval 의 방법론은 모델의 input 에 따라 크게 2가지로 나뉠 수 있습니다.
- Pixel-level approach
- Raw video 를 input 으로 이용함
- 데이터셋의 video-text 쌍으로부터 적절한 video feature extractor 를 학습할 수 있음
- Feature-level approach
- Frozen 된 video feature extractor 로부터 뽑은 Video feature 를 input 으로 이용함
- 어떤 extractor 를 사용하느냐에 따라 성능이 달라지므로, extractor 에 대한 의존성이 매우 크다는 단점이 있음
Pretrain model 은 주로 Feature-level approach 을 사용해왔습니다. 당연하게도 cost 측면에서는 생각해보면, 원본 비디오를 그대로 사용하는 것보다 용량을 줄인 feature 를 input으로 사용하는 것이 더 효율적일 것입니다. 그럼 정보량이 떨어지니까 성능이 더 떨어지는 거 아닌가? 싶겠지만, 정보가 손실되더라도 (Pixel-level approach 에서는 cost 문제 때문에 사용하기 힘든) 대규모 데이터셋을 사용할 수 있었기 때문에 feature-level 의 pretrain 모델들은 video-text retrieval 문제에서 꽤나 좋은 성능을 얻어왔다고 합니다.
최근에는 Pixel-level approach 를 사용하는 Pretrain model 들도 제안되고 있습니다. 앞서 언급했듯이 video input 의 높은 computational overload를 줄이는 것이 가장 큰 문제였는데, 아래의 방법론들은 이런 방식으로 해당 문제를 해결했다고 합니다.
ClipBERT (2021)
- 하나의 비디오로부터 하나의 clip 또는 여러 개의 short clips 를 sampling 하여 input 으로 사용함
Frozen (2021)
- 커리큘럼 학습 방식을 사용해서, 쉬운 데이터인 싱글 프레임부터 어려운 데이터인 멀티 프레임까지 input 으로 사용함
그러나, 본 논문은 방금 언급한 두 모델들처럼 video-text 데이터셋으로 pretrain 시킨 새로운 모델을 제안하려는 것이 아닙니다.
본 논문의 핵심 아이디어는, image-text retrieval 을 위해 학습된 CLIP 모델을 video-text retrieval 로 knowledge transfer 하려는 것입니다.
이 아이디어를 채택해서 제안한 모델이 Contrastive Language-Image Pretraining For video Clip, CLIP4Clip 입니다. 논문 읽는 내내 생각한 건데 이름 되게 멋있게 지은 것 같습니다…! 이 다음에는 CLIP 논문에 대한 리뷰도 해볼 생각입니다. 우선 해당 모델의 프레임워크부터 살펴보겠습니다.
Framework of CLIP4clip
주어진 데이터
모델의 학습 목표
CLIP4Clip 모델은 이를 위해 text encoder, video encoder, similarity calcuatior 로 구성되어 있습니다.
Video Encoder
CLIP4Clip 은 ViT-/32 를 Video encdoer 로 이용했습니다. 즉, pretrained CLIP(ViT-/32) 을 backbone 으로 사용하여 image representation 을 video representation 으로 transfer 한 것입니다.
- Video clip 으로부터 frames 를 extract 한다.
- Video Encoder 로 frames 를 encode 하여, a sequence of features 를 얻는다.
- ViT 는 frames 에서 9개의 non-overlapping image patches 를 extract 한 후, a linear projection 을 통해 1D tokens 로 만든다.
- 1D tokens으로 transformer 를 이용하여, 각 patch 간의 interaction 을 모델링하여 final representation 을 얻는다.
요약하자면, 아래와 같은 video representation 을 얻게 됩니다.
이때 두 가지 종류의 projection (2D linear, 3D linear)를 사용하고 비교해보았는데, 2D 는 frames 간의 temporal information 을 무시하기 때문에 temporal feature extraction 을 enhance 시키기 위해 3D 를 도입했습니다.
Text Encoder
CLIP4Clip 은 text encoder 를 CLIP 에서 가져왔습니다. 즉, Transformer 의 구조를 살짝 바꿔서 사용합니다.
Similarity Calculator
CLIP 모델은 원래 pre-trained image-text model 입니다. 따라서 video-text 에 대한 similarity calculator module 을 위한 새로운 learnable weights 를 추가해야 합니다. 그래서 본 논문에서는 3가지 접근 방식을 디자인하고 비교했습니다.
Parameter-free approach
Sequential type
Tight type
Training Strategy
Loss Function
(video, text) 또는 (video clip, text) 로 구성된 batch B 가 주어졌을 때, 모델은 B x B similarities 를 구하고 최적화해야합니다. CLIP4Clip 은 아래와 같은 symmetric cross entropy loss 를 사용하여 학습합니다. (video-to-text, text-to-video)
Frame Sampling
pixel-level approach 로 raw video 를 input으로 받아서 사용하니까, features 를 뽑을 때 사용할 frames 를 선택해야 합니다. information richness와 computational complexity 는 서로 trade off 관계 이므로, 어떤 샘플링 전략을 사용할지 정하는 것은 중요합니다. (관련 실험으로는 frame lengths 와 different extraction positions 에 대해 진행했습니다.)
CLIP4Clip 은 uniform frame sampling strategy 를 사용했고, sampling rate 은 1 fps 입니다.
Pretraining
CLIP4Clip 모델은 Howto100M dataset 으로 post-pretrained 되었습니다. 해당 video-text dataset 의 양이 매우 많기 때문에, 그 중 Food and Entertaining 카테고리에 대해서만 행하였습니다. 이 과정은 image 에서 visual concepts 를 잘 학습하는 CLIP 의 knowledge 를 video 쪽으로 transfer 하기 위함이었습니다.
Methods 는 (Ours)-(types of similarity calculator) 이고, 해당 table 은 text-to-video 에 대한 결과입니다.
7K에서는 meanP (parameter free) type 의 성능이 가장 좋았고, 9K 에서는 seqTransf 와 tightTransf 의 성능이 좋았음을 알 수 있었습니다. 이를 통해 small dataset 에서는 새로운 parameter 를 추가하지 않는 것이 좋고, large dataset 에서는 새로운 parameter 를 도입하는 것이 학습에 더 효과적이라는 것을 알 수 있었습니다. 그 이유는, 추가 parameter 가 pretraiend weight 에서 멀어져서, 그 weight 로부터 이득을 보지 못하는 것을 을 방지하기 위해서는 더 큰 데이터 세트가 필요하기 때문이라고 이해된다고 합니다. 다른 데이터셋들도 비슷한 경향을 띄며, 대부분의 경우 tightTransf type 이 성능이 가장 안 좋은 calculator 였다고 합니다. 그리고 이 이유는, tight type 은 데이터셋의 야이 충분하지 않으면, cross-modality interaction 을 학습하는데 어려움을 겪기 때문이라고 보여졌습니다.
본 논문에서는 3D patch linear 이 temporal information 을 frames 로부터 잘 뽑아서, performance 가 언제나 더 좋아질 거라고 생각했었는데, MSR-VTT 와 MSVD 데이터셋에서는 2D 가 더 좋았다고 합니다.
저자는 CLIP 이 2D linear 에서 학습되었기 때문에, 초기화를 무시한 3D를 사용하는 것은 temporal info 를 학습하는데 어려움을 겪기 때문이라고 말했습니다.
Hyper parameters 에 대한 experiments 를 진행하여 최적의 세팅을 알아내기도 하였습니다. 이때, learning rate 에 따라 성능이 많이 떨어지는 경우도 있는데, 해당 모델이 lr 에 sensitive 하다는 것을 알 수 있었고, lr를 너무 작거나 너무 크게 선택한 경우, 성능이 떨어질 뿐만 아니라 pre-trained weight 로부터 받는 advantage 를 이용하지 못하게 됨으로 보여집니다.
그 외에도 sampling 을 하는 전략으로 head, tail, uniform 방식을 비교하기도 하였습니다. 이를 통해 uniform 을 선택했습니다.
Conclusion
본 논문은 frame-level input 으로 video clip retrieval 문제를 해결하기 pretrained CLIP 을 backbone으로 사용하는 CLIP4Clip 모델을 제안했습니다. 또한 세 가지 타입의 similarity calculator 를 사용하여 비교했습니다.
실험을 통해, 경험적으로 아래와 같은 insight 를 얻었습니다.
- video-text retrieval 에서 image feature 는 쓸 만하다.
- image-text pretrained CLIP 을 post-pretrain 하는 것은 video-text retrieval 의 성능을 올릴 수 있다.
- retrieval task 에서, 3D patch linear projection 과 sequential type similarity 를 사용하는 접근 방식이 효과적이다.
- video-text retrieval 을 할 때, CLIP 은 learning rate 에 sensitive 하다.
CLIP 로부터 파생된 모델들이 sota 인게 많아서, 계속 보이니까 읽고 싶은… 그런 상태였습니다. 아마 당분간은 multimodal 관련해서, 특히 video-text 관련된 걸 많이 읽을 것 같네요. 이상으로 리뷰 마치겠습니다.
'📰논문 리뷰' 카테고리의 다른 글
댓글
이 글 공유하기
다른 글
-
[ICCV 2019] HowTo100M: Learning a Text-Video Embedding by Watching Hundred Million Narrated Video Clips
[ICCV 2019] HowTo100M: Learning a Text-Video Embedding by Watching Hundred Million Narrated Video Clips
2023.11.23 -
[PMLR 2021] Learning Transferable Visual Models From Natural Language Supervision
[PMLR 2021] Learning Transferable Visual Models From Natural Language Supervision
2023.11.23 -
[WACV 2021] Temporal Context Aggregation for Video Retrieval with Contrastive Learning
[WACV 2021] Temporal Context Aggregation for Video Retrieval with Contrastive Learning
2023.11.23 -
[TMM 2015] Pattern-Based Near-Duplicate Video Retrieval and Localization on Web-Scale Videos
[TMM 2015] Pattern-Based Near-Duplicate Video Retrieval and Localization on Web-Scale Videos
2023.11.23