논문

하루에도 수만개의 글자를 읽고 있습니다. 하루에도 수백장의 종이를 들춰 읽습니다.
이것은 그 읽기에 대한 일기입니다.

EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

1. Introduction

  • 컨볼루션 기반의 네트워크를 늘리는 방법으로는 일반적으로 깊이(depth)나 폭(width)을 늘리는 방법, 드물게는 이미지 입력을 늘려 사용하는 방법이 사용되고 있다.

    • 기존 연구에서는 이들 차원 중 한 가지만 조절하는 방식이 주로 연구되었는데, 두 가지 이상을 조절하면 성능을 내기 위해 매뉴얼 튜닝이 필요하기 떄문이다.
  • 이 논문은 ConvNets의 스케일을 키우면서도 성능을 더 좋게 나오는 방법을 연구하였다.

    • 연구 결과로 모든 차원의 크기가 균형있어야 하고 이들의 균형은 각각의 상수 배로 스케일링하여 만들 수 있는 것을 알아내었다.
    • 여기에서 출발하여 각 차원의 크기를 상수의 거듭제급형태인 로 스케일링 하여 조절할 수 있는 방법인 compound model scaling을 제안하였다.
  • 기존 MobileNets과 ResNet, 그리고 새로운 백본인 EfficientNets을 제시하고 새로운 스케일링 방법이 잘 동작하는 것을 보였다.

    • EfficientNets은 더 낮은 FLOPS에서도 다른 백본들의 성능을 뛰어넘는 결과를 보였다.

2. Related Work

3. Compound Model Scaling

3.1. Problem Formulation

  • 기존의 ConvNets 디자인에 관한 연구들이 가장 좋은 레이어 구조를 찾는 데 집중하고 있었다면, 모델의 스케일링은 레이어를 수정하지 않고 기준이 되는 네트워크의 길이 , 폭 , 해상도 을 확장하는 것을 시도하였다.

    • 하지만 레이어를 그대로 두더라도 각 레이어마다 다른 스케일을 찾아야 하므로 큰 공간에서 탐색이 이루어져야했다.
    • 이 공간을 줄이기 위해 모든 레이어를 어떤 상수의 비율을 갖도록 한정하고 이러한 상수에서 모델의 성능을 최대화하도록 하였다.
    • 따라서 기존 네트워크의 길이 로, 폭 ,로 해상도 로 표현하고 기존 네트워크의 길이, 폭 해상도 의 상수 배를 갖도록 하였다. 여기서 는 레이어의 인덱스이다.

3.2. Scaling Dimensions

  • 각 상수는 는 서로 연관이 있기 때문에 최적의 상수를 찾는 것이 어렵다.
  • Depth ()를 늘릴 경우 특징은 더 복합한 특징을 감지할 수 있고 일반화가 잘 되지만 vanishing gradient 문제로 학습하기가 어려워진다. 너무 깊은 값을 사용할 경우 성능이 오히려 떨어졌다.
  • Width ()를 늘릴 경우 세밀한 특징을 잡아낼 수 있지만, 너무 키우면 높은 수준의 특징을 잡아내기가 힘들어진다. 실험적으로 너무 큰 값을 사용할 경우 빨리 saturated 되어버렸다.
  • Resolution ()를 늘릴 경우 더 세밀한 패턴을 잡아낼 수 있지만, 너무 늘릴 경우 정확도가 줄어드는 것이 보고되었다.

3.3. Compound Scaling

  • 각 차원의 파라미터는 서로 독립적이지 않기 때문에 하나만 늘리기 보다는 서로 균형을 맞추어 늘려야 한다.

  • 이를 위해 compound scaling method를 제안한다.

    • 이는 compound coefficient 를 이용하여 아래와 같이 네트워크의 폭, 깊이, 해상도를 균등하게 스케일링하고자 한다.
    • , ,
    • 는 grid search를 통하여 찾은 상수이고, 가 네트워크가 얼마나 많은 리소스를 사용할지를 조절할 수 있는 스케일링 파라미터이다.
    • 따라서 해당 네트워크의 FLOPS는 정도가 된다.

4. EfficientNet Architecture

  • 이 스케일링 방법은 레이어 구조를 변화시키지는 않기 떄문에 좋은 구조의 백본이 필요하다.

  • 이를 위해 EfficientNet-B0를 제안하였다.

    • 이 백본은 mobile inverted bottleneck MBConv를 사용하였고, 여기에 squeeze-and-excitation optimization을 추가하였다.
  • Compound scaling method를 적용하는 과정은 다음과 같다.

    • 로 고정시키고, EfficientNet-B0에서 가장 좋은 상수를 찾아내었다. 이는 이다.
    • 스케일을 늘리기 위해 를 변화시켜가면서 네트워크를 만들어 Efficient-B1에서 B7를 얻었다.

5. Experiments

6. Discussion

7. Conclusion


Add a Comment Trackback