Abstract

Data-augmentation is key to the training of neural networks for image classification. This paper first shows that existing augmentations induce a significant discrepancy between the size of the objects seen by the classifier at train and test time: in fact, a lower train resolution improves the classification at test time! We then propose a simple strategy to optimize the classifier performance, that employs different train and test resolutions. It relies on a computationally cheap fine-tuning of the network at the test resolution. This enables training strong classifiers using small training images, and therefore significantly reduce the training time. For instance, we obtain 77.1% top-1 accuracy on ImageNet with a ResNet50 trained on 128⇥128 images, and 79.8% with one trained at 224⇥224. A ResNeXt-101 32x48d pre-trained with weak supervision on 940 million 224⇥224 images and further optimized with our technique for test resolution 320⇥320 achieves 86.4% top-1 accuracy (top-5: 98.0%). To the best of our knowledge this is the highest ImageNet single-crop accuracy to date.


이미지 분류를 위한 신경망의 학습에서 Data Augmentation은 필수이다. 

이 논문은 첫 번째로 학습과 테스트 과정에서 classifier가 보는 객체가 상당히 불일치함을 보여줍니다. 

사실 매우 낮은 학습 데이터의 resolution은 테스트 과정에서 분류를 향상시킵니다!

그리고 나서 classifier의 성능을 최적화하는 간단한 전략을 소개합니다. 전략은 학습과 테스트 과정에서 다른 resolution을 사용하는 것입니다. 테스트 resolution에서 계산적으로 매우 효율적인 fine-tuning을 이용합니다. 

이 방법은 작은 개수의 학습 이미지를 사용할 때도 매우 강력한 분류 성능을 보여주며, 학습 시간을 상당히 감소시킵니다.

예를 들어, ResNet-50, ImageNet을 사용한 top-1 accuract가 128x128 해상도에서는 77.1%의 정확도를 얻었다면, 224x224 해상도를 사용한 것에서는 79.8%의 해상도를 얻을 수 있었습니다.

(224, 224) 해상도로 학습한 ResNetXt-101을 테스트 시에 (320, 320) 해상도를 사용했더니 86.4%의 top-1 accruacy와 98.0%의 top-5 accuracy를 얻었습니다. 이는 현재까지 가장 높은 성능입니다.


요약

  • 여러 가지 문제를 해결할 수 있는 CNN을 학습시킬 때, 더 나은 성능을 위해서 학습과 테스트 데이터의 분포는 매치되어야 한다.
  • CNN에 데이터를 입력시킬 때 이미지를 crop한다던지, fixed size 크기를 사용하여 입력하는 것을 이 논문에서는 RoC(Region of Classification)이라고 표현한다.
    (AlexNet은 224X224로 crop하여 input으로 사용한다)
  • 분포가 매치되어야 함에도 불구하고, 학습과 테스트 과정에서 data augmentation 등에 생성된 학습 이미지와 테스트를 위해 사용되는 테스트 이미지의 크기는 같을지라도, RoC가 달라지기 때문에 서로의 분포가 왜곡될 수 있다.

  • 이 논문은 학습과 테스트 과정에서 최적화된 resolution과 scale을 선택함으로써 RoC를 유지하면서도 분포가 왜곡되는 문제를 해결하려 한다.
  • 테스트 과정에서 resolution 크기를 늘려서 사용하면, 학습에서 랜덤하게 샘플링되는 이미지들의 RoC를 보장할 수 있다.
    그 예로, 학습 때 (160, 160) 크기를 사용하고 테스트 때 (224, 224)를 사용하였더니 성능이 향상하였다.
  • 이 방법은 GPU 메모리를 더욱 효율적으로 사용하게 할 뿐만 아니라 큰 배치크기를 사용할 수 있도록 한다.
  • 이미지 데이터는 CNN에 (1) size 변화를 예측할 수 없다. (2) 선택되는 다양한 이미지 크기에 따라 Global Pooling 이후의 파라미터에 영향을 준다.
  • 논문에서는 왜 scale이 CNN에 영향을 주는지, 왜 분포가 되는지 수식으로 설명한다. 먼저 scale factor 시그마와 aspect ratio 알파에 의해 resize 분포는 다음과 같이 정의할 수 있다.

  • 단순한 가정을 위해 (1) H=W와 (2) 알파=1이라고 가정하면 다음과 같이 식이 한번 더 정리된다.

  • 위의 식을 보기전에 논문에서 카메라를 가지고 사진 찍는 위치에 관한 이야기를 볼 수 있는데, 일단 여기서는 생략하고. 다음 식에서 r은 카메라에 관한 함수이다. H(Image Height)나 W(Image Width)는 Image size에 dependent하지만 r은 카메라에 dependent하지 H나 W에는 그렇지 않다는 것이다. 실제로 카메라를 찍어보았으니 알 것이다. 이 때문에 CNN의 대표적 특징인 scale-invariant이 손상을 입을 수 있다. 

training-time

  • 그리고 test-time의 식을 보면, 차이를 알 수 있다. train에서의 scale factor 시그마때문에 object 크기가 달라진다.

test-time

  • 다음과 같이 정리하면 좀 더 명확하다.

  • 시그마가 [0.28, 1]의 범위를 가지기 때문에 test image에서의 object가 대략 3배정도 작게 나타난다.
  • 또, Global Pooling 이후의 Activation을 통과한 값의 statistics에서 (224, 224)로 학습시킨 모델에 (64, 64) test를 사용할 경우 존재하는 0의 비율이 0.5%에서 29.8%에서 늘어나면서 더욱 sparse해진다. 반대로 (448, 448) test를 사용하면 덜 sparse 해진다.
  • ResNet-50에서 test resolution의 실험결과는 다음과 같다.

  • 이러한 향상을 위해 두 가지 기본 방법을 제안한다. (1) 테스트 시에 이미지 resolution을 증가시킴으로써 학습과 테스트에 사용되는 이미지의 객체 크기의 차이를 현저히 줄일 수 있다. (2) global pooling 이후의 sparse한 문제를 줄이기 위해 global pooling 이전의 네트워크를 조금 변경합니다(Parametric Adaption, Adaption via fine-tuning).
  • fine-tune 방법은 resolution을 test에 해당하는 resolution으로 변경한 뒤, 동일한 학습 dataset으로 fine-tune하는 것이다. 이때 네트워크에는 BatchNormalization이 global pooling 이전에 포함되어 있어야한다. 다음 그림을 보면 fine-tuning을 수행한 것에서의 값의 분포가 원래 분포(reference)를 닮아간다는 것을 확인할 수 있다.

  • fine-tune의 정확한 방법은 원문을 보면 매우 깔끔하다.

(1) we initialize our network with the weights learned on ImageNet (using models from [1])
(2) we train it entirely for several epochs at a certain resolution
(3) we fine-tune with a higher resolution the last batch norm and the fully connected layer

 

 

Reference

Touvron, H., Vedaldi, A., Douze, M., & Jégou, H. (2019). Fixing the train-test resolution discrepancy. In Advances in Neural Information Processing Systems (pp. 8250-8260).