Foundations · arXiv 2016

Layer Normalization

특징 축으로 정규화해 배치에 독립 — Transformer·RNN의 표준 정규화.

Jimmy Lei Ba, Jamie Ryan Kiros, Geoffrey E. Hinton · University of Toronto

layernormnormalizationtransformerrnn

1. 핵심 요약

2. 왜 중요한가 — 쉬운 설명

30초 비유

BatchNorm은 “같은 시험을 본 반 전체”를 기준으로 점수를 맞춥니다 — 반 인원이 들쭉날쭉하거나 한 명씩 채점해야 하면 곤란하죠. LayerNorm은 “한 학생의 여러 과목 점수”를 그 학생 안에서 맞춥니다. 그래서 배치 크기와 완전히 무관합니다.

무엇을 제안했나

  • 특징 축 정규화 — 하나의 샘플 안에서, 그 벡터의 모든 차원에 대해 평균·분산을 계산해 정규화.
  • 배치 통계도, 추론용 running stats도 필요 없음.

그래서 무엇이 달라졌나

  • 배치 크기·가변 길이 시퀀스·추론 불일치 문제를 전부 회피.
  • GPT·BERT·LLaMA 등 모든 Transformer LLM의 표준 정규화가 됨.

더 공부할 가치가 있을까?

  • Transformer를 뜯어본다면 필수급 — Pre-LN vs Post-LN, RMSNorm 같은 변형이 학습 안정성에 직접 영향을 줍니다.
  • 묶어 볼 것 — BatchNorm과 대비하면 핵심이 30초에 잡힙니다.

3. 배치 정규화의 한계

BatchNorm의 한계 → LN의 동기

LN은 BN의 세 가지 약점을 정면으로 겨냥합니다.

BatchNorm

작은 배치 → μ,σ 추정이 시끄러움. 멀티 GPU 분산 시에도 문제.

→
LayerNorm

샘플 안 특징으로만 계산 → 배치 크기와 무관.

배치 크기 의존

그래서 Transformer·RNN에서는 LN(또는 RMSNorm)이 표준이 되었습니다.

배치 의존 · RNN 부적합 · 훈련/추론 불일치 — LN이 겨냥한 세 가지.

4. 레이어 정규화

BN vs LN 정규화 축

행=배치(N), 열=특징(C). 초록칸이 같은 μ·σ²를 공유합니다.

N ↓C →
LN: 샘플(토큰)마다 — 특징 전체 평균

트랜스포머는 토큰 단위 처리라 LN이 자연스럽습니다.

BN=열(특징) 방향, LN=행(샘플) 방향.

LN Forward 파이프라인

토큰 하나(H=8). γ, β는 벡터(ℝᴴ) — dim마다 스케일·이동이 다릅니다.

x12.40
x21.10
x3-0.30
x40.80
x53.00
x6-1.20
x70.50
x81.70
μ1.000
σ²1.660
mean(x̂)0.000
1. μ, σ² (특징 축)

한 샘플의 H개 특징으로 평균·분산을 구합니다. 배치와 무관.

한 토큰: μ,σ² → 정규화 → 특징별 γᵢ,βᵢ (dim 탭).
μ=1H∑i=1Hxi,σ2=1H∑i=1H(xi−μ)2\mu = \frac{1}{H}\sum_{i=1}^{H} x_i,\quad \sigma^2 = \frac{1}{H}\sum_{i=1}^{H}(x_i-\mu)^2
특징 축 평균·분산
LN 평균·분산 (특징 축)수식 상세 →
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명
x^i=xi−μσ2+ϵ\hat{x}_i = \frac{x_i - \mu}{\sqrt{\sigma^2 + \epsilon}}
LN 정규화수식 상세 →
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명
yi=γix^i+βiy_i = \gamma_i \hat{x}_i + \beta_i
γ, β ∈ ℝᴴ — 특징별 스케일·이동
LN 스케일·이동 (γ, β)수식 상세 →
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명

배치 독립성

공정 비교: 같은 배치에서 앞 B/2만 씁니다. LN 샘플0 μ는 그대로, BN 채널 μ는 흔들립니다.

sample 0 μ-1.25
sample 1 μ0.62
sample 2 μ-0.37
sample 3 μ0.80
sample 4 μ-0.81
sample 5 μ0.21
sample 6 μ-0.80
sample 7 μ1.58
sample0 μ @B-1.249
sample0 μ @B/2-1.249
|Δ|0.000
LN: sample0의 μ는 B→B/2여도 |Δ|=0.000 (자기 특징만)

참고: 배치 전체 샘플 μ̄≈-0.00. 추론도 같은 식(running stats 없음).

같은 배치의 앞 B/2만 사용. LN sample0 |Δ|≈0 vs BN |Δμ|.

5. Batch Norm vs Layer Norm

AspectBatchNormLayerNorm
AxisAcross batch (per feature)Across features (per sample)
Batch sizeDependentIndependent
RNN / seqAwkwardNatural
InferenceRunning statsSame formula
Typical useCNNTransformer, RNN

6. 트랜스포머에서의 위치

Pre-LN vs Post-LN

초록 곡선 = 잔차 skip (x → +). Pre-LN은 skip에 LN이 없어 기울기 하이웨이.

xLNSublayer+yskip x → + (no LN)잔차 깨끗 · ∂≈1 하이웨이
formulax + Sub(LN(x))
사용GPT-2+ LLMs
Pre-LN: skip에 LN 없음 → 기울기가 x로 직접 흐름 → 훈련 안정↑

GPT-2 이후 대부분의 LLM이 Pre-LN(또는 변형)을 씁니다.

초록 skip 곡선: x→+. Pre는 skip에 LN 없음.
y=LN(x+Sublayer(x))y = \mathrm{LN}(x + \mathrm{Sublayer}(x))
단계별 설명
y=x+Sublayer(LN(x))y = x + \mathrm{Sublayer}(\mathrm{LN}(x))
단계별 설명

LN vs RMSNorm

RMSNorm은 평균 제거를 생략하고 RMS만으로 스케일. ~30% 계산 절감, LLaMA 표준.

y10.91
y2-0.78
y30.49
y4-1.51
y5-0.04
y61.75
y7-0.99
y80.17
mean(x)0.337
mean(y) LN0.000
mean(y) RMS0.333
RMS1.009
LN: mean(y)≈0 — 평균을 빼서 중심을 맞춤

성능 손실은 미미한 편. Mistral, Gemma 등도 RMSNorm 계열을 씁니다.

mean(x) vs mean(y): LN≈0, RMSNorm≈mean(x).
RMSNorm(x)=xRMS(x)γ,RMS(x)=1H∑ixi2\mathrm{RMSNorm}(x)=\frac{x}{\mathrm{RMS}(x)}\gamma,\quad \mathrm{RMS}(x)=\sqrt{\frac{1}{H}\sum_i x_i^2}
기호를 클릭하면 의미를 볼 수 있습니다
단계별 설명

7. 실험 결과

ModelEN→DE BLEUEN→FR BLEU
RNN + BN16.4630.87
RNN + LN18.6635.79
기계 번역 (원 논문).
ModelPerplexity
RNN baseline121.0
LSTM82.0
LSTM + LN75.8
Penn Treebank 언어모델.

8. 직관 · 핵심 개념

트랜스포머는 토큰 단위로 처리합니다. “이 토큰 안 특징이 얼마나 편향됐는가”를 맞추는 LN이 자연스럽고, “이 특징이 배치 전체에서 어떤가”를 보는 BN은 덜 맞습니다.

ConceptIdea
Norm axisFeatures in one sample (batch-free)
γ, βLearnable per-feature scale/shift
Pre-LNLN before sublayer (modern default)
RMSNormRMS only, no mean — LLaMA

이해도 점검

보기를 골라 정답과 해설을 확인하세요. 채점은 이 페이지 안에서만 이뤄집니다.

0 / 5 정답
  1. 1. Layer Norm이 정규화하는 축은?

  2. 2. LN이 BN과 달리 배치 크기에 무관한 이유는?

  3. 3. Transformer가 LN을 채택한 주된 이유는?

  4. 4. Pre-LN과 Post-LN의 차이로 옳은 것은?

  5. 5. RMSNorm이 LayerNorm에서 생략한 것은?