에듀테크 프로젝트 대시보드
드롭아웃 & 배치 정규화
신경망은 파라미터가 매우 많아 과적합(overfitting)되기 쉽고, 층이 깊어질수록 각 층에 들어오는 값의 분포가 학습 도중 계속 흔들려 학습이 불안정해지기 쉽습니다. 드롭아웃은 첫 번째 문제(과적합)를, 배치 정규화는 두 번째 문제(불안정한 학습)를 완화하기 위해 고안된 기법입니다. 서로 다른 문제를 풀지만 오늘날 대부분의 신경망에서 함께 쓰입니다.
학습 중 매 스텝마다, 각 은닉 뉴런을 확률 p(드롭아웃 비율)로 일시적으로 꺼버립니다
(출력을 0으로 만듦). 꺼진 뉴런은 이번 스텝의 순전파·역전파에 아무 영향도 주지 않습니다.
다음 스텝에서는 또 다른 무작위 조합의 뉴런이 꺼집니다.
(1-p)를 곱합니다.
드롭아웃 비율을 조절하고 재추첨을 눌러보세요. 어두운 원이 이번 스텝에 꺼진 뉴런입니다.
추론(테스트) 시에는 모든 뉴런을 켜두는 대신, 출력에 (1 − p)를 곱해
학습 때와 평균적인 활성 총량을 맞춥니다 (inverted dropout에서는 반대로 학습 때 1/(1-p)를 곱해두어
테스트 때는 아무 조정도 필요 없게 만듭니다).
층이 깊어지면, 앞쪽 층의 가중치가 조금만 바뀌어도 그 값을 입력으로 받는 뒤쪽 층 입장에서는
입력 분포가 매 스텝 크게 흔들리는 것처럼 느껴집니다(내부 공변량 변화, 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를 토글해 분포가 어떻게 달라지는지 비교하세요.
평균·표준편차를 극단으로 두면(정규화 OFF) 활성값이 활성화 함수의 포화 구간(기울기 ≈ 0)에 몰릴 수 있습니다. ON으로 바꾸면 배치와 무관하게 항상 평균 0, 분산 1 근처로 재정렬되는 것을 확인하세요.
| 기법 | 푸는 문제 | 적용 시점 | 추론 시 동작 |
|---|---|---|---|
| 드롭아웃 | 과적합(분산 감소) | 완전연결층 뒤에 흔히 사용 | 끄지 않음(스케일만 보정) |
| 배치 정규화 | 학습 불안정성 | 합성곱/완전연결 층과 활성화 함수 사이 | 학습 중 누적한 이동평균 μ,σ² 사용 |
최근 CNN 계열에서는 배치 정규화를, 트랜스포머 계열에서는 비슷한 역할을 하는 레이어 정규화(layer normalization)를 더 널리 씁니다. 두 기법 모두 "정답을 맞히는 능력" 자체를 바꾸는 것이 아니라, 학습이라는 과정 자체를 더 안정적이고 일반화가 잘 되게 만들어주는 보조 장치라는 공통점이 있습니다.