[논문 리뷰] Pruning Filters for Efficient ConvNets
이 논문은 CNN 추론 비용을 줄이기 위해 전체 컨볼루션 필터(및 그 특성 맵)를 가지치기하여 희소 연결성을 도입하지 않고, 최소한의 정확도 손실로 상당한 FLOP 감소를 달성하는 방법을 제시한다.
The success of CNNs in various applications is accompanied by a significant increase in the computation and parameter storage costs. Recent efforts toward reducing these overheads involve pruning and compressing the weights of various layers without hurting original accuracy. However, magnitude-based pruning of weights reduces a significant number of parameters from the fully connected layers and may not adequately reduce the computation costs in the convolutional layers due to irregular sparsity in the pruned networks. We present an acceleration method for CNNs, where we prune filters from CNNs that are identified as having a small effect on the output accuracy. By removing whole filters in the network together with their connecting feature maps, the computation costs are reduced significantly. In contrast to pruning weights, this approach does not result in sparse connectivity patterns. Hence, it does not need the support of sparse convolution libraries and can work with existing efficient BLAS libraries for dense matrix multiplications. We show that even simple filter pruning techniques can reduce inference costs for VGG-16 by up to 34% and ResNet-110 by up to 38% on CIFAR10 while regaining close to the original accuracy by retraining the networks.
연구 동기 및 목표
- 정확도를 유지하면서 CNN 추론 비용을 줄이려는 동기를 제시한다.
- 전체 필터와 그 특성 맵을 제거하는 구조화된 일회성 가지치기 방법을 제안한다.
- 필터 가지치기가 불규칙한 희소성을 피하고 밀집 BLAS 라이브러리와 함께 작동한다는 것을 보인다.
- 레이어 간 및 네트워크 블록 간(예: ResNet 블록) 가지치기 민감도에 대한 가이드를 제공한다.
- 재학습과 함께 VGG-16과 ResNet 아키텍처에서 FLOPs의 실용적 감소를 보여준다.
제안 방법
- 필터 가중치의 L1 노름을 사용하여 각 필터의 중요도를 계산하고 각 레이어에서 가중치가 가장 작은 필터를 가지치기한다.
- 일관성을 유지하기 위해 다음 레이어에서 해당 특성 맵과 커널을 제거한다.
- 재학습 시간을 절약하기 위해 여러 레이어에 걸친 일회성 가지치기 및 재학습 전략을 채택한다.
- 가지치기에 대한 레이어 및 스테이지 민감도를 분석하여 가지치기 비율을 결정하고 민감한 레이어의 가지치기를 건너뛴다.
- ResNet의 경우 잔차/쇼트컷 연결을 존중하는 방식으로 가지치기를 수행하고, 프로젝션 쇼트컷 가지치기 규칙을 사용한다.
- 다층 가지치기에 대해 독립적 가지치기와 그리디 가지치기 접근법을 비교하여 전체 영향력을 평가한다.
실험 결과
연구 질문
- RQ1일반적인 CNN에서 전체 필터 가지치기가 큰 정확도 손실 없이 FLOPs를 상당히 감소시킬 수 있는가?
- RQ2어떤 필터들(어떤 기준에 의해)이 가지치기될 때 출력 정확도에 가장 적은 영향을 미치는가?
- RQ3다수의 레이어(및 스테이지에 걸친 가지치기)가 레이어별 가지치기와 비교해 네트워크 성능에 어떤 영향을 미치는가?
- RQ4단축 경로의 무결성을 보존하면서 ResNet의 잔차 블록 가지치기에 대한 실용적 고려사항은 무엇인가?
- RQ5필터 레벨 가지치기가 활성화 기반 특성 맵 가지치기와 비교하여 효율성과 데이터 의존성 측면에서 어떤 차이가 있는가?
주요 결과
- 작은 크기의 필터를 가지치면 CIFAR-10에서 VGG-16의 FLOPs를 최대 34%까지, ResNet-110의 FLOPs를 최대 38%까지 감소시키며 재학습 후 거의 원래 정확도를 유지한다.
- L1-노름 기반의 필터 순위가 CIFAR-10의 VGG-16에서 임의의 가지치기나 가장 큰 필터 가지치기보다 더 우수하다.
- 많은 레이어와 스테이지가 상당한 가지치기를 견디며, 더 깊은 스테이지일수록 가지치기에 더 강인한 경향이 있다.
- ResNet의 잔차 블록 가지치기는 단축 경로 프로젝션 기반 가지치기와 같은 표적 전략으로 정확도를 보존하면서 계산량을 줄일 수 있다.
- 일회성 가지치기 후 재학습으로 손실된 정확도의 상당 부분을 회복할 수 있어, 계단식 레이어별 가지치기에 비해 학습 시간이 단축된다.
- 데이터 의존 통계를 사용한 활성화 기반 특성 맵 가지치기는 이 연구에서 일반적으로 간단한 L1 기반 필터 가지치기보다 성능이 떨어진다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.