Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-Normalized Models

google
nips
nips2017

#1

Batch Normalization는 뉴럴넷에 필수적인 요소로 사용되고 있습니다.

Batch Norm은 각 레이어별로 출력하는 activation 값의 분포를 안정화시킴으로써 뉴럴넷이 안정적이고 더 잘 트레이닝 될 수 있도록 하는 기법입니다.

이를 조금 변형해 단점을 개선했다고 주장하는 논문입니다.

Introduction

이 논문에서 Batch Norm에 대해서 꼬집는 2가지 문제 상황은 아래와 같습니다.

  • 미니배치가 작을 때. 배치사이즈가 작으면, 배치 별로 낸 통계가 큰 variance를 갖게 되므로, 성능 저하의 요인이 됩니다.
  • 비독립적(independent)인 샘플 배치로 이루어질 때. 배치마다 유사한 데이터가 모아져 들어온다거나 하면, Oscillation 할 수 있는 요인이 됩니다.

Batch Norm을 사용하지 않을 때에는 미니배치에 존재하는 샘플들 각각과 관계없이 학습을 하게 되는 것이지만, 사용하게 되면, 서로 영향을 주고 있기 때문에 미니배치의 분포에 overfit할 수 있는 가능성이 있다고 요약할 수 있습니다.

Batch Normalization

위 리뷰에서 다루었지만, 간단하게 정리하면, 아래와 같습니다.

  • 트레이닝 할 때

    • 미니배치의 평균/분산을 이용해 정규화함
    • 미니배치의 평균/분산을 Moving Average 방식으로 반복 업데이트해서, 전체 데이터에 대한 평균/분산을 추정함
  • 테스트(인퍼런스) 할 때

    • 트레이닝 시점에 Moving Average 방식으로 구해둔 추정된 평균/분산을 이용해 정규화함

여기서 조금 재미있는 점은, 트레이닝 시점에 추정중인 평균/분산을 이용하지 않고, 미니배치의 평균/분산으로 정규화한다는 것입니다. 이 논문에서도 이야기하듯이, 추정중인 값으로 학습하면 문제가 잘 발생하는데, 이는 gradient optimization과 normalization의 2가지 튜닝이 서로 상반되게 방해하기 때문입니다.

Batch Renormalization

미니배치에서 얻은 통계값이든, Moving Avg로 추정한 값이든, 이들로 정규화한 값은 서로 Affine Transform의 관계에 있다는 점으로부터 출발합니다.

\dfrac{x_i - \mu}{\sigma} = \dfrac{x_i - \mu_\beta}{\sigma_\beta}r+d, where: r=\dfrac{\sigma_\beta}{\sigma}, d=\dfrac{\mu_\beta-\mu}{\sigma}

Batch Norm은 r=1, d=0로 놓은 특별한 상황으로 볼 수 있다는 것입니다.

Gradient 계산을 위해서 r과 d를 상수 취급하고, 대신 미니배치로부터 따로 업데이트하는 방식으로 소개하고 있습니다. 즉, 몇 이터레이션 만큼 학습할 동안 고정하되, 한번에 업데이트를 해주는 것입니다. 특히 r과 d에 대해서도 타이트한 bound를 주다가, 점점 풀어주는 방식입니다.

여기서 Batch Norm과 또 차이가 나게 되는 점은, Moving Average로 구해진 값을 여기에서는 사용하고 있다는 점입니다.

Batch Norm의 다양한 장점은 그대로 가져오면서, inference 때와 동일한 환경에서 학습하게 되는 것입니다.

Experiments

Multi Worker를 이용해서 학습하는 경우에 각 Worker의 minibatch 크기는 줄어들게 되는데, 이런 경우에도 (marginal하게) 성능이 더 높다고 주장합니다.

극단적으로 batch=4인 경우에서는 성능차이가 더 벌어집니다.

서로 correlated 한 미니배치를 사용한 테스트입니다. 역시 batch re-norm이 성능이 좋음을 보여줍니다.

기존에 Batch Norm을 사용하던 다양한 네트워크가 단순히 Batch Renorm을 사용하는 것만으로도 성능 향상의 가능성이 있을 수 있다는 점을 강조하고, 이후 연구를 통해서 더 다듬어질 수 있는 가능성까지도 언급하면서 논문은 마무리되고 있습니다.


'Optimization / Training' Outline