https://arxiv.org/abs/1502.03167
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
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 param
arxiv.org
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 |
https://arxiv.org/abs/1502.03167
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
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 param
arxiv.org
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 |