Abstract
Training Deep Neural Networks is complicated by the fact that the distribution of each layer’s inputs changes during training, as the parameters of the previous layers change. This slows down the training by requiring lower learning rates and careful parameter initialization, and makes it no- toriously hard to train models with saturating nonlineari- ties. We refer to this phenomenon as internal covariate shift, and address the problem by normalizing layer in- puts. Our method draws its strength from making normal- ization a part of the model architecture and performing the normalization for each training mini-batch. Batch Nor- malization allows us to use much higher learning rates and be less careful about initialization. It also acts as a regu- larizer, in some cases eliminating the need for Dropout. Applied to a state-of-the-art image classification model, Batch Normalization achieves the same accuracy with 14 times fewer training steps, and beats the original model by a significant margin. Using an ensemble of batch- normalized networks, we improve upon the best published result on ImageNet classification: reaching 4.9% top-5 validation error (and 4.8% test error), exceeding the ac- curacy of human raters.
깊은 신경망을 훈련하는 것은 이전 계층 파라미터의 변화에 따라 훈련 도중 각 레이어의 인풋에 대한 분포의 변화 때문에 복잡하다.
이는 학습에 낮은 학습률과 민감한 파라미터 초기화로 학습을 느리게 만들고, 포화 비선형성이 있는 모델을 학습시키는 것이 매우 어렵다.
우리는 이를 'internal covariate' 현상이라 칭하고, 각 층의 인풋을 정규화하는 문제라고 정의한다.
우리의 방법은 모델 아키텍처의 한 부분으로서 정규화를 포함시키고, mini-batch에 대한 정규화를 수행하는 것에 노력하였다.
Batch Normalization은 높은 학습률의 사용과 파라미터 초기화에 덜 민감하게 해준다.
regularizaer 역할을 하여, 케이스에 따라 Dropout의 필요성을 줄여준다.
state-of-the-art 이미지 분류 문제에서 적용했을 때, Batch Normalization은 14배나 작은 훈련 단계로 같은 정확률을 얻거나 높았습니다.
이를 사용한 네트워크 앙상블을 사용한다면, ImageNet 분류문제에서 최고의 성능을 낼 수 있습니다.
요약
- weight의 변화가 가중되어 쌓일 때, hidden layer를 다수 거치면서 값이 변하게 되고 이는 우리가 원하는 결과가 다른 결과를 갖게 한다. 이를 Internal Covarient Shift라고 칭한다. 즉, k 번째 학습과 k+1 번째 학습에서의 분포의 변화가 심해진다는 것을 의미한다.
- 이러한 문제를 해결하기 위해 적절한 가중치 초기화(어려움), 작은 학습률(학습속도가 너무느림)을 사용할 수 있지만, 문제가 많다.
- 이를 위해 Batch Norm을 제안하였다. Activation 이전의 값의 변화를 줄이는 것이 목적.(Input -> layer -> BN -> Activation)
- BN에서 mean 0, var 1을 주로 사용한다. var이 커지면 Internal Covarient Shift가 일어날 가능성이 높다.
- 장점은 높은 학습률을 사용해도 안정적이라는 것, 가중치 초기화를 매우 잘하지 않아도 된다.
- ELU(Exponential Linear Unit)은 BN이 필요없다고 주장한다. SELU 또한 그렇다.
Reference
Ioffe, S., & Szegedy, C. (2015). Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167.