Source-linked AI summary
Very Deep Convolutional Networks for Large-Scale Image Recognition
Karen Simonyan, Andrew Zisserman
TL;DR
대규모 이미지 인식 정확도에 convolutional network의 깊이가 어떤 영향을 미치는지는 여전히 중요한 architecture-design 문제였다. 이 논문은 주로 3×3 filter로 구성한 점점 더 깊은 ConvNet을 평가하고, 더 깊은 모델이 ImageNet에서 state-of-the-art 성능을 달성하며 다른 dataset에도 잘 generalise된다는 사실을 보인다.
문제
이 논문은 ConvNet 깊이를 늘리면 정확도가 향상되는지 검토하고, architecture-design 요인으로서 깊이에 관한 제한적인 근거를 다룬다.
방법
저자들은 다른 architecture parameter는 고정한 채 매우 작은 3×3 convolution filter를 사용해 점점 더 깊은 ConvNet을 평가한다.
결과
더 깊은 configuration은 state-of-the-art ImageNet classification 및 localisation 성능을 달성하며, 학습된 representation은 다른 image-recognition dataset 전반에서도 강력한 성능을 보인다.
시사점 및 한계
결과는 깊이가 visual representation의 중요한 속성임을 뒷받침하며, conventional ConvNet도 깊이를 크게 늘리면 state-of-the-art 성능에 도달할 수 있음을 보여준다.
Abstract
from arXiv · showhide
In this work we investigate the effect of the convolutional network depth on its accuracy in the large-scale image recognition setting. Our main contribution is a thorough evaluation of networks of increasing depth using an architecture with very small (3x3) convolution filters, which shows that a significant improvement on the prior-art configurations can be achieved by pushing the depth to 16-19 weight layers. These findings were the basis of our ImageNet Challenge 2014 submission, where our team secured the first and the second places in the localisation and classification tracks respectively. We also show that our representations generalise well to other datasets, where they achieve state-of-the-art results. We have made our two best-performing ConvNet models publicly available to facilitate further research on the use of deep visual representations in computer vision.
1 서론
서론은 architecture와 training 변경을 통해 ConvNet 정확도를 높이는 동기를 제시한 뒤, ILSVRC에서 state-of-the-art 성능을 달성하고 다른 image-recognition dataset에도 일반화되는 더 정확한 model을 소개한다. 저자들은 추가 연구를 위해 가장 성능이 좋은 두 model도 공개한다.
- 이 논문은 대규모 image recognition을 위한 더 정확한 ConvNet architecture를 목표로 하며, receptive window, stride, dense training 및 testing에 관한 기존 개선을 기반으로 한다.서론에서는 관련 선행 연구로 Krizhevsky et al. (2012), Zeiler & Fergus (2013), Sermanet et al. (2014)을 인용한다.
- 이러한 architecture는 ILSVRC classification 및 localisation task에서 state-of-the-art 정확도를 달성하고, 다른 image-recognition dataset에서도 뛰어난 성능을 보인다.또한 이들의 feature는 fine-tuning 없이 linear SVM으로 분류하는 deep feature와 같은 비교적 단순한 pipeline에서도 작동한다.
- 저자들은 추가 연구를 촉진하기 위해 가장 성능이 좋은 두 model을 공개했다.
- 이 논문은 ConvNet configuration, training 및 evaluation, ILSVRC classification 비교, object localisation, 그리고 다른 dataset으로의 일반화를 설명한다.
2 CONVNET 구성
이 논문은 공통 설계 원칙에 따라 구축한 ConvNet을 평가하며, 매우 작은 convolution filter를 사용하고 깊이를 11에서 19 weight layer로 주로 변화시킨다. 이 architecture는 224 × 224 RGB 입력, ReLU 비선형성, 공유 fully connected layer, 그리고 비선형성을 높이기 위한 선택적 1 × 1 convolution을 결합한다.
- 2.1 일반적 구성: 모델은 mean-RGB subtraction 후 고정 크기 224 × 224 RGB 이미지를 처리하며, 네트워크 전반에서 주로 3 × 3 convolution filter를 사용한다.3 × 3 filter는 좌우, 상하, 중심 관계를 포착하는 것으로 설명된 가장 작은 크기이며, 한 configuration은 1 × 1 filter도 사용한다.
- 2.1 일반적 구성: 모든 configuration은 두 개의 4096-channel fully connected layer, 1000-channel ILSVRC classifier, soft-max layer로 끝나며, hidden layer에는 ReLU를 적용한다.fully connected-layer 구성은 모든 network에서 공유되며, 거의 모든 network는 ILSVRC 성능을 높이지 않고 계산량과 메모리 사용량만 증가시키는 Local Response Normalisation을 생략한다.
- 2.2 구체적 구성: Network A–E는 convolutional layer를 추가해 weight layer 수를 11에서 19로 늘리면서 동일한 일반적 구성을 따른다.Network A는 convolutional layer 8개와 fully connected layer 3개를 가지는 반면, network E는 convolutional layer 16개와 fully connected layer 3개를 가진다.
- 2.2 구체적 구성: 인용된 더 얕은 network는 더 넓은 layer와 더 큰 receptive field를 사용해 144M weights를 가지며, 더 깊은 VGG configuration은 이 parameter 수를 넘지 않는 것으로 보고된다.이 비교는 깊이를 늘려도 참조된 더 얕은 설계보다 더 많은 weight가 필요하지 않다는 점을 강조한다.
- 2.3 설계 선택: 3 × 3 layer를 세 개 쌓으면 7 × 7 effective receptive field를 제공하고 비선형성을 추가하면서, 하나의 7 × 7 layer보다 fewer parameters를 사용한다.또한 이 stack은 중간에 비선형성을 삽입한 3 × 3 filter를 통해 큰 filter를 분해함으로써 이를 regularise한다고 설명된다.
- 2.3 설계 선택: Configuration C는 convolutional receptive field를 변경하지 않고 rectification 비선형성을 추가하기 위해 1 × 1 convolution을 사용한다.입력과 출력 channel 수가 같을 때 1 × 1 연산은 linear projection이지만, 뒤따르는 rectification이 추가 비선형성을 도입한다.
3 분류 프레임워크
분류 프레임워크는 momentum 기반 mini-batch 최적화, scale-aware crop augmentation, dense fully-convolutional evaluation으로 ConvNet을 학습한다. 학습에는 고정되거나 무작위로 샘플링한 image scale을 사용하며, test-time scale 선택은 학습 시와 다를 수 있다.
- 학습 절차: 학습은 mini-batch back-propagation과 momentum을 사용해 multinomial logistic regression을 최적화하며, batch size 256, momentum 0.9, L2 weight decay 5·10−4를 적용한다.
- 학습 절차: 더 깊은 네트워크는 불안정한 random initialization으로 인해 학습이 정체되는 것을 방지하기 위해 shallow configuration A에서 선택한 layer로 초기화한다.처음 네 개 convolutional layer와 마지막 세 개 fully-connected layer는 net A를 재사용하며, 중간 layer는 random으로 초기화한다.
- 학습 image 크기: 학습에서는 rescaled image에서 고정된 224×224 입력을 crop하고, random horizontal flip, RGB colour shift, fixed-scale 또는 jittered-scale training을 적용한다.Multi-scale training은 256에서 512 사이의 S를 샘플링하며, S = 384에서 pretrained된 single-scale model을 fine-tune한다.
- 테스트: test time에는 image를 가장 짧은 변이 Q가 되도록 rescale한 뒤 fully-convolutional network로 dense하게 처리하며, Q는 training scale S와 반드시 같지 않다.Dense evaluation은 반복적인 crop 재계산을 피하는 반면, multi-crop evaluation은 더 세밀한 image sampling을 제공할 수 있으며 서로 상호보완적이다.
- 구현: Multi-GPU data-parallel training은 기성 4-GPU system에서 3.75배 속도 향상을 제공하지만, 하나의 network를 학습하는 데 2–3주가 걸린다.
4 분류 실험
분류 실험에서 더 깊은 VGG configuration, scale jittering, complementary model fusion이 ILSVRC 성능을 점진적으로 향상시킨다. 최상의 two-model ensemble은 6.8% test error를 달성하며, GoogLeNet의 6.7% error와 Clarifai의 11.2–11.7%를 포함한 기존 state-of-the-art 시스템과 견줄 만한 성능을 보인다.
- Single-scale 평가: Classification error는 11-layer configuration A에서 19-layer configuration E로 depth가 증가할수록 감소하며, 1 × 1 layer를 포함하는 동일 depth configuration보다 3 × 3 convolution이 더 우수하다.Configuration C가 B보다 우수하므로 추가된 nonlinearity가 도움이 됨을 알 수 있지만, configuration D가 C보다 우수하므로 spatial context의 중요성도 확인된다.
- Single-scale 평가: Training 중 scale jittering을 적용하면 testing에서 single scale을 사용하더라도 fixed training scale보다 성능이 향상되며, multi-scale image statistics를 포착하기 위한 augmentation의 유효성을 뒷받침한다.S ∈[256; 512]로 training한 경우 S = 256 또는 S = 384로 training한 경우보다 유의하게 우수하다.
- Multi-scale 평가: Test-time scale jittering은 single-scale 평가보다 성능을 향상시키며, 최상의 single-network validation 결과는 24.8%/7.5% top-1/top-5 error에 도달한다.가장 깊은 configuration D와 E가 가장 우수하며, E configuration은 test set에서 7.3% test error를 달성한다.
- 평가 기법: Multiple-crop 평가는 dense 평가보다 약간 우수하며, 두 기법의 outputs를 averaging하는 방식이 서로 complementary하기 때문에 가장 좋은 성능을 낸다.실험에서는 [256; 512]에서 sampling한 training scale과 세 개의 test scale {256, 384, 512}을 사용한다.
- Model fusion: 최고 성능을 보이는 두 multi-scale model을 ensemble하고 dense 및 multi-crop 평가를 결합하면 6.8% test error를 달성한다.제출된 seven-network ensemble은 7.3% test error를 달성했으며, 이후의 two-model ensemble은 dense 평가에서 7.0%, dense와 multi-crop을 결합한 평가에서 6.8%를 달성했다.
- State-of-the-art 비교: Very deep ConvNet은 이전 세대 model을 유의하게 능가하고 GoogLeNet의 6.7% error에 근접하며, 외부 데이터를 사용한 Clarifai의 11.2%와 사용하지 않은 경우의 11.7%를 모두 능가한다.이 비교는 ILSVRC-2014 분류 과제에서 VGG 팀이 두 번째를 차지한 결과를 보고한다.
5 결론
이 연구는 최대 19개의 weight layer를 갖는 convolutional network를 평가해, 더 깊은 representation depth가 classification accuracy를 높이고 conventional ConvNet architecture로 ImageNet에서 state-of-the-art 성능을 가능하게 함을 보인다.
- 최대 19개의 weight layer를 갖는 very deep convolutional network를 large-scale image classification에 대해 평가했다.
- 더 깊은 representation depth가 classification accuracy를 향상시키는 것으로 나타났다.
- 실질적으로 깊이를 늘린 conventional ConvNet architecture를 사용해 ImageNet challenge dataset에서 state-of-the-art 성능을 달성했다.
로컬라이제이션
이 절에서는 저자들이 25.3% 오류율로 우승한 ILSVRC 2014 로컬라이제이션 과제를 살펴보고, 이를 각 top-5 클래스에 대해 하나의 bounding box를 예측하는 문제로 정의한다.
- 로컬라이제이션: 25.3% 오류율: 저자들이 ILSVRC 2014 로컬라이제이션 챌린지에서 우승했다.
- 로컬라이제이션: 로컬라이제이션 과제에서는 각 클래스에 몇 개의 객체가 나타나는지와 관계없이 top-5 각 클래스에 대해 단일 object bounding box를 예측해야 한다.
- 로컬라이제이션: 논문의 앞선 classification 분석과 달리, 이 절에서는 챌린지의 로컬라이제이션 과제에 초점을 맞춘다.
A.1 LOCALISATION CONVNET
localisation ConvNet은 class score 대신 bounding-box parameter를 예측하며, shared 또는 class-specific regression을 사용한다. 학습에는 Euclidean loss를 사용하고, 테스트는 ground-truth class의 central-crop 평가부터 greedy merging을 적용한 dense whole-image prediction까지 수행한다.
- A.1 LOCALISATION CONVNET: localisation ConvNet은 최종 class-score prediction을 bounding-box prediction으로 대체하며, 중심 좌표, width, height를 인코딩한다.모델은 shared prediction을 사용하는 single-class regression (SCR)과 class별 prediction을 사용하는 per-class regression (PCR)을 지원한다.
- A.1 LOCALISATION CONVNET: 학습에서는 logistic regression objective 대신 ground-truth bounding-box parameter에 대한 Euclidean loss를 사용한다.ILSVRC-2014를 위해 training-scale jittering 없이 S = 256과 S = 384에서 두 개의 single-scale localisation model을 학습했다.
- A.1 LOCALISATION CONVNET: Validation 비교에서는 classification error를 배제하기 위해 image의 central crop에서 ground-truth class에 해당하는 prediction만 사용한다.이 protocol은 validation set에서 network modification을 비교하는 데 사용된다.
- A.1 LOCALISATION CONVNET: 전체 testing procedure에서는 localisation ConvNet을 whole image 전반에 dense하게 적용하고, 공간적으로 가까운 bounding-box prediction을 greedily merges한다.classification과 달리 최종 fully connected output은 class score map이 아니라 bounding-box prediction의 집합이다.
- A.1 LOCALISATION CONVNET: 이 접근법은 prediction-map resolution을 높이고 결과를 추가로 개선할 수 있는 Sermanet et al. (2014)의 multiple pooling offsets technique을 사용하지 않는다.이는 제출된 procedure의 명시적인 한계다.
A.2 Localization 실험
Localization 실험에서는 단순화된 설정에서 클래스별 regression과 모든 layer의 fine-tuning이 가장 우수했다. 그 결과 VGG system은 25.3% test error를 달성해 ILSVRC-2014 localization challenge에서 우승했으며, 더 적은 scale과 resolution enhancement 없이도 Overfeat을 앞섰다.
- Evaluation protocol: Localization error는 ILSVRC criterion을 따랐으며, bounding-box prediction과 ground truth의 intersection-over-union이 0.5를 초과하면 해당 prediction을 정답으로 계산했다.실험에서는 먼저 단순화된 protocol에서 최적 설정을 선택한 다음, 완전한 scenario에서 이를 평가했다.
- Settings comparison: Per-class regression (PCR)은 class-agnostic single-class regression (SCR)보다 우수했으며, 이는 Sermanet et al. (2014)의 결과와 반대였다. 또한 모든 layer를 fine-tuning하면 fully connected layer만 fine-tuning하는 것보다 성능이 향상됐다.이 설정들은 가장 작은 image side를 S = 384로 두고 평가했다.
- Comparison with the state of the art: 25.3% test error로 VGG team은 ILSVRC-2014 localization challenge에서 우승했으며, 더 적은 scale과 resolution enhancement 없이도 Overfeat을 앞섰다.비교에는 team의 최선 localization 결과를 사용했다.
B 매우 깊은 특징의 일반화
ILSVRC로 사전 학습된 매우 깊은 ConvNets는 더 작은 인식 데이터셋에서 고정 image feature로 효과적으로 일반화된다. Multi-scale feature aggregation과 linear SVM을 사용하면 VOC, Caltech, action classification 및 기타 인식 과제 전반에서 해당 표현이 state-of-the-art 또는 경쟁력 있는 성능을 달성한다.
- Feature Extraction: Feature pipeline은 1000-way classifier를 제거하고, 4096-D penultimate-layer activation을 사용하며, 이를 위치와 scale에 걸쳐 집계하고, descriptor를 L2-normalise한 뒤 fixed weight로 linear SVM을 학습한다.Aggregation에는 dense convolutional application, global average pooling 및 horizontal-flip averaging이 사용된다.
- Feature Aggregation: Multi-scale averaging은 객체가 다양한 scale에 걸쳐 나타나는 VOC에 적합한 반면, Caltech에서는 whole-object feature와 object-part feature가 scale-specific semantics를 지니므로 stacking이 더 효과적이다.VOC는 Q ∈{256, 384, 512, 640, 768}을 사용하고, Caltech는 Q ∈{256, 384, 512}을 사용한다.
- VOC-2007 및 VOC-2012의 Image Classification: 해당 표현은 VOC image classification에서 새로운 state of the art를 수립했으며, 이전의 최고 ILSVRC-pre-trained representation을 more than 6% 앞선다.Net-D와 Net-E는 동일한 성능을 내며, 두 모델을 결합하면 결과가 소폭 향상된다.
- Caltech-101 및 Caltech-256의 Image Classification: Caltech-256에서 해당 feature는 state of the art를 8.6% 앞서며, 더 깊은 Net-E가 Net-D를 능가하고 두 모델의 결합이 Caltech 평가 전반에서 가장 우수한 성능을 낸다.Caltech-101에서 해당 표현은 He et al. (2014)와 경쟁력 있는 성능을 보인다.
- VOC-2012의 Action Classification: 최고 성능의 표현은 Net-D와 Net-E feature를 stacking하며, bounding box 없이도 VOC-2012 action classification에서 state-of-the-art를 달성하고 box를 포함하면 추가로 향상된다.이 접근법은 task-specific heuristic을 사용하지 않고, 매우 깊은 convolutional feature의 representation power에 의존한다.
- 기타 Recognition Tasks: 공개된 model은 이러한 benchmark를 넘어 object detection, semantic segmentation, image caption generation, texture 및 material recognition을 포함한 인식 성능도 향상시킨다.Girshick et al. (2014)은 Krizhevsky et al. (2012)의 ConvNet을 16-layer model로 대체해 state-of-the-art object detection을 달성했다.
C 논문 수정 사항
논문 수정은 초기 ILSVRC 이전 실험에서 시작해 scale-jittering, generalisation, multi-crop, benchmark 비교 실험을 추가하는 방향으로 진행되었으며, submission format도 변경되었다. 수정된 논문에서는 추가 연구를 위해 모델도 공개했다.
- v3에서는 PASCAL VOC와 Caltech image classification dataset에 대한 generalisation 실험을 추가하고, 평가한 모델을 공개했다.
- v4에서는 논문을 ICLR-2015 submission format으로 변환하고 multiple-crop classification 실험을 추가했다.
- v6에서는 net B와 shallow network의 비교 및 PASCAL VOC action-classification benchmark 결과를 추가했다.