레이어 정규화 (Layer Normalization)

Bean·2025년 4월 14일
0

인공지능

목록 보기
5/123

Layer Normalization (레이어 정규화) 설명

Layer Normalization은 딥러닝 모델, 특히 Transformer에서 아주 중요한 역할을 합니다.

1. Layer Normalization이란?

레이어 정규화는 각 데이터 포인트(토큰) 안의 모든 특성(feature)을 정규화(normalize)하는 기법입니다.

예시

  • 어떤 토큰이 512차원의 벡터로 표현되어 있다고 하면,
    그 512개의 값에 대해서 평균과 표준편차를 계산해서 정규화합니다.

2. 왜 필요한가요?

  • 모델이 깊어질수록 값의 분포가 불안정해지기 쉽습니다. (예: gradient vanishing or exploding)
  • 정규화를 통해 학습이 더 빠르고 안정적으로 진행될 수 있게 도와줍니다.

3. 어떻게 계산하나요?

다음은 하나의 벡터 x=[x1,x2,...,xd]x = [x_1, x_2, ..., x_d]에 대해 LayerNorm을 적용하는 수식입니다:

μ=1di=1dxi\mu = \frac{1}{d} \sum_{i=1}^{d} x_i
σ=1di=1d(xiμ)2\sigma = \sqrt{\frac{1}{d} \sum_{i=1}^{d} (x_i - \mu)^2}
LayerNorm(x)=γ(xμ)σ+ϵ+β\text{LayerNorm}(x) = \gamma \cdot \frac{(x - \mu)}{\sigma + \epsilon} + \beta
  • μ\mu, σ\sigma: 평균과 표준편차
  • γ\gamma, β\beta: 학습 가능한 파라미터 (스케일과 쉬프트)
  • ϵ\epsilon: 숫자가 0으로 나누어지는 걸 방지하기 위한 아주 작은 값

4. BatchNorm과의 차이점

항목Batch NormalizationLayer Normalization
기준배치(batch) 전체한 개의 토큰 기준
적용 위치CNN, 일반 MLP 등RNN, Transformer 등
장점통계적으로 안정적배치 크기에 영향 안 받음

Transformers에서는 항상 LayerNorm을 사용합니다. 왜냐하면 문장마다 길이가 다르고, 배치마다 시퀀스가 다양하기 때문입니다.

profile
AI developer

0개의 댓글