티스토리 뷰

[업데이트 2018.04.12 16:54]


다섯번째 요약할 논문은 "Very Deep Convolutional Networks For Large-Scale Image Recognition"(https://arxiv.org/pdf/1409.1556.pdf) 입니다. VGG Net이라고 불리우는 심층 신경망 모델로, 2014 ILSVRC (ImageNet Large-Scale Visual Recognition Challenge)에서 우승하진 못했지만 top-5 test error 7.3%를 기록하였습니다. Abstract에서 보면 본 논문에서 중요하게 다루었던 부분은 small receptive filed와 network의 depth입니다. 기존 AlexNet보다 작은 3x3 filter size 및 stide=1을 적용하였고, layer depth를 늘려 좋은 성능을 이끌어냈습니다. Max-pooling의 경우 2x2 window, stride=2를 적용하였습니다.


아래의 표1은 본 논문에서 학습시킨 Convolutional Networks(이하 ConvNets)의 다양한 설정을 볼 수 있습니다. 입력 이미지의 경우 ImageNet 데이터셋이므로 256x256x3을 pre-processing한 224x224x3으로 동일합니다.(AlexNet 참고) 앞서 이야기 한 것처럼 convolution filter size가 3 또는 1인데, 기존 발표된 네트워크(AlexNet 2012 11x11, ZFNet 2013 7x7)보다 작은 것을 볼 수 있습니다. 그리고 layer의 depth도 최대 19까지 깊어졌음을 알 수 있습니다. 


또한 논문의 표2를 보면 네트워크의 depth가 깊음에도 파라메터수가 133~144M개 사이로 얕은 depth를 가진 네트워크와 비교해도 크지 않음을 알 수 있습니다.



Training시 하이퍼 파라메터 등의 설정은 다음과 같이 사용하였다고 합니다.


- batch size : 256

- momentum : 0.9

- L2 regularization : 5 x 10^-4

- learning rate : 10^-2 

  * validation set accuracy가 성능 향상을 멈출때 마다 10배 감소시킴 / 총 3번 감소 되었고 74 epochs(370K iteration)에서 학습을 멈춤.

- weight initialization : normal distribution w/ zero-mean 10^2 variance

- biases : 0

- input image : 224x224x3 (random crop, horizontal filpping and RGB color shift) from ImageNet image(256x256x3)


표4, 6, 7에서 알 수 있듯이 training 및 test시 image size에 대해 multi-scale jittering을 적용후, 7개 모델 ensemble을 통해 최종적으로 ILSVRC 2014 top-5 test error 7.3%를 기록하게 됩니다. 보시면 ILSVRC 2014에서 GoogLeNet이 6.7% top-5 test error를 기록하고 있습니다.



표6의 노란색 하이라이트 부분을 보면 training/test image size에 대해 multi-scale jittering 및 7개 모델에 대해 ensemble을 하였습니다. (D, C, E 아키텍쳐 사용)



결록적으로 VGG Net의 핵심은 기존 ConvNet 아키텍쳐보다 작은 receptive field 사용(3x3, 1 stride) 및 최대 19 depth까지 weight layer를 deep하게 설계를 하여 좋은 성능을 이끌어 냈습니다.


*참고 : https://arxiv.org/pdf/1409.1556.pdf

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함