레이어 정규화는 딥러닝에서 신경망 훈련을 안정화하고 가속화하는 데 사용되는 활성화 정규화 기법이다. 배치 정규화가 배치 차원을 따라 정규화하는 것과 달리, 레이어 정규화는 각 개별 입력 샘플에 대해 특징 차원을 따라 통계를 계산한다. 이는 트랜스포머 및 순환 신경망(RNN)과 같이 가변 길이 시퀀스나 작은 배치 크기를 가진 모델에 특히 적합하다. 이 기법은 2016년 Jimmy Lei Ba, Jamie Ryan Kiros, Geoffrey Hinton이 도입했으며, 이후 대규모 언어 모델을 포함한 많은 현대 아키텍처에서 표준 구성 요소가 되었다.
레이어 정규화는 훈련 중 층 입력의 분포가 변화하여 수렴 속도를 늦추는 내부 공변량 이동 문제를 해결한다. 활성화를 평균 0과 단위 분산으로 재조정하고 재중심화함으로써 최적화 지형을 매끄럽게 하고 매개변수 초기화 및 학습률에 대한 민감도를 줄인다. 경험적 성공으로 인해 시퀀스 모델링 및 생성형 AI 시스템에서 기본 선택이 되었다.
동기 및 배경
머신러닝에서 정규화는 크게 데이터 정규화와 활성화 정규화의 두 범주로 나뉜다. 데이터 정규화 또는 특징 스케일링은 입력 특징을 [0,1] 또는 [-1,1]과 같은 공통 범위로 재조정하여 더 큰 스케일을 가진 특징(예: 킬로미터 대 나노미터)이 학습 과정을 지배하지 않도록 한다. 활성화 정규화는 딥러닝에 특화된 것으로, 네트워크 내부의 은닉 뉴런 활성화를 재조정한다. 정규화의 주요 목표는 훈련 속도 향상, 과적합 감소, 일반화 개선, 기울기 소실 또는 폭주와 같은 문제 완화이다.
레이어 정규화 이전에는 배치 정규화(BatchNorm)가 지배적인 활성화 정규화 방법이었다. 배치 정규화는 미니 배치 차원을 따라 활성화를 정규화하며, 배치의 모든 샘플에 대해 각 특징 좌표의 평균과 분산을 계산한다. 그러나 배치 정규화에는 한계가 있다: 통계를 안정적으로 추정하기 위해 충분히 큰 배치 크기가 필요하며, 훈련 중(배치 통계 사용)과 추론 중(이동 평균 사용)에 동작이 다르다. 다양한 길이의 시퀀스를 처리하는 순환 네트워크와 트랜스포머의 경우 배치 통계가 불안정하거나 비실용적일 수 있다.
정의 및 수학적 공식화
단일 입력 샘플에 대해 활성화 벡터 \( x \)를 생성하는 신경망 층을 고려하자. 레이어 정규화는 해당 벡터의 모든 특징(또는 은닉 유닛)에 대해 평균 \( \mu \)와 분산 \( \sigma^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 \]
여기서 \( H \)는 층의 특징 수이다. 정규화된 활성화는 다음과 같다:
\[ \hat{x}_i = \frac{x_i - \mu}{\sqrt{\sigma^2 + \epsilon}} \]
여기서 \( \epsilon \)는 수치 안정성을 위해 추가된 작은 상수(예: \( 10^{-5} \))이다. 층의 표현 능력을 보존하기 위해 레이어 정규화는 학습 가능한 특징별 스케일 \( \gamma \)와 이동 \( \beta \) 매개변수를 도입하며, 다음과 같이 적용된다:
\[ y_i = \gamma_i \hat{x}_i + \beta_i \]
이 매개변수들은 역전파를 통해 훈련 중 업데이트되어, 유익한 경우 네트워크가 정규화를 되돌릴 수 있게 한다.
배치 정규화와 달리 레이어 정규화는 배치 크기나 배치의 다른 샘플에 의존하지 않는다. 각 입력에 동일한 계산을 독립적으로 적용하므로 온라인 학습이나 배치 크기 1에서 사용하기 간단하다.
배치 정규화와의 비교
배치 정규화는 배치 수준 통계를 사용하여 배치 전체에 걸쳐 각 특징 좌표를 정규화한다. \( B \) 샘플의 배치에 대해 모든 샘플에 걸쳐 각 특징 차원의 평균과 분산을 계산한다. 이는 내부 공변량 이동을 줄이지만 배치 내 샘플 간 의존성을 도입한다. 추론 중에는 배치 정규화가 이러한 통계의 이동 평균을 사용하므로 훈련 및 테스트 분포가 다른 경우 불일치가 발생할 수 있다.
반면 레이어 정규화는 각 샘플에 대해 특징을 정규화한다. 이는 여러 장점이 있다:
- 배치 크기와 무관: 배치 통계가 필요 없으므로 작은 배치나 단일 샘플 추론에서 잘 작동한다.
- 순환 네트워크에 대한 안정성: RNN은 시퀀스를 단계별로 처리하며, 레이어 정규화는 시간에 따라 배치 통계를 축적하지 않고 각 시간 단계에 적용할 수 있다.
- 훈련과 추론 간 일관성: 두 단계에서 동일한 계산이 사용되어 배치 정규화의 훈련-테스트 불일치를 피한다.
그러나 레이어 정규화는 특징 차원의 스케일이 매우 다르거나 특징 차원이 작은 경우 통계가 제한된 값 집합에 대해 계산되므로 덜 효과적일 수 있다.
트랜스포머 및 RNN에서의 응용
레이어 정규화는 Vaswani 등이 2017년 논문 "Attention Is All You Need"에서 도입한 트랜스포머 아키텍처의 핵심 구성 요소이다. 트랜스포머에서 레이어 정규화는 각 하위 층(예: 다중 헤드 어텐션 및 피드포워드 네트워크) 후에 적용되며, 포스트-노름 또는 프리-노름 구성으로 사용된다. 프리-노름(하위 층 전에 정규화 적용)은 훈련을 안정화하고 더 깊은 모델을 허용하므로 현대 구현에서 일반적이 되었다.
대규모 언어 모델인 GPT, BERT 및 그 후속 모델에서 레이어 정규화는 광범위하게 사용된다. 예를 들어 OpenAI의 GPT 모델은 각 트랜스포머 블록 내에서 프리-노름 레이어 정규화를 사용한다. 이는 OpenAI, Anthropic, Google DeepMind가 개발한 시스템에서 볼 수 있듯이 수천억 개의 매개변수를 가진 모델의 안정적인 훈련에 기여한다.
순환 신경망에서는 각 시간 단계의 은닉 상태에 레이어 정규화가 적용된다. 이는 기울기 소실 및 폭주 문제를 완화하여 RNN이 장기 의존성을 더 효과적으로 학습할 수 있게 한다. 시퀀스-투-시퀀스 모델, 음성 인식, 시계열 예측에 사용되었다.
변형 및 확장
특정 문제를 해결하기 위해 레이어 정규화의 여러 변형이 제안되었다:
- 제곱 평균 제곱근 레이어 정규화(RMSNorm): 평균 빼기를 생략하고 제곱 평균 제곱근만 사용하여 스케일링함으로써 레이어 정규화를 단순화한다. 계산 오버헤드를 줄이면서 성능을 유지하며, LLaMA와 같은 일부 대규모 언어 모델에서 사용된다.
- 가중치 정규화: 활성화를 정규화하는 대신 층의 가중치 벡터를 정규화하며, 관련 기법으로 볼 수 있다.
- 인스턴스 정규화: 주로 이미지 생성에 사용되며, 각 채널과 각 샘플에 대해 공간 차원을 정규화한다. 레이어 정규화와 유사하지만 합성곱 네트워크에 적용된다.
- 그룹 정규화: 채널을 그룹으로 나누고 각 그룹 내에서 정규화하여 컴퓨터 비전 작업에서 레이어와 배치 정규화 사이의 절충안을 제공한다.
이러한 변형은 다양한 네트워크 아키텍처와 데이터 양식에 적응하는 정규화 기법의 유연성을 강조한다.
훈련 역학에 미치는 영향
레이어 정규화는 여러 방식으로 훈련을 개선한다. 활성화를 제어된 범위로 유지함으로써 기울기 폭주나 시그모이드, 탄젠트 하이퍼볼릭과 같은 활성화 함수의 포화를 유발할 수 있는 극단적인 값을 방지한다. 이는 더 높은 학습률을 허용하여 수렴을 가속화한다. 또한 정규화 과정을 통해 약간의 노이즈를 추가하여 과적합을 줄이는 정규화 역할도 하지만, 이 효과는 드롭아웃보다 덜 두드러진다.
경험적 연구는 레이어 정규화가 손실 지형을 매끄럽게 하여 최적화를 더 예측 가능하게 만든다는 것을 보여준다. 이는 작은 섭동이 층을 통해 증폭될 수 있는 매우 깊은 네트워크에서 특히 중요하다. 트랜스포머에서 레이어 정규화는 최근 심층 트랜스포머 연구에서 입증된 바와 같이 수천 개의 층을 가진 모델의 훈련을 가능하게 한다.
한계 및 고려 사항
장점에도 불구하고 레이어 정규화에는 한계가 있다. 층 내 특징이 비교 가능한 분포를 가진다고 가정하며, 특징이 고도로 상관되거나 이질적인 분산을 가진 경우 정규화가 최적이 아닐 수 있다. 또한 추가된 학습 가능한 매개변수(\( \gamma \) 및 \( \beta \))는 모델 크기를 약간 증가시키지만, 전체 매개변수 수에 비해 무시할 수 있다.
컴퓨터 비전과 같은 일부 작업에서는 배치 전체의 공간 통계가 더 풍부한 정보를 제공하므로 배치 정규화가 레이어 정규화보다 종종 더 우수하다. 그러나 자연어 처리 및 시퀀스 모델링에서는 레이어 정규화가 일반적으로 선호된다. 2020년대 중반 현재, 대부분의 최첨단 대규모 언어 모델은 어떤 형태의 레이어 정규화에 의존하며, 이는 생성형 AI 분야에서 그 중요성을 강조한다.
결론
레이어 정규화는 복잡한 아키텍처의 안정적이고 효율적인 훈련을 가능하게 하는 딥러닝의 기본 도구가 되었다. 배치 크기와 무관하고 훈련과 추론 간 일관성이 있어 현대 AI 시스템의 기반이 되는 트랜스포머와 순환 네트워크에 이상적이다. 모델이 계속 확장됨에 따라 레이어 정규화와 그 변형은 안정적인 수렴과 높은 성능을 달성하는 데 필수적으로 남을 것이다.