본문 바로가기

Paper Review

[논문 리뷰][Deep Learning] Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift

0. Reference

https://arxiv.org/abs/1502.03167

 

1. Introduction

1.1 확률적 경사 하강법(Stochastic Gradient Descent, SGD)

- SGD는 네트워크 파라미터 Θ를 최적화하여 손실을 최소화한다.

- 최적화에 사용되는 학습률 (learning rate)과 모델 파라미터의 초기값 설정이 중요하다.

- 네트워크가 깊어질 수록 파라미터의 작은 변화가 증폭되어 공변 변화 (covariate shift)가 발생한다.

 

1.2 공변 변화 (covariate shift) 문제

- 공변 변화란 학습 시스템의 입력 분포가 바뀌는 것이다.
  이를 해결하기 위해 Mini-Batch마다 각 층의 입력을 정규화하는 Batch Normalization 기법을 사용한다.
- Batch Normalization를 사용하면 높은 학습률을 적용할 수 있고, 초기화에 덜 민감하고 정규화 효과로 드롭아웃이 필요 없을 수 있다.

 

2. Towards Reducing Internal Covariate Shift

- 내부 공변 변화 (Internal Covariate Shift)는 훈련 중 Deep Network 활성화의 분포가 변경되는 현상

 

- 과거 연구들에서는 입력 데이터가 화이트닝 (whitening)이 처리되었을 때 빠르게 수렴한다고 알려져 있다.
   그리고 단일 훈련 샘플에서 계산된 통계를 사용하거나 이미지 데이처의 경우 특징 맵(fearture maps)에 대한 통계를 사용했다.

   > 하지만 이러한 방식은 활성화의 절대적 스케일 정보를 폐기해 네트워크의 표현 능력이 떨어진다.


→  입력 데이터 정규화가 훈련 속도를 높인다는 기존 연구를 확장해 모든 각 층의 입력의 정규화를 제안 

 

※ 화이트닝 (whitening)은 데이터의 평균을 0으로 만들고 분산을 1로 맞추는 작업이다. 

    데이터가 통계적으로 독립적이고 동일한 스케일을 가지도록 변환하는 것이다.

3. Normalization via Mini-Batch Statistics

  • Batch Normalization 순전파

 

이러한 d-차원 입력을 가지는 층에 대해 각 차원을 정규화한다.

이런 정규화는 특징들 간의 상관관계가 제거되지 않더라도 수렴 속도를 높인다.

하지만 이것을 활성화 함수 sigmoid 함수에 넣어버리면  층이 표현할 수 있는 것에 변화가 생길 수 있다.

 

이를 해결하기 위해 정규화된 값을 스케일링을 하고 이동 시킨다.

 

 

 

  • Batch Normalization 역전파

 

3.1 Training and Inference with Batch-Normalized Networks

- Mini-Batch Statistics를 사용해 평균과 분산을 정규화하며, 학습 중 역전파에 이 통계값들을 활용한다.
- 학습 후 추론 과정에서는 평균, 분산 값을 고정된 값으로 정해준다.
  → 추론 결과가 랜덤하지 않고 항상 같은 입력에 같은 출력이 된다.
 

3.2 Batch-Normalized Convolutional Networks

- 배치 정규화를 합성곱층에 적용하여 활성화값을 비선형 이전에 정규화한다.
- feature map 내 위치에 따라 동일한 정규화를 유지하도록 설계한다.
 

3.3 Batch Normalization enables higher learning rates

- 배치 정규화는 높은 확습률에서도 훈련 안정성을 유지하며 학습 속도를 가속화한다.
- 각 층의 가중치 스케일 변화로 인한 문제를 방지하여 학습룰 조정의 민감도를 줄인다.
 

3.4 Batch Normalization regularizes the model

- 미니 배치 간 상호작용으로 인해 배치 정규화는 모델의 일반화 성능을 향상시킨다.
- 드롭아웃을 대체하거나 축소가 가능하다.
 

4. Experiments

4.1 Activations over time

 
- MNIST 데이터셋 실험에서 배치 정규화가 훈련 중 분포를 안정화하고 더 빠르고 높은 정확도로 수렴한다.

 

4.2 ImageNet classification

4.2.1 Accelerating BN Networks
- 배치 정규화를 사용하는 네트워크는 초기 학습률 증가와 드롭아웃 제거를 통한 훈련 속도를 크게 향상한다.

 

4.2.2 Single-Network Classification

- 배치 정규화를 사용하는 네트워크는 기존의 동일 모델보다 적은 훈련 스탭으로 더 높거나 동일한 정확도를 달성한다.

 
4.2.3 Ensemble Classification

- 배치 정규화 네트워크 앙상블은 ImageNet 분류에서 최고 성능을 뛰어넘는 결과를 기록했다.

 

5. Conclusion

- 배치 정규화는 내부 공변량 변화를 Deep Network의 훈련을 가속화한다.
- 높은 학습률, 드롭아웃 감소 등 모델의 효율성을 높이고, 이미지 분류에서 새로운 성능 기준을 제시한다.