기존 연구들은 training time을 줄이는 방법으로 batch normalization을 제안하였습니다.
그러나 batch normalization은 몇 가지 단점을 가지고 있습니다.
batch normalization은 mini-batch size에 의존한다.
recurrent neural network model인 경우, 어떻게 적용이 되는지 명백하게 설명하기 어렵다.
본 연구에서는 이러한 문제점을 해결하기 위해서 layer normalization을 제안하였습니다.
layer normalization은 batch normalization과 달리 train/test time 일 때, 같은 computation을 수행한다는 점이 큰 특징입니다.
Introduction
일반적으로 deep neural network는 Stochastic Gradient Descent(SGD) 방법을 사용하였습니다. 관련 연구 설명에 앞서 neural network에 normalization을 도입한 계기에 대해 살펴보도록 하겠습니다. notation은 다음과 같습니다.
k,j : spatial dimensions, i : featue channel(input image가 RGB → color channel), n: index image
Instance Normalization은 mini-batch image각각에 대하여 normalize시켜주는 방식
Instance Normalization은 BN을 대체함으로써 image generation 영역에서 좋은 성능을 보이는 것으로 알려져 있음
style transfer, GAN에서 많이 사용되는 방법
Group Normalization
Group Normalization은 각 channel을 group지어 normalize하는 방법입니다.
Si={k∣kN=iN,⌊C/GkC⌋=⌊C/GiC⌋}
G : group의 수, C/G : 각 group의 channel수, ⌊⋅⌋: floor operation, i,k : index image
전체 channel을 group지어 normalize한다면 group normalization은 layer normalization과 동일(G=1)
각각의 channel을 개별적으로 group짓는다면 Instance normalization과 동일(G=C)
정리하자면 Batch normalization과 비롯해 다른 normalization은 다음과 같이 표현할수 있습니다.
Method
Layer Normalization
본 연구에서는 batch normalization의 결점을 극복하는 방법으로 layer normalization을 제안하였습니다.
ul=H1i=1ΣHail,σl=H1i=1ΣH(ail−ul)2
H : 특정 layer가 가지고 있는 hidden unit 개수
layer normalization은 특정 layer가 가지고 있는 hidden unit에 대해 μ , σ를 공유함
BN과 다르게 mini-batch-size에 제약이 없음
RNN model에선 각각의 time-step마다 다른 BN이 학습됨
LN은 layer의 output을 normalize함으로써 RNN계열 모델에서 좋은 성능을 보임
Example
Batch Normalization, Layer Normalization에서 μ, σ2 에 대해 계산되는 과정을 나타냄
Batch size : 3 , Hidden unit : 5개
Batch Normalization
μ=31+2+3=2σ2≈0.667
Layer Normalization
μ=51+3+7+10+13=6.8σ2≈19.36
Batch Normalization은 batch size에 dependent하다는 사실을 알 수 있습니다.
Batch size를 1이라고 가정한다면 BN인 경우 학습하기 어려움
Invariance under weights and data transformations
앞서 설명드렸던 BN, WN, LN, GN의 normalize하는 방법은 모두 다릅니다.
그러나 μ , σ를 이용하여 normalize한다는 점, backpropagation 과정에서 γ , β 를 update해준다는 점은 동일합니다.
Experiments
Dataset은 question-answering data를 사용하였고 attentive reader model로 학습을 진행
LSTM에 LN을 적용했을 때, 수렴속도가 빨라졌고, baseline, BN을 적용했을 때보다 좋은 성능을 보임
Dataset은 BookCorpus dataset을 사용하였고, Skip-Thoughts 모델을 사용하여 학습을 진행
학습 이후 5개의 task로 evaluation [semantic-relatedness, movie review sentiment, customer product reviews, subjectivity/objectivity classfication, opinion polarity ]
50000 iteration마다 evaluate했을 때의 결과를 의미함
Dataset은 permutation MNIST를 사용하였고 RNN 모델을 사용하여 학습을 진행
BN과 다르게 LN은 batch size와 상관없이 좋은 성능을 보임
Conclusions
Layer Normalization은 BN과 달리 mini-batch size에 의존하지 않는다는 점을 알 수 있었습니다.
RNN에서 Layer normalization은 좋은 성능을 보였습니다.
여러 Normalization 기법들을 다루면서 각 normalization이 어떻게 동작하는지 확인할 수 있었습니다.