🧁

(220305) Review: data2vec: A General Framework for Self-supervised Learning in Speech, Vision and Language

Meta AI의 General (Modality-Specific하지 않은) Self-Supervised Learning. Speech, NLP, Vision의 연구 동향과 섬세한 Model Design.

Abstract

Self-Supervised Learning은 별도의 Labeling 없이 Data Representations를 학습하는 점에서 효율적이며 (Efficient), 동시에 효과적이다 (Effective).
NLP에서 BERT의 Masked Token Prediction (MLM)이 대표적이며,
Speech Processing, Computer Vision에서는 Continuous한 특성의 Data를 Discrete Tokens로 (NLP의 Token과 유사하게) 분해하여 Masked Prediction을 수행하거나 (wav2vec-Blog & BEiT),
증강 등을 통한 Positive Pairs가 동일한 Representations를 갖도록 이들을 Align하는 방식 (Contrastive Learning)으로 사용된다.
위와 같이 Self-Supervised Learning은 각 Modality에 따라 특화된 목적과 방식으로 수행되는데, 본 논문에서는 모든 Modality에서 공통적으로 사용할 수 있는 Framework인 data2vec을 제안한다.
기본적으로 Masked Prediction과 BYOL(-Blog)의 Target Representations를 학습하는 방식을 따르며,
구체적으로는 Full Input Data (온전한 Data)의 Representations를 Masked Input Data (일부가 Masked된 Data)의 Representations로부터 Prediction하는 과정을 거친다.
논문은 실험을 통해 제안한 Framework가 Text, Speech, Image에 특화된 기존의 Self-Supervised 기법들을 능가하는 모습을 보인다.
(GLUE Benchmark에서 RoBERTa를 뛰어넘는 성능..!)

Proposed Model: data2vec

data2vec은 Transformer (Encoder) 구조를 가지며, Input Data의 종류에 따라 특화된 (기존의) Encoding, Masking 기법을 사용한다.
(학습 방식은 Data 종류에 상관없이 동일하지만, Encoding과 Masking 단계에서는 Modality-Specific한 방식을 사용함)
학습은 세부적으로
모델로부터 Masked Input Data의 Representations를 얻는 Student Mode,
동일한 모델로부터 (Target) Full Input Data의 Representations를 얻는 Teacher Mode,
그리고 Masked Representations로부터 Target Representations를 Prediction하는 과정
으로 구성된다.
학습 과정에서 눈여겨볼 점들은 다음과 같다.
Target Representations는 모델 Params의 Exponentially Moving Average (EMA-Blog)로부터 얻어지는데, 학습 초기에는 Teacher Network가 자주 Update되고, 이후에는 (충분히 좋은 Params가 학습되었으므로) 덜 빈번하게 Update된다.
Student, Teacher Network는 동일한 Feature, Positional Encoder를 사용하는 편이 좋다.
Teacher Network의 Top-K Transformer Blocks를 단순 Averaging하여 Target Representations를 얻어도 (기존 Contrastive Learning에서 Projection Layer를 활용하는 것과 비교하여) 성능에 큰 문제가 없다.
단, Averaging 이전 Normalization을 거치는데, Speech는 Instance Norm, Text와 Image는 Layer Norm을 사용한다.
또한, Transformer Block으로는 FFN 이후 ~ 마지막 Residual Connection 이전 값을 사용한다.
Training Objective는 Outlier에 덜 민감하게 위 그림 (수식)과 같이 정의한다.

Experiments & Results

(실험 결과, 모든 Modality에서 data2vec이 가장 좋은 성능을 보이며, 본인은 NLP 및 Ablation Study 결과만을 확인함)
NLP의 Baseline은 BERT와 RoBERTa (단, BERT와 동일한 실험 환경)이며, GLUE Benchmark에서 성능을 측정한다.
data2vec은 50K의 Vocab (일반적인 Case, 35K에 비해 조금은 큰 느낌), 256 Batch, Max 512 Seq_Len, BERT의 Masking Strategy를 사용한다.
data2vec에는 추가로 wav2vec 2.0의 Span Masking Strategy를 적용해본다.
실험 결과, 위 그림과 같이 data2vec이 가장 좋은 성능을 보인다.
제안 모델의 장점으로, 특정 Discrete Token을 예측하는 기존 모델들과 달리, Self-Attention을 통한 Contextualized Latent를 예측하도록 학습하는 점을 생각할 수 있다.
wav2vec 2.0의 Masking 기법이 추가 성능 향상을 이끌어낸다.
Target Representations를 얻는 데 활용하는 Transformer Block 수를 달리했을 때의 결과는 위 그림과 같다.
Speech, NLP에서는 더 많은 Blocks를 사용하는 편이 성능상 유리하다. (각 Transformer Block이 학습하는 정보가 모두 다르기 때문으로 생각할 수 있음)
Transformer Block으로 Self-Attention 직후 값을 사용하는 것은 성능에 큰 저하를 일으킴. (아래 그림, 다른 Time-Step에 편향된 Feature를 갖기 때문)