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은 한 학생 점수 균형”
이해가 잘 되면, 실제 학습 시 배치 크기, 모델 구조, 안정성을 고려해서 정규화를 선택할 수 있습니다.