📌 개요
EfficientNet은 2019년 Google Brain에서 발표된 이미지 분류 모델로,
“적은 파라미터로 더 높은 정확도를 내는 모델”을 목표로 설계되었습니다.
🎯 핵심 아이디어: 단순히 네트워크 깊이(depth)나 너비(width), 해상도(resolution)를 늘리는 것이 아니라,
**세 가지를 균형 있게 확장(compound scaling)**하는 방식으로 정확도와 연산량 사이의 trade-off를 최적화한다.
🔍 EfficientNet의 특징 요약
항목 | 설명 |
---|---|
모델 이름 | EfficientNet (B0 ~ B7) |
발표연도 | 2019 |
제안 기관 | Google Brain |
기반 논문 | EfficientNet: Rethinking Model Scaling for CNNs |
주요 개념 | Compound Scaling, MBConv, AutoML |
장점 | 높은 정확도, 적은 파라미터, 연산 효율 |
🔧 핵심 구성 요소
1. 🧱 MBConv (Mobile Inverted Bottleneck Convolution)
- MobileNetV2에서 도입된 경량 컨볼루션 블록
- Depthwise Separable Convolution 기반 → 연산량 절감
- Inverted residual 구조 + SE(Squeeze-and-Excitation) 블록 내장
2. ⚙️ Compound Scaling
EfficientNet은 단일 요인을 키우는 대신, 세 가지를 함께 조정합니다:
요소 | 의미 | 효과 |
---|---|---|
depth (d) | 네트워크 깊이 | 더 복잡한 표현 학습 |
width (w) | 채널 수 | 더 많은 정보 처리 |
resolution (r) | 입력 이미지 해상도 | 더 정밀한 특징 감지 |
📐 수식:
depth: d = α^ϕ
width: w = β^ϕ
resolution: r = γ^ϕ
단,α * β² * γ² ≈ 2
→ 연산량 2배 증가로 정확도 극대화
📊 EfficientNet 모델군 비교
모델 | Top-1 Accuracy (ImageNet) | 파라미터 수 | FLOPs |
---|---|---|---|
B0 | 77.1% | 5.3M | 0.39B |
B1 | 79.1% | 7.8M | 0.7B |
B3 | 81.6% | 12M | 1.8B |
B5 | 83.6% | 30M | 9.9B |
B7 | 84.3% | 66M | 37B |
B0은 기본 구조, 이후 버전은 Compound Scaling으로 확장
B7은 ImageNet 기준 가장 높은 정확도를 달성한 모델 중 하나
🚀 실습 예제 (PyTorch)
pythonfrom torchvision.models import efficientnet_b0
import torch
model = efficientnet_b0(pretrained=True)
model.eval()
# 예시 입력
dummy_input = torch.randn(1, 3, 224, 224)
output = model(dummy_input)
- PyTorch 및
torchvision.models
에서 B0~B7 모델 지원 - Keras에서는
tf.keras.applications.EfficientNetB0~B7
로 사용 가능
💡 EfficientNet의 장점
장점 | 설명 |
---|---|
✅ 연산 효율 | 적은 FLOPs로 높은 정확도 확보 |
✅ 경량 모델 | 모바일/Edge 환경에서 적합 (특히 B0~B2) |
✅ 확장 가능 | Compound Scaling으로 다양한 환경에 맞게 조정 |
✅ SOTA 기록 | 공개 당시 ImageNet 정확도 1위 달성 |
⚠️ 단점 및 한계
항목 | 설명 |
---|---|
❗ 학습 시간 | Compound 구조로 인해 초기 학습 비용 높음 |
❗ 구조 복잡성 | 구조 커스터마이징이 어렵고, 이해가 다소 복잡 |
❗ 최신 모델과의 경쟁 | ConvNeXt, ViT 등의 트랜스포머 기반 모델 등장 이후엔 우위 축소 |
🧪 활용 사례
분야 | 활용 예시 |
---|---|
의료 영상 분석 | 폐 CT/심장 초음파 이미지 분류 |
자동 품질 검사 | 제조 공정에서 결함 탐지 |
리테일 분석 | 상품 이미지 분류, 인벤토리 추적 |
모바일앱 | 사진 태그 자동 분류, AR 필터 적용 |
🧬 파생 모델: EfficientNetV2
- 2021년 Google에서 발표한 후속 모델
- Fused-MBConv 블록 도입
- 더 빠른 학습, 적은 메모리 사용
EfficientNetV2-S
,M
,L
,XL
모델 구성
✅ 결론
EfficientNet은 “최적의 균형”을 추구하는 비전 모델의 대표주자입니다.
- 높은 정확도와 효율을 동시에 추구하는 프로젝트에 매우 적합
- 연구 및 실무, 모바일과 서버 환경 모두 대응 가능
- 최신 EfficientNetV2, MobileNetV3, ConvNeXt 등과 비교도 고려하면 좋음
📌 “적은 비용으로 높은 성능을 원한다면, EfficientNet은 여전히 훌륭한 선택입니다.”