본문 바로가기
Machine-Learning/CV (Computer Vision)

[CV] VGGNet (Simonyan and Zisserman, 2015)

by AteN 2022. 10. 28.

VGGNet

이상적인 구조 형태에 대한 정보를 아직 확보하지 못한 시점에서 Simonyan and Zisserman(2015)는 깊이가 증가함에 따라 나타나느 효과에 대해 확인하는 작업을 수행했다.

이를 위해 기본적인 네트워크에서 최대 뉴런 입력 필드를 3X3으로 제한해 필요한 매개변수의 양을 상당 수준으로 줄였다 

구체적으로 합성곱 입력 필드와 스트라이드를 각각 3X3과 1X1 크기로, 각 서브샘플링 레이어에 대해서는 입력 필드와 스트라이드 크기를 2X2로 제한했다. 

또한 체계적으로 빠르게 수렴에 도달하도록 하여, 5단계의 레이어를 지남에 따라 224X224에서 7X7로 크기가 줄어들고, 1X1 크기의 단일 완전 연결 단계에 도달하게 딘다. 그런 다음 추가로 2개의 완전 연결 레이러를 지나 최종적으로 sotfmax레이어를 출력한다. 

 

모든 은닉 레이어는 ReLU 비선형 단계를 포함하ㅁ며, 크리제프스키 등이 AlexNet에서 사용한 로컬 반응 정규화는 성능에 영향을 주지 않기 때문에 제외했다. N개의 채널 외의 C1 ~ C5 레이어는 각각 2, 2, 3, 3, 3 개의 동일한 서브레이어를 포함하고 있다.

 

VGGNet 구조를 여섯가지 종류로 구성했으며, 각각 11~19개의 가중 은닉 레이어를 포함하고 있다. 여기서 그중 구성 D(16개의 가중 은닉 레이어를 포함)에 대해서만 다룬다. 

 

 Simonyan and Zisserman은 기본적인 매개변수의 수를 줄이기 위해 입력 합성 필드의 크기를  3X3 제한했다. 다시 말해 더 큰 크기로 합성곱을 진행하기 위해서는  3X3 합성곱을 연이어 진행해야 한다. 예를 들어 입력 필드 크기가  5X5인 경우 두 번에 걸쳐  3X3 합성곱을 수행해야 하고, 마찬가지로  7X7 필드는  3X3 합성곱 세번이 필요하다. 이렇게 하면 총 \(7^2 = 49\)개의 매개변수가   \(3^2 = 27\)로 줄어든다. 그 뿐 아니라 합성곱 과정에서 추가적인 규칙화도 이뤄지는데, 각 3X3 성분에 대한 합성곱 간의 ReLU 비선형성이 포함되기 때문이다. 아울러 기존에는 \(49N^2\)개의 매개변수가 필요한 반면, 각 세 레이어로 구성된 3X3 합성곱 묶음은 \(27N^2\)개를 포함한다. 

 

 

표에서 VGGNet의 각 레이어에서 필요한 매개변수의 수를 나타내었다. 이때  C1 ~ C5는 M개의 3X3 합성곱 묶음을 포함하고 있으며, 매개변수 수는 \(M x 3^2N^2\) 공식을 기반으로 계산된다. 그러나 이 식은 직전 합성곱 레이어의 N 갑싱 현재와 동일할 때만 성립함을 유의해야 한다. 즉 C5에만 온전이 들어맞고 C1~C4에서는 경우가 다르다 

 

깊이가 늘어났음에도 불구하고 VGGNet은 AlexNet과 비교할때 매개변수가 2.4배만 중가헀다. 또한 훨씬 단순하며 구조를 반으로 쪼개 2GPU 시스템을 구성하지 않는다. 반면 기성 4GPu 시스템을 사용한다면 단일 GPU에 비해 3.75배 만큼 속도 향상이 있다 

 

이 시스템의 학습 방법론은 AlexNet과 비슷하다. 그러나 논문에서는 '스케일 지터링 (scale jittering)'이라는 흥미로운 방식을 통해 학습 과정을 개선하고 있다. 즉 다양한 스케일의 물체를 학습 세트에 포함시켜 보강하는 것이다. 구체적으로는 이미지에 2배 단위로 무작위 스케일을 적용하게 된다.

 

단일 VGGNet 네트워크는 상위 다섯 결과의 테스트 에러율은 7.0%를 기록했으며, 이에 비해 GoogLeNet은 7.9%를 보였다. 정확하게는 GoogLeNet은 6.7%까지 에러율을 낮추었지만, 이는 7개의 네트워크를 결합한 결과였다. 

 

VGGNet은 ILSVRC-2014 챌린저에서 2등을 했지만, 여러 데이터셋에 대해 더 범용적으로 적용할 수 있음을 증명했으며, 이미지에서 특징을 추출할 때 비전 업계에서 선호하는 방식이 됐다. 이는 VGGNet이 특정 데이터셋에서는 조금 낮은 분류 성능을 보일지라도 전체적으로는 더 강건하게 특징을 추출하기 때문이다. 

'Machine-Learning > CV (Computer Vision)' 카테고리의 다른 글

[CV] One-Stage와 Two-Stage 차이  (0) 2022.11.16
[CV] 영상 처리(image processing)  (0) 2022.10.28
[CV] ResNet  (0) 2022.10.11
[영상] Bilinear Interpolation  (0) 2022.10.06
[CV] 특징(Feature) 이란?  (0) 2022.09.26

댓글