콘텐츠로 이동

자기지도 학습 (Self-Supervised Learning)

개요

자기지도 학습(Self-Supervised Learning, SSL)은 라벨이 없는 데이터에서 스스로 학습 신호를 생성하여 유용한 표현(representation)을 학습하는 기법이다. 지도 학습은 대규모 라벨링이 필요하지만, SSL은 데이터 자체의 구조를 활용한다. BERT의 Masked Language Modeling, GPT의 다음 토큰 예측, SimCLR의 대조 학습 등이 대표적이며, 현재 딥러닝의 사전 학습 패러다임의 핵심이다.


핵심 개념

1. 대조 학습 (Contrastive Learning)

핵심 아이디어: 유사한 쌍(positive pair)은 임베딩 공간에서 가깝게, 다른 쌍(negative pair)은 멀게 학습한다.

InfoNCE Loss: $\(L = -\log \frac{\exp(\text{sim}(z_i, z_j) / \tau)}{\sum_{k=1}^{2N} \mathbb{1}_{[k \neq i]} \exp(\text{sim}(z_i, z_k) / \tau)}\)$

  • \(z_i\), \(z_j\): positive pair의 임베딩
  • \(\tau\): temperature 파라미터
  • \(\text{sim}\): 코사인 유사도

SimCLR (Simple Contrastive Learning)

graph TD
    X["이미지 x"] --> A1["증강 t₁"]
    X --> A2["증강 t₂"]
    A1 --> E1["인코더 f"]
    A2 --> E2["인코더 f (동일)"]
    E1 --> P1["Projection Head g"]
    E2 --> P2["Projection Head g"]
    P1 --> Z1["z₁"]
    P2 --> Z2["z₂"]
    Z1 --> L["Contrastive<br>Loss<br>(z₁, z₂ = positive)"]
    Z2 --> L
  • 같은 이미지의 다른 증강 = positive pair
  • 다른 이미지 = negative pair
  • 핵심 발견: 큰 배치 크기, 강한 증강, projection head가 성능에 중요

MoCo (Momentum Contrast)

  • Momentum encoder + queue로 큰 negative 풀을 메모리 효율적으로 유지
  • SimCLR의 큰 배치 크기 제약을 해결

Negative-free Methods

모델 핵심 아이디어 Collapse 방지
BYOL Teacher-Student, momentum update Momentum encoder
SimSiam 동일 네트워크, stop-gradient Stop-gradient
VICReg 분산-불변-공분산 정규화 명시적 정규화 항

→ Negative pair 없이도 좋은 표현을 학습할 수 있음을 보여주었다.

CLIP (Contrastive Language-Image Pre-training)

이미지-텍스트 쌍으로 대조 학습. 이미지 인코더와 텍스트 인코더를 동시에 학습하여, 텍스트로 이미지를 검색하거나, zero-shot 이미지 분류가 가능하다.

2. 마스킹 기반 학습 (Masked Modeling)

입력의 일부를 마스킹하고, 마스킹된 부분을 복원하도록 학습한다.

도메인 모델 마스킹 비율 특징
텍스트 BERT (MLM) 15% 토큰 단위 마스킹
이미지 MAE 75% 패치 단위, 높은 마스킹 비율
오디오 wav2vec 2.0 - 오디오 프레임 마스킹

MAE (Masked Autoencoder)

He et al. (2022)이 제안. 이미지 패치의 75%를 마스킹하고 복원한다.

  • 매우 높은 마스킹 비율이 핵심 (이미지는 텍스트보다 중복성이 높음)
  • 인코더는 보이는 패치만 처리 → 효율적 학습
  • 디코더는 가벼운 구조로 복원

상세 내용

SSL vs 지도 학습 비교

특성 지도 학습 자기지도 학습
라벨 필요 필수 불필요
데이터 확보 비용 높음 비용 낮음
표현의 범용성 과제 특화적 범용적
소량 라벨 시 과적합 위험 사전 학습 후 few-shot 가능
계산 비용 상대적 낮음 높음 (대규모 사전 학습)

SSL의 학습 패러다임

flowchart LR
    A["대규모 비라벨 데이터"] --> B["SSL 사전 학습<br>(대조/마스킹)"]
    B --> C["범용 표현"]
    C --> D["소규모 라벨 데이터<br>+ Fine-tuning"]
    D --> E["과제 특화 모델"]

이 패러다임은 현재 NLP(BERT, GPT), 비전(MAE, CLIP), 오디오(wav2vec), 멀티모달(CLIP, DALL-E) 등 거의 모든 도메인에서 채택되고 있다.


언제 사용하는가

상황 SSL 적합도 비고
라벨 없는 데이터가 풍부 매우 적합 핵심 사용 시나리오
라벨 획득 비용이 높음 적합 의료, 법률 등
범용 표현이 필요 적합 다양한 downstream 과제
특정 과제에 라벨이 충분 덜 필요 직접 지도 학습이 효율적
멀티모달 이해 매우 적합 CLIP 등
도메인 적응 적합 도메인 내 비라벨 데이터 활용

흔한 오해와 함정

  1. "SSL은 비지도 학습(unsupervised learning)이다": SSL은 데이터 자체에서 감독 신호를 생성한다. 엄밀히는 지도 학습의 변형에 가깝다. 전통적 비지도 학습(클러스터링 등)과는 다르다.

  2. "Negative pair가 반드시 필요하다": BYOL, SimSiam 등이 negative pair 없이도 좋은 성능을 달성함을 보여주었다.

  3. "SSL 사전 학습이면 fine-tuning이 불필요하다": SSL로 학습한 표현은 범용적이지만, 특정 과제에 최적화하려면 fine-tuning이 필요하다.

  4. "대조 학습에서 배치 크기가 작아도 된다": SimCLR는 큰 배치(4096+)에서 성능이 좋다. 배치 크기가 작으면 MoCo 같은 대안을 고려하라.

  5. Projection head를 downstream에 사용: Projection head는 대조 학습의 학습 신호를 위한 것이며, downstream에서는 인코더의 표현을 사용해야 한다.


다른 주제와의 연결