Computer Science/딥러닝
딥러닝에서 LayerNorm vs BatchNorm: 직관적으로 이해하기
lko9911_
2025. 12. 3. 11:37
딥러닝 모델을 학습할 때, 정규화(Normalization)는 성능과 안정성에 큰 영향을 줍니다. 이때 가장 많이 사용되는 정규화 방법 중 두 가지가 Batch Normalization(BN)과 Layer Normalization(LN)입니다.
하지만 모델 구조나 상황에 따라 어떤 정규화를 써야 할지 혼란스러울 수 있습니다.
이 글에서는 LN과 BN의 차이, 특징, 직관적 비유를 중심으로 쉽게 이해할 수 있도록 설명합니다.
1. LN vs BN: 개념 정리
1-1. Batch Normalization (BN)
- 정의: 배치 단위로 평균과 분산을 계산해 정규화
- 사용처: CNN에서 주로 사용
- 장점: 배치 크기가 충분히 크면 학습 안정성과 속도 향상
- 단점: 배치 크기가 작으면 통계치가 불안정 → 성능 저하
1-2. Layer Normalization (LN)
- 정의: 샘플(feature) 단위로 평균과 분산을 계산해 정규화
- 사용처: RNN, Transformer 등 시퀀스 모델에서 주로 사용
- 장점: 배치 크기와 무관하게 항상 안정적
- 단점: CNN에서는 BN만큼 효과적이지 않을 수 있음
2. 직관적으로 이해하기
| 정규화 기준 | 배치(batch) | 한 샘플(feature) |
| 안정성 | 배치 크기 커야 안정적 | 배치 크기 무관 |
| 강인성 | 작은 배치 불안정 | 항상 안정적 |
| CNN에서 효과 | 매우 좋음 | 보통 |
| RNN/Transformer에서 효과 | 불안정 | 매우 좋음 |
BatchNorm (BN) = 반 단위 평균 맞추기
- 상황: 한 반 학생들의 시험 점수를 정규화해야하는 상황.
- 목표: “반 평균과 분산에 맞춰 각 학생 점수를 조정”
- 특징:
- 학생 수(=배치)가 많으면 평균과 분산 계산이 안정적
- 학생 수가 적으면 평균이 요동치고, 정규화가 불안정
비유:
- 큰 반에서는 점수 조정이 안정적 → 학습 안정
- 작은 반에서는 점수가 흔들려 → 학습 불안정
LayerNorm (LN) = 한 학생의 과목 점수 균형 맞추기
- 상황: 한 학생의 국어, 수학, 영어 점수를 정규화하는 상황
- 목표: “한 학생 내에서 과목 간 점수 차이를 균형 있게 맞추기”
- 특징:
- 다른 학생(=배치) 수와 상관없이 항상 안정적
- 학습할 때 배치 크기가 작아도 문제 없음
비유:
- 학생 한 명만 있어도, 과목 간 점수 균형을 맞출 수 있음 → 시퀀스같은 연결성이 중요한 모델에서 강력
3. 언제 어떤 것을 사용할까?
- CNN (이미지 처리) → BN 추천
- RNN/Transformer (시퀀스 처리) → LN 추천
- 작은 배치 학습 시 → LN 또는 GroupNorm, InstanceNorm 고려
Tip
BN은 배치 크기와 공간 차원(HW)이 충분히 크면 최적
LN은 배치에 상관없이 안정적이므로, 특히 작은 배치/시퀀스 모델에서 강력
4. 결론
- BatchNorm: 배치 단위 정규화 → CNN에 최적
- LayerNorm: 샘플 단위 정규화 → 시퀀스 모델(RNN, Transformer)에 최적
- 핵심 포인트: 배치 크기와 모델 구조에 따라 선택
- 직관적 이해 = “BN은 반 전체 점수 평균, LN은 한 학생 점수 균형”
이해가 잘 되면, 실제 학습 시 배치 크기, 모델 구조, 안정성을 고려해서 정규화를 선택할 수 있습니다.