티스토리 뷰

목차



    지금까지 AlexNet, VGGNet, ResNet, DenseNet을 리뷰해봤다. 모델의 성능을 올리기위해 개선했던 방향은 여러가지가 있지만 크게 Layer의 Depth를 깊게하거나 각 Layer의 width(feature 수)를 크게 하거나 Resolution을 높이는 방향으로 전개되었다. efficientnet은 3가지 조건에 대한 적절한 비율을 찾아내어 적은 epoch으로 높은 성능을 보여주는 이름 그대로의 효율적이면서 높은 성능을 보여주었다. 그래서 이번에는 EfficientNet 논문을 리뷰해보려고 한다.

     

    1. Abstract

    이 논문은 model scaling과 Depth, width, resolution의 적절한 비율을 통해 더 좋은 성능을 이끌어낼 수 있음을 연구했다. 그래서 효율적인 compound coefficient를 사용해 depth/width/resolution 모두를 고려한 새로운 scaling 방법을 제안했다. 여기서는 MobileNets, ResNet과 비교하여 이 방법의 효율성을 확인시켜준다. 새롭게 고안한 architecture를 더 좋은 성능과 이전 CNN모델보다 효율적이기에 EfficientNets라 부르기로 했다. 발표당시에 ImageNet 기준 SOTA를 달성했다.

     

    2. Intro

    Scaling up CNN은 더 좋은 성능을 올리기 위해 많이 사용된다. 대표적인 것이 ResNet이다. 다양한 기법들이 존재하는데 그 중 일반적인 방법이 depth / width를 scale up 하는 것이다. 그 외에도 image resolution scale up 하는 것이 있다. 이전 모델들은 이 중 하나만 scale up하여 성능을 올렸다. 비록 임의로 두 개이상 선택해서 할 수 있지만, 그럴경우 손이 많이가고, 성능과 효율성 측면에서도 주목할만한 성과는 나오지 않았다.

    이 논문에서는 그러한 scaling up process에 대해서 연구했다. 그래서 width/depth/resolution의 적절한 constant ratio를 찾아냈다. 그래서 간단하면서도 효율적인 compound scaling method를 소개한다. 여기서는 고정 ratio로 uniformly scaling 하는 방법을 사용한다. 

    Model scaling 비교 그림

    3. Architecture

    compound model scaling 부분은 수식과 실험결과에 따른 parameter를 찾는 과정이라 생략한다.

     

    baseline network도 중요한 이슈였기에 기존 CNN 모델보다 더 좋은 성능을 내기위해 새로 고안한 것이 EfficientNet이다.

    EfficientNet-B0 baseline Network

    아키텍쳐는 MnasNet과 유사하지만 parameter는 살짝 더 많다.compound model scaling에서 Efficientnet-b0 기준으로 최적값은 $\alpha = 1.2$, $\beta = 1.1$, $\gamma = 1.15$ $\alpha \beta^2 \gamma^2 = 2$ 이다.

    $$ depth(d) = \alpha^{\phi}, width(w) = \beta^{\phi}, resolution(r) = \gamma^{\phi} $$ $$ s.t. \alpha \beta^2 \gamma^2 = 2, \alpha \ge 1, \beta \ge 1, \gamma \ge 1$$

    여기서 $\phi$ 를 scaling up 하면서 b1 ~ b7 까지 찾아낼 수 있다.

     

    이 논문은 기존 네트워크 구조나, 어떤 아이디어를 바탕으로 실험한 것이 아닌 Grid Search를 통한 최적의 파라미터를 찾는 연구를 통해 성능을 끌어올렸다는 점에서 의의가 있다.

     

    EfficientNet 논문 - https://arxiv.org/abs/1905.11946

     

    EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

    Convolutional Neural Networks (ConvNets) are commonly developed at a fixed resource budget, and then scaled up for better accuracy if more resources are available. In this paper, we systematically study model scaling and identify that carefully balancing n

    arxiv.org