본 포스팅은 Google Brain에서 Practical Convolutional Neural Networks (CNNs)를 제안하기 위한 노력 중 하나인 EfficientNet에 대한 리뷰로써 최근 ICML 2019에 제출된 논문 입니다. 포스팅에 앞서, 주제와 관련된 모든 연구 내용은 EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks를 참조했음을 먼저 밝힙니다.

 

History


  본 연구 소개에 앞서 Practical Deep Learning 모델의 역사에 대해 간략히 살펴보겠습니다. 대부분 아시다시피, Google은 ILSVRC 2014에서 당시 ImageNet Classification Task에서 State-of-the-art 모델이었던 VGG를 근소한 차이로 압도하며 우승하였고, 이를 통해 CVPR 2015를 기점으로 그들의 최적화 모델 연구는 폭발적인 탄력을 받기 시작합니다.

 

아래의 History는 제가 직접 정리한 Google의 최적화 모델 발전 추세를 나타내는 논문인데요.

 

  • Going Deeper with Convolutions (CVPR 2015)
  • Rethinking the Inception Architecture for Computer Vision (CVPR 2016)
  • Inception-v4, Inception-ResNet and the Impact of Residual Connections on Learning (AAAI 2017)
  • Xception: Deep Learning with Depthwise Separable Convolution (CVPR 2017)
  • MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications (ArXiv: 2018)
  • MobileNetV2: Inverted Residuals and Linear Bottlenecks (CVPR 2018)
  • EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks (ICML 2019)
  • MnasNet: Platform-Aware Neural Architecture Search for Mobile (CVPR 2019)

 

  위의 논문을 모두 follow-up 하신 분들은 아시겠지만, ILSVRC 2014에서 성과를 거둔 1~2년 찰나에 추구하는 모델의 발전 방향성이 다소 달라진 것을 확인할 수 있습니다. 당시 구글 이외에 Facebook 혹은 저명한 연구자들은 Classification Task를 더욱 잘 처리하기 위해 어떻게 Deeper Layer의 Building Block을 설계할까하는 고민을 많이 했지만, 흥미롭게도 Google은 CVPR 2016을 기점으로 다른 방향의 모델 진보가 필요하다고 말하였습니다.

 

  이미 Google Cloud의 Roadmap을 눈 여겨 보신 분들은 아시겠지만, Google의 여전한 관심은 Edge Device에서 Classification Task를 잘 처리해줄 수 있는 Deep Learning 모델이었고, 이에 따라, Accuracy 뿐만 아니라 실용적이고 활용 가능한 Efficient 모델이 필요하다고 주장하였습니다. 본 포스팅은 Google이 최근 3년간 연구 결과로 나타낸 Practical 모델 중 가장 최근 발표한 EfficientNet이 어떻게 high-end model과 유사한 성능을 나타내며, 실용적인 모델이 되었는지 살펴보도록 하겠습니다.

 

Rethinking Optimization of CNNs


  예를 들어, ResNet이나 MobileNet 등을 고려할 때, 최적화 CNN 모델을 제안하였던 지난 연구 사례들은 아래의 그림과 같이 크게 3 가지 방향 (Figure.1)에서 발전되었다고 주장합니다.

  첫 번째, "Deeper layer (depth scaling)", 이는 다양한 filter layer 계층을 형성함으로써 풍성한 feature extraction 및 feature generation에 영향을 주었고, 모델의 성능을 한층 향상시키는 데 기여하였습니다.

  두 번째, "Wider output channels (channel width scaling)", 이는 데이터에서 충분히 많은 fine-grained patterns를 capturing하는 데 효과를 주었고, 역시 이를 통한 모델 accuracy 향상에 영향을 주었습니다.

  마지막으로, "Higher resolution (image size variation)" 효과는 filtering된 output channel의 height and width flexibility에 영향을 주어 capturing된 feature의 정교한 표현에 영향을 주었습니다.

 

Figure. 1. Scalibilty Analysis for Efficient Model Design

 

  효과적인 모델 스케일링을 위해 위에서 언급한 3 가지 측면을 controlling 할 수 있는 스케일링 파라미터가 각각 필요하며, 이를 위해 depth scaler α, width scaler β, image size scaler γ를 정의하였습니다. 한편, 논문에서는 각 파라미터와 모델에서 소비되는 Computation Resources와의 관계를 실험을 통해 발견하였고, 이는 Baseline Computing Resources로부터 약 2배 단위로 Resources를 더욱 소비하는 모델을 디자인한다면, 스케일링 파라미터를 활용하여 모델의 Baseline Configuration 대비 각각 α, β, γ배를 하는 것과 직관적으로 동일하다고 밝혔습니다. 이에 대한 자세한 언급은 논문을 통해 확인하시면 쉽게 이해하실 수 있습니다.

 

  본 논문은 앞서 언급한 Deep Convolutional Neural Network의 세 가지 Scalibility를 종합적으로 고려하는 "Compound Model Scaling" 기법을 제안하였으며, 이를 통해, 성능 손실을 최소화하며 Device-Aware한 디자인 방식의 목표를 달성할 수 있다고 말합니다. 그러나, 제안하는 기법이 적용되기 이전에 SOTA (State-of-the-art) 모델을 디자인하는 것이 성능의 Impact Results를 만드는 데 매우 중요한 과정이라고 언급하였으며, 이들은 성능이 우수한 Baseline 모델을 확보하기 위해 Multi-objective NAS (Neural Architecture Search) 기법을 활용하였습니다.

 

   NAS를 통해 얻은 최적의 Baseline 모델을 EfficientNet-B0 (Figure.2)로 하여, Optimal goal (Table.1)에 가까운 모델을 찾기 위해 "Compound Model Scaling"을 적용하였으며, 총 B0 ~ B7까지 디자인을 수행하였습니다.

 

 Table. 1. Optimal Goal of Efficient Model Design
Figure.2. The EfficientNet-B0 Architecture designed from Neural Architecture Search

 

 

Experiments Analysis


  Efficient-B0 ~ B7의 모델은 각각 SOTA를 달성한 모델과 비교하여 비슷한 성능을 확보하면서, 한편, 필요한 Parameters 개수 혹은 연산량에 대해 상대적인 Gain을 얻었고, 이를 통해 "Compound Scaling Method"가 Practical Design을 완성하는데, 효과적인 방법이라고 주장하였습니다 (Figure. 3). 더불어, Compound Scaling Method의 활용 우수성을 검증하기 위해 기존의 Practical Design으로 구현된 MobileNetV1, MobileNetV2 및 ResNet-50에 마찬가지로 적용함으로써, 기존모델의 hyper-parameter tuning 작업에도 적절히 활용될 수 있음을 보여주었습니다.

 

Figure.3. Performance Results from EfficientNet B0 to Efficient B7, compared to SOTA models

 


  서술한 연구 내용 외에 추가적인 연구 결과나 이해가 필요한 부분이 있으면 직접 링크된 논문을 읽어보시고 댓글을 남겨주시면 답변드리겠습니다. 제가 작성한 PPT 자료를 업로드 해드리니 필요하시면 참고해주세요.

 

Thanks,

 

Min Cheol Park

 

EfficientNet_summary.pptx
6.07MB