본문 바로가기
  • 책상 밖 세상을 경험할 수 있는 Playground를 제공하고, 수동적 학습에서 창조의 삶으로의 전환을 위한 새로운 라이프 스타일을 제시합니다.
Computer Vision

[2024-2] 전연주 - EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks

by YeonJuJeon 2024. 12. 30.

논문 링크: EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks


EfficientNet은 모델의 크기를 확장하는 방법(Scaling)을 새롭게 정립하고, 그 결과 훨씬 효율적인 CNN 구조를 제시한다.

이를 이해하기 위해서는 먼저 NASNet과 MnasNet 같은 Neural Architecture Search(NAS) 기반 모델들이 어떤 배경에서 나왔고, 어떻게 발전했는지를 파악할 필요가 있다.


Abstract (초록)

Convolutional Neural Networks(ConvNets)은 보통 고정된 예산(리소스)을 기준으로 설계된 뒤, 더 나은 정확도를 위해 크기를 확장해서 사용한다.
이 논문은 모델 스케일링(model scaling)을 체계적으로 살펴보아, 네트워크 깊이(depth), 너비(width), 해상도(resolution) 균형 있게 확장하면 더 나은 성능을 낼 수 있음을 발견했다.
이를 위해 저자들은 네트워크의 깊이·너비·해상도를 한꺼번에 비례적으로 키우는 간단하면서 효과적인 Compound Scaling 방식을 제안한다. 이 방식을 통해, 신경망 아키텍처 검색(NAS)으로 설계한 소형 모델을 확장해, EfficientNet이라는 모델 계열을 얻었다.
그 결과, 이미지넷(ImageNet) 기준 최고 수준의 정확도(84.3%)를 달성함에도, 이전 최고 모델 대비 매우 적은 파라미터 연산량(FLOPS)을 사용한다. 또한, CIFAR-100, Flowers 등 5개 이상의 전이 학습 데이터셋에서도 최고 성능을 달성한다.


1. Introduction

배경

  • ConvNet은 AlexNet 이후 더 큰 모델로 갈수록 정확도가 올라가는 것이 일반적이었고, 실제로 GoogLeNet, ResNet, SENet 등이 해마다 더 깊거나 복잡해지는 추세를 보여왔다.
  • 하지만 큰 모델의 정확도는 향상될지언정, 어떤 축(차원)을 늘릴 것인가에 대한 원칙은 뚜렷하지 않았다. 예컨대, 깊이만 늘리는 방식(ResNet), 너비만 늘리는 방식(WideResNet), 또는 해상도만 크게 사용하는 방식(Inception 시리즈, GPipe) 등이 있었다.

문제 제기

  • 기존에는 한 가지 차원만 늘리는 경우가 많아, 정확도 개선이 금방 포화되는 문제가 있다.
  • 이 논문에서 제기하는 핵심 질문:“네트워크의 깊이, 너비, 해상도를 어떻게 함께 늘려야 가장 높은 정확도와 효율성을 달성할 수 있을까?”

2. Related Work

  1. ConvNet Accuracy
    • AlexNet 이후, 더 크고 복잡한 모델(ResNet, SENet, GPipe 등)이 등장할수록 ImageNet 정확도가 상승한다.
    • 다만, 거대 모델은 메모리 사용, 연산 시간 측면에서 부담이 증가한다.
  2. ConvNet Efficiency
    • 모델 압축(프루닝, 양자화 등), 모바일 모델(MobileNet, ShuffleNet, MnasNet) 등장 → 리소스 제한 환경에서 동작이 가능하다.
    • 최근 NAS 기법으로 MnasNet과 같은 효율적 구조를 자동 탐색한다.
  3. Model Scaling 
    • 단일 차원만 늘리거나(깊이/너비/해상도), 임의로 2~3차원을 섞는 방식은 있었지만, 원칙적 가이드라인이 부족하다.
    • 본 논문은 세 차원 한 번에 균형 있게 늘리는 방법론을 제시한다.

3. Compound Model Scaling

3.1. 문제 정식화

논문에서는 ConvNet을 여러 스테이지로 나누고, 각 스테이지가 $(H_i \times W_i \times C_i)$ 크기의 텐서를 받아, 어떤 연산($F_i$)을 $L_i$번 반복한다고 설정한다. 이를 확장하려면, 깊이·너비·해상도가 모두 변화한다.

\[ \text{s.t.} \quad \mathcal{N}(d, w, r) = \bigodot_{i=1 \dots s} \hat{\mathcal{F}}_i^{d \cdot L_i} \left( X \left( r \cdot \hat{H}_i, r \cdot \hat{W}_i, w \cdot \hat{C}_i \right) \right) \]

$$\max_{d,\,w,\,r}\;\;\mathrm{Accuracy}\bigl(N(d,w,r)\bigr) \quad\quad \text{subject to } \begin{cases} \mathrm{Memory}(N) \le \text{target memory}, \\ \mathrm{FLOPS}(N) \le \text{target flops}. \end{cases}$$

  • 설명:
    • $\mathrm{Accuracy}(N(d,w,r))$: (깊이 $d$, 너비 $w$, 해상도 $r$)로 스케일링된 네트워크 $N$의 정확도.

3.2. 스케일링 차원

  • 깊이(Depth): 레이어 수($L_i$) 늘리기. 너무 깊어지면 학습 난이도는 증가하고, 정확도 향상은 포화된다.
  • 너비(Width): 채널 수($C_i$) 늘리기. 세밀한 특징 파악 가능하지만, 높은 수준의 표현력은 부족해질 수 있고, 마찬가지로 상승의 한계가 존재한다.
  • 해상도(Resolution): $H_i, W_i$를 늘리면 세밀 정보 증가하지만, 계산량이 급증한다.
  • 즉,세 차원을 단일하게 늘렸을 때 각각 금방 이득이 포화되므로 “균형”이 중요하다.

3.3. 복합 스케일링 (Compound Scaling)

$$d = \alpha^\phi, \quad w = \beta^\phi, \quad r = \gamma^\phi,$$

  • $\phi$: 단 하나의 복합 스케일링 계수.
  • $\alpha, \beta, \gamma$: 각 축에 대한 상수.
    • 예를 들어, $\alpha + \beta + \gamma = 2$ 등으로 FLOPS 증가량 제약을 맞춰줄 수 있다.
  • $\phi$를 증가시킬 때마다, 깊이·너비·해상도를 비례하게 늘려 균형 있는 확장을 달성한다.

4. EfficientNet Architecture

4.1. 베이스라인 모델 (EfficientNet-B0)

  • NAS(Neural Architecture Search)로부터 모바일 크기의 효율적 구조를 찾는다.
  • MBConv(Mobile Inverted Bottleneck) + Squeeze-and-Excitation(SE)
  • 이 B0 모델은 224×224 해상도 기준으로, 파라미터가 수백만 개 수준의 작고 효율적인 네트워크이다.

4.2. Compound Scaling으로 B1~B7 만들기

  1. $\alpha,\beta,\gamma$ 찾기: 작은 모델(B0)에서 $\phi=1$일 때를 그리드 서치로 결정한다.
  2. $\phi$ 조절: B1, B2, …, B7로 순차적으로 확장하여 깊이, 너비, 해상도를 균형 있게 키운다.
  3. 각 모델 성능:
    • EfficientNet-B7: ImageNet top-1 84.3% 정확도, 파라미터 66M, FLOPS 37B.
    • GPipe와 같은 정확도지만, 8.4배 작고, 추론은 6.1배 빠르다.
    • B4는 82.9%를 달성하며, ResNet-152 대비 훨씬 적은 파라미터를 사용한다.

5. Experiments

5.1. 기존 MobileNet/ResNet 비교

  • MobileNetV1/V2나 ResNet-50 등을 기존 방식(Depth, Width, Resolution 단일 확장)으로 키우는 것과, Compound Scaling을 적용하는 것을 비교하여 Compound Scaling이 항상 더 높은 정확도를 얻는 것을 확인할 수 있다.

5.2. ImageNet 실험 (EfficientNet)

  • B0~B7을 ImageNet으로 학습:
  • 결과: B7이 ImageNet에서 84.3%로 top-1을 달성하며 그 시점의 최고 점수를 달성하였다.
  • 파라미터 크기 및 FLOPS 측면에서도, 같은 정확도의 타 모델 대비 크게 절감하였다.

5.3. Transfer Learning

  • CIFAR-10, CIFAR-100, Flowers, Cars 등 8개 데이터셋으로 전이 학습을 진행하였다.
  • 결과: 5개 데이터셋에서 최고 정확도를 달성하며 파라미터도 기존 모델 대비 최대 20배 이상 줄은 것을 확인할 수 있다.

6. Discussion

  1. Compound Scaling vs. 단일 확장 
    • 동일 FLOPS에서 2~3% 정확도가 향상되었다.
    • CAM( Class Activation Map ) 시각화: 복합 스케일링된 모델이 객체 영역을 더욱 섬세히 포착한다.
  2. Search vs. Scaling
    • NAS로 작은 모델을 잘 만들고, Compound Scaling으로 원하는 크기에 맞춰 확장하여 효율성을 극대화한다.
  3. 한계점
    • 모델이 무방향(regular) ConvNet 구조 전제이므로 특수 도메인(예: RNN, GNN)에 대한 확장은 별도 연구가 필요하다.

7. Conclusion

본 논문은 ConvNet 스케일링에 있어, 네트워크 깊이, 너비, 해상도 균형적으로 확장해야 한다는 점을 강조한다.

이를 위해 간단한 Compound Scaling을 제안하여, 기존처럼 단일 차원만 늘리는 방법보다 훨씬 효율적임을 실증했다.

그리고 이 아이디어를 적용해 만든 EfficientNet 시리즈(B0~B7)가,

  • 최소한의 파라미터 & FLOPS
  • ImageNet 최고 정확도(84.3%)를 달성하며,
  • 전이 학습 등 다른 벤치마크에서도 SOTA 성능을 보여준다는 것이 본 논문의 주요 기여다.

결국 효율적인 ConvNet 아키텍처 + Compound Scaling이라는 조합이, 모델 정확도와 효율성을 동시에 잡을 수 있다는 점을 입증했으며, 이후 많은 연구에 영향을 미쳤다.