EfficientNet
EfficientNet(영어: EfficientNet)은 컨볼루션 신경망(CNN) 아키텍처의 효율적인 확장을 위한 모델 계열로, “EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks” 논문에서 제안되었다.
개요[편집 | 원본 편집]
EfficientNet은 네트워크의 깊이(depth), 폭(width), 입력 해상도(resolution)를 균형 있게 확장하는 복합 계수(compound coefficient) 기반 스케일링 기법을 도입하였다. 기존 모델들은 깊이나 폭 중 하나만 늘리는 방식이었으나, EfficientNet은 세 가지 차원을 동시에 조정하여 효율성과 정확도를 모두 향상시켰다. 또한 NAS(Neural Architecture Search)를 통해 기본 모델(EfficientNet-B0)을 자동 설계하고, 이를 스케일링하여 B1~B7 모델로 확장하였다.
역사[편집 | 원본 편집]
EfficientNet은 2019년 구글 브레인(Google Brain)의 밍싱 탄(Mingxing Tan)과 궈크 리(Quoc V. Le)가 발표하였다. 이 모델은 ImageNet 데이터셋에서 기존 모델 대비 훨씬 적은 연산량으로 더 높은 정확도를 달성하며, 모델 효율성의 새로운 기준을 세웠다. 이후 EfficientNetV2가 등장하면서 훈련 속도와 추론 효율성이 더욱 개선되었다.
아키텍처[편집 | 원본 편집]
EfficientNet의 핵심 설계 요소는 복합 스케일링(Compound Scaling)과 MBConv 블록 구조이다.
복합 스케일링(Compound Scaling)[편집 | 원본 편집]
EfficientNet은 다음 수식을 통해 네트워크의 깊이(d), 폭(w), 해상도(r)를 동시에 조정한다.
- 깊이(d) = α^φ
- 폭(w) = β^φ
- 해상도(r) = γ^φ
여기서 φ는 자원 예산(resource budget)을 조절하는 스케일링 지표이며, α, β, γ는 각각 깊이·폭·해상도에 대한 비율 계수이다. 이 세 요소는 다음 제약 조건을 만족하도록 설정된다.
- α · β² · γ² ≈ 2
즉, φ를 1 증가시킬 때마다 연산량(FLOPs)이 약 2배로 증가하도록 조정하여 균형 있는 확장을 이룬다.
기본 네트워크 (EfficientNet-B0)[편집 | 원본 편집]
EfficientNet-B0은 NAS(Neural Architecture Search)로 설계된 기본 모델로, 이후 EfficientNet-B1~B7은 복합 스케일링에 따라 확장된 버전이다. 각 블록은 MobileNetV2의 “Inverted Residual Block(MBConv)” 구조를 기반으로 하며, SE(Squeeze-and-Excitation) 모듈을 포함한다.
EfficientNet의 주요 구성은 다음과 같다.
- Conv3×3 (stride=2)
- MBConv1, kernel 3×3
- MBConv6, kernel 3×3
- MBConv6, kernel 5×5
- MBConv6, kernel 3×3
- MBConv6, kernel 5×5
- MBConv6, kernel 5×5
- Conv1×1, Global Average Pooling
- Fully Connected (Softmax)
주요 버전[편집 | 원본 편집]
- EfficientNet-B0 – NAS로 설계된 기본 모델.
- EfficientNet-B1 – 복합 스케일링 φ=1 적용 (깊이, 폭, 해상도 확대).
- EfficientNet-B2 – φ=2 적용, 더 높은 정확도.
- EfficientNet-B3~B7 – 단계적으로 확장된 대형 모델로, ImageNet에서 최고 수준의 성능 달성.
기술적 특징 및 장점[편집 | 원본 편집]
- 깊이, 폭, 해상도를 동시에 확장하여 효율성과 정확도를 모두 향상.
- NAS 기반으로 설계되어 파라미터 효율이 매우 높음.
- SE 모듈과 Swish 활성화 함수를 통해 특징 학습 성능 향상.
- 전이학습(transfer learning)에 강하며, 다양한 비전 태스크에 적용 가능.
- 적은 연산량으로 높은 정확도를 달성하여 모바일 환경에서도 효과적임.
한계[편집 | 원본 편집]
- 복합 스케일링을 적용하려면 세부 계수(α, β, γ)의 최적 조정이 필요함.
- 모델이 커질수록 훈련 시간과 메모리 요구량이 증가함.
- 완전한 경량 모델(예: MobileNet, ShuffleNet)에 비해서는 여전히 무겁다.
같이 보기[편집 | 원본 편집]
참고 문헌[편집 | 원본 편집]
- Mingxing Tan, Quoc V. Le, "EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks," Proceedings of Machine Learning Research (PMLR), Vol. 97, 2019.
- Mingxing Tan, Quoc V. Le, "EfficientNetV2: Smaller Models and Faster Training," ICML, 2021.
- Ian Goodfellow, Yoshua Bengio, Aaron Courville, "Deep Learning," MIT Press, 2016.