Skip to main content
QUICK REVIEW

[논문 리뷰] DyNet: Dynamic Convolution for Accelerating Convolutional Neural Networks

Yikang Zhang, Jian Zhang|arXiv (Cornell University)|2020. 04. 22.
Advanced Neural Network Applications참고 문헌 43인용 수 69
한 줄 요약

DyNet은 이미지 콘텐츠에서 고정 커널을 예측 계수와 선형으로 융합하여 커널을 동적으로 생성하는 컨볼루션으로 FLOPs를 크게 줄이거나, 비슷한 비용에서 정확도를 높이는 방식으로 인기 있는 CNN들에 적용되며 CPU/GPU 추론도 더 빨라질 수 있습니다.

ABSTRACT

Convolution operator is the core of convolutional neural networks (CNNs) and occupies the most computation cost. To make CNNs more efficient, many methods have been proposed to either design lightweight networks or compress models. Although some efficient network structures have been proposed, such as MobileNet or ShuffleNet, we find that there still exists redundant information between convolution kernels. To address this issue, we propose a novel dynamic convolution method to adaptively generate convolution kernels based on image contents. To demonstrate the effectiveness, we apply dynamic convolution on multiple state-of-the-art CNNs. On one hand, we can reduce the computation cost remarkably while maintaining the performance. For ShuffleNetV2/MobileNetV2/ResNet18/ResNet50, DyNet can reduce 37.0/54.7/67.2/71.3% FLOPs without loss of accuracy. On the other hand, the performance can be largely boosted if the computation cost is maintained. Based on the architecture MobileNetV3-Small/Large, DyNet achieves 70.3/77.1% Top-1 accuracy on ImageNet with an improvement of 2.9/1.9%. To verify the scalability, we also apply DyNet on segmentation task, the results show that DyNet can reduce 69.3% FLOPs while maintaining Mean IoU on segmentation task.

연구 동기 및 목표

  • CNN의 컨볼루션 커널 간 중복성을 동기로 지적하고 이를 줄이는 연구 목표를 제시합니다.
  • 입력 콘텐츠를 기반으로 커널을 생성하는 간단하고 학습 가능한 동적 컨볼루션 프레임워크를 제안합니다.
  • 동적 컨볼루션이 주류 아키텍처의 드롭인 모듈이 되어 FLOPs를 감소시키되 정확도 손실을 최소화하거나 정확도 향상까지 가능함을 보여줍니다.
  • 다양한 아키텍처에서 이미지 분류(ImageNet)와 분할(segmentation) 작업의 확장성을 시연합니다.

제안 방법

  • 가중치를 예측하여 여러 고정 커널을 융합하기 위한 계수 예측 모듈을 도입합니다.
  • 고정 커널의 가중합으로 동적 커널을 구성하는 동적 생성 모듈을 제안합니다: w_t^~ = 합_i η_t^i * w_t^i.
  • 고정 커널 수를 제어하는 하이퍼파라미터 g_t를 갖는 그룹 기반 설계를 사용합니다.
  • 학습 중 특징 맵을 융합하여 학습하고, 식(2)를 활용해 출력상 커널 융합과 동등함을 보입니다.
  • DyNet을 MobileNetV2, ShuffleNetV2, ResNet 변형에 적용하여 Dy-Mobile, Dy-Shuffle, Dy-ResNet18, Dy-ResNet50을 생성합니다.
  • ImageNet(Top-1 정확도)과 Cityscapes 분할에서 평가하여 분류와 분할 모두의 이점을 입증합니다.

실험 결과

연구 질문

  • RQ1동적 컨볼루션이 큰 정확도 손실 없이 CNN의 중복 연산을 줄일 수 있는가?
  • RQ2입력에 적응하는 커널 융합이 비전 백본의 성능을 유지하거나 향상시키면서 FLOPs를 줄일 수 있는가?
  • RQ3동적 컨볼루션이 CPU/GPU에서의 추론 속도와 다중 GPU 설정에서의 학습 속도에 어떤 영향을 미치는가?
  • RQ4이 방식이 분할 작업과 더 큰 백본으로의 확장성은 있는가?
  • RQ5그룹 크기 g_t가 성능 및 매개변수 예산에 미치는 영향은 무엇인가?

주요 결과

MethodsMFLOPsTop-1 오차(%)
MobileNetV3-Small(1.0)5632.60
ShuffleNet V2 (1.0)14630.60
MobileNetV2 (1.0)29828.00
MobileNetV3-Large(1.0)21924.8
ResNet18173030.41
ResNet50389023.67
ShuffleNet v1 (1.0)14032.60
MobileNet v2 (0.75)14532.10
MobileNet v2 (0.6)14133.30
MobileNet v1 (0.5)14936.30
DenseNet (1.0)14245.20
Xception (1.0)14534.10
IGCV2 (0.5)15634.50
IGCV3-D (0.7)21031.50
Dy-MobileNetV3-Small5929.7
Dy-shuffle (1.0)9229.6
Dy-mobile (1.0)13528.27
Dy-MobileNetV3-Large22822.9
Dy-ResNet1856731.01
Dy-ResNet50111923.75
  • DyNet은 여러 네트워크에서 FLOPs를 크게 줄이면서도 정확도 손실이 미미합니다(예: ShuffleNetV2 37.0%, MobileNetV2 54.7%, ResNet18 67.2%, ResNet50 71.3% 감소).
  • MobileNetV3-Small/Large에서 각각 2.9%와 1.9%의 Top-1 정확도 향상을 보이며 FLOP 변화는 미미합니다.
  • DyMobileNetV2에서 CPU 추론이 최대 1.87배, Dy-ResNet18에서 1.32배, Dy-ResNet50에서 1.48배의 CPU 속도 향상(추론 속도 증가)을 보였습니다.
  • 분할(Segmentation)에서 Cityscapes의 경우 Dy-ResNet50이 FLOPs를 69.3% 감소시키면서 Mean IoU를 유지합니다.
  • 각 분해 실험에서 동적 커널이 고정 커널 대비 우수하며, g_t의 증가로 성능이 향상됩니다(예: Fix-mobile/ Fix-shuffle 대비 개선).
  • 동적 커널은 커널 간 상관관계가 감소하는 경향을 보여 중복성이 감소하고 표현이 더 효율적임을 시사합니다.

더 나은 연구,지금 바로 시작하세요

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.