AI/논문 리뷰

[논문 리뷰] EfficientNet : Rethinking Model Scaling for Convolutional Neural Network

쏘니(SSony) 2023. 12. 10. 19:39

2019년에 나온 논문이지만 아직도 Computer Vision 분야에서 많이 쓰이는 EfficientNet 논문 리뷰입니다.
 
[ 논문 링크 ] 

EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks | Papers With Code

 

Papers with Code - EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

🏆 SOTA for Medical Image Classification on NCT-CRC-HE-100K (Accuracy (%) metric)

paperswithcode.com

 

We demonstrate the effectiveness of this method on scaling up MobileNets and ResNet.

 

EfficientNet이 나오기 전에는 VGGNet -> Resnet -> MobileNet으로 이미지 분류에서 대표적인 모델들이 있었습니다.

모두 NN (Neural Network) 기반의 CNN 모델입니다. 성능을 올리기 위해 단순히 layer의 수를 깊게 쌓는 depth scaing을 활용했습니다. Resnet-200의 경우는 layer의 수가 200개이니 ..

 

1. Intro

 - scaling up : depth 깊고, width 넓게, image resolution로 model size 크게 중 하나

    → balance all dimensions of network width/depth/resolution (상수비)

 

2. compound scaling이란?

   : quantify the relationship among all three dimensions of network width, depth and resolution

   => 결국에는 연산의 효율성을 고려하며, 성능은 그대로 유지시킬 수 있는 scaling 방법입니다.

 

  • problem formulation
    • design space를 줄이기 위해 모든 layers가 uniformly scaling 되도록 함 (with constant ratio)
  • scaling dimensions

d : deeper ConvNet → capture richer and more complex features, generalize well on new tasks

     // but more difficult to train due to the vanishing gradient problems

w : wider networks → capture more fine-grained features and are easier to train

     // but have difficulties in capturing higher level features

r : higher resolution input → ConvNets can potentially capture more fine-grained patterns

 

  • compound scaling method

φ : a user-specified coefficient (몇 개의 resources가 사용가능할지 control)..

- 특히 이 값을 AutoML 방법을 이용해서 자동으로 모델이 scaling을 하는 것이 특징입니다. 점점 사람이 아닌 AI가 모든 걸 결정할 수 있게 했다는 점도 유의미합니다.

 

 
결론적으로 논문에서는 EfficientNet이 이제껏 나왔던 논문들보다 좋다는 것을 강조하고 있습니다.
 


 
현업에서 이미지 분류를 수행할 때에도 EfficientNet이 가장 좋은 성능을 보이고 있습니다. 특히 저는 이미지의 크기게 따라 B1~B3 버전을 사용하곤 합니다. 많은 튜닝을 하지 않아도 어느 정도의 성능이 보장되는 것 같아 현재까지도 활용성이 높은 모델인 것 같습니다.


경험적으로 클래스별 이미지의 수가 다를 경우에는 모수가 적은 클래스에서는 그리 좋은 성능을 보이지 않아, 모델 튜닝 방법에 대해 고민해보는 요즘입니다.