data2vec / data2vec 2.0: 문맥을 포함하는 정답 학습과 그 계산의 효율화
요약
data2vec과 data2vec 2.0은 자기 지도 학습에서 정답(Target)을 입력 값 자체가 아닌, 모델이 문맥을 고려하여 만든 내부 표현으로 정의합니다. 이는 이미지, 음성, 언어 등 다양한 모달리티에 공통적인 학습 문제를 설정할 수 있게 합니다. 특히 2.0 버전에서는 정답 생성과 학습 계산의 효율성을 높이는 데 초점을 맞추었습니다.
핵심 포인트
- 정답을 입력 값 대신 문맥 기반 내부 표현으로 정의 (da2vec).
- 다양한 모달리티에 공통적인 자기 지도 학습 문제 설정 가능.
- data2vec 2.0은 정답 생성 및 학습 계산의 효율성을 개선함.
- 마스크 설계는 단순한 입력 축소 이상의 의미를 가짐.
1. 서론
자기 지도 학습(Self-supervised learning)에서는 사람이 레이블을 제공하는 대신, 데이터로부터 학습 문제를 만듭니다. 그 대표적인 예가 입력의 일부를 가리고 예측하는 masked prediction입니다.
하지만 '숨긴 것을 예측한다'고 해도, 무엇을 정답으로 할지에는 선택의 여지가 있습니다. 문장이라면 토큰 ID, 이미지라면 픽셀 값이나 이산적인 이미지 토큰, 음성이라면 학습된 음성 단위 등과 같습니다.
da2vec[1]은 이 정답 만드는 방식을 바꿉니다. 입력 전체를 본 모델의 내부 표현을 정답으로 삼고, 그 표현을 입력의 일부만 보이는 모델이 예측하도록 합니다. 정답은 입력 값 자체가 아니라, 모델이 문맥을 고려하여 만든 표현이 됩니다.
이러한 아이디어는 이미지, 음성, 언어에 공통적인 학습 문제를 설정할 수 있게 하는 반면, 계산상의 부담을 동반합니다. 학생을 학습시키는 것뿐만 아니라, 정답을 만드는 교사도 매번 작동시켜야 합니다.
이어지는 data2vec 2.0[2]은 문맥 표현을 예측하는 원리를 계승하며, 정답을 만드는 계산과 그것을 사용하여 학습하는 계산의 배분을 재검토합니다. 학생이 처리할 입력을 줄이고, 교사가 한 번 만든 정답을 여러 학습 문제에서 재사용합니다.
본 기사에서는 이 두 논문을 하나의 설계로 읽어봅니다. 중심에 놓인 질문은 유용한 정답을 모델 스스로 만들게 하면서, 그 정답으로부터 어떻게 효율적으로 배울 수 있는가입니다.
2. 문맥을 사용하는 예측과 문맥을 포함하는 정답
2.1 고정 레이블과 문맥에 따른 교사 표현
BERT[3]의 masked language modeling은 보이는 문맥으로부터 숨겨진 토큰 ID를 예측합니다. 예를 들어, 영어 'bank'가 은행을 가리키는 문장과 강가를 가리키는 문장이 있다면, 주변 문맥은 다릅니다. 하지만 같은 어휘 토큰으로 분할된다면, 맞혀야 할 ID는 같습니다.
물론 BERT의 내부 표현은 문맥에 따라 변합니다. 여기서 고정되는 것은 학습의 정답으로 지정하는 레이블입니다. 모델은 문맥을 사용하지만, 손실 함수가 최종적으로 요구하는 것은 어휘 ID를 맞히는 것입니다.
da2vec에서는 입력 전체를 읽은 교사 모델의 내부 표현을 정답으로 삼습니다. 같은 'bank'라도 주변 문장이 다르면 그 위치의 교사 표현도 달라질 수 있습니다. 학생이 맞춰야 할 대상에 문맥의 차이가 직접적으로 들어갑니다.
이러한 차이는
| 모달리티 | Transformer에 전달하는 단위 | 마스크 설계 시 고려할 속성 |
|---|---|---|
| 이미지 | 변환된 이미지 패치 벡터 | 인접 패치에 걸치는 형태나 국소 구조 |
| ... | ||
| 음성에서 단지 한 시점만 가려도, 옆 시점으로부터 쉽게 보완될 수 있는 경우가 있다. 연속적인 구간을 가림으로써, 더 멀리 떨어진 문맥을 사용해야 할 필요가 생긴다. 즉, 마스크는 입력을 줄이는 조작인 동시에, 어떤 범위의 관계를 학습시킬지 결정하는 조작이기도 하다. |
언어에서는 입력 측 BPE 어휘와 임베딩이 남아있기 때문에, data2vec은 토크나이저(tokenizer)가 불필요한 방법론을 사용한다고 할 수 없다. 공통점이 된 것은, 이러한 입구를 거친 후의 학습 문제이다.
이 구분은 2.0에서도 변하지 않는다. 2.0은 공통 원리를 유지하면서, 입력 처리 방식, 마스크, 예측용 디코더를 재조합한다. 먼저 다음 장에서 그 기반이 되는 교사와 학생의 관계를 살펴본다.
3. 학습에 따라 변화하는 교사 타겟 (Teacher Target)
3.1 전체 문맥의 교사와 다층 표현
초기 구성도부터 시작한다.

그림 1: 초기 버전의 Figure 1. 상단의 teacher는 마스크되지 않은 입력을, 하단의 student는 마스크된 입력을 받는다. 파란색 다층 구조를 통해 교사 타겟을 만들고, teacher의 가중치는 student를 따라가게 한다. 출처: Baevski et al. (2022).
teacher는 입력 전체로부터 각 위치의 표현(representation)을 만든다. student는 일부가 가려진 입력으로부터 그 표현을 예측한다. 이미지의 경우, 동일한 크롭(crop) 등의 확장을 적용한 이미지를 양쪽에 전달하고, student 쪽에 마스크를 추가한다.
교사는 학생이 볼 수 없는 정보도 본다. 학생의 임무는 보이는 부분만으로 전체 문맥을 본 교사의 표현을 추측하는 것이다. teacher는 별도로 지도 학습(supervised learning)을 거친 모델이 아니라, student의 가중치로부터 학습 중에 만들어진다.
정답에는 교사의 최종 레이어뿐만 아니라 상위의 여러 층(multiple layers)을 사용한다. 전체 층 수를
식(1)이 나타내는 것은, 각 층을 정규화한 후 평균을 내는 순서이다. 각 층의 출력은 같은 차원이므로, 성분별로 평균을 낼 수 있다. 정규화에는 노름(norm)이 큰 층만 평균을 지배하는 것을 막는 역할이 있다.
여러 층을 사용하는 이유는, 최종 레이어의 표현이 하위 작업(downstream task)에 가장 유용하다고 할 수 없기 때문이다. 원 논문은, wav2vec 2.0[7]에서 최상위 층보다 중간 층이 하위 작업에 더 유용했다는 선행 연구의 관찰을 이 설계의 동기로 제시하고 있다.[8] 층마다 포착하는 특징이 다르기 때문에, 중간 층의 특징도 교사 신호(teacher signal)로 가져오는 것이 목표이다.
다만, 평균은 모든 정보를 보존하는 조작이 아니며, 특징이 상쇄될 가능성도 있다. 성능 향상은 식만으로 보장되지 않는다. 최종 레이어만 사용하는 경우와의 실험 비교는 제5.1절의 그림 4에서 다룬다.
초기 버전과 2.0에서는 정규화의 세부 사항이 다르다. 주요 이미지 분류, 음성 인식, 언어 이해 설정들을 정리하면 다음과 같다.[9]
| 설정 | 각 층의 정규화 | 층 평균 후 처리 |
|---|---|---|
| 초기 버전: 이미지・언어 | Layer Normalization (LN) | 평균을 타겟으로 사용 |
| ... | ||
| 여기서 LN은 하나의 위치 벡터에 대해 특징 성분 방향을 정규화한다. IN은 하나의 입력 내 각 특징 성분에 대해, 시간・토큰・패치 등의 위치 방향을 정규화한다. 둘은 어떤 방향의 변동을 맞추느냐가 다르다. |
이하에서는, 평균 후 필요한 처리까지 적용한 최종 타겟을
타겟 추출 위치 (Target Extraction Position)
초기 버전은 보통 각 Transformer 블록의 마지막 잔차 덧셈(residual addition) 전의 FFN 출력을 사용하고, 2.0도 상위 FFN 블록의 표현을 평균한다. 블록 전체의 최종 출력이나 어텐션 출력을 임의로 선택할 수는 없다.
초기 버전의 타겟 정규화에는 학습 가능한 scale・bias를 부여하지 않는다. 또한, 초기 버전의 AudioSet 실험에는 타겟의 LN 등 다른 변경 사항이 있기 때문에, 위의 표에서는 음성 인식의 주요 설정을 다루고 있다.
3.2 회귀를 통한 학생의 학습과 EMA를 통한 교사의 업데이트
전처리된 입력을
예측 대상 위치 집합을
회귀 손실 [10] L2라면, 예측값과 교사 표현의 각 성분 차이를 제곱하여 더한다.
어휘 ID 분류에 필요한 출력 어휘를 두는 대신, 같은 차원의 교사 표현에 가깝게 만드는 문제가 된다. 식(2)는 마스크 위치의 기본적인 목적을 나타내며, 2.0의 이미지에는 이미지 전체 정보를 학습시키는 CLS 손실도 추가된다. 이 추가 항은 제4장에서 다룬다.
교사는 같은 손실의 기울기(gradient)로 업데이트되는 것이 아니라, 학생 가중치의 지수 이동 평균(Exponential Moving Average, EMA)으로 업데이트한다. 학습 스텝을

여기에는 두 가지 시간 척도가 있다. 학생(student)은 손실을 낮추기 위해 움직이고, 선생님(teacher)은 그 변화를 약간 지연되어 받아들인다. 정답을 고정하지 않고, 학생과 같은 속도로 너무 많이 움직이지 않는 관계이다. 부정 예시를 사용하지 않고, 이동 평균(moving average)의 교사로부터 배우는 발상은 BYOL[12]와도 관련이 있다.
수식 및 구현 대응
초기 언어의 기본 설정에서는 예측 대상으로 선택한 15%의 위치 중 80%를 마스킹하고, 10%는 변경 없이, 10%는 랜덤 토큰으로 처리한다. 따라서 식(2)의
초기는 특징 인코더와 위치 인코더를 teacher와 student가 공유한다. 식(4)는 EMA 대상의 대응하는 가중치를 나타내며, 모든 파라미터를 반드시 2쌍 가진다는 의미는 아니다. 2.0의 예측용 decoder는 학생 측에 두기 때문에, 그 가중치를 교사 encoder에 EMA로 혼합할 필요도 없다.
또한, 식(2)의 위치 평균과 식(3)의 표기는 설명상의 정리일 뿐, 구현의 손실 집약 계수까지 동일하다는 의미는 아니다.
3.3 표현 붕괴의 리스크와 유익한 정답의 성립 조건
정답을 모델에 만들게 되면, 고정된 레이블에는 없던 탈출구가 생겨난다. 교사가 어떤 입력에도 같은 타겟을 반환하고, 학생도 그 값을 반환하면, 회귀 오차는 0이 된다. 하지만 입력의 차이를 잃은 표현은 하류 태스크에 유용하지 않다. 이것이 **표현 붕괴(representation collapse)**이다.
stop-gradient는 교사를 학생의 출력으로 직접 가깝게 하여 손실을 낮추는 경로를 끊는다. EMA는 급격한 변화를 평활화하고, 타겟의 정규화는 레이어의 스케일이나 위치 방향의 변동을 정리한다.
다만, 이들 중 어느 것도 단독으로 붕괴하지 않음을 증명하는 장치는 아니다. 예를 들어 LN은 하나의 벡터 내 성분을 정규화한다. 모든 입력이 같은 벡터를 반환한다면, 정규화해도 입력 간의 차이는 생기지 않는다. IN 역시 이미 완전히 잃어버린 변동을 부활시키는 조작은 아니다.
초기의 §6는 너무 큰 학습률, 너무 짧은 warmup, 너무 작은 EMA 계수, 인접 타겟의 강한 상관관계 등으로 붕괴하기 쉽다고 보고했다. 어떤 정답을 만들고, 어느 속도로 바꿀지까지 포함하여 학습법인 것이다.
게다가, 숨겨진 부분의 내용을 나머지 입력으로부터 유일하게 특정할 수 있는 것은 아니다. 학생에게 보이는 정보가 너무 적으면, 교사의 표현을 완전히 예측할 수 없다. 교사에게 전체 맥락을 주는 것과, 학생에게 예측 가능한 문제를 주는 것은, 양쪽을 고려해야 한다.
여기까지를 본 기사의 말로 파악하자면, data2vec은 정답 만들기를 모델에 맡긴 방식이 아니라, 유익한 정답이 자라나고, 그것을 예측함으로써 배울 수 있는 조건을 설계하는 방식이다. 2.0의 효율화 역시 이 조건과의 균형으로 읽어야 한다.
4. data2vec 2.0에서의 계산 재분배
4.1 가시 부분의 encoder와 경량 decoder
초기에는 계산상의 부담이 두 가지 있다. 교사는 전체 맥락을 처리하고, 학생도 마스킹 위치를 포함한 길이의 시퀀스를 Transformer에 통과시킨다. 마스킹 위치를 학습 가능한 벡터로 대체하더라도, 시퀀스에서 삭제하는 것은 아니다.
2.0은 MAE와 마찬가지로, 보이는 위치만 학생의 encoder에 전달한다. 그 출력을 원래 위치로 되돌리고, 마스킹 위치를 채우는 표현과 함께 경량 decoder에 전달한다. decoder가 마스킹 위치의 교사 표현을 예측한다.

그림 2: 2.0의 Figure 1. 왼쪽은 같은 입력에서 만든 다른 마스크, 오른쪽은 교사 타겟의 공유와 encoder/decoder의 분담을 보여준다. 여러 개 그려진 student는 동일한 가중치를 공유한다. 출처: Baevski et al. (2023).
그림의 우측 상단에서는, 교사가 마스킹되지 않은 입력에서 한 번 타겟을 만든다. 아래 학생은, 마스크별로 가시 부분(visible part)을 encoder에 통과시키고, CNN decoder로 원래 위치에 대응하는 예측을 만든다. 교사의 전체 맥락을 유지한 채, 학생의 무거운 처리를 줄이고 있다.
입력의 위치 수를
예를 들어 80%를 숨긴다면, 남는 위치는 20%, 이 제곱 항은 원래의 4%가 된다. 다만, 이것은 attention의 제곱 항에 대한 비교이다. 특징 차원을 고정하고 생각하고 있으며, FFN이나 선형 투영, 교사의 순전파(forward pass), decoder, 통신 등의 시간은 포함하지 않는다. 따라서 전체 학습이 25배 빨라진다는 식은 아니다.
der에는 Transformer가 아닌, 컨볼루션(convolution)/LN/GELU/잔차 연결을 조합한 경량 네트워크를 사용한다. 이미지는 2차원, 음성·언어는 1차원의 컨볼루션이다. 원 논문 §3.2에서는, 마스킹 위치를 채우는 표현에는 학습 가능한 mask token 대신 Gaussian noise로 충분했다고 언급하고 있다.
학생의 가시 표현에는 이미 Transformer를 통해 가시 위치 간 정보가 포함되어 있다. 디코더가 컨볼루션(convolution)이기 때문에, 예측이 원본 입력의 좁은 근방에서만 결정되는 것은 아니다. 무거운 문맥 처리는 인코더에, 마스크 위치에 대한 예측은 경량화된 디코더에 분담시키고 있다.
4.2 Multi-mask training을 통한 교사 계산 공유
학생을 가볍게 하더라도, 교사는 전체 문맥을 처리한다. 그래서 2.0에서는 하나의 입력에 대해 한 번 만든 교사 표현을 여러 마스크에서 공유한다.
동일한 전처리된 입력
여기서 중요한 것은, 교사는 비(未)마스크의 동일한 입력을 보고 있기 때문에, 어디를 학생에게 숨기는지가 바뀌어도, 교사 타겟을 다시 만들 필요가 없다.
이미지의 크롭(crop)까지 바꾸면, 원본 입력도 위치 대응도 바뀐다. 이 재사용은 같은 확장된 샘플에서 마스크만 변경하는 것에 근거한다. 또한, 교사는 학습 중에 업데이트되므로, 데이터셋 전체의 정답을 한 번 계산하여 고정하는 방식도 아니다.
계산량을 분해하면, 이 설계의 의미가 잘 보인다. 교사의 타겟 생성 비용을
2번째 줄은, 합계를 학습에 사용하는 마스크 수 **1개의 마스크당 교사 비용이 ** 학생의 계산까지 무료가 되는 것은 아니며,
이는 논문의 설계를 설명하기 위한 단순한 비용 분해일 뿐, 실측 시간을 예측하는 모델이 아니다. 실제 2.0에서는 특징 인코더의 출력도 여러 마스크에서 공유한다. 이 효과는 특히 파형으로부터 특징 추출에 계산을 요하는 음성에서 크다.
4.3 가시 영역의 구조와 모달리티별 조정
가시 위치만 인코더에 전달하면, 초기 버전에서 존재했던 마스크 위치의 중간 표현이 사라진다. 게다가 더 높은 마스크율을 사용하면, 학생이 이용할 수 있는 국소적인 덩어리도 줄어든다.
2.0의 inverse block masking은 이 문제에 대응한다. 일반적인 block masking이 '숨길 영역을 덩어리로 선택하는' 것에 반해, inverse block masking은 '남길 영역을 덩어리로 선택하는' 것이다.
이미지에서, 약간 남는 패치가 여기저기 흩어져 있는 경우와, 작은 연속 영역으로 남아있는 경우를 생각해 보자. 후자의 경우, 국소적인 형태의 단서(hand-clue)를 가시 측에 남길 수 있다. 이 설계는 높은 마스크율에서도 학생이 의미 있는 특징을 구성하기 쉽게 만드는 것을 목표로 한다.
공식 구현의 이미지 설정에서는, 예를 들어 3×3 패치의 가시 블록을 사용한다. 블록의 겹침이나 경계에 따라 남는 수가 달라지기 때문에, 마지막에 개별 위치를 추가로 숨기거나 되돌림으로써 배치 내의 가시 위치 수를 맞춘다.[14] 따라서, 최종적인 가시 영역이 모두 완벽한 직사각형이 되는 것은 아니다.
모달리티(modality)마다 마스크율이나 예측에 사용하는 보조 정보를 조정한다. 다음 표는 2.0의 Appendix A에 있는 Tables 8–10 (순서대로 이미지·음성·언어)에서 Base 모델의 주요 설정을 발췌한 것이다.
| 2.0의 주요 설정 | 학생에게 숨기는 비율 | 마스크나 예측의 보조 정보 |
|---|---|---|
| 이미지 ViT-B | 80% | 가시 블록을 남기고, 이미지 전체 CLS 손실도 추가 |
| ... | ||
| 이미지의 CLS 손실은, 마스크 위치의 예측에 더해 이미지 전체의 표현을 학습시키기 위한 항(項)이다. 공식 구현에서는, 교사의 위치별 타겟을 평균한 표현을 학생의 CLS 위치 출력으로부터 예측한다. 교사의 CLS 출력을 그대로 복사한다는 의미는 아니다.[15] |
음성에서는, 위치를 간격화한 열에 대응하는 것에 더해, 거리에 따라 attention score에 바이어스(bias)를 가하는 ALiBi[16]를 이용한다. 언어에서는 블록 폭이 1이기 때문에, 이미지에서 유효했던 가시 블록의 설계를 그대로 사용하지는 않는다.
5. 문맥 표현과 효율화를 지탱하는 실험
아래는 원 논문의 보고 값이며, 본 기사에서 사전 학습을 재실행한 결과가 아니다. 초기 버전의 실험은 '무엇을 정답으로 할 것인가', 2.0의 실험은 '그 정답으로부터 어느 정도의 시간 안에 배울 수 있는가'를 생각하는 근거가 된다.
5.1 교사의 문맥과 다중 레이어 평균 효과
높은 정확도가 나왔다고 해도, 그것만으로는 '교사 타겟에 문맥을 포함한다'는 설계의 효과를 알 수 없다. 초기 버전은, 교사의 self-attention이 참조할 수 있는 범위를 현재 위치 주변으로 제한하여 결과를 비교하고 있다. 파인튜닝(fine-tuning) 시에는 전체 문맥을 사용한다.

그림 3: 초기 버전의 Figure 3. 가로축은 교사가 이용할 수 있는 문맥의 비율이다. 위는 음성의 WER로 낮을수록 좋고, 아래는 이미지의 top-1 accuracy로 높을수록 좋다. 가로축은 문맥 조건을 순서대로 나열한 것이며, 눈금 간격은 수치 차이에 비례하지 않는다. 출처: Baevski et al. (2022).
봐야 할 것은, 양쪽 모두에서 전체 문맥을 보여주었을 때 가장 좋은 결과가 나온다는 점이다. 음성(Audio)과 이미지(Image)는 포함되는 정보량도 평가 지표도 다르기 때문에, 곡선들 간의 기울기나 개선량을 직접 비교해서는 안 된다. 하지만 각각 내부적으로는 교사에게 넓은 문맥을 제공하는 설계가 하류 성능(downstream performance) 개선으로 이어지고 있다.
이 실험은 학생이 예측에 문맥을 사용할 뿐만 아니라, 정답 자체가 문맥을 포함하는 것에도 의미가 있다는 주장을 뒷받침한다. 2.0이 교사의 전체 문맥을 유지한 채 그 계산을 공유하는 이유도 여기서 연결된다.
다음으로, 제3.1절의 식(1)에서 도입된 다중 레이어 평균(multiple layer average)을 본다. 초기 버전은 12개 레이어의 Base 모델로, 교사의 최종 레이어부터 평균하는 레이어 수를
이 비교는 사전 학습의 회귀 오차(regression error)가 아니라, 학습된 표현(representation)을 사용해 파인튜닝한 후의 하류 성능을 측정하고 있다. 음성은 200K 업데이트로 사전 학습하고, 10시간 분량의 전사본으로 파인튜닝한, 언어 모델이 없는 dev-other WER이다. 이미지는 300 에포크(epoch) 동안 사전 학습한 ImageNet의 top-1 accuracy를 사용하며, 언어는 GLUE[17]의 검증 점수를 사용한다. 주 결과와는 학습 조건이 다르다.[18]

*그림 4: 초기 버전의 Figure 2 그래프 부분을 잘라낸 스크린샷. 가로축은 교사 타겟에 평균하는 레이어 수 *
왼쪽 음성에서는,
오른쪽 이미지에서는, 많은 레이어를 혼합할수록 좋은 것은 아니다.
식(1)에서 중간 레이어를 포함하는 이유는 이 실험에서 구체적으로 보인다. 최종 레이어만 예측하게 하는 것보다, 여러 레이어를 평균한 타겟을 예측하게 하는 것이 하류 태스크에 유용한 표현을 학습하게 한다.
원 논문은 레이어마다 다른 특징을 교사 신호(teacher signal)로 가져옴으로써, 자기 지도 학습(self-supervised learning)의 과제가 풍부해진다고 설명한다.[8:1] 다만, 그림 4만으로는 각 레이어의 어떤 특징이 개선을 가져왔는지까지는 알 수 없다.
지지되는 것은, 교사의 문맥과 레이어 선택이 정답의 질을 좌우한다는 것이다. 임의의 교사 표현을 평균한다고 유용한 것이 된다는 일반 법칙은 아니다.
5.2 도달 정확도와 사전 학습 시간의 관계
2.0의 큰 주장은, 1회 업데이트의 속도뿐만 아니라, 비슷한 하류 성능에 도달할 때까지의 사전 학습 시간을 단축했다는 것이다.
먼저, ImageNet-1K로 사전 학습된 ViT-B를 레이블이 지정된 데이터로 파인튜닝한 이미지 분류를 본다. 다음 표는 2.0의 Figure 2(a)에서 추출한 것으로, 시간은 32개의 A100 40GB로 측정한 경과 시간이다.[19]
| 방법/설정 | 사전 학습 epoch 수 | 시간 (h) | Top-1 accuracy (%)↑ |
|---|---|---|---|
| MAE | 1,600 | 50.7 | 83.6 |
| ... | |||
| MAE의 83.6%에 대해 2.0은 83.7%이며, 시간 비율은 |
2.0의 장시간 설정에서는, 같은 ViT-B로 정확도가 84.5%까지 올라간다. 이 표는, MAE와 비슷한 정확도에 단시간으로 도달하는 사용법과, 더 시간을 들여 정확도를 높이는 두 가지 사용법을 모두 보여주고 있다.
1 에포크는 원본 데이터셋을 한 번 순회하는 것에 해당한다. 여기서의 epoch 수는 multi-mask로 늘린 입력 수를 세지 않는다. 2.0은 하나의 샘플에서 여러 마스크를 만들기 때문에, 1 에포크 안에서 학생에게 주어지는 예측 문제가 증가한다. 위의 단시간 설정에서는 각 이미지에 8개의 마스크를 사용하고, 장시간 설정에서는 16개의 마스크를 사용한다. '데이터셋을 순회하는 횟수가 적다'와 '학생에게 주어지는 예측 문제가 같은 비율로 적다'는 별개이다.
multi-mask를 사용하면, 같은 이미지의 다른 마스크들을 다음 에포크를 기다리지 않고 모아서 학습할 수 있다. 한 번의 순회로 학습에 사용하는 예측 문제가 늘어나기 때문에, 목표 정확도에 도달하기까지의 epoch 수를 줄일 가능성이 있다. 장시간 돌리는 경우가 많은 SSL에서, 교사 계산을 공유하면서 적은 epoch으로 학습 시간까지 단축할 수 있다면 상당히 큰 메리트라고 생각한다.
음성에서도, 2.0의 Figure 2(b)는 wav2vec 2.0[7:1]과 비슷한 WER에 1/10.6 시간 만에 도달했다고 보고한다. 이는 LibriSpeech로 Base 모델을 사전 학습하고, 10시간 분량의 전사본으로 파인튜닝한, 언어 모델이 없는 dev-other에서의 비교이다.[20] 복호화(decoding)에 언어 모델을 사용하는 test-other 결과와는 구분해서 읽어야 한다.
언어에서도 동등한 수준의 하류 성능에 단시간으로 도달할 수 있음을 확인하기 위해, 2.0의 Table 4에서 재학습된 RoBERTa baseline[21]과의 비교 결과를 가져왔습니다. 두 모델 모두 BooksCorpus와 영어 Wikipedia로 사전 학습되었으며, GLUE[17:1]의 각 태스크에 대해 파인튜닝(fine-tuning)을 거쳤습니다. 시간은 16개의 A100 GPU에서 측정한 사전 학습 시간을 나타냅니다.[22]
| 방법 | GLUE 평균 ↑ | 시간 (h) |
|---|---|---|
| 재학습된 RoBERTa baseline | 82.5 | 50.5 |
| data2vec 2.0 | 82.6 | 28.2 |
GLUE 평균은 거의 비슷한 수준인 반면, 2.0의 사전 학습 시간은 baseline의 약 1/1.8에 불과합니다. 이미지, 음성, 언어 각각에서 동등한 하류 성능에 도달하는 시간을 단축시킬 수 있었습니다. 언어 분야의 비교 대상은 BERT와 유사한 조건으로 재학습된 RoBERTa입니다.
5.3 설계의 기여와 남겨진 한계
전체적인 시간 비교만으로는, 2.0이 문맥 타겟을 유지하는 이유나 multi-mask 효과가 커지는 조건까지는 알 수 없습니다. 여기서는 이 두 가지 포인트를 확인하는 실험들을 살펴보겠습니다.
먼저, 학습 목표의 비교를 보겠습니다. 2.0의 Table 5에서 100 epoch의 이미지 사전 학습 중 CLS 손실을 제외한 문맥 타겟 예측과, 화소 회귀(pixel regression)만으로 구성된 경우를 가져왔습니다. 이는 전체 이미지에 대한 보조적인 CLS 손실을 포함하지 않고, 교사(teacher)의 문맥 표현으로부터 학습하는 의미를 확인하기 위함입니다.
| 학습 신호 | Top-1 accuracy (%) ↑ |
|---|---|
| 문맥 타겟 (CLS 손실 없음) | 84.2 |
| 화소 회귀만 | 83.5 |
CLS 손실을 제외했음에도 불구하고, 문맥 타겟을 예측하는 구성이 화소 회귀만 하는 구성보다 분류 정확도가 높습니다. 이 설정에서는 교사의 문맥 표현으로부터 학습하는 목표를 남기는 것이 하류 성능 측면에서 의미가 있습니다. 2.0이 교사 계산을 공유하여 효율화할 때 유지하고 있는 것이 바로 이 학습 신호입니다. 다만, MAE(Mean Absolute Error)를 권장 설정으로 학습한 결과와의 비교가 아니라, 화소 예측 일반의 우열을 보여주는 것은 아닙니다.
다음으로, multi-mask 효과를 2.0의 Figure 3에서 살펴보겠습니다. 원본 이미지의 배치 사이즈 [13:1]

*그림 5: 2.0의 Figure 3. 가로축은 이미지당 마스크 수 *
먼저 파란색 원(blue dot)을 보면 (원본 이미지 배치가 작을수록, 마스크 수를 늘렸을 때 개선 폭이 크다는 경향을 각 곡선의 상승세에서 확인할 수 있습니다.)
각 곡선 내에서는 원본 이미지 배치 사이즈와 업데이트 횟수를 고정했습니다. 다만, 마스크 수를 늘리면 학생(student)이 처리해야 하는 마스크 입력도 늘어납니다. 같은 학습 시간이나 계산 예산으로 마스크 수만 늘린다고 해서 반드시 이득을 얻는 것은 아닙니다. 파란색 곡선에
여기서 알 수 있는 한계점은 주로 3가지가 있습니다.
1. 계산 감소와 예측 가능성의 균형. 가시 위치를 줄이면 인코더(encoder)는 가벼워지지만, 숨겨진 내용을 추측할 단서도 잃게 됩니다. 높은 마스크율의 유효 범위는 데이터에 따라 다릅니다.
- 2. 교사의 질과 학습 안정성에 대한 의존성. 교사가 다른 입력에도 같은 표현을 반환해 버리면, 학생은 그 값만 내놓아 손실을 줄일 수 있게 됩니다. 마스크 수를 늘려도, 동일한 표현을 반복해서 예측하는 것일 뿐이므로, 입력의 차이를 배우는 단서는 증가하지 않습니다.
- 3. 속도 비교 조건과 평가 범위.
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기