Paper Review

[Paper Review] GoogLeNet : Going Deeper with Convolutions

조상현 2023. 1. 3. 17:35

이전 VGGNet 논문 리뷰 : 2023.01.03 - [Paper Review] - [Paper Review] VGGNet

 

[Paper Review] VGGNet

이전 AlexNet 논문 리뷰 : 2023.01.02 - [Paper Review] - [Paper Review] AlexNet [Paper Review] AlexNet 객체 검출 논문의 서베이가 끝나서 CNN 서베이를 진행하려고 한다. 읽는 순서는 서베이 논문인 A Survey of Convolutiona

josh3255.tistory.com

 


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

 

세 번재로 리뷰할 CNN 논문은 ILSVRC'14에서 VGGNet을 제치고 우승을 차지한 GoogLeNet이다. GoogLeNet의 코드명은 Inception으로 이름의 유래가 웃긴데 "we need to go deeper"라는 인터넷 밈에서 유래됐다고 한다.

 

GoogLeNet의 핵심 아이디어도 VGGNet과 동일하게 네트워크를 더 깊게 형성하는 것이다. 이후의 연구를 통해 밝혀진 것과 같이 네트워크를 더 깊게 형성해줌으로써 입력 이미지에 대해서 더 많은 내재정보를 추출할 수 있다.

 


Architecture

 

 

GoogLeNet의 구조는 위 그림과 같다. 네트워크는 파란색으로 표시된 1 x 1 컨볼루션, 노란색으로 표시된 보조 분류기,  8개의 블럭으로 구성된 인셉션 모듈로 구성된다. 1 x 1 컨볼루션의 경우 이전 VGGNet 논문에서 언급한 것과 같이 Channel reduction, 연산량 감소, 비선형성 증가라는 장점을 가지고 있다.

 

Auxiliary Classifiers

 

네트워크가 상대적으로 깊어질 때 생기는 문제 중 하나가 바로 그래디언트가 제대로 전달되지 않는 것이다. 논문에서는 이러한 문제를 해결하기 위해 보조 분류기를 도입하여 그래디언트가 소실되는 것을 방지하고 추가적인 정규화 효과를 얻어냈다. 이러한 보조 분류기는 추론 과정에서는 생략된다.

 

Inception Module

 

 

인셉션 모듈은 위와 같으며 GoogLeNet은 총 9개의 인셉션 블럭을 포함하고 있다. (b) 버전에서는 3 x 3, 5 x 5 컨볼루션을 진행하기 전에 연산량을 줄이기 위해 1 x 1 컨볼루션을 먼저 수행하여 준다. 인셉션 모듈의 장점은 여러가지 크기의 컨볼루션 연산을 동시에 사용하기 때문에 다양한 정보 활용이 가능하다. 하지만 모듈의 출력물이 여러 레이어의 결과를 합친 것이기 때문에 이어지는 인셉션 모듈의 연산에 오버헤드가 생긴다는 단점도 존재한다.

 

Global Average Pooling

 

GoogLeNet은 연산량을 줄이기 위해서 Fully Connected 레이어를 제거하고 global average pooling을 사용하였다. global average pooling은 top-1 정확도를 약 0.6% 정도 증가시켰지만 fully connected layer를 제거한 이후에 드랍아웃을 필수적으로 사용해야 했다고 한다.

 


Results

 

 

GoogLeNet은 6.67%의 오차율로 MSRA와 VGG를 제치고 ILSVRC'14에서 우승을 차지했다.

 

 

다만 6.67%의 오차율은 많은 수의 모델을 앙상블 하여 얻어낸 결과인걸 감안하여야 한다.

 


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