[논문 리뷰] CondConv: Conditionally Parameterized Convolutions for Efficient Inference
CondConv는 각 예제마다 전문가 커널의 가중합으로 컨볼루션 커널을 학습하여 추론 비용은 최소로 유지하면서 모델 용량을 증가시키고 CNN 아키텍처 전반에서 성능을 향상시키며; CondConv-EfficientNet-B0를 사용해 413M MADDs에서 ImageNet의 top-1 78.3%를 달성한다.
Convolutional layers are one of the basic building blocks of modern deep neural networks. One fundamental assumption is that convolutional kernels should be shared for all examples in a dataset. We propose conditionally parameterized convolutions (CondConv), which learn specialized convolutional kernels for each example. Replacing normal convolutions with CondConv enables us to increase the size and capacity of a network, while maintaining efficient inference. We demonstrate that scaling networks with CondConv improves the performance and inference cost trade-off of several existing convolutional neural network architectures on both classification and detection tasks. On ImageNet classification, our CondConv approach applied to EfficientNet-B0 achieves state-of-the-art performance of 78.3% accuracy with only 413M multiply-adds. Code and checkpoints for the CondConv Tensorflow layer and CondConv-EfficientNet models are available at: https://github.com/tensorflow/tpu/tree/master/models/official/efficientnet/condconv.
연구 동기 및 목표
- 커널을 입력 의존적으로 만들어 계산량의 비례 증가 없이 모델 용량을 늘리려는 동기를 제시한다.
- Conditionally Parameterized Convolutions (CondConv)를 도입하여 각 예제마다 전문가 커널을 혼합한다.
- CondConv가 다양한 아키텍처에서 작은 추론 비용 증가로 성능 향상을 제공함을 보여준다.
- ImageNet 분류와 COCO 객체 검출에서 CondConv의 효과를 입증한다.
제안 방법
- 합성곱 커널을 n개의 전문가 커널의 각 예제별 선형 결합으로 매개화: Output(x)=σ((α1W1+...+αnWn)*x).
- routing weights αi를 입력의 함수로 계산: r(x)=Sigmoid(GlobalAveragePool(x)·R).
- CondConv를 하나의 비용이 큰 합성곱으로 보고, 그 다음에 전문 가중합을 적용하여 비용은 작게 증가하면서 용량을 높인다.
- 기존 CNN에서 표준 conv 레이어를 대체하고, 필요에 따라 블록 간 라우팅 가중치를 공유하여 CondConv를 학습한다.
- 고용량 모델의 과적합을 완화하기 위해 정규화 기법(Dropout on FC input, AutoAugment, Mixup)을 선택적으로 적용한다.
실험 결과
연구 질문
- RQ1CondConv가 여러 백본 아키텍처에서 정적 컨볼루션보다 정확도를 향상시키는가?
- RQ2,
- RQ3레이어당 전문가 수를 늘리는 것이 정확도와 추론 비용 사이에서 어떤 trade-off를 보이는가?
- RQ4대니에서 CondConv 레이어를 네트워크의 어디에 배치하는 것이 최적의 이득을 주는가?
- RQ5학습된 라우팅 가중치의 특성과 클래스 간 해석 가능성은 어떤 모습인가?
- RQ6SSD에서 CondConv를 사용할 때 COCO의 객체 검출 성능에 어떤 영향을 주는가?
주요 결과
| 모델 | Baseline MADDs (x10^6) | Baseline Top-1 (%) | CondConv MADDs (x10^6) | CondConv Top-1 (%) |
|---|---|---|---|---|
| MobileNetV1 (1.0x) | 567 | 71.9 | 600 | 73.7 |
| MobileNetV2 (1.0x) | 301 | 71.6 | 329 | 74.6 |
| MnasNet-A1 | 312 | 74.9 | 325 | 76.2 |
| ResNet-50 | 4093 | 77.7 | 4213 | 78.6 |
| EfficientNet-B0 | 391 | 77.2 | 413 | 78.3 |
- CondConv 전문가의 수를 늘리면 추론 비용의 증가가 미미한 형태로 더 높은 정확도를 얻는다.
- CondConv는 MobileNetV1, MobileNetV2, MnasNet-A1, ResNet-50 및 EfficientNet-B0 기본 모델에서 ImageNet top-1 정확도를 향상시킨다.
- CondConv는 413M multiply-adds에서 EfficientNet-B0의 top-1 78.3%를 달성하여 비용이 비슷한 수준의 정적 프런티어 스케일링보다 우수한 성능을 보인다.
- CondConv-증강 MobileNetV1 및 SSD 기반 검출기의 mAP가 비슷하거나 더 낮은 추론 비용에서도 개선된다.
- 라우팅 가중치는 더 깊은 레이어에서 클래스별로 더 특화되고 이분형 분포를 보이는 경향이 있어 특화된 전문가를 시사한다.
- CondConv-EfficientNet-B0-depth는 614M MADDs에서 79.5%의 정확도를 달성하여 기본 EfficientNet-B1의 79.2% (700M MADDs)보다 우수하다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.