한양과학기술고등학교

에듀테크 프로젝트 대시보드

드롭아웃 & 배치 정규화

드롭아웃 & 배치 정규화

신경망을 더 잘 일반화시키고, 더 안정적으로 학습시키는 두 가지 대표적인 기법

신경망은 파라미터가 매우 많아 과적합(overfitting)되기 쉽고, 층이 깊어질수록 각 층에 들어오는 값의 분포가 학습 도중 계속 흔들려 학습이 불안정해지기 쉽습니다. 드롭아웃은 첫 번째 문제(과적합)를, 배치 정규화는 두 번째 문제(불안정한 학습)를 완화하기 위해 고안된 기법입니다. 서로 다른 문제를 풀지만 오늘날 대부분의 신경망에서 함께 쓰입니다.

1. 드롭아웃 (Dropout) — 일부러 뉴런을 꺼서 의존을 막는다

학습 중 매 스텝마다, 각 은닉 뉴런을 확률 p(드롭아웃 비율)로 일시적으로 꺼버립니다 (출력을 0으로 만듦). 꺼진 뉴런은 이번 스텝의 순전파·역전파에 아무 영향도 주지 않습니다. 다음 스텝에서는 또 다른 무작위 조합의 뉴런이 꺼집니다.

왜 효과가 있을까: 특정 뉴런 몇 개가 정답을 "외워서" 맞히는 지름길에 의존하지 못하게 되므로, 나머지 뉴런들도 스스로 쓸모 있는 특징을 학습해야 합니다. 매 스텝 서로 다른 부분망(sub-network)을 학습시키는 셈이라, 결과적으로 수많은 작은 모델을 앙상블한 것과 비슷한 효과를 냅니다. 테스트(추론) 시에는 뉴런을 끄지 않는 대신, 학습 때와 기댓값을 맞추기 위해 출력에 (1-p)를 곱합니다.

직접 보기 — 뉴런이 꺼지는 모습

드롭아웃 비율을 조절하고 재추첨을 눌러보세요. 어두운 원이 이번 스텝에 꺼진 뉴런입니다.

활성 뉴런 드롭아웃으로 꺼진 뉴런
0.30
은닉 뉴런 수 16
이번 스텝에 꺼진 뉴런 –개
살아남은 비율 –

추론(테스트) 시에는 모든 뉴런을 켜두는 대신, 출력에 (1 − p)를 곱해 학습 때와 평균적인 활성 총량을 맞춥니다 (inverted dropout에서는 반대로 학습 때 1/(1-p)를 곱해두어 테스트 때는 아무 조정도 필요 없게 만듭니다).

2. 배치 정규화 (Batch Normalization) — 층 사이 값의 분포를 다듬는다

층이 깊어지면, 앞쪽 층의 가중치가 조금만 바뀌어도 그 값을 입력으로 받는 뒤쪽 층 입장에서는 입력 분포가 매 스텝 크게 흔들리는 것처럼 느껴집니다(내부 공변량 변화, internal covariate shift). 배치 정규화는 각 층의 출력값을 미니배치 단위로 평균 0, 분산 1이 되도록 정규화한 뒤, 학습 가능한 스케일 γ와 이동 β를 다시 곱하고 더해 표현력을 유지합니다.

# 미니배치 {x_1, ..., x_m} 에 대해
μ = mean(x)                      # 배치 평균
σ² = var(x)                      # 배치 분산
x̂_i = (x_i - μ) / sqrt(σ² + ε)   # 정규화 (평균 0, 분산 1)
y_i = γ * x̂_i + β          # 학습되는 스케일·이동으로 복원
정규화된 값은 활성화 함수(예: 시그모이드)의 기울기가 잘 살아있는 구간에 머물기 쉬워 학습이 더 빠르고 안정적이며, 더 큰 학습률을 써도 잘 견딥니다. 층마다 넣을 수 있고, 보통 완전연결/합성곱 층과 활성화 함수 사이에 삽입합니다.

직접 보기 — 활성값 분포가 정돈되는 모습

슬라이더로 이번 미니배치 활성값의 평균·퍼짐 정도를 바꿔보고, 배치 정규화 on/off를 토글해 분포가 어떻게 달라지는지 비교하세요.

정규화 전 정규화 후
2.0
4.0

평균·표준편차를 극단으로 두면(정규화 OFF) 활성값이 활성화 함수의 포화 구간(기울기 ≈ 0)에 몰릴 수 있습니다. ON으로 바꾸면 배치와 무관하게 항상 평균 0, 분산 1 근처로 재정렬되는 것을 확인하세요.

3. 언제·어디에 쓸까

기법푸는 문제적용 시점추론 시 동작
드롭아웃과적합(분산 감소)완전연결층 뒤에 흔히 사용끄지 않음(스케일만 보정)
배치 정규화학습 불안정성합성곱/완전연결 층과 활성화 함수 사이학습 중 누적한 이동평균 μ,σ² 사용

최근 CNN 계열에서는 배치 정규화를, 트랜스포머 계열에서는 비슷한 역할을 하는 레이어 정규화(layer normalization)를 더 널리 씁니다. 두 기법 모두 "정답을 맞히는 능력" 자체를 바꾸는 것이 아니라, 학습이라는 과정 자체를 더 안정적이고 일반화가 잘 되게 만들어주는 보조 장치라는 공통점이 있습니다.

핵심 정리

  • 드롭아웃 = 학습 중 뉴런을 무작위로 꺼서 특정 뉴런 의존을 막는 과적합 방지 기법 (앙상블 효과)
  • 배치 정규화 = 층 사이 값을 배치 단위로 평균 0·분산 1로 맞춰 학습을 안정화·가속하는 기법
  • 둘 다 학습 때와 추론 때 동작이 다름 — 드롭아웃은 추론 시 끄고 스케일 보정, 배치정규화는 누적 통계 사용
  • 서로 다른 문제를 풀지만 함께 쓰이는 경우가 많음 (다만 같은 층에 순서를 바꿔가며 실험적으로 넣기도 함)