sol’s blog

semi-supervised learning

sol-commits
sol-commits Oct 1, 2025
문제의식
label은 비싸고 적은데, unlabel은 싸고 많음
→ 둘을 함께 써서 성능을 끌어올리는 방식(SSL)
데이터 구성
소수의(x, y)와 다수의 x가 섞여있음
핵심 아이디어 A
consistency regularization
핵심 아이디어 B
엔트로피 최소화/수도라벨
• 모델이 스스로 낸 예측을 임시 정답(수도라벨)으로 삼아 학습을 도움(self-training)
대표기법 1
Π‑Model
: 한 이미지에 서로 다른 두 증강을 적용해 나온 두 예측이 서로 가깝게 되도록 손실을 줌
대표 기법 2
Temporal Ensembling
: 한 시점의 예측 대신 시간 평균(지수가중 이동평균) 예측을 목표로 서서 더 신뢰도를 높임
가중치 스케줄링
• 초기에는 레이블된 데이터의 손실 비중을 크게 시간에 따라 언레이블드 손실 비중을 점점 키움
같은 상황에서 레이블만 보고 학습하면 작은 데이터에 암기(오버피팅) 하기 쉬움 → 언레이블드에 보조 목적 함수를 걸어 regularizaiton 효과를 줌
 

손실 함수

L=Lsup+λ(t)LunsupL=L_{sup}+λ(t)L_{unsup}
  • textlambda(t)\\text{lambda}(\text{t})는 훈련 초반엔 작게, 시간이 갈수록 크게(가중치 스케줄링)
    • ← 초기에 모델 예측은 불안정하니 무리하게 믿지 않기 위해

 

Consistency Regularization

같은 그림을 살짝 다르게 보여줘도(크롭/색감/노이즈 등) 예측은 같아야 함

→ 입력이 조금만 달라지면 출력도 조금만 달라지는 smoothness를 강제

  • 구현 핵심
      1. 한 언레이블드 샘플 x에 증강 t1, t2를 적용해서 x1 = t1(x), x2 = t2(x) 생성
      1. 같은 모델 f로 예측 → p1 = f(x1), p2 = f(x2)
      1. 두 예측이 가깝게 되도록 Lunsup=dist(p1,p2)L_{unsup} = \text{dist}(\text{p}_1, \text{p}_2)
  • 왜 효과가 있을까?
    • 모델이 증강 불변(레이블 보존) 특징을 학습하도록 유도
      • → 작은 레이블 셋만으로도 결정 경계를 데이터 분포의 올바른 영역으로 밀어넣음

         

엔트로피 최소화 & 수도라벨

모델의 예측을 스스로 정답처럼 사용해 추가 학습(셀프-트레이닝)

처음부터 수도라벨을 강하게 쓰지 않는 것이 좋음 → 가중치 스케줄링

  • 엔트로피 최소화
    • : 모델 출력 분포가 날카롭고(=낮은 엔트로피), 확신에 차도록 만드는 기법

 

대표 기법들

  • 파이 모델
    • 한 입력에 대해 서로 다른 두 증강을 적용해 얻은 예측이 서로 근접하도록 학습
    • 주로 쓰는 것은 제곱 차이(MSE, Mean Squared Error)
      • Lcons=p1p222L_{cons}=∥p1−p2∥^2_2
  • Temporal Ensembling(시간 앙상블)
    • 한 시점의 예측만 쓰지 않고 과거 예측들의 지수가중 이동평균(EMA)을 모아 더 신뢰도 높은 타깃으로 씀(시간 축에서의 일관성)
      • → 노이즈가 줄고 수도라벨 품질 개선됨

  • Mean Teacher
    • 목표: Student와 Teacher 예측이 일관성(consistency)을 유지하도록 하는 것
    • 모델 파라미터(가중치) 자체를 EMA로 업데이트
    • Student 모델이 학습할 때 Teacher 모델의 파라미터에서 나온 예측을 target으로 삼아 consistency cost를 계산
    • Teacher 모델은 student 모델 파라미터를 EMA로 추적해서 만들어짐. 즉, Teacher는 직접 backprop을 받지 않음
 

Virtual Adversarial Training(VAT)

  • target이 pseudo-label처럼 현재 모델의 예측으로 두고, perturbation 후 예측이 달라지지 않게 학습
  • 단순한 랜덤 노이즈가 아니라, adversarial direction을 계산해서 넣음
    • 가장 모델을 불안정하게 만드는 작은 방향을 택함

      → fast gradient sign method(FGSM)을 활용해서 direction 택함

  • perturbation 전후의 예측 분포 차이를 KL-Divergence(=Cross Entropy Loss) 로 계산해 consistency를 강제
 

추천 글

BlogPro logo
Made with BlogPro

태그