Foundations · JMLR 2014

Dropout: A Simple Way to Prevent Neural Networks from Overfitting

훈련 중 뉴런을 무작위로 꺼 과적합을 막는, 구현은 쉽고 효과는 큰 정규화.

Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, Ruslan Salakhutdinov · University of Toronto

dropoutregularizationensembletraining

1. 핵심 요약

AlexNet 이후 심층망의 표준 정규화로 쓰였고, Transformer에도 Attention/FFN Dropout으로 남아 있습니다.

2. 왜 중요한가 — 쉬운 설명

30초 비유

축구팀이 매 연습마다 선수 몇 명을 무작위로 빼고 훈련하면, 특정 스타 한 명에게만 의존하는 습관이 사라지고 모두가 제 몫을 하게 됩니다. 신경망에서 뉴런을 무작위로 끄는 것도 같은 효과입니다.

무엇을 제안했나

  • 훈련 중 무작위 제거 — 매 스텝마다 각 뉴런을 확률 p 로 꺼서 매번 다른 “서브네트워크”를 학습.
  • 추론 시엔 전부 사용 — 대신 출력을 스케일 보정해 평균이 맞게 함.

그래서 무엇이 달라졌나

  • 뉴런들이 서로에게 과하게 의존하는 공동 적응이 깨지고 과적합이 줄어듦.
  • 사실상 2ⁿ개 네트워크의 앙상블에 근사 — 구현은 몇 줄, 효과는 큼. 지금도 Transformer에 들어감.

더 공부할 가치가 있을까?

  • 가볍게 — 정규화와 일반화를 이해하려면 좋은 예. 개념과 “train/inference 동작 차이”만 알면 충분합니다.

3. 배경: 과적합

파라미터가 많은 망은 훈련 데이터를 암기할 수 있습니다. 훈련 손실은 낮고 검증 손실은 높은 것이 전형적인 징후입니다.

원인 중 하나는 공동 적응(co-adaptation): 어떤 뉴런이 다른 뉴런의 실수를 항상 보정하며 서로 의존하는 것입니다. L2·Early Stopping·데이터 증강만으로는 이 의존을 직접 끊기 어렵습니다.

과적합 vs 드롭아웃

설명용 곡선입니다. 드롭아웃 없이 train↓·val↑ 갭이 커지고, 드롭아웃이면 갭이 줄어듭니다.

lossepoch →
trainval
최종 train–val 갭 ≈ 1.65

훈련은 암기(손실↓)하지만 검증은 악화 → 과적합 징후.

설명용 곡선 — 드롭아웃 OFF/ON에서 train–val 갭을 비교하세요.

공동 적응 방지

드롭아웃 없으면 A·B가 서로 기대고, 있으면 각자 독립적으로 쓸모 있어야 합니다.

A활성
BA 보정 전담
outf(A, B_fix(A))
문제: A가 틀려도 B가 메워 줌 → 각자 일반화 실패

드롭아웃은 ‘동료가 없어도 동작’하도록 압력을 줍니다.

A를 드롭해 보면 B가 ‘혼자’ 일해야 하는 압력이 보입니다.

4. 드롭아웃 메커니즘

베르누이 마스크

rᵢ ~ Bernoulli(p_keep). p_drop = 1 − p_keep. 초록=유지, 회색=제거.

p_keep = 0.50 · p_drop = 0.50 · 은닉층 기본값

y11
y20
y30
y40
y51
y60
y70
y80
y90
y101
y110
y120
유지 3 / 12 · 기대 ≈ 6.0
ỹᵢ = rᵢ · yᵢ

제거된 뉴런은 이번 forward/backward에 기여하지 않습니다. 다음 스텝에 다시 살아날 수 있습니다.

은닉 0.5 / 입력 0.8 프리셋 또는 커스텀. p_drop = 1 − p_keep.
y~i=ri⋅yi,ri∼Bernoulli(pkeep)\tilde{y}_i = r_i \cdot y_i,\quad r_i \sim \mathrm{Bernoulli}(p_{keep})
훈련 시 — rᵢ=0이면 해당 뉴런 제거
드롭아웃 마스크수식 상세 →
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명

일반적인 p_keep: 입력 ≈ 0.8 (20% 드롭), 은닉 ≈ 0.5 (50% 드롭).

훈련·추론 스케일링

샘플 칩은 한 마스크 결과, 아래 E[·]가 스케일링의 이유입니다. Classic: E_train=p·y → 추론×p. Inverted: E_train=y → 추론 그대로.

Trainỹ = (r / 0.50) · y

E[ỹ] = y

→
Inferencey_test = y

E_train = y_test ✓

이번 마스크 샘플 (고정 r)

y1·r=12.40
y2·r=00.00
y3·r=1-0.80
y4·r=13.00
y5·r=00.00
y6·r=1-1.80
y7·r=00.00
y8·r=12.00

훈련 기대값 E[ỹ] (마스크 평균)

E y11.20
E y20.80
E y3-0.40
E y41.50
E y50.30
E y6-0.90
E y70.60
E y81.00
E_trainy
y_testy
matchyes
Inverted: 훈련에서 ÷p_keep → E[ỹ]=y = 추론. 테스트 스케일 불필요.

위 샘플 칩은 분산이 있는 한 번의 드롭; E 행이 스케일링이 맞추려는 값입니다.

샘플 칩 vs E[ỹ] 행을 비교하세요. 두 방식 모두 E_train = y_test가 맞습니다.
ytest=pkeep⋅ytrainy^{\mathrm{test}} = p_{keep} \cdot y^{\mathrm{train}}
방법 1 — Test-time scaling (원 논문)
Test-time 스케일링수식 상세 →
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명
y~i=ripkeep⋅yi\tilde{y}_i = \frac{r_i}{p_{keep}} \cdot y_i
방법 2 — Inverted Dropout (추론 시 스케일 불필요)
Inverted Dropout수식 상세 →
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명

5. 수학적 해석

앙상블 관점

드롭아웃은 2n2^n개 서브네트워크를 암묵적으로 학습합니다. 추론에서 전체망을 쓰는 것은 이 앙상블의 기하평균에 가깝고, 연산은 한 번의 forward로 끝납니다.

암묵적 앙상블

선형 토이(산술평균). n=6 → 최대 64 서브넷. 샘플 평균 ≈ p·full. 논문의 실제 주장은 기하평균 근사입니다.

#1
1.10
#2
0.30
#3
1.10
#4
-0.10
#5
0.20
#6
0.00
#7
1.10
#8
0.90
산술 평균0.575
p · full0.900
|mean − p·full|0.325
토이: 산술평균 ≈ p·full ··· 논문: 추론 ≈ 서브넷 기하평균 (단일 forward)

선형·가중치 합이면 산술이 p·full과 같아집니다. 비선형망에서는 기하평균 해석이 핵심입니다.

선형 토이(산술) |mean−p·full|. 논문 해석은 기하평균 — 캡션을 함께 읽으세요.

베이지안 관점

드롭아웃은 가우시안 프로세스에 대한 근사 베이지안 추론으로도 해석됩니다 (Gal & Ghahramani, 2016). 추론에서도 드롭아웃을 켠 채 여러 번 샘플링하면 MC Dropout으로 불확실성을 추정할 수 있습니다.

6. 다양한 드롭아웃 변형

드롭아웃 변형

무엇을 끄느냐가 다릅니다: 뉴런 / 가중치 / 채널 / 공간 블록.

초록=유지, 회색=드롭. Spatial은 열(채널), DropBlock은 덩어리.
Dropout · FFN, MLP

뉴런(활성화) 단위로 독립적으로 0. 가장 기본 형태.

Dropout / DropConnect / Spatial / DropBlock — 끄는 단위가 다릅니다.
VariantWhat is droppedTypical use
DropoutActivations (units)MLP / FFN
DropConnectWeights (edges)Dense layers
Spatial DropoutEntire channelsCNN maps
DropBlockContiguous spatial blocksCNN regularizer
AlphaDropout*Units (SELU-preserving)SNN / SELU
변형 요약. *AlphaDropout은 표만 (시각화 탭 외). SELU 자기정규화와 함께.

7. 실험 결과

ModelError
Standard NN (4×1024)1.60%
Standard NN + L21.35%
Standard NN + Dropout1.05%
MNIST — 드롭아웃이 L2보다 낮은 오류.
ModelError
No regularization16.6%
L215.6%
Dropout12.6%
CIFAR-10 — 정규화 없음 대비 큰 폭 개선.

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 → 의료·자율주행 등 불확실성이 중요한 영역
ConceptIdea
p (drop) / p_keepUsually drop 0.2–0.5 of units
Co-adaptationBreak unit–unit dependence
Inverted DropoutScale in train; clean inference
Implicit ensemble≈ geometric mean of many subnets
핵심 개념 한눈에.

이해도 점검

보기를 골라 정답과 해설을 확인하세요. 채점은 이 페이지 안에서만 이뤄집니다.

0 / 5 정답
  1. 1. 드롭아웃의 학습 시 동작은?

  2. 2. 추론(테스트) 시 드롭아웃 처리 방법은?

  3. 3. 드롭아웃이 과적합을 줄이는 핵심 메커니즘은?

  4. 4. 대규모 Transformer 사전학습에서 드롭아웃 사용 경향은?

  5. 5. 은닉층에서 p=0.5p=0.5가 주는 효과는?