Rethinking Normalization and Elimination Singularity in Neural Networks

Inc Lomin's avatar
Apr 18, 2021
Rethinking Normalization and Elimination Singularity in Neural Networks
Batch Normalization의 큰 성공 이후에도, 이를 개선하고자 많은 normalization 기법들이 제안되어 왔습니다. 대표적으로 minibatch의 크기가 작은 상황이+ 빈번한 semantic segmentation, object detection 네트워크에 적합한 Group Normalization과 같은 알고리즘을 들 수 있습니다. 이 논문은 이러한 흐름의 연장선상에 있으며, 매우 단순한 방법으로 BN과 GN의 장점을 결합하여 large-batch, micro-batch 모든 상황에서 둘 보다 더 나은 기법을 제시합니다.
 

Introduction

Neural network에서 activation을 normalize하는 방법들은 네트워크를 깊게 쌓아도 학습이 안정적으로 되도록 하는 큰 역할을 했습니다. 대표적인 Batch Normalization은 loss function의 landscape를 부드럽게 만들고 regularization 기능까지 하여 널리 사용되고 있습니다.
이 논문에서는 normalization 테크닉을 'elimination singularity'를 피한다는 다른 관점에서 접근해보고자 합니다. Elimination singularity는 학습 과정에서 activation이 항상 0으로 되는 점을 말합니다. Previous work에 의하면, 모델이 이 elimination singularity에 가까울수록 성능이 떨어진다고 합니다. 본 논문에서는 이를 실험을 통해 확인하겠습니다. 그렇다면 모든 normalization 기법들은 모델을 elimination singularity로부터 멀어지게 만들어주고 있을까요? 이 논문에서 확인한 바에 따르면 BN은 그렇지만, GN, LN은 반드시 그렇지만은 않습니다. WS는 GN의 그러한 단점을 보완해줍니다.
하지만 GN, LN과 같은 channel-based normalization 방식들은 minibatch 사이즈가 작을 때에도 잘 동작한다는 무시할 수 없는 장점을 가지고 있습니다. 어떻게 하면 BN과 GN의 장점을 모두 취할 수 있을까요? 이 논문에서는 두가지 방법을 모두 적용하는 식으로 이 문제를 해결하는 방법을 제시합니다.
 

Proposed Method

Normalization and Elimination Singularity

이 섹션에서는 여러 normalization 기법들을 리뷰하고, elimination singularity과 어떤 관계를 가지는지 알아보겠습니다.
 
  • Batch- and Channel-based Normalization
    • Normalization 방법들을 그 방식에 따라 두 가지로 나누겠습니다: batch-based & channel-based
      Activation은 4D (batch x channel x height x width: B x C x H x W) 형식을 따른다고 가정하겠습니다.
      1. Batch-based normalization
        1. Batch Normalization이 이에 해당합니다. BN은 각각의 channel에 대하여 모든 dimension을 normalize합니다. 여기서 · 표기는 해당 dimension의 모든 요소를 나타냅니다.
          notion image
      1. Channel-based normalization
        1. Group Normalization, Layer Normalization이 이에 해당합니다. GN은 channel을 몇개의 group으로 나눈 뒤 각각의 batch와 group에 대해 normalization을 수행합니다.
          notion image
      두 방법은 공통적으로 normalization 이후에 affine transform을 합니다.
      notion image
       
  • Performance and Distance to Singularities
    • 일반적인 CNN의 한 layer는 다음과 같은 순서로 동작합니다.
      notion image
      여기서 activation function에 해당하는 ReLU는 0보다 작은 원소를 모두 0으로 만들고 gradient도 0이기 때문에, normalization 이후 feature map의 값이 모두 0보다 작다면 이 뉴런은 deactivated 상태가 되고 다시 살아나기 힘들게 됩니다.
      Batch Normalization은 각각의 channel이 모두 zero-mean, unit-variance 상태가 되므로 모든 channel의 activation이 항상 0보다 큰 값을 포함할 수 밖에 없는 구조입니다.
      notion image
      반면 channel-based normalization 기법들인 Group Normalization, Layer Normalization은 이를 보장하지 않습니다. 이들은 batch statistic 정보를 활용하지 않기 때문에 각각의 channel dimension에서 zero-mean, unit-variance를 보장할 수 없습니다. Batch Normalization에서 아래와 같이 normalize되는 mean, variance를 channel별로 다르게 두면 이 상황을 모사할 수 있을 것입니다. 물론 BN은 이 mean, variance가 0, 1인 상황과 같습니다.
      notion image
      Normalize 타겟이 되는 mean, variance는 아래와 같이 Normal distribution에서 샘플링합니다.
      notion image
      CIFAR10에 실험한 결과는 아래와 같습니다. BN과 같이 두 σ 값이 0에 가까울수록 성능이 높아졌습니다.
      notion image
       
  • Statistics in Channel Normalization
    • Channel-based normalization 알고리즘의 문제를 알아보기 위하여 다음과 같이 그룹별로 StatDiff라는 값을 정의하겠습니다. 이 값은 channel들의 분포의 차이를 나타내는 값으로, 각각의 채널의 평균값의 표준편차를 모든 채널의 표준편차의 평균으로 나눈 값으로 정의됩니다. BN은 모든 채널이 같은 평균 값을 공유하므로 이 값이 0과 같습니다.
      notion image
      결과는 아래와 같습니다.
      notion image
       
      StatDiff가 크면 어떤 문제가 생길까요? Channel별로 다른 분포를 가지게 되면 ReLU 이후에 0보다 작은 값이 대부분인 channel은 deactivate되어 사라지게 됩니다. 아래 그림은 그러한 상황을 묘사하고 있습니다.
      notion image
       
      Why GN performs better than LN
      위 그림은 왜 GN이 LN보다 나을 수 밖에 없는지도 설명해줍니다. LN은 간단히 말해 group이 하나밖에 없는 GN이라고 할 수 있는데, 그룹을 나누면 각각의 그룹에서는 적어도 0보다 큰 값을 가지는 뉴런이 존재하도록 보장되기 때문입니다.
       
      Why WS helps
      WS (Weight Standardization)은 weight를 normalize합니다. 각각의 channel "c"에 대하여,
      notion image
      Xavier initialization의 가정과 위 constraint에 따르면 channel별로 평균과 표준편차는 다음과 같습니다.
      notion image
      만약 input channel이 모두 같은 분포(mean, variance)를 가진다면,
      notion image
      즉 input과 output feature map의 분포가 보존되게 됩니다. 따라서 만약 RGB input image가 적절하게 normalize되었다면 이 효과는 모든 레이어를 거치게 됩니다. 결과적으로 WS는 학습과정에 걸쳐서 channel별로 분포를 동일하게 맞추는 역할을 하여 BN과 비슷한 효과를 줍니다.
       

Batch Channel Normalization

  • Definition
    • BCN는 channel-based normalization에 batch constraints를 추가합니다. 먼저 feature map을 BN과 동일하게 처리합니다.
      notion image
      여기서 mu, sigma의 목표는 다음과 같이 X를 normalize하는 것입니다.
      notion image
      그 다음, 나온 X를 group별로 reshape한 후 GN과 동일하게 normalize하여 최종 결과를 얻습니다.
      notion image
 
  • Large- and Micro-batch Implementations
    • Large-batch training
      Batch size가 클 때는 batch statistic을 구하는 것이 어렵지 않기 때문에 위에서 설명한대로 BN, CN을 연속적으로 적용하여 BCN을 구현할 수 있습니다.
      BCN(X) = CN(BN(X))
      Micro-batch training
      Batch size가 작을 때는 batch statistic의 신뢰도가 낮으므로, running mean, running variance를 두고 학습 과정에서 지속적으로 momentum에 따라 업데이트하는 방식을 사용합니다.
      notion image
 

Experiment

Image Classification on CIFAR

아래는 CIFAR-10, CIFAR-100에 실험한 결과입니다. Large-batch와 micro-batch 학습을 비교하였고, 오른쪽 표에서는 더 최근에 제안된 기법인 Switchable Normalization(SN), Dynamic Normalization(DN)도 함께 비교하였습니다.
notion image
notion image
 

Image Classification on ImageNet

ImageNet 데이터셋에 실험한 결과입니다. BN, BN+WS, GN, GN+WS에 비해 모두 나은 결과를 보여줍니다.
notion image
notion image
 

Semantic Segmentation on PASCAL VOC

BCN을 dense prediction task에서 비교해보기 위해 PASCAL VOC 데이터셋을 활용한 semantic segmentation 실험도 수행하였습니다. 알고리즘은 DeepLapV3를 사용하였고, 모든 hyper-parameter는 BN을 사용하는 세팅으로 통일하였습니다. BCN에 맞게 튜닝한다면 더 높은 성능을 얻을 수 있을 것입니다.
notion image
 

Object Detection and Segmentation on COCO

COCO 데이터셋에 object detection, instance segmentation도 실험하였습니다. 아래 표는 val-2017 데이터셋에 테스트된 결과입니다. 모델은 Mask R-CNN w/ FPN 입니다.
notion image
아래 결과는 Faster R-CNN w/ FPN 모델에 대한 결과입니다. Weight Standardization을 적용한 GN에 비해서도 의미 있는 향상을 보여주고 있습니다.
notion image
 

Conclusions

이 논문에서는 elimination singularity의 관점에서 기존 normalization 방식들을 비교하고, 문제점을 분석하였습니다. BN은 elimination singularity로부터 모델이 떨어지도록 유도하지만 batch size가 작을 때 문제가 있고, GN과 LN은 batch size가 작을 때도 잘 동작하지만 elimination singularity를 피하는데 한계가 있습니다. LN이 더 심각하고, WS는 이러한 이슈를 해결하는데 도움을 줍니다. BCN은 channel-based normalization 방법이 batch statistic을 활용할 수 있도록 BN을 결합하여 이 문제를 해결하였고, 여러 가지 task에서 의미 있는 성능의 향상을 보여주었습니다.
 
 
Share article