(VGGNet) Very Deep Convolutional Networks for Large-Scale Visual Recognition

imagenet
convolutional
iclr
iclr2015

(Curtis Kim) #1

#iclr #iclr2015 에 실렸던 논문입니다.

2014년 이미지넷에서 Classification에서 2위, Localization에서 1위한 모델이고, 이후에 여러 모델에서 pretrain된 모델을 쓰기도하고, 많은 변형 모델을 낳은 VGGNet 입니다.

특징은 기존의 large receptive field(eg. 11x11 convolutional filter)를 3x3 convolutional filter로 모두 대체하고, 깊이를 늘렸다는 점입니다.

또 이미지넷에서 충분한 성능을 내면서 꽤 괜찮은 feature extractor로써도 평가받아서, fintune하거나 feature를 뽑아 다른 분류기를 만드는 등에도 적합합니다.


Network Architecture

마지막 D, E가 의미있는 모델로 각각 VGG16, VGG19라고 부릅니다.

3x3 Convolutional Filter

모든 Convolutional Filter는 3x3이며, stride는 1로 동일합니다. 이에 대해서 논문은 2개의 3x3 conv layer를 쌓은 것은 하나의 5x5 conv layer보다 훨씬 effective하다고 밝히고 있습니다.

  • 한번의 non-linear rectification을 거치는 것보다 여러번의 경우가 더욱 discriminative하다.
  • 그럼에도 parameter 수가 훨씬 적다.

Training

  • mini-batch gradient descent, learning rate 0.01, momentum 0.9
  • 성능 향상이 없을때마다 learning rate을 1/10으로 줄임.
  • (0, 0.01)의 정규분포로 초기화, bias는 모두 0으로 초기화.
  • 이미지는 파라미터S에 의해 SxS로 리사이징한 후, 랜덤하게 224x224를 잘라내어 학습.
    • 결론적으로는 S를 랜덤하게 256~512 사이의 값으로 만든 후, 224x224를 잘라내어 학습시키는 것이 가장 성능 높음.
    • image
  • Multi-GPU에 mini batch를 동일한 크기로 잘라 넣고, 여러 결과를 평균낸 Gradient로 학습시키는 방식으로 속도 향상. 4GPU로 3.75배의 성능 향상이 있었음.

Evaluation

image

Localization

imagehttps://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSEOtaClpzwLQwKyNXxMnb7me53Eu2y2aXPNzYEY211f_EOrci_Qw

이 모델은 ILSVRC2014 Localization 부문에서 1위를 했는데, 방식은 마지막 fully-connected layer의 1000개 class에 해당하는 output을 4개 좌표(x, y, w, h)로 변경하여 Bounding Box를 학습시키는 형태였음.


'Image Classification' Outline
Ideas for 9th Kaggle TensorFlow Speech Recognition Challenge
Pelee: A Real-Time Object Detection System on Mobile Devices