https://arxiv.org/abs/2203.12602

 

VideoMAE: Masked Autoencoders are Data-Efficient Learners for Self-Supervised Video Pre-Training

Pre-training video transformers on extra large-scale datasets is generally required to achieve premier performance on relatively small datasets. In this paper, we show that video masked autoencoders (VideoMAE) are data-efficient learners for self-supervise

arxiv.org

Abstract

  • 상대적으로 Small Dataset에서도 SOTA에 달성할려면 Large Scale Dataset으로 Pretraining 필요
  • 해당 논문에서는 VideoMAE가 SSVP(Self-Supervised Video Pre-training)을 위한 Data Efficient Learner임을 입증
  • 저자들은 ImageMAE에서 영감을 받아 매우 높은 비율의 Video Tube Masking을 제안
  • 이러한 단순한 디자인은 Video Reconstruction을 보다 어렵고, 의미있는 Self-Supervision Task를 만들어 Pre-Trained 프로세스 중에 효과적인 Video Representation을 추출함
  • 3가지 의미있는 결과를 얻음
    - 높은 비율의 Masking은 VideoMAE에 좋은 성능을 제공, Temporal Redundant가 존재하는 Video는 Image보다 더 높은 Masking 비율이 가능해짐
    - 추가 Data를 사용하지 않고 매우작은 3k~4k Dataset으로 인상적인 결과를 얻음
    - VideoMAE는 SSVP의 경우 Data의 양보다 Data의 품질이 더 중요함을 보여줌 (같은 Domain에서 학습, 기존 방식은 Image Domain에서 Pre-Training, 이후에 Video Domain으로 Fine Tuning)
  • Vanilla ViT Backbone에서 VideoMAE는 추가 Data를 이용하지 않고 SOTA

Introduction

  • Transformer는 자연어 처리 분야에서 큰 발전을 가져왔으며, Vision Transformer는 이미지 및 비디오 처리 분야에서도 유용하게 사용됨
  • 이 모델은 Image/Video의 Global Dependencies을 Modeling할 수 있으며 Flexible Attention Mechanism을 통해 효과적으로 Inductive Bias를 줄일 수 있음

  • ViT를 효과적으로 Training시키기 위해서는 Large Scale Supervised Dataset이 필요 
  • Video transformer도 Image Based transformer에서 파생되어 Large Scale Image Dataset(예: ImageNet)에서 Pre-Train Model에 크게 의존
  • 이에 따라, Video Dataset에서 Pre-Trained Model 또는 추가적인 Image Data 없이 Vanila vision transformer를 효과적으로 Train시키는 것은 어려움
  • 이런 Challenge을 해결하기 위해 SSVP 활용되며, Image Dataset에서 학습한 Self-Supervised Learning Model이 downstream task에서 Supervised Model보다 우수한 성능을 보임
  • Video Transformer의 학습에서도 SSVP가 유망한 해결책이 될 것으로 기대됨
  • Masked Autoencoding이 NLP, image에서 성공한 것을 보고 저자들은 Video에 SSVP를 적용한 VideoMAE를 제안
  • 저자들의 VideoMAE는 Simple Pipeline으로 Masking Random Cube를 추가하고, Missing Image을 Reconstructing
  • 하지만 Video는 Image에 비해 Extra Time Dimenstion이 존재함, 그러므로 Image와는 다르게 적용함
  • Video Frame은 Dense하게 Capture됨, Semantics Varies는 Time에서 느리게 변함
    - 이러한 Temporal Redundancy는 Missing Pixel를 Spatio Temporal Neighborhood를 이용하여 복원할 수도 있음
  • 게다가 Video는 Static Appearance의 Temporal Evolution으로 볼 수 있으며, Frame간의 대응관계가 존재
    - 이런 Tmperoal Correlation은 특정 Masking 전략을 고려하지 않는 한 Information Leakage로 이어짐
  • 이런 의미에서 Masking 안된 복사본을 쉽게 찾을 수 있고, Shortcut처럼 동작해 모델의 일반화하기 어려워짐
  • Video Masked Modeling을 보다 효과적으로 만들기 위해 저자들은 VideoMAE에서 매우 높은 비율의 Tube Masking을 설계
  • 첫째, Temporal Redundancy때문에 저자들은 Extremely High Masking Ratio를 이용, 또한 Clip을 DownSampling
  • 이런 간단한 전략은 효과적이고, 계산량을 줄일 수 있음
  • 둘째, Temporal Redundancy을 고려해 간단하면서도 효과저인 Tube Masking 전략을 고안하여 Reconstruction 중에 Motion이 없거나 무시가능한 Cube의 Information Leakage 위험을 완하하는데 도움이 됨
  • 논문의 기여는 3가지
    - 간단하지만 효과적인 Video Maksed Autoencoder를 제안 
    - NLP, Image와 비슷하게 Masking 전략이 우수한 결과를 가짐
    - 적은 양의 Video Data로도 좋은 성능을 가짐, SSVP의 경우 데이터의 품질이 양보다 중요

Proposed Method

Image MAE

  • Image Masked Auto Encoder
    - ImageMAE는 Masking & Reconstruction Task이고, Asymmetric Encoder-Decoder 아키텍처를 가짐
    - Input Image는 I ∈ R(3×H×W)이고, 16x16의 Non-Overlapping Patch로 분할
    - 각 Patch에 대해 Token Embedding을 진행
    - 그리고 Random하게 75%의 비율로 Masking을 진행하고, Decoder보다 깊은 Encoder에 넣고, Decoder에서는 복원을 진행
    - Loss Function은 MSE를 이용

  • Characteristics of Video Data
    - Video Data는 Temporal Relation을 포함, Image와 차이가 존재함
  • Temporal Redundancy
    - Video에는 Frequently Capture디는 Frame이 있음
    - Semantic Vary는 Temporal Dimension에서 천천히 변함
    - Figure2와 같이 연속된 Frame에서는 정보가 중복되는것을 알 수 있음
    - 이러한 속성은 Masked Video Autoencoing에서 두가지 중요한 문제로 이어짐
    - 첫째, Pretraining에서 Original Temporal Frame Rate를 유지하는 것이 덜 효율적임
    - 이렇게 하면 Masked Modeling에서 Static 또는 Slow Motion에 더 집중하게 됨
    - 둘째, Temporal Redundancy는 Motion Representation을 희석 시킴
    - 이는 정상적은 Masking Ratio(50~75%)에서는 누락된 Pixel 재구성하는 Task를 어렵지 않게 만듬
    - Encoder Backbone은 Motion Representation을 Capture하는데 효과적이지 않음
  • Temporal Correlation
    - Video는 Static Apperance의 Temporal 확장으로 볼 수 있고, 인접한 Frame간에 고유한 Correspondence가 존재
    - 이러한 Temporal Correlation은 Masking 및 Reconsturcion Pipeline에서 Information Leakage 위험을 증가 시킴
    - Figure2의 Random, Frame Masking은 인접한 Frame에서 Masking되지 않은 Patch에 해당하는 Spatio Temporal을 찾아 Masking Patch를 재구성 할 수도 있음
    - 이 경우 VideoMAE가 Contents에 대한 Spation Tempotral Inference과 같은 높은 수준의 정보가 아닌 Low Level 정보를 학습함
    - 이를 해결하기 위해 Reconstruction을 더욱 어렵게 만들고, SpatioTemporal 표현을 효과적으로 학습하기 위한 Masking 전략이 필요함

  • VideoMAE
    - VideoMAE에서 위와같은 문제를 해결하기 위해 그림1과 같이 PipeLine을 구성
    - VidoeMAE는 Downsampling된 Frame을 Input으로 사용하고, Cube Embedding을 사용하여 Video Token을 생성
    - 그 뒤에 Asymmetric Encoder-Decoder 아키텍처로 MAE를 사전훈련하기 위해 높은 비율의 Masking을 진행
    - Space-Time Attention과 함께 바닐라 ViT를 이용
  • Temporal Downsampling
    - 연속 Frame에 대한 Temporal Redundancy에 대한 위에 분석을 보고, 보다 효율적인 Video Pretrain방식을 수행하기 위해 Strided Temporal Sampling 전략을 이용
    - 우선 t개의 연속 Frame으로 구성된 하나의 Video Clip이 원본 Video에서 무작위로 Sampling
    - 그런 다음에 Temporal Sampling을 사용하여 Video Clip을 T frame으로 압추
    - 이때 Stride를 이용하는데 Kinetics, SSv2에서는 4~2로 설정
  • Cube Embedding
    - 2 x 16 x 16 의 Tubelet으로 Embedding을 진행
    - 그러므로 T / 2 x H / 16 x W / 16개의 3D Token이 생성됨(Dim = D)
    - 이런 디자인은 Spatial, Temporal Dimension Input을 줄일 수 있고, SpatioTemporal Redundancy를 줄일 수 있음
  • Tube Masking With Extremely High Ratio
    - 첫째, Temporal Redundacy요소가 VideoMAE Design에 영향을 미침
    - VideoMAE는 ImageMAE에 비해 High Masking Ratio를 가짐
    - Video Information Density는 Image에 비해 훨씬 낮으며 Ratio가 높을수록 Reconstruction 난이도가 높아짐
    - 이런 High Rate Masking은 Masking된 Modeling중에 Information Leakage가 완화하고, Masking 된 Video Reconstruction을 의미있는 SSVP로 만드는데 도움이 됨
    - 둘째, Temporal Correlation이 VideoMAE Design에 영향을 미침
    - High Masking Ratio, Tube Masking Mechanism을 이용함 (효율적임)
    - Temporal Tube Masking은 Maks가 전체 Temporal Axis, 즉 동일한 Masking Map을 공유하는 서로 다른 Frame으로 확장
    - 해당 방식을 이용하면 Masking 된 Cube의 Temporal Neighborhood는 항상 Masking 됨
    - 그림2와 같이, Masking된 곳은 항상 Masking
    - 이런 방식은 VideoMAE가 완전히 누락된 Cube를 복구하기 위해 높은 수준으로 Video을 이해해야함
    - 이런 간단한 전략은 Motion이 없거나 무시할 수 있는 Cube의 Information Leakage를 완화할 수 있고, 실제로 Masking 된 Video 사전 학습에 효과적임
  • Backbone: joint Space-time Attention
    - High Masking Ratio로 인해 Encoder에 입력으로 들어가는 Token의 수는 적어짐
    - High Level SpatioTemporal Information을 남은 Token으로 잘 Capture하기 위해 Vanila ViT Backbone인 Joint-Space Time Attention을 이용
    - 기존에는 Token에 개수에 대해 Quadratic Complexity를 가지지만, High Masking Ratio로 인해 이런 문제를 해결함

Experiments & Ablation Studies

  • Kinetics-400, SSv2, UCF101, HMDB51, ABA에서 진행

  • Decoder Design
    - Lightweight decoder를 이용
    - 1a에서 다른 Depth에 대해 Test를 진행
    - 4개의 Decoder Block을 이용하기로 결정(우수한 성능, 적당한 Memory 사용량)
    - Decoder는 384-dim을 가짐,(ViT-B의 경우 768-Dim)
  • Masking Strategy
    - Masking 전략을 1b에서 비교
    - Tube의 경우 Ratio를 75~90으로 올리자 Accuracy 68% ~ 69.6%으로 SSv2가 오름
    - 높은 Ratio의 Masking이 도움이 되는것을 확인
    - 이런 결과가 나오는 것은 Temporal Redundancy, Temporal Correlation이라는 Video의 특성임
    - K400에 대한 결과도 SSv2와 일치
    - K400의 성능차이가 SSv2보다 크지가 않은데, 그 이유는 Kinetics Video가 Scene과 연관이 깊음
    (테니스를 치고 있는 Class의 경우 테니스장 무늬에 집중하게됨)
    - Temporal Modeling 효과가 적음
    - Random, Frame Masking보다 Tube Masking의 효과가 좋음
  • Reconstruction Target
    - 첫째, Center Frame만을 이용하여 진행하면 1c와 같이 결과가 감소
    - Sampling Stride도 민감, τ /2 경우 기본 Sampling Stride보다 낮고 안좋은 결과가 나옴
    - 또한 T Frame에서 2T Frame을 Reconstruction을 진행하면 SSv2에서 조금 더 안좋은 결과를 얻음
    - 단순하게 하기 위해 Input Downsampling된 Clip을 기존 Reconstruction Target으로 사용
  • Pre-Trainjng Strategy
    - From Scratch가 제일 낮은 점수
    - ImageNet + K400으로 Pretraining에도 VideoMAE보다 낮음 
    - VideoMAE는 Extra Dataset이 없어도 최고 Accuracy를 달성
  • Pre-Training Dataset
    - 먼저 1600Epochs동안 ImageNet-1k에서 ViT-B를 Pretraining
    - 그 뒤에 2D Patch Embedding을 Cube Embedding 으로 확장한 뒤에 Video Dataset에 맞도록 Fine Tuning
    - 해당 방식도 From Scratch를 이김
    - 또한 ImageMAE로 Training 한 것보다 VideoMAE가 더 좋은 성능을 가짐
    - SSv2 -> K400, K400 -> SSv2로 진행해보니 Accuracy가 감소, 같은 Dataset으로 Pre-Training한 것이 좋음
  • Loss Function
    - 1f 에서는 Reconstrucion Task에서 Loss Function이 어느게 좋은지 확인
    - 결과적으로 MSE Loss가 더 좋은것을 확인, 그러므로 선택

  • Data Efficient Learner
    - SSVP는 이전에도 연구 되었지만 대부분 CNN기반
    - SSVP는 Transformer Base Backbone기반으로 한 경우는 거의 없음
    - 이에 대한 성능을 비교하기 위해 VideoMAE, From Scratch, MoCov3와 비교 진행
    - Table2를 보면 모든 경우에 VideoMAE가 좋은 성능을 보였고, Dataset이 적어질수록 VideoMAE와 다른 것들과의 차이가 커지는 것을 알 수 있음
    - 적은 Dataset에서도 효율적인 방식임
    - Table3을 보면 MoCov3보다 효율적이고, 효과적인 방법인 것을 알 수 있음 (시간, Accuracy)
  • High Masking Ratio
    - VideoMAE의 Core Design은 Extremely High Masking Ratio
    - K400, SSv2에서 Ratio에 대한 실험을 진행했고, ImageMAE, BERT와는 다르게 90%가 가장 높은 점수를 얻음
    - 이런 이유는 Temporal Redundancy, Correlation때문이라고 저자들은 주장
  • Transfer learning: quality vs. quantity
    - Table4를 보면 Kinetics Data로 학습을 진행하고 난 뒤에 결과를 확인
    - 당연히 VideoMAE가 더 좋은 점수
    - Table2와 비교해보면 UCF101, HMDB만이 K-400으로 학습한 뒤에 Transfer하는 것이 더 좋은 점수를 얻음
    (HMDB, UCF101은 워낙 작은 Dataset이므로 K400으로 Video 특성을 파악하는 것이 좋은 것 같음)
    - Figure4에서는 두가지 실험을 진행, (1) 동일한 Epoch로 Pretraining, (2) 동일한 시간 Budget으로 Pretraining
    - 놀랍게도 42000개의 Pretraining Video가 있어도, 240000개의 K400으로 Pretraining한 Model보다 더 높은 정확도를 얻음(68.7, 68.5)
    - 이런 결과는 SSVP에서 Pretraining과 Target Dataset 사이에 차이가 있을대 Domain Shift가 또 다른 중요한 요소이고, Data 질이 Dats의 양보다 더 중요함을 의미
    - 또한 VideoMAE가 SSVP를 위한 Data Efficient Learner임을 보여줌 

  • 저자들의 Model이 SOTA에 달성함(K400, SSv2, UCF101, HMDB51, AVA)

Masking Ratio가 높아도 어느정도 복원이 가능

Conclusion

  • 이 논문에서는 비디오 트랜스포머 사전 훈련을 위한 간단하고 데이터 효율적인 자기 지도 학습 방법인 VideoMAE를 제안
  • VideoMAE는 매우 높은 마스킹 비율과 튜브 마스킹 전략이라는 두 가지 중요한 디자인을 도입하여 비디오 재구성 작업을 더 어렵게 만듬
  • 이러한 더 어려운 작업은 VideoMAE가 더 대표적인 기능을 학습하고 정보 유출 문제를 완화하는 데 도움이 됨
  • 결과는 이 간단한 알고리즘이 서로 다른 규모의 비디오 데이터셋에 대해 잘 작동함을 보여줌
  • 특히 수천 개의 비디오 클립으로만 효과적인 VideoMAE를 학습할 수 있으며, 이는 데이터가 제한된 시나리오에서 중요한 실용적 가치가 있음

+ Recent posts