Foundations · ICML 2015
Batch Normalization: Accelerating Deep Network Training
미니배치로 층 입력을 정규화해 학습을 안정·가속. 딥러닝 표준 레시피의 핵심.
batchnormnormalizationtrainingcnn
1. 핵심 요약
ImageNet에서 약 14배 빠른 학습으로 당시 SOTA. 이후 CNN 표준이 되었고, Transformer 계열은 LayerNorm으로 이어집니다.
2. 배경: 내부 공변량 변화
깊은 넷에서 앞 층 파라미터가 바뀌면, 뒤 층이 받는 입력 분포가 계속 움직입니다. 이를 Internal Covariate Shift라고 부릅니다.
- 각 층이 ‘이동하는 과녁’을 맞춰야 함
- 학습률↑ → 분포가 너무 빨리 변해 발산
- 학습률↓ → 학습이 매우 느림
- 초기화에 민감
포화: Sigmoid처럼 입력이 크면 기울기≈0 → 앞 층 학습 불가.
입력 분포 흔들림 vs BN
설명용 히스토그램. 학습이 진행될수록 BN 없이 분포가 움직입니다.
BN OFF: 과녁이 계속 이동 → 높은 LR이 위험
3. 배치 정규화 방법
BN Forward 파이프라인
작은 배치 예시로 μ·σ² → 정규화 → γ,β를 계산합니다.
x1
2.40x2
1.10x3
-0.30x4
0.80x5
3.00x6
-1.20x7
0.50x8
1.70μ
1.000σ²
1.660mean(x̂)
0.000γ, β
1.00, 0.001. μ, σ² 계산
미니배치 샘플로 평균·분산을 구합니다.
왜 γ·β가 필요한가?
평균 0·분산 1만 강제하면 항등 매핑을 표현하기 어렵습니다. γ=σ, β=μ로 두면 원분포를 복원할 수 있어, 모델이 필요할 때만 정규화를 완화합니다.
훈련 vs 추론
훈련은 현재 배치 통계, 추론은 누적 running 통계를 씁니다.
Batch stats
μ_B, σ²_B이번 미니배치만으로 계산. 배치마다 달라짐.
→
Running stats
μ_run, σ²_run훈련 중 EMA로 누적. 추론 때 배치 크기 1도 OK.
Train: 정규화에 μ_B 사용 + running 업데이트
한계: running과 실제 분포가 어긋나면 train/eval 성능 갭이 납니다.
4. BN의 위치
원 논문: Conv → BN → ReLU
합성곱 직후, 비선형 직전에 둡니다.
Pre-Activation (He et al., 2016): BN → ReLU → Conv
ResNet 개선. 잔차 경로를 더 ‘깨끗한’ 항등에 가깝게 → 기울기 흐름↑
Post (paper): Conv → BN → ReLU → Conv → BN → ReLU
Pre-Activation: BN → ReLU → Conv → BN → ReLU → Conv (+ skip)5. 효과
| Setting | Steps to ~72% Top-5 |
|---|---|
| Baseline | 31M |
| BN + 5× LR | 2.1M (~14.8× faster) |
| BN ensemble | 4.8% error (SOTA then) |
정규화 효과
- Dropout을 줄이거나 제거해도 비슷한 성능인 경우 많음
- 더 높은 학습률 허용
- 가중치 초기화에 덜 민감
6. 한계와 대안
- 배치 크기 의존 — 배치가 작으면 μ·σ 추정이 불안정
- RNN 부적합 — 가변 길이 시퀀스에서 배치 통계가 까다로움
- 훈련·추론 불일치 — running stats ≠ 실제 배치 분포
정규화 축 비교
행=배치(N), 열=채널(C). 초록칸이 함께 평균·분산을 내는 축입니다.
N ↓C →
Batch Norm
배치(N) × 공간 — 채널마다 · CNN 표준
| Method | Normalize over | Typical use |
|---|---|---|
| Batch Norm | batch × spatial | CNN |
| Layer Norm | features (per token) | Transformer, RNN |
| Instance Norm | spatial (per channel) | Style transfer |
| Group Norm | channel groups | Small-batch CNN |
7. 의의
- 딥러닝 학습 ‘표준 레시피’ 확립의 핵심
- Inception, ResNet 등 주요 CNN에 광범위 채택
- 이후 Transformer는 LayerNorm으로 맥을 이어감