Foundations · JMLR 2014
Dropout: A Simple Way to Prevent Neural Networks from Overfitting
훈련 중 뉴런을 무작위로 꺼 과적합을 막는, 구현은 쉽고 효과는 큰 정규화.
1. 핵심 요약
AlexNet 이후 심층망의 표준 정규화로 쓰였고, Transformer에도 Attention/FFN Dropout으로 남아 있습니다.
2. 왜 중요한가 — 쉬운 설명
30초 비유
축구팀이 매 연습마다 선수 몇 명을 무작위로 빼고 훈련하면, 특정 스타 한 명에게만 의존하는 습관이 사라지고 모두가 제 몫을 하게 됩니다. 신경망에서 뉴런을 무작위로 끄는 것도 같은 효과입니다.
무엇을 제안했나
- 훈련 중 무작위 제거 — 매 스텝마다 각 뉴런을 확률
p로 꺼서 매번 다른 “서브네트워크”를 학습. - 추론 시엔 전부 사용 — 대신 출력을 스케일 보정해 평균이 맞게 함.
그래서 무엇이 달라졌나
- 뉴런들이 서로에게 과하게 의존하는 공동 적응이 깨지고 과적합이 줄어듦.
- 사실상 2ⁿ개 네트워크의 앙상블에 근사 — 구현은 몇 줄, 효과는 큼. 지금도 Transformer에 들어감.
더 공부할 가치가 있을까?
- 가볍게 — 정규화와 일반화를 이해하려면 좋은 예. 개념과 “train/inference 동작 차이”만 알면 충분합니다.
3. 배경: 과적합
파라미터가 많은 망은 훈련 데이터를 암기할 수 있습니다. 훈련 손실은 낮고 검증 손실은 높은 것이 전형적인 징후입니다.
원인 중 하나는 공동 적응(co-adaptation): 어떤 뉴런이 다른 뉴런의 실수를 항상 보정하며 서로 의존하는 것입니다. L2·Early Stopping·데이터 증강만으로는 이 의존을 직접 끊기 어렵습니다.
과적합 vs 드롭아웃
설명용 곡선입니다. 드롭아웃 없이 train↓·val↑ 갭이 커지고, 드롭아웃이면 갭이 줄어듭니다.
훈련은 암기(손실↓)하지만 검증은 악화 → 과적합 징후.
공동 적응 방지
드롭아웃 없으면 A·B가 서로 기대고, 있으면 각자 독립적으로 쓸모 있어야 합니다.
f(A, B_fix(A))드롭아웃은 ‘동료가 없어도 동작’하도록 압력을 줍니다.
4. 드롭아웃 메커니즘
베르누이 마스크
rᵢ ~ Bernoulli(p_keep). p_drop = 1 − p_keep. 초록=유지, 회색=제거.
p_keep = 0.50 · p_drop = 0.50 · 은닉층 기본값
100010000100제거된 뉴런은 이번 forward/backward에 기여하지 않습니다. 다음 스텝에 다시 살아날 수 있습니다.
일반적인 p_keep: 입력 ≈ 0.8 (20% 드롭), 은닉 ≈ 0.5 (50% 드롭).
훈련·추론 스케일링
샘플 칩은 한 마스크 결과, 아래 E[·]가 스케일링의 이유입니다. Classic: E_train=p·y → 추론×p. Inverted: E_train=y → 추론 그대로.
ỹ = (r / 0.50) · yE[ỹ] = y
y_test = yE_train = y_test ✓
이번 마스크 샘플 (고정 r)
2.400.00-0.803.000.00-1.800.002.00훈련 기대값 E[ỹ] (마스크 평균)
1.200.80-0.401.500.30-0.900.601.00yyyes위 샘플 칩은 분산이 있는 한 번의 드롭; E 행이 스케일링이 맞추려는 값입니다.
5. 수학적 해석
앙상블 관점
드롭아웃은 개 서브네트워크를 암묵적으로 학습합니다. 추론에서 전체망을 쓰는 것은 이 앙상블의 기하평균에 가깝고, 연산은 한 번의 forward로 끝납니다.
암묵적 앙상블
선형 토이(산술평균). n=6 → 최대 64 서브넷. 샘플 평균 ≈ p·full. 논문의 실제 주장은 기하평균 근사입니다.
1.100.301.10-0.100.200.001.100.900.5750.9000.325선형·가중치 합이면 산술이 p·full과 같아집니다. 비선형망에서는 기하평균 해석이 핵심입니다.
베이지안 관점
드롭아웃은 가우시안 프로세스에 대한 근사 베이지안 추론으로도 해석됩니다 (Gal & Ghahramani, 2016). 추론에서도 드롭아웃을 켠 채 여러 번 샘플링하면 MC Dropout으로 불확실성을 추정할 수 있습니다.
6. 다양한 드롭아웃 변형
드롭아웃 변형
무엇을 끄느냐가 다릅니다: 뉴런 / 가중치 / 채널 / 공간 블록.
뉴런(활성화) 단위로 독립적으로 0. 가장 기본 형태.
| Variant | What is dropped | Typical use |
|---|---|---|
| Dropout | Activations (units) | MLP / FFN |
| DropConnect | Weights (edges) | Dense layers |
| Spatial Dropout | Entire channels | CNN maps |
| DropBlock | Contiguous spatial blocks | CNN regularizer |
| AlphaDropout* | Units (SELU-preserving) | SNN / SELU |
7. 실험 결과
| Model | Error |
|---|---|
| Standard NN (4×1024) | 1.60% |
| Standard NN + L2 | 1.35% |
| Standard NN + Dropout | 1.05% |
| Model | Error |
|---|---|
| No regularization | 16.6% |
| L2 | 15.6% |
| Dropout | 12.6% |
TIMIT (음성): Phone Error Rate 19.7% → 17.8% (−2%p).
8. Transformer에서의 드롭아웃
트랜스포머에서는 주로 다음에 씁니다.
- Attention Dropout — 어텐션 가중치
- Residual Dropout — 서브레이어 출력 (잔차 전)
- 임베딩 드롭아웃
BN이 일반화된 뒤에는 비율이 0.1~0.3으로 낮아지는 추세입니다.
9. 의의 및 영향
- AlexNet(2012)과 함께 딥러닝 붐을 이끈 정규화
- 이후 10년 심층망의 기본 레시피
- LLM에도 Attention/FFN Dropout으로 잔존
- MC Dropout → 의료·자율주행 등 불확실성이 중요한 영역
| Concept | Idea |
|---|---|
| p (drop) / p_keep | Usually drop 0.2–0.5 of units |
| Co-adaptation | Break unit–unit dependence |
| Inverted Dropout | Scale in train; clean inference |
| Implicit ensemble | ≈ geometric mean of many subnets |
이해도 점검
보기를 골라 정답과 해설을 확인하세요. 채점은 이 페이지 안에서만 이뤄집니다.
1. 드롭아웃의 학습 시 동작은?
2. 추론(테스트) 시 드롭아웃 처리 방법은?
3. 드롭아웃이 과적합을 줄이는 핵심 메커니즘은?
4. 대규모 Transformer 사전학습에서 드롭아웃 사용 경향은?
5. 은닉층에서 가 주는 효과는?