본문 바로가기
Visual Intelligence/Image Classification

[Image Classification] VGGNet

by goatlab 2022. 9. 6.
728x90
반응형
SMALL

VGGNet

 

VGGNet은 옥스포드 대학의 연구팀에 의해 개발된 모델로써, 2014년 ILSVRC에서 준우승한 모델이다. 이 모델은 이전에 혁신적으로 평가받던 AlexNet이 나온지 2년만에 다시 한 번 오차율 면에서 큰 발전을 보여줬다.

 

VGGNet의 original논문의 개요에서 밝히고 있듯이 이 연구의 핵심은 네트워크의 깊이를 깊게 만드는 것이 성능에 어떤 영향을 미치는지를 확인하고자 한 것이다.VGG연구팀은 깊이의 영향 만을 최대한 확인하고자 컨볼루션 필터 커널의 사이즈는 가장 작은 3x3으로 고정했다.

 

VGG 연구팀은 original 논문에서 총 6개의 구조 (A, A-LRN, B, C, D, E)를 만들어 성능을 비교했다. 여러 구조를 만든 이유는 기본적으로 깊이의 따른 성능 변화를 비교하기 위함이다. 이중 D 구조가 VGG16이고 E 구조가 VGG19라고 보면 된다.

 

https://adioshun.gitbooks.io/semantic-segmentation/content/2014vggnet.html

 

VGG 연구팀은 AlexNet과 VGG-F, VGG-M, VGG-S에서 사용되던 LocalResponseNormalization (LRN)이 A구조와 A-LRN구조의 성능을 비교함으로 성능 향상에 별로 효과가 없다고 실험을 통해 확인했다. 그래서 더 깊은 B,C, D,E 구조에는 LRN을 적용하지 않는다고 논문에서 밝혔다. 또한, 그들은 깊이가 11층, 13층, 16층, 19층으로 깊어지면서 분류 에러가 감소 하는 것을 관찰했다. 즉, 깊어질수록 성능이 좋아진다.

 

https://bskyvision.com/504

 

이미지에 대해 7x7필터와 3x3필터로 각각 Convolution을 수행하면 다음과 같은 특성이 있다. 3x3 필터로 두 차례 컨볼루션을 하는 것과 5x5필터로 한 번 컨볼루션을 하는 것이 결과적으로 동일한 사이즈의 특성맵을 산출한다는 것이다. 3x3필터로 세 차례 컨볼루션하는 것은 7x7필터로 한 번 컨볼루션하는 것과 대응된다.

 

3×3 합성곱 계층을 3개 연이어 배치하면 수용 영역은 7×7이 되고 5개의 3×3 합성곱의 수용 영역 (receptive field)은 11×11이 된다. 따라서 AlexNet의 필터는 11 × 11까지로 규모가 크지만, VGG 네트워크는 이보다 작은 합성곱 계층을 더 많이 포함해 더 큰 유효 수용 영역을 얻을 수 있다. 이러한 변경 내역에는 두 가지 이점이 있다.

 

  • 파라미터의 수가 줄어든다 : 3x3 필터가 3개면 총 27개의 가중치를 갖는다. 반면, 7x7 필터는 49개의 가중치를 갖는다. CNN에서 가중치는 모두 훈련이 필요한 것들이 므로, 가중치가 적다는 것은 그만큼 훈련시킬 파라미터의 수가 줄어든다. 따라서, 학습의 속도가 빨라진다. 동시에 레이어의 depth가 늘어나면서 특성에 비선형성을 더 증가시키기 때문에 특성이 더 좋아진다.

  • 비선형성을 증가시킨다 : 합성곱 레이어의 수가 늘어나면, 각 합성곱 계층 다음에 ReLU 같은 ‘비선형’ 활성화 함수를 통해 네트워크가 복잡한 특징을 학습할 수 있는 능력이 증대된다.

https://paperswithcode.com/method/vgg

728x90
반응형
LIST