C.W.K.
Stream
Lesson 09 of 12 · published

Dropout과 정규화 — 그리고 왜 유행 지났나

~8 min · dropout, regularization

Level 0Token
0 XP0/94 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

Dropout은 학습 중 activation 일부를 랜덤하게 0으로 만들어 — 네트워크가 단일 유닛에 의존하기보다 중복 표현을 학습하게 강제. 원조 Transformer는 dropout 0.1(base)/0.3(big)을 attention 가중치, sublayer 출력, embedding에 적용.

모던 큰 사전학습 모델은 종종 사전학습 중 dropout을 아예 안 써, 또는 아주 작은 값(0.0–0.05). 이유는 regime 의존적. 2020년 이전 모델은 비교적 작은 데이터셋에서 여러 epoch 학습 — overfitting 위험 실재, dropout 도움. 모던 프론티어 모델은 수조 토큰에서 ~1 epoch 학습 — 각 예시가 한 번 보임, overfitting이 구조적으로 불가능, dropout은 그저 noise로 학습을 늦출 뿐.

2026년에도 dropout이 여전히 쓰이는 곳: 작은 base에 작은 데이터셋 fine-tune, distillation run, 불확실성 추정용 dropout 기반 방법(예: MC Dropout). 대규모 사전학습엔 분야가 떠났어.

Code

When you might still want dropout·python
# Pretraining at trillion-token scale: skip dropout entirely.
# Fine-tuning a small classifier on 10k examples: dropout = 0.1 still helps.
# LoRA adapter on a large base: dropout in the adapter layers is common (0.05-0.1).

class FineTuneHead(nn.Module):
    def __init__(self, d_model, n_classes, dropout=0.1):
        super().__init__()
        self.dropout = nn.Dropout(dropout)
        self.head = nn.Linear(d_model, n_classes)
    def forward(self, x):
        return self.head(self.dropout(x))

External links

Exercise

같은 작은 Transformer 사본 둘을 10M 토큰 corpus로 학습, dropout=0.0 vs 0.1. 어느 게 더 빨리 수렴하나? 어느 게 hold-out 데이터에 더 잘 일반화하나? 이제 100K 토큰 corpus로 반복. 답이 바뀌나?

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.