Skip to main content
QUICK REVIEW

[논문 리뷰] Efficient Inference of CNNs via Channel Pruning

Boyu Zhang, Azadeh Davoodi|arXiv (Cornell University)|2019. 08. 08.
Advanced Neural Network Applications참고 문헌 28인용 수 9
한 줄 요약

이 논문은 CNN의 FLOPs를 효율적으로 감소시켜 복잡한 층에서 중복되는 입력 채널을 식별하고 제거하는 기반으로 펄스된 QR 분해를 활용한 채널 프루닝 방법을 제안한다. VGG-16에서는 최대 4.29배의 계산량 감소를 달성했고, ResNet-50에서는 2.84배를 기록했으며, 상위 5개 정확도가 약 1.4% 감소하는 것으로, 이전 방법들에 비해 효율성과 정확도의 상호 보완적 성능을 뛰어나게 달성한다.

ABSTRACT

The deployment of Convolutional Neural Networks (CNNs) on resource constrained platforms such as mobile devices and embedded systems has been greatly hindered by their high implementation cost, and thus motivated a lot research interest in compressing and accelerating trained CNN models. Among various techniques proposed in literature, structured pruning, especially channel pruning, has gain a lot focus due to 1) its superior performance in memory, computation, and energy reduction; and 2) it is friendly to existing hardware and software libraries. In this paper, we investigate the intermediate results of convolutional layers and present a novel pivoted QR factorization based channel pruning technique that can prune any specified number of input channels of any layer. We also explore more pruning opportunities in ResNet-like architectures by applying two tweaks to our technique. Experiment results on VGG-16 and ResNet-50 models with ImageNet ILSVRC 2012 dataset are very impressive with 4.29X and 2.84X computation reduction while only sacrificing about 1.40\% top-5 accuracy. Compared to many prior works, the pruned models produced by our technique require up to 47.7\% less computation while still achieve higher accuracies.

연구 동기 및 목표

  • 모바일 및 임베디드 시스템과 같은 자원 제약이 있는 장치에 대규모 CNN을 구현할 때 발생하는 높은 계산 비용, 메모리 사용량 및 에너지 소비 문제를 해결하기 위해.
  • 개별 가중치가 아닌 전체 채널을 제거함으로써 하드웨어 및 소프트웨어 가속을 효율적으로 가능하게 하는 구조적 프루닝 방법을 개발하기 위해.
  • 스킵 연결의 특성을 고려한 아키텍처 인식 기반 수정을 통해 잔차 네트워크 내에서 더 깊은 프루닝 기회를 탐색하기 위해.
  • 기존의 프루닝 기법들에 비해 모델의 효율성(FLOPs)과 정확도 사이의 상호 보완적 성능을 향상시키기 위해.
  • 기타 압축 기법(예: 양자화 및 낮은 랭크 근사)과 조합이 가능하도록 하는 유연하고 수직적인 기법을 제공하기 위해.

제안 방법

  • 채널 프루닝을 부분 집합 선택 문제로 재정의하여, 활성화 행렬의 열 공간을 최대한 유지할 수 있도록 가장 적절한 입력 채널 부분집합을 선택한다. 이 과정에서 펄스된 QR 분해를 활용해 최적의 채널 조합을 효율적으로 근사한다.
  • 펄스된 QR 분해를 통해 활성화 행렬의 열 공간 기여도를 기반으로 채널을 순서 정렬함으로써, 가장 정보가 풍부한 입력 채널을 빠르게 선택할 수 있다.
  • 알고리즘은 층 단위로 적용되며, 민감도 분석을 통해 프루닝 한계를 결정한다. 민감도가 높은 층의 경우 최대 40%의 채널을 제거함으로써 정확도를 유지한다.
  • ResNet 유사 네트워크에서의 스킵 연결 특성을 활용하기 위해 두 가지 아키텍처 수정 사항을 도입하여, 잔차 경로의 상호작용을 고려함으로써 더 강력한 프루닝을 가능하게 한다.
  • 프루닝 이후 모델은 정밀 조정(fine-tuning)을 통해 정확도를 복구하며, 기존의 딥러닝 프레임워크 및 하드웨어 가속기와의 호환성이 확보된다.
  • 이 방법은 다른 압축 기법과 수직적(orthogonal)이므로, 양자화, 낮은 랭크 근사 및 가중치 프루닝과 조합하여 추가적인 효율성 향상을 이룰 수 있다.

실험 결과

연구 질문

  • RQ1펄스된 QR 분해가 CNN 층 내 중복되는 입력 채널을 효과적으로 식별하고 제거하면서 모델 성능을 유지하는 데 유용한가?
  • RQ2제안된 프루닝 방법이 기존의 구조적 프루닝 기법들에 비해 FLOP 감소 및 정확도 유지 측면에서 어떻게 비교되는가?
  • RQ3아키텍처 인식 기반 수정을 통해 잔차 네트워크 내 프루닝 기회를 얼마나 향상시킬 수 있는가?
  • RQ4GPU 및 임베디드 플랫폼에서 이론적 FLOP 감소와 실제 추론 성능 사이의 실제 속도 향상 격차는 어느 정도인가?
  • RQ5여러 프루닝 기법들 간의 계산 비용과 정확도의 상호 보완적 성능를 비교했을 때, 제안된 방법이 설계 공간에서 더 나은 성능 포인트를 제공할 수 있는가?

주요 결과

  • 제안된 방법은 VGG-16에서 FLOPs를 4.29배 감소시켰고, 상위 5개 정확도는 1.40% 감소에 그쳤으며, 이는 기존 방법들에 비해 효율성-정확도 상호 보완적 성능에서 뚜렷한 우월성을 보였다.
  • ResNet-50에서는 FLOPs를 2.84배 감소시켰고, 상위 1개 정확도는 2.50% 감소하였다. 이는 ThiNet 및 기타 이전 연구들보다 최대 47.7% 적은 계산량을 요구하면서도 더 높은 정확도를 유지했다.
  • Soft Filter Pruning(SFP) 및 Pruning Filters(PF)에 비해 프루닝된 모델은 FLOPs를 11.7%에서 39.6%까지 줄였으며, 상위 5개 정확도는 약 0.17%에서 1.18% 감소하였다.
  • GTX 1080Ti GPU에서의 실제 속도 향상은 VGG-16 기준 1.87배, ResNet-50 기준 1.57배였으며, GPU 캐시 및 메모리 접근 효과로 인해 이론적 성능과 실질적 성능 사이에 격차가 존재함을 시사했다.
  • 여러 벤치마크에서 뛰어난 성능을 보였으며, CP를 제외한 모든 다른 방법들보다 계산량이 적었고, 대부분의 경우 상위 1개/5개 정확도가 더 높았다.
  • 이 기법은 매우 뛰어난 유연성을 지니며, 양자화 및 낮은 랭크 근사와 같은 다른 압축 기법과 조합이 가능하여, 모델 배포 시 추가적인 효율성 향상을 이룰 수 있다.

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

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

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

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