Foundations · ICML 2015
Batch Normalization: Accelerating Deep Network Training
미니배치로 층 입력을 정규화해 학습을 안정·가속. 딥러닝 표준 레시피의 핵심.
1. 핵심 요약
ImageNet에서 약 14배 빠른 학습으로 당시 SOTA. 이후 CNN 표준이 되었고, Transformer 계열은 LayerNorm으로 이어집니다.
2. 왜 중요한가 — 쉬운 설명
30초 비유
반 학생들의 쪽지시험 점수를 매번 평균 0·표준편차 1로 맞춰 다음 선생님께 넘기면, 그 선생님은 항상 같은 스케일을 기대할 수 있어 수업 진도가 빨라집니다. 신경망도 각 층 입력을 이렇게 “재조정”해 주면 학습이 안정됩니다.
무엇을 제안했나
- 미니배치 정규화 — 현재 배치의 평균·분산으로 층 입력을 정규화.
- 학습 가능한 γ, β — 정규화로 잃은 표현력을 다시 복원(필요하면 원래 분포로 되돌릴 수도 있음).
그래서 무엇이 달라졌나
- 더 높은 학습률을 써도 발산하지 않고, 초기화에 덜 민감하며, 약한 정규화 효과까지 덤.
- 2015년 이후 CNN 학습의 사실상 표준 레시피.
더 공부할 가치가 있을까?
- 그렇다 — 비전 모델이나 학습 안정화에 관심이 있다면.
- 대비해서 볼 것 — LayerNorm과 함께 보면 “왜 Transformer는 BN을 안 쓰나”가 이해됩니다.
3. 배경: 내부 공변량 변화
깊은 넷에서 앞 층 파라미터가 바뀌면, 뒤 층이 받는 입력 분포가 계속 움직입니다. 이를 Internal Covariate Shift라고 부릅니다.
- 각 층이 ‘이동하는 과녁’을 맞춰야 함
- 학습률↑ → 분포가 너무 빨리 변해 발산
- 학습률↓ → 학습이 매우 느림
- 초기화에 민감
포화: Sigmoid처럼 입력이 크면 기울기≈0 → 앞 층 학습 불가.
내부 공변량 변화 (ICS)
학습 스텝이 갈수록 뒤 층 입력 분포(μ,σ)가 움직입니다. BN은 과녁을 고정합니다.
-1.500.70driftingSigmoid 포화 vs BN
왼쪽 축(강조)이 기울기 σ′. 입력이 한쪽으로 치우치면 σ′≈0. BN은 입력을 0 근처로 당깁니다.
BN OFF: μ가 크면 점이 포화 구간으로 밀려 기울기 소실
4. 배치 정규화 방법
BN Forward 파이프라인
작은 배치 예시로 μ·σ² → 정규화 → γ,β를 계산합니다.
2.401.10-0.300.803.00-1.200.501.701.0001.2880.0001.00, 0.00미니배치 샘플로 평균·분산을 구합니다.
왜 γ·β가 필요한가?
평균 0·분산 1만 강제하면 항등 매핑을 표현하기 어렵습니다. γ=σ, β=μ로 두면 원분포를 복원할 수 있어, 모델이 필요할 때만 정규화를 완화합니다.
훈련 vs 추론
훈련은 현재 배치 통계, 추론은 누적 running 통계를 씁니다.
μ_B, σ²_B이번 미니배치만으로 계산. 배치마다 달라짐.
μ_run, σ²_run훈련 중 EMA로 누적. 추론 때 배치 크기 1도 OK.
한계: running과 실제 분포가 어긋나면 train/eval 성능 갭이 납니다.
5. BN의 위치
BN 위치: Post vs Pre-Activation
원 논문은 Conv 직후 BN. ResNet 개선은 BN→ReLU→Conv로 잔차 경로를 더 깨끗하게.
비선형 직전에 분포를 안정화. CNN 레시피의 출발점.
원 논문: Conv → BN → ReLU
합성곱 직후, 비선형 직전에 둡니다.
Pre-Activation (He et al., 2016): BN → ReLU → Conv
ResNet 개선. 잔차 경로를 더 ‘깨끗한’ 항등에 가깝게 → 기울기 흐름↑
6. 효과
| Setting | Steps to ~72% Top-5 |
|---|---|
| Baseline | 31M |
| BN + 5× LR | 2.1M (~14.8× faster) |
| BN ensemble | 4.8% error (SOTA then) |
정규화 효과
- Dropout을 줄이거나 제거해도 비슷한 성능인 경우 많음
- 더 높은 학습률 허용
- 가중치 초기화에 덜 민감
7. 한계와 대안
- 배치 크기 의존 — 배치가 작으면 μ·σ 추정이 불안정
- RNN 부적합 — 가변 길이 시퀀스에서 배치 통계가 까다로움
- 훈련·추론 불일치 — running stats ≠ 실제 배치 분포
배치 크기와 μ 추정 흔들림
진짜 μ=2인 분포에서 배치를 뽑아 μ̂를 여러 번 추정합니다. 배치가 작을수록 점이 흩어집니다.
작은 배치: 추정 노이즈↑ → BN이 불안정해질 수 있음 (GroupNorm 등이 대안).
정규화 축 비교
큰 격자: 행=배치(N), 열=채널(C). 각 칸 안 2×2는 공간(H×W). 초록이 같은 μ·σ² 풀입니다.
배치(N) × 공간(H×W) — 채널마다 · CNN 표준
채널 c=0만: 모든 배치·모든 공간 픽셀이 같은 μ,σ²를 공유합니다.
| 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 |
8. 의의
- 딥러닝 학습 ‘표준 레시피’ 확립의 핵심
- Inception, ResNet 등 주요 CNN에 광범위 채택
- 이후 Transformer는 LayerNorm으로 맥을 이어감
이해도 점검
보기를 골라 정답과 해설을 확인하세요. 채점은 이 페이지 안에서만 이뤄집니다.
1. BN이 정규화한 뒤 학습 가능한 로 다시 스케일·시프트하는 이유는?
2. 학습 때와 추론 때 BN의 동작 차이는?
3. BN이 더 큰 학습률을 쓸 수 있게 해주는 이유는?
4. BN이 아주 작은 배치에서 잘 작동하지 않는 이유는?
5. Transformer가 BN 대신 LayerNorm을 쓰는 주된 이유는?