2014년 Imagenet Challenge에서 1등을 차지한 네트워크에 대한 논문이다 

 

요약

  • 이때 시대에 Inception 영화에서 나온 meme인 "We need to go deeper"에서 유래한 논문제목인가 보다 
  • 네트워크의 이름 또한 기존 neural net의 시조 격인 Le-Net에서 자신의 회사 이름 Google을 합쳐 냈다 보다
  • 중요한 내용은 어떻게 해서 좋은 performance와 computation을 가져왔는지 이다 
  • performance는 주로 네트워크의 depth와 width를 증가시켜는 추세인데 해당 과정은 계산 비용을 증가시켜 어떻게 하면 depth와 width를 늘리고 계산 비용을 최적화할 수 있을까? 
  • Hebbian principle이 나오는데 이 원리는 기본적인 neural network의 원리인 전파와 역전파의 토대가 된다 
    • Donald hebb이라는 캐나다의 심리학자가 시냅스의 연결강도 조정을 위한 생리학적 학습 규칙을 기술
    • 만약 연접(synapse)양쪽의 뉴런이 동시에 또 반복적으로 활성화되었다면 그 두 뉴런 사이의 연결 강도는 강화된다 
    • "Neurons that fire together wire together"
  • 22-layer의 GoogLeNet이라는 이름으로 ILSVRC14에 제출되었다

Introduction

  • 이 시기에 딥러닝은 dramatic한 성장이 이뤄지고 있었고 
  • 이것이 하드웨어의 성능향상, 큰 데이터셋, 큰 모델에 국한된 것이 아닌 몇 가지 새로운 아이디어와 알고리즘, 네트워크 아키텍처의 향상에서 비롯된 것이다
  • 본 논문에 제시된 네트워크는 2012년 같은 대회에서 1등을 차지한 AlexNet보다 12배 적은 파라미터를 사용하였고 정확도 또한 높았다 
  • Classification과 object detection 문제에 대해서 computation을 고려하기 위하여 이전에 나온 R-CNN을 참고하였다 나온다 
  • 모델은 추론시에 1.5 billion의 컴퓨팅 자원으로 곱셈, 덧셈 연산을 유지하도록 하였고 실환경에서 사용할 수 있도록 하였다
  • 모델의 구조는 기존에 나온 NiN(Network in Network)에서 파생하였다 
  • 주요 쟁점은 새로운 네트워크 구성을 소개하고 어떻게 네트워크의 depth를 증가시킬 수 있냐 이다 

 

Related work 

  • LeNet-5에서 시작된 CNN은 Conv layer를 쌓고 뒤를 따르는 FCL을 가지고 있다. 이러한 디자인은 여러 이미지 분류 대회에서 가장 좋은 결과를 가져오고 있고 최신 트렌드는 레이어 수의 증가와 레이어 사이즈의 증가이고 overfitting을 막기 위해 dropout을 사용한다 
  • Serre et al. [15]이 여러 스케일을 처리하기 위해 사용한 고정된 여러 사이즈를 가지는 Gabor filters 를 사용했듯이 
    • Gabor filter - 사람의 시각체계가 반응하는 것과 비슷한 외곽선을 검출하는 기능을 하는 필터 
  • Inception layers는 계속하여 반복되면서 22-layer의 deep model로 구성된다 
  • 기존의 Network in Network 모델은  1x1 conv layer를 이용하여 뉴럴넷의 표현력을 향상하고자 하였다 하지만 GoogLeNet의 경우 다른 의미로 제안한다 
    • 차원 축소 - 컴퓨팅 병목 제거 - 네트워크 사이즈 제한 
    • 이것은 네트워크의 성능 페널티 없이 depth만 증가시키는 것이 아닌 width 또한 증가시킬 수 있다 
  • R-CNN의 경우 색상과 superpixel(비슷한 영역끼리 묶은 하나의 픽셀)과 같은 저수준 신호를 우선 추정한 뒤 CNN 분류기를 통해 각 location별 카테고리를 정의한다 - 저자도 R-CNN과 같은 파이프라인으로 detection을 구성하였고 그 두 가지 단계를 강화하기 위해 앙상블과 다중 박스 예측을 사용헀다 

Motivation and High Level Considerations 

  • 정답률을 증가시키기 위한 가장 올바른 접근은 네트워크의 사이즈를 증가시키는 것인데 이런 경우 단점이 있다 
    • 큰 사이즈 라는것은 큰 파라미터를 말하고 특히 데이터셋은 제한되어있기 때문에 이것은 오버피팅 될 수 있다 
    • 큰 사이즈는 병목현상을 부를 수 있고 고급진 데이터셋은 만드는 것이 까다롭고 검수가 필요하고 전문지식이 없는 사람이 분류하기에 어려운 부분도 있다
    • 네트워크의 사이즈를 증가시키면 GPU 메모리 같은 Computational resources가 증가하게 된다 예를 들어 Conv layer가 chained 형태로 있다면 결과는 quadratic으로 증가되게 된다 - Quadratic growth - 제곱 형식으로 증가 - 이러한 용량의 증가는 대부분의 weight가 0이 된다면 많은양의 계산 자원이 낭비되게 된다 
    • 정답률을 올릴 때에도 size를 그냥 늘리는 것보다 컴퓨팅 자원을 효율적으로 분배하는 것이 좋다고 나오는데 해당 이유는 추측으로는 학습 속도이라고 생각된다 
    • 위 두가지 문제를 해결하기 위한 방법은 모든 레이어가 서로 Fully connected 된 것이 아닌 sparsely 연결되는 것이다 

Newwork in Network [12]에서 제시된 내용

Architectural Details 

  • Arora et al 이 제안한 마지막 레이어에서 layer 별로 통계 상관관계를 분석하여 상관관계가 높은 그룹으로 클러스터링 하는 구성을 제안한다 
  • Inception은 conv filter의 크기에 따라 다른 공간적 정보를 출력할 수 있다고 판단하여 여러 개의(1x1, 3x3, 5x5) conv filter를 사용하였고 또한 max pooling은 지금까지 많은 성공이 있었기에 사용했다 
  • 이러한 Inception module이 쌓이면서 출력되는 correlation statistics는 달라질 수 밖에 없다. 높은 추상화 features는 높은 layer에서 포착될 것이고 이는 더 높은 layer로 갈 수 록 3x3, 5x5 conv가 증가해야 한다는 것을 의미한다 
  • 큰 문제는 5x5는 자원을 많이 소모하는 것인데 이것은 pooling units를 추가하면 더욱 또렷해진다 pooling layer와 conv layer의 출력을 합치면 단계에서 단계로의 출력의 수가 증가고 이는 computational blow up을 부른다 
  • 비교적 큰 이미지 patch에서는 저차원의 embeddings도 많은양의 정보를 포함하고 있을 수 있다 하지만 embedding은 정보를 밀도가 높고 압축된 형태로 나타내며 압축된 정보는 모델링하기 더 어렵다 대부분의 영역에서의 표현이 희박하게 더 유지하기 위해 신호를 일괄적으로 합쳐야 할 때마다 압축한다 그렇기 때문에 컴퓨팅 자원이 많이 드는 3x3, 5x5 앞에 1x1 conv를 차원 축소를 목적으로 사용한다 
  • 낮은 레이어에서는 그냥 conv만을 이용하여 높은 레이어에서만 Inception module을 사용하였다

GoogLeNet 구조

GoogLeNet

  • competition에는 위와 같은 모델 7개 중에 6개를 앙상블 하였다 
  • 224x224 RGB 이미지를 일반적인 Normalization인 평균뺴기를 사용하였고 ReLu를 이용하였다 
  • 전체 레이어는 22개의 레이어인데 pooling까지 합치면 27개 모든 레이어를 합치면 100개 정도 된다 
  • 마지막에 linear는 fine-tuning을 위해 - label set에 맞게 하기 위해 사용하였다 
  • FCL(Linear)를 average pooling으로 변경하면 성능이 0.6%정도 향상됐다 
  • dropout의 사용은 FCL이던 average pooling이건 필수적이였다 
  • 중간에 auxiliary classifier라는 레이어를 추가하였다
    • 중간에 연결된 보조 classifier를 통해 낮은 단계에서 discrimination을 encourage 하고 다시 전파되는 기울기 신호를 증가시키며 추가 정규화를 제공할 것으로 예상 
    • 위 사진에서 inception 4a와 4b에 추가
    • 학습동안 해당 loss들은 total loss에 더해져 함께 weight를 줄이는 데 사용됐다 
    • Inference time에는 discarded 

 

Training Methodology

  • ASGD(Asynchronous stochastic gradient descent - 0.9 momentum)
  • Learning rate schedule - decreasing 4% every 8epochs 

+ Recent posts