[CV] EfficientNet

myeongwang·2024년 2월 22일
0

Introduction

  • ResNet 이후 backbone 연구의 중요 한 축으로 wide & deep
  • 그 결과. CNN backbone의 이미지 이해 성능은 증가 했지만, parameter 크기가 커지고 속도가 느려짐
  • 성능은 좋지만, 속도가 빠르고 크기가 작은 모델에 대한 요구 증가

  • 일반적으로 효율성, 정확도 사이에 trade off
  • 지금까지 모델 크기를 scale up하는 과정에 비효율이 있었던 것은 아닐까?
  • → 효율적으로 scale up하는 방법을 찾아보자!
  • → EfficientNet의 등장

EfficinetNet

  • 크게 세 가지 방향의 scale up이 있음
  • width scaling, depth scaling, resolution scaling

Width Scaling

  • Channel 사이즈를 키우는 방향
  • Channel의 사이즈를 크게 하면 이미지의 미세한 특징을 잘 잡아내는 경향이 있음
  • Wide하고 shallow한 네트워크는 이미지의 high-level feature를 이해하는 데 한계가 있음

Depth Scaling

  • ResNet과 같이 네트워크를 깊게 쌓으면 high-level feature를 이해하는 데 도움이 됨
  • 하지만, 네트워크가 깊어질수록 gradient vanishing의 위험이 있음

Resolution Scaling

  • 이미지가 고화질인 경우 이미지의 미세한 특징들을 잘 잡아낼 수 있음

  • 이미지 사이즈가 커짐에 따라 연산량 증가

    • 증가되는 연산량에 비해 accuracy가 많이 향상되지는 않음

Compund Scaling

Observation 1

  • Scaling up 할수록 성능은 향상되지만, 향상되는 폭이 점차 감소함

Observation 2

  • Better accuracy, efficiency를 달성할 수 있는 최적의 scale factor 값이 존재

Compound Scaling Method

  • Depth, width, resolution의 균형 파악하는 것이 중요
    • 수동으로 찾는 것에는 한계가 있음
    • 따라서 compound scaling method 제안

  • Depth, width, resolution의 균형 파악하는 것이 중요
    • 수동으로 찾는 것에는 한계가 있음
    • 따라서 compound scaling method 제안
  • 𝜙를 1로 고정 후 ɑ,β,𝛄를 grid search
    • ɑ=1.2, β=1.1, 𝛄=1.15
    • 이때 네트워크를 EfficientNet-B0
  • 𝜙=1 을 기준으로 ɑ,β,𝛄를 고정 후 𝜙를 증가시켜 EfficientNetB1 ~ B7로 확장

Results

profile
Real Cryptocurrency Trader & AI Engineer LV.0

0개의 댓글