Batch Normalization을 사용하면 아래와 같은 장점이 있다.
1. training time 감소
2. regularization 효과
❗그러나 Batch Normalization을 사용하며 아래와 같은 단점이 있다.
🎯 Batch Normalization의 이러한 문제를 해결하고자 본 논문에서는 Layer Normalization을 제안한다.
Layer Normalization
하나의 hidden layer에 입력되는 모든 input간의 평균과 분산을 계산해 input을 정규화해주자
본 논문에서 제안하는 Layer Normalization의 장점은 아래와 같다.
1. RNN에 효과적으로 적용할 수 있음
2. 학습 속도가 빨라짐
3. 일반화 성능이 좋아짐
"하나의 layer 안에서 평균과 분산을 고정시켜서 input을 정규화해주자"

📢 LN과 BN의 다른 점:
1. LN은 BN과 달리 하나의 layer 내의 모든 hidden unit은 같은 평균과 분산을 공유한다.
2. LN은 BN과 달리 훈련 샘플끼리 다른 평균과 분산을 가진다.
📢 LN의 장점:
1. mini-batch size가 어느정도 커야한다는 BN이 가진 제한점이 없어져 batch size가 1인 online learning에서도 사용 가능하다.
2. RNN에도 적용 가능하다.
❗RNN에 BN을 사용할 수 없는 이유:
📌 LN의 작동 방식 (RNN에서)
위의 식에서 하나의 샘플에 대해서면 평균과 분산을 계산한다. 즉, 샘플마다 독립적으로 정규화하므로 test 때 어떤 길이의 sequence가 들어와도 상관없다. 왜냐하면, 각 time step에서 LN을 해줄 때는 sequence 하나만 보면 된다.
➤ 모든 t마다 다른 평균과 분산을 가지는 것은 같지만 샘플별로 정규화해주므로 sequence 길이로 인한 문제는 없음

: time t에서의 hidden state
: 모델의 parameter, 와 같은 차원을 가짐
: time t에서의 activation 값,
: layer의 hidden unit
LN으로 RNN의 고질적인 문제인 vanishing/exploding gradient 문제를 어느정도 완화시킬 수 있다. (이후에 더 자세히 설명할 것이다.)
비록 LN, BN, WN이 평균, 분산을 계산하는 방식은 서로 다르지만
공통적으로 뉴런에 들어가는 를 평균 와 분산 라는 두 스칼라를 이용해 정규화한다.
또한, 정규화 이후에는 각 뉴런마다 학습 가능한 bias 와 gain 를 추가로 학습한다.
🔹Batch Normalization:

🔹Layer Normalization:

🔹Weight Normalization:
,
⭐ 세 가지 normalization에 대한 invariance 결과를 정리한 표:

- Batch, Weight Normalization
- 하나의 뉴런 weight vector 에 대해 scaling이 일어나면 도 같은 비율로 scaling → 정규화 결과는 변하지 않음.
⇒ Weight Scaling에 불변- Layer Normalization
- 개별 weight vector scaling에는 invariant하지 않음
- 대신 전체 weight matrix scaling이나 모든 incoming weight에 동일한 shift 추가에는 invariant
⇒ 특정 변환(weight matrix rescaling, recentering)에 대해 출력이 동일
- 모든 Normalization
- 데이터셋 전체를 scaling해도 뉴런 입력은 변하지 않음 → invariant
- Layer Normalization
- 개별 데이터 포인트 를 상수배 해도 () 평균과 분산이 함께 scaling되므로, 최종 출력은 그대로 유지됨
- ⇒ 개별 샘플 re-scaling invariant
- Batch Normalization
- 데이터셋 전체를 re-centering(shift) 및 re-scaling 모두 invariant
지금까지 모델 예측이 파라미터의 re-centering 및 re-scaling을 해도 invariant하다는 것을 살펴보았다. 그러나 학습 과정은, 비록 모델이 invariant한 값을 출력하더라도, 파라미터화(parameterization)의 방식에 따라 매우 다르게 동작할 수 있다.
이 절에서는 파라미터 공간의 기하(geometry)와 매니폴드(manifold) 관점에서 학습 동작을 분석한다. 본 논문에서는 normalization scalar가 learning rate을 암묵적으로 줄여주고, 그 결과 학습을 더 안정적으로 만든다는 것을 보여준다.
정규화된 GLM의 Fisher information 행렬 블록 gain 파라미터와 정규화 스칼라에 의해 scaling 된다. 가 커져도 출력은 동일하지만, Fisher information metrics의 곡률은 변한다.
→ 가 2배면 곡률은 절반
따라서 weight normalization은 사실상 learning rate의 크기를 조절할 수 있다. weight normalization이 커지면 방향을 바꾸기 어려워져서, 정규화 기법이 implicit early stopping 효과를 낸다.
정규화된 모델에서는, 들어오는 weight의 크기가 gain 파라미터로 명시적으로(parameterize) 표현된다. 저자들은 학습 과정에서, 정규화된 GLM에서 gain 파라미터를 업데이트하는 경우와, 원래 파라미터화된 모델에서 weight 크기를 직접 업데이트하는 경우를 비교해 보았다.