https://arxiv.org/abs/1502.03167
Abstract
- Internal Covariate Shift는 훈련을 저하시키는 주된 원인이다.
- internal covariate shift : 이전층의 파라미터 분포 변화에 따라 각 층의 input 분포가 달라지면서 네트워크 훈련이 복잡해지는 현상
- lower learning rate, careful parameter initialize 등이 요구됨
- 하지만, 이는 normalizing layer inputs를 통해 해결할 수 있음
- 이를 해결할 두 가지 방법
- normalization을 모델의 아키테처에 포함시킨다.
- 각 mini-batch 별로 normalization을 수행한다.
- Batch Normalization의 장점
- higher learning rate
- less careful about initialization
- act as regularizer
- eliminate Dropout
- Batch Normalization의 효과
- 기존 모델보다 14배 적은 training steps으로 same accuracy 달성
- 앙상블 기법을 적용할 경우, 4.9% 의 error(top5 수준) 및 인간 판별기의 정확성 초과
1. Introduction
- mini-batches를 사용하는 것의 장점
- mini-batch의 손실함수 gradient는 전체 training set의 gradient 추정치이며, 이는 batch size가 커질수록 정확해진다.
- batch를 계산하는 것이 m개의 개별 예시들을 계산하는 것보다 효율적이다.
- SGD는 단순하고 효과적이지만, 모델 parameter에 careful tuning이 필요함
- the inputs to each layer are affected by the parameters of all preceding layers
- small changes to network parameters amplify as the network becomes deeper
- layers의 input distribution의 변화는 layers가 지속적으로 새로운 distribution에 적응해야하기 때문에 문제가 생긴다.
- covariate shift : learning system의 input distribution이 변화하는 것
- covariate shift는 learning system 전체로 확장될 수 있다.
- 이전층의 출력값이 sub-networks나 다음 층의 input으로 사용되기 때문
- 따라서 layer input을 같게 한들면 훨씬 효율적으로 학습시킬 수 있다.
- ex. training & test data의 distribution을 같게 한다던지
- 이렇게 해줌으로써, 다음 층의 파라미터는 분포 변화를 보정하기 위해 재조정할 필요가 없어진다.
- 분포를 고정시키는 것은 sub-networks의 outside에도 긍정적인 결과를 야기함
- 시그모이드 함수를 예를 들어 생각해보면,
- z = g(Wu + b), g(x) = (1 + exp(-x))**-1
- 시그모이드 함수의 인수는 Wu + b이며, 학습이 진행되면서 W, b 값에 따라 기울기나 결과값이 결정됨
- propagation을 진행하며 하위 층들을 통과할 때 분포가 다르다면 이 값은 양 극단으로 치우칠 확률이 높아짐
- 이는 네트워크의 depth가 깊어질수록 증폭됨
- 아래와 같은 방법으로 해결할 수 있음
- ReLu 사용
- careful initializing
- small learning rate
- 하지만, 네트워크가 훈련되는 동안 분포를 stable하는 것은 다음을 보증한다.
- optimizer는 포화 상태에 덜 빠지게 될 것
- 훈련이 가속화될 것
- 시그모이드 함수를 예를 들어 생각해보면,
- Batch Normalization
- layer inputs의 means & variance를 normalization 시킴으로 internal covariate shift 제거 및 극적으로 훈련 속도를 가속효과를 얻는다.
- gradient parameter의 scale과 initial value의 읜존성을 줄이고 higher learning rate와 수렴 위험성을 벗어나도록 한다.
2. Towards Reducing Internal Covariate Shift
- inputs 가 whitened 되었을 때 네트워크 학습 수렴 속도가 훨씬 빠르다고 알려져있다.
- whitened : lineary transformed to have zero means and unit variances, and decorrelated
- 각 layes를 whitening해줌으로써, 고정된 distribution을 달성하고, internal coraviate shift의 부정적인 효과들을 제거할 수 있을 것이다.
- 하지만 이는 gradient step이 변화는 효과보다 normalization update에 더 영향을 받는 모습을 보인다.whitening은 모든 training step or some interval, network의 직접 수정 or 파라미터의 간접 수정 등의 방식으로 이루어진다.
- 위 수식의 결론을 보면, b에 대한 업데이트와 손실에 대한 업데이트는 변화가 없어진다.
- 결국 gradient descent optimization이 normalization을 반영하지 못하는 문제가 발생하고, 이를 해결하기 위해서는 모든 파라미터 값이 항상 desired distribution을 갖도록 해야한다.
- 또한 위 수식을 통해 whitening의 propagation 과정을 관찰할 수 있는데 이 framewordk 내부에서 확인할 수 있는 점은 이 과정의 cost가 너무 비싸다는 것이다.
'논문 리뷰' 카테고리의 다른 글
[Paper Review] Deep Residual Learning for Image Recognition (0) | 2023.08.02 |
---|---|
[Paper Review] Overview of mini-batch gradient descent (0) | 2023.07.18 |