Paper Review

[Paper Review] VGGNet : Very Deep Convolutional Networks for Large-Scale Image Recognition

조상현 2023. 1. 3. 13:51

이전 AlexNet 논문 리뷰 : 2023.01.02 - [Paper Review] - [Paper Review] AlexNet

 

[Paper Review] AlexNet

객체 검출 논문의 서베이가 끝나서 CNN 서베이를 진행하려고 한다. 읽는 순서는 서베이 논문인 A Survey of Convolutional Neural Networks: Analysis, Applications, and Prospects 를 참고하여 읽을 것이다. 서베이 논

josh3255.tistory.com

 


논문 : https://arxiv.org/pdf/1409.1556.pdf

 

두 번째로 리뷰할 논문은 옥스포드 대학의 VGG 팀에서 발표한 VGGNet입니다. VGGNet은 7.3이라는 낮은 에러율을 보이며 ILSVRC'14에서 준우승을 차지하였습니다.

 

VGGNet 논문의 핵심 아이디어는 3 x 3 컨볼루션을 이용해 깊이를 늘리는 것이다.

 


Architecture

 

 

VGGNet은 3 x 3 컨볼루션 레이어를 하나씩 추가하는 방식으로 네트워크 구성을 변경해가며 실험을 진행하였다. 전체적인 네트워크의 구성은 위와 같다.

 

구성 A는 기본적인 네트워크 구성으로 8개의 컨볼루션 레이어와 3개의 FC 레이어로 구성된다. 이후의 네트워크 구성은 3 x 3 컨볼루션 레이어를 하나씩 추가해주며 receptive field를 넓혀주는 방식으로 네트워크를 확장하였다. 다만 A-LRN의 경우 이전 AlexNet 논문에서 사용된 Local Response Normalisation(LRN)을 A-LRN 구성에 추가하여 진행했지만 메모리의 사용량만 증가하고 성능적인 향상을 얻지 못했다고 한다.

 


3 x 3 Convolution

 

논문의 저자들은 3 x 3 컨볼루션 레이어를 쌓아서 네트워크를 확장하는데 집중하였는데 왜 하필 3 x 3일까? AlexNet이나 Overfeat처럼 receptive field가 큰  11 x 11, 5 x 5의 큰 사이즈 커널을 사용하면 안 될까? 답은 연산량에 있다.

 

출력물의 크기를 생각해보면 5 x 5 컨볼루션 연산은 2번의 3 x 3 컨볼루션 연산으로 대치가 가능하다. 그럼 이 때 학습시켜야 하는 파라미터는 어떻게 될까? 5 x 5 크기의 커널은 총 25개의 파라미터를 학습시켜야 한다. 반면에 3 x 3 크기의 커널 2개는 18개의 파라미터를 학습시켜야 한다.

 

똑같은 예로 7 x 7 컨볼루션은 3번의 3 x 3 컨볼루션으로 대치가 가능하다. 이 때의 학습시켜야 하는 파라미터 또한 7 x 7 커널은 49개의 파라미터를, 3개의 3 x 3 커널은 27개로 훨씬 적은 양의 파라미터로 동일한 성능을 얻을 수 있는 것이다.

 


1 x 1 Convolution

 

구성 C를 보면 각 층의 마지막에 1 x 1 컨볼루션 레이어를 사용한 것을 볼 수 있다. 1 x 1 컨볼루션은 Channel reduction, 연산량 감소, 비선형성 증가와 같은 장점을 가지고 있다.

 

논문에서는 네트워크의 비선형성 증가에 초점을 두고 1 x 1 컨볼루션을 사용하였다.

 


Results

 

 

위의 표를 보면 기본 구성에 LRN을 추가한 A-LRN의 경우 큰 성능 차이를 보이지 않는 것을 알 수 있고 네트워크를 깊게 만들수록 에러율이 감소하는 것을 볼 수 있다. 또한 싱글 스케일로 학습을 진행하는 것보다 멀티 스케일로 학습을 진행한 모델이 더 좋은 성능을 보인다.

 

구성 C와 D는 각 층의 마지막 레이어를 1 x 1 컨볼루션으로 하느냐 3 x 3 컨볼루션으로 하느냐의 차이인데 개인적인 생각으로는 VGGNet의 경우 아직 네트워크가 충분히 깊지 못해서 이런 결과가 나왔다고 생각한다. 만약 네트워크가 충분히 깊었다면 1 x 1 컨볼루션을 쓰는게 더 의미있는 결과를 뽑을 거라고 생각한다.

 

 

ILSVRC 표는 위와 같다.

 


다음 글에서는 GoogleNet을 리뷰하겠습니다.