논문 링크: EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
EfficientNet은 모델의 크기를 확장하는 방법(Scaling)을 새롭게 정립하고, 그 결과 훨씬 효율적인 CNN 구조를 제시한다.
이를 이해하기 위해서는 먼저 NASNet과 MnasNet 같은 Neural Architecture Search(NAS) 기반 모델들이 어떤 배경에서 나왔고, 어떻게 발전했는지를 파악할 필요가 있다.
NASNet, MnasNet 논문 리뷰 링크: https://blog.outta.ai/102
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
- ConvNet Accuracy
- AlexNet 이후, 더 크고 복잡한 모델(ResNet, SENet, GPipe 등)이 등장할수록 ImageNet 정확도가 상승한다.
- 다만, 거대 모델은 메모리 사용, 연산 시간 측면에서 부담이 증가한다.
- ConvNet Efficiency
- 모델 압축(프루닝, 양자화 등), 모바일 모델(MobileNet, ShuffleNet, MnasNet) 등장 → 리소스 제한 환경에서 동작이 가능하다.
- 최근 NAS 기법으로 MnasNet과 같은 효율적 구조를 자동 탐색한다.
- 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 만들기
- $\alpha,\beta,\gamma$ 찾기: 작은 모델(B0)에서 $\phi=1$일 때를 그리드 서치로 결정한다.
- $\phi$ 조절: B1, B2, …, B7로 순차적으로 확장하여 깊이, 너비, 해상도를 균형 있게 키운다.
- 각 모델 성능:
- 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
- Compound Scaling vs. 단일 확장
- 동일 FLOPS에서 2~3% 정확도가 향상되었다.
- CAM( Class Activation Map ) 시각화: 복합 스케일링된 모델이 객체 영역을 더욱 섬세히 포착한다.
- Search vs. Scaling
- NAS로 작은 모델을 잘 만들고, Compound Scaling으로 원하는 크기에 맞춰 확장하여 효율성을 극대화한다.
- 한계점
- 모델이 무방향(regular) ConvNet 구조 전제이므로 특수 도메인(예: RNN, GNN)에 대한 확장은 별도 연구가 필요하다.
7. Conclusion
본 논문은 ConvNet 스케일링에 있어, 네트워크 깊이, 너비, 해상도를 균형적으로 확장해야 한다는 점을 강조한다.
이를 위해 간단한 Compound Scaling을 제안하여, 기존처럼 단일 차원만 늘리는 방법보다 훨씬 효율적임을 실증했다.
그리고 이 아이디어를 적용해 만든 EfficientNet 시리즈(B0~B7)가,
- 최소한의 파라미터 & FLOPS로
- ImageNet 최고 정확도(84.3%)를 달성하며,
- 전이 학습 등 다른 벤치마크에서도 SOTA 성능을 보여준다는 것이 본 논문의 주요 기여다.
결국 효율적인 ConvNet 아키텍처 + Compound Scaling이라는 조합이, 모델 정확도와 효율성을 동시에 잡을 수 있다는 점을 입증했으며, 이후 많은 연구에 영향을 미쳤다.