Abstract
심층 신경망을 훈련시키는 것은 비용이 많이 듭니다. 그래서 훈련시간을 줄이기위해 뉴런의 활성화를 정규화 하는것입니다. 최근에 도입된 배치 정규화는 뉴런에 대한 미니배치의 입력값의 분포를 사용하여 평균과 분산을 계산하는 것인데, 이는 훈련시간을 크게 단축 시킵니다. 하지만 배치 정규화는 미니배치 크기에 따라 효과가 달라진다. 그래서 저자들은 레이어 정규화를 제안했습니다. 이는 배치 정규화를 보완하는 기술이며, 레이어 정규화는 미니배치 대신에 각 훈련을 통해 한 계층 내 모든 뉴런의 입력 합을 사용해서 평균과 분산을 계산한다. 이를 통해 배치 정규화와 달리 훈련과 테스트시 동일한 계산을 수행할 수 있으며, RNN에서도 쉽게 적용하며, 기존 기술에 비해 훈련 시간이 크게 줄었다.
Introduction
배치 정규화는 미니배치의 평균과 표준편차를 이용해 뉴런의 입력을 정규화하고 훈련시간을 단축하며,속도를 높여줍니다. 하지만 RNN에서는 시퀀스 길이에 따라 통계가 달라져서 적용이 어렵고, 온라인 학습이나 대규모 분산에서는 미니배치가 작아져서 성능이 저하될 수 있다. 하지만 레이어 정규화는 배치 단위가 아닌 계층의 모든 뉴런 입력 값으로 통계치를 추정하며, 이 방법은 RNN에서도 쉽게 적용이 가능하며, 훈련시간과 일반화 성능을 향상시킵니다.
Background
피드포워드 신경망은 입력 𝑥를 출력 벡터 𝑦로 매핑하는 비선형 함수입니다.
신경망의 파라미터들은 경사하강법 (gradient descent)과 같은 최적화 알고리즘을 통해 학습됩니다. 이때 역전파 (back-propagation)가 사용되어 각 층의 가중치에 대한 그래디언트를 계산합니다.
공변량 변화 문제 (Covariate Shift)
특정 층의 뉴런들의 출력이 지나치게 상관관계가 높게 변화하면, 다음 층의 가중치에 대한 그래디언트 계산이 어렵고 비효율적일 수 있습니다.
배치 정규화
Layer normalization
레이어 정규화는 배치 정규화의 단점을 해결하기 위해 고안된 방법입니다. 레이어 출력 변화는 다음층으로 전달될 때 상관관계가 높은 변화를 유발할 수 있다. 특히 ReLU와 같은 활성화 함수에서는 출력이 크게 변하기 쉽기 때문에 이러한 문제가 두드러집니다. 이는 공변량 변화 (covariate shift) 문제를 악화시킵니다.
Layer normalized recurrent neural networks
NLP에서는 훈련 샘플마다 문장의 길이가 달라지는 것이 일반적이다. RNN은 매 시점마다 같은 가중치를 사용하기때문에 다양한 길이의 입력을 쉽게 처리할수 있다. 하지만 배치 정규화를 RNN에 직접 이용하면 각 시점마다 별도의 정규화 통계를 계산하고 저장해야 한다. 하지만 테스트 시퀀스가 훈련 시퀀스보다 길 경우, 학습에 없는 시점에 대한 통계가 부족하게 된다. 레이어 정규화는 이러한 문제를 해결한다. 매 시점의 정규화는 현재 시점의 합산된 입력만 사용해서 이루어지고 모든 시점에서 같은 세트의 파라미터(편향 b와 게인 𝑔) 를 공유한다.
결론: 일반 RNN에서는 합산 입력의 크기가 변동하며 기울기 소실 또는 기울기 폭발이 발생할 수 있습니다.레이어 정규화된 RNN은 입력을 정규화하여 재스케일링에 영향을 받지 않아 더 안정적인 은닉 상태 동작을 유지합니다.
Related work
해당 연구진은 각 time-step마다 독립적인 normalization 통계량을 사용하였고, gain 파라미터를 0.1로 초기화했다.
Weight Normalization에서는 variance 대신에 앞단 weight들의 L2 norm이 뉴런 인풋 총합을 정규화하는 것에 이용된다.
Analysis
Invariance under weights and data transformations
배치 정규화와 가중치 정규화는 가중치의 재스케일링에 대해 불변성을 가지지만, 레이어 정규화는 개별 가중치 벡터의 스케일링에는 불변하지 않고 전체 가중치 행렬의 스케일링과 이동에 대해 불변성을 유지합니다.
모든 정규화 방법은 데이터셋의 재스케일링에 대해 불변성을 가지며, 특히 레이어 정규화는 개별 훈련 샘플의 재스케일링에도 영향을 받지 않습니다.
Geometry of Parameter Space during Learning
파라미터화에 따라 동일한 모델도 학습 과정이 달라질 수 있으며, 정규화에 사용되는 스칼라
𝜎는 학습률을 낮추어 학습의 안정성을 높이는 역할을 한다.
일반화 선형 모델(Generalized Linear Model, GLM)을 사용해 정규화 기법의 기하학적 특성을 분석
GLM
다차원 GLM
정규화된 모델에서는 가중치 벡터의 성장이 학습률에 영향을 미칩니다. 노름이 커질수록 동일한 파라미터 업데이트에서 학습률이 감소하며, 이는 큰 가중치 벡터의 방향을 변경하기 어렵게 만듭니다. 결과적으로, 정규화 방법은 학습의 안정성을 높이고, 학습률을 조절하는 역할을 합니다.
Experimental results
Recall@K : 상위 K개의 예측값 중에서 정답이 있는지 측정하는 지표
모든 실험 케이스에서 Layer Normalizaion 적용 모델이 가장 좋은 성능을 보여줌
결과: 레이어 정규화를 적용한 모델은 학습 속도가 더 빠르고, 일반화 성능이 개선되었습니다. 이 모델은 RNN 기반 임베딩 모델 중 최상위 성능을 기록했으며, 동일한 작업에 대해 더 나은 결과와 효율적인 학습을 보여줌
결과:레이어 정규화가 배치 정규화와 달리 초기 스케일 값에 민감하지 않다는 것을 보여줍니다. 즉, 레이어 정규화된 모델은 배치 정규화에 비해 더 안정적인 학습을 제공하며, 빠르고 더 나은 결과을 이끌어냅니다.
인접하는 단어가 주어지면 문장은 encoder RNN에 의해 인코딩되고 decoder RNN이 주변 문장들을 예측하는데 이용된다.Layer Normalization을 적용한 모델이 기본 모델보다 더 빠르게 훈련되었으며 더 좋은 결과를 보여주었다.
Conclusion
레이어 정규화를 도입하여 신경망의 학습 속도를 높이고, 배치 정규화와 가중치 정규화와의 불변성 특성을 비교했습니다. 레이어 정규화는 개별 훈련 샘플의 특징에 대해 이동과 스케일링에 불변성을 가지며, 실험 결과 순환 신경망(RNN)에서 특히 긴 시퀀스와 작은 미니배치를 처리할 때 가장 큰 성능 향상을 보였습니다.
1.연구 목표
이 논문은 심층 신경망의 학습 속도를 높이기 위해 Layer Normalization (층 정규화)이라는 새로운 방법을 제안합니다.
기존의 Batch Normalization(배치 정규화)이 가진 제한 사항을 극복하고, 특히 순환 신경망(RNN)에서의 학습 안정성을 개선하는 것이 주요 목표입니다.
2.연구의 배경지식
Batch Normalization은 신경망의 학습 속도를 향상시키기 위해 도입되었으나, 미니배치의 크기에 의존하고, RNN처럼 순서가 중요한 네트워크에 적용이 어렵습니다.
Layer Normalization은 한 개의 훈련 케이스 내의 동일 레이어에서 뉴런의 합 입력 값으로 평균과 분산을 계산함으로써 배치 의존성을 제거합니다.
이 방식은 학습 및 테스트 시 동일한 계산을 수행하며, 시간 단위로 정규화 통계를 계산하여 RNN에도 쉽게 적용됩니다.
3.중점적으로 볼 것
Layer Normalization의 적용 방식: 순환 신경망에서 각 시점의 입력을 어떻게 정규화하는지 설명하고 있습니다.
RNN에서의 안정성: 정규화로 인해 기울기 소실/폭발 문제를 방지하고, 장기적인 시퀀스 처리에서의 성능을 개선합니다.
비교 실험 결과: 여러 NLP 및 시계열 데이터 세트에서 Layer Normalization이 학습 속도와 정확도를 어떻게 향상시키는지 분석합니다.
4.결론
Layer Normalization은 미니배치 크기에 구애받지 않고 RNN과 같은 모델의 학습 속도를 크게 향상시켰으며, 특히 긴 시퀀스와 작은 미니배치에서 유리합니다. 이 방법은 배치 정규화와 달리, 훈련과 테스트 시 동일한 계산을 수행하므로 실용적입니다.향후 연구에서는 합성곱 신경망(CNN)에 적용할 가능성과 성능 개선 방법을 더 연구해야 할 필요가 있다고 제안합니다.이 논문은 Layer Normalization이 신경망 학습에서 가지는 이점과 한계를 실험적으로 검증하고, 이를 다양한 환경에서 적용할 수 있는 가능성을 열어둡니다.
참고: https://kubig-2023-2.tistory.com/21
https://velog.io/@roqkfwk7lnam/%EB%85%BC%EB%AC%B8-%EC%9A%94%EC%95%BD-Layer-Normalization