포스트

딥러닝 기초 (7) - 정규화 계층: Batch Norm과 Layer Norm

학습 중 층마다 입력 분포가 흔들리는 문제에서 출발해, 미니배치 통계로 정규화하는 Batch Normalization(학습·추론이 다른 이유 포함)과 특성 축으로 정규화해 배치·시퀀스에 무관한 Layer Normalization을 비교 정리한 딥러닝 기초 (7)편입니다.

딥러닝 기초 (7) - 정규화 계층: Batch Norm과 Layer Norm

딥러닝 기초 시리즈의 7편입니다. 전체 목차는 0편에 있습니다. 초기화로 시작을 잡아도 학습 중 층의 입력 분포는 계속 움직입니다. 이 편은 그것을 다시 맞추는 정규화 계층입니다.

왜 층마다 분포를 다시 맞추나

6편에서 초기화를 잘해도, 학습이 진행되며 앞 층의 가중치가 바뀌면 뒤 층이 받는 입력 분포가 계속 흔들립니다. 매번 움직이는 표적을 학습하는 셈이라 불안정하고 느립니다. 정규화 계층은 각 층의 입력을 다시 일정한 분포로 맞춰 이 흔들림을 줄입니다.

배치 정규화 (Batch Normalization)

배치 정규화는 미니배치 안에서 각 특성을 평균 0, 분산 1로 정규화한 뒤, 학습 가능한 파라미터 γ(스케일)·β(시프트)로 다시 조정합니다.

1
2
x̂ = (x − μ_batch) / √(σ²_batch + ε)      # 배치 통계로 정규화
y  = γ · x̂ + β                            # 학습 가능한 스케일·시프트

정규화로 분포를 안정시키되, 필요하면 γ·β로 원래 분포로 되돌릴 여지도 남깁니다. 효과는 학습 안정화와 가속, 더 큰 학습률 허용, 그리고 약한 규제입니다.

한 가지 주의점은 학습과 추론이 다르다는 것입니다. 학습 때는 지금 배치의 통계를 쓰지만, 추론 때는 배치가 없거나 하나뿐일 수 있으므로 학습 중 누적해둔 이동평균 통계를 씁니다. 이 차이 때문에 모델을 평가할 때 반드시 평가 모드로 전환해야 합니다(자세한 실무는 PyTorch 기초 (5)).

층 정규화 (Layer Normalization)

배치 정규화는 배치 방향의 통계에 의존하는데, 배치가 작으면 통계가 불안정하고, RNN처럼 시퀀스 길이가 제각각이면 적용이 까다롭습니다. 층 정규화는 배치가 아니라 한 샘플의 특성 차원을 따라 정규화합니다. 배치 크기나 시퀀스 길이에 영향받지 않아, RNN과 Transformer의 표준입니다.

 정규화 방향배치 크기 의존주 사용처
Batch Norm배치 축있음 (작으면 불안정)CNN
Layer Norm특성 축없음RNN, Transformer

정리

개념한 줄 요약
정규화의 이유학습 중 층 입력 분포가 흔들림 → 다시 맞춤
Batch Norm배치 통계로 정규화 + γ·β. 학습/추론 통계 다름
Layer Norm특성 축으로 정규화. 배치·시퀀스에 무관
선택CNN은 BN, RNN·Transformer는 LN

초기화·최적화·정규화로 깊은 망이 학습되게 만들었습니다. 하지만 학습이 잘 될수록 새로운 위험이 생깁니다 — 데이터를 외워버리는 과적합입니다. 다음 편에서 다룹니다.

다음 글: 딥러닝 기초 (8) - 과적합과 규제: 드롭아웃, weight decay, 조기 종료

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.