[논문 리뷰] Knapsack Pruning with Inner Distillation
이 논문은 내부 지식 정렬을 통한 분할 배낭 문제(Knapsack Pruning with Inner Distillation, KPID)를 제안한다. 이는 채널 프루닝을 배낭 문제로 공식화하여 정확도 대비 FLOPs 또는 추론 시간을 최적화하면서도, 부모 네트워크의 특징 표현을 전이하기 위해 내부 지식 정렬을 사용하는 일회성 신경망 프루닝 방법이다. 이 방법은 ResNet 및 EfficientNet 기반으로 ImageNet, CIFAR-10, CIFAR-100에서 최신 기술 수준의 정확도를 달성하며, 동일한 FLOPs 수준에서 MobileNetV3 및 EfficientNet-B0보다 빠른 모델을 생성한다.
Neural network pruning reduces the computational cost of an over-parameterized network to improve its efficiency. Popular methods vary from $\ell_1$-norm sparsification to Neural Architecture Search (NAS). In this work, we propose a novel pruning method that optimizes the final accuracy of the pruned network and distills knowledge from the over-parameterized parent network's inner layers. To enable this approach, we formulate the network pruning as a Knapsack Problem which optimizes the trade-off between the importance of neurons and their associated computational cost. Then we prune the network channels while maintaining the high-level structure of the network. The pruned network is fine-tuned under the supervision of the parent network using its inner network knowledge, a technique we refer to as the Inner Knowledge Distillation. Our method leads to state-of-the-art pruning results on ImageNet, CIFAR-10 and CIFAR-100 using ResNet backbones. To prune complex network structures such as convolutions with skip-links and depth-wise convolutions, we propose a block grouping approach to cope with these structures. Through this we produce compact architectures with the same FLOPs as EfficientNet-B0 and MobileNetV3 but with higher accuracy, by $1\%$ and $0.3\%$ respectively on ImageNet, and faster runtime on GPU.
연구 동기 및 목표
- 기존 프루닝 방법이 히우리스틱 중요도 점수에 의존하고 부모 네트워크의 전체 표현 능력을 활용하지 못하는 한계를 해결하기 위해.
- 프루닝 과정에서 정확도와 계산 비용(FLOPs 또는 추론 시간) 사이의 트레이드오프를 최적화하기 위해.
- 스킵 커넥션, 디프웨이즈 컨볼루션, 스위즈-엔-엑스큐이어 모듈을 포함한 복잡한 아키텍처인 ResNets 및 EfficientNets의 효과적인 프루닝을 가능하게 하기 위해.
- 부모 네트워크의 중간 특징 표현을 내부 지식 정렬을 통해 전이하여 프루닝된 모델의 성능을 향상시키기 위해.
- 동일한 FLOPs 수준에서 SOTA 모델인 EfficientNet-B0 및 MobileNetV3를 능가하거나 이를 충족하는 컴act하고 빠른 모델을 생성하기 위해.
제안 방법
- 각 채널에 중요도 점수와 계산 비용(FLOPs)이 할당된 배낭 문제로 네트워크 프루닝을 공식화하며, 예산 제약 하에 정확도를 최대화하는 것이 목표이다.
- 배낭 문제의 효율적 동적 프로그래밍 기반 해법을 가능하게 하기 위해 FLOP 값에 대해 GCD 정규화를 적용한다.
- 스킵 커넥션과 디프웨이즈 분리형 컨볼루션과 같은 복잡한 아키텍처 요소를 처리하기 위해 블록 그룹화 전략을 사용하며, 이를 프루닝 중에 원자 단위로 취급한다.
- 내부 지식 정렬(Inner Knowledge Distillation, IKD)을 도입하여, 프루닝된 네트워크가 부모 네트워크의 레이어 내부 활성화 패턴을 모방하도록 피지컬 트레이닝한다.
- 최종 로짓뿐만 아니라 중간 특징 간의 특징 수준 유사도를 기반으로 한 지식 정렬 손실을 사용하여, 부모 네트워크와 프루닝된 네트워크의 중간 특징 간 유사도를 최적화한다.
- FLOPs 기반 및 추론 시간 기반 프루닝을 모두 지원하며, 후자는 실제 성능을 더 잘 반영하기 위해 GPU 추론 시간을 측정하여 사용한다.
실험 결과
연구 질문
- RQ1네트워크 프루닝을 배낭 문제로 공식화할 경우, 히우리스틱 프루닝 방법에 비해 정확도 대비 계산 비용 간의 트레이드오프를 더 잘 개선할 수 있는가?
- RQ2부모 네트워크로부터 중간 특징 표현(내부 지식)을 전이하면 프루닝된 모델의 정확도가 향상되는가?
- RQ3스킵 커넥션과 디프웨이즈 컨볼루션을 포함한 복잡한 아키텍처인 ResNets 및 EfficientNets를 효과적으로 프루닝할 수 있는가?
- RQ4실제 GPU에서의 추론 속도를 최적화하는 시간 기반 프루닝은 동일한 FLOP 예산에서 FLOPs 기반 프루닝보다 더 빠른 모델을 만들어내는가?
- RQ5제안된 방법이 ImageNet 및 CIFAR 벤치마크에서 최신 기술 수준의 정확도를 달성하면서도, MobileNetV3 및 EfficientNet-B0와 같은 SOTA 모델의 추론 속도를 충족하거나 능가할 수 있는가?
주요 결과
- 2.58 G FLOPs에서 프루닝된 ECA-ResNet-101D 모델이 ImageNet에서 80.69%의 top-1 정확도를 달성하여 동일한 FLOP 수준에서 EfficientNet-B0를 능가한다.
- P100 GPU에서 57% 프루닝 비율로 시간 기반 프루닝을 적용한 ECA-ResNet-101D는 80.86% 정확도와 1010 images/sec의 속도를 기록하여, 동일한 FLOP 수준에서 80% 이상 정확도를 확보한 가장 빠른 알려진 모델이다.
- 43% 프루닝 비율을 적용한 프루닝된 ECA-ResNet-50D 모델은 V100에서 3587 images/sec의 속도로 79.71% 정확도를 달성하여, 속도-정확도 트레이드오프에서 MobileNetV3를 능가한다.
- 내부 지식 정렬은 피지컬 트레이닝 성능을 크게 향상시켜, 프루닝된 네트워크가 부모 네트워크의 특징 표현 능력을 더 잘 유지할 수 있도록 한다.
- 블록 그룹화 전략은 스킵 커넥션 및 스위즈-엔-엑스큐이어 모듈과 같은 비순차적이고 복잡한 레이어의 프루닝을 성공적으로 가능하게 한다.
- 이 방법은 일회성이며 반복적 재학습이 필요 없어 효율적이며 사전 학습된 모델에 쉽게 적용할 수 있다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.