본문 바로가기

operator 의 연산 의미 분석

LayerNorm Semantic Specification

1) 한 줄 정의

LayerNorm 은 샘플 내부에서 평균 / 분산을 계산해 절대 스케일을 제거하고, 남은 상대적 비율만을 보존해 학습을 안정화하는 표현 안정화 연산자다. 

 

2) BatchNorm 과의 결정적 차이 (의미론 축이 다름)

  • BatchNorm : 집단 계약 - 배치가 계약의 근거, 채널이 계약 단위, 분산학습에서 Sync / 통신이 계약의 일부가 됨
  • LayerNorm : 개인 계약 - 샘플이 계약 단위, feature 가 정규화 대상

Transformer 에서 LN 이, 배치가 작아도 의미가 유지됨에

 

3) Canonical Form 의 의미론적 분해

(A) 샘플 기준 좌표계 생성 (Per-sample reference frame)

  • mu, sigma 는 각 샘플 행마다 계산되는 통계량
  • shapes 에서 mu, sigma : Mx1 로 명시됨

의미 : 샘플마다 자기만의 기준점과 스케일을 만든다.

 

(B) 에너지 제거 (Energy removal)

  • 절대적인 크기를 제거한다는 말은 실제로
    • feature 벡터의 평균 오프셋 제거
    • feature 벡터의 전체 스케일(분산) 정규화
  • 결과적으로 남는 건 feature 들 간 상대적인 비율 / 패턴

의미 : 모델이 스케일 변화에 흔들리지 않고, 패턴만 학습하게 만든다. 

 

(C) 표현력 복원 (Affine restore)

  • 정규화는 표현력을 뭉개므로, gamma, beat 로 표현 스케일을 되살림
  • 단, 여기서도 중요한 의미론이 있음
    • LN 은 정규화로 스케일 자유도를 뺏고,
    • gamma 로 학습 가능한 스케일 자유도만 다시 준다.

의미 : 스케일은 그냥 두지 않고, 학습 가능한 스케일만 허용한다.

 

4) Axes(축) 의미론

M (Samples) - 계약의 단위

  • 각 샘플이 독립적인 통계를 가진다.
  • LN 은 샘플마다 QA 검사 같은 느낌

N (Features) - 정규화의 대상

  • LN 은 feature 방향으로 reduction 이 필요하다.
  • 즉 연산의 본질 병목은
    • N 축 리덕션 ( 평균 / 분산 )
    • 그리고 다시 N 축으로 elementwise transform

의미적으로 LN 은 reduce + map 의 조합이며, 구현은 이 reduce 를 얼마나 싸게 하느냐

 

5) Invariants (LN 의 의미론적 불변성)

INV_DISTRIBUTION_STABILITY - 통계 안정성

  • metric : KL divergence, threshold : 분포 오차 < 1e-5
  • 이 invariant 는 출력 분포가 원하는 정규화 성질을 유지해야 한다느 ㄴ의미

중요한 부분

  • rsqrt 근사를 쓰면서, 단순이 속도가 아닌, 수치 오차가 분포 안정성을 깨지 않는 범위에서만 허용하는 최적화

 

INV_AFFINE_INTEGRITY - 선형 관계 보존

  • correlation coefficient >= threshold
  • 이건 LN 이 학습 신호를 망치면 안 된다는 조건

해석

  • LN 은 스케일을 바꾸지만, feature 간 상대 구조는 최대한 보존해야 한다
  • 상관이 유지되는 범위 내에서만 최적화 허용