Skip to main content
QUICK REVIEW

[논문 리뷰] Quantized Guided Pruning for Efficient Hardware Implementations of Convolutional Neural Networks

Ghouthi Boukli Hacene, Vincent Gripon|arXiv (Cornell University)|2018. 12. 29.
Advanced Neural Network Applications참고 문헌 24인용 수 11
한 줄 요약

이 논문은 구조적 프루닝과 이진 가중치 양자화를 결합하여 컨volutional 신경망의 계산 및 메모리 비용을 극적으로 감소시키는 Quantized Guided Pruning을 제안한다. 전체 컨볼루션을 저비용 멀티플렉서로 대체함으로써, CIFAR10, CIFAR100, SVHN에서 최신 기술 수준에 근접한 정확도를 달성하면서도 최소한의 지연과 전력 소비로 매우 효율적인 하드웨어 구현을 가능하게 한다.

ABSTRACT

Convolutional Neural Networks (CNNs) are state-of-the-art in numerous computer vision tasks such as object classification and detection. However, the large amount of parameters they contain leads to a high computational complexity and strongly limits their usability in budget-constrained devices such as embedded devices. In this paper, we propose a combination of a new pruning technique and a quantization scheme that effectively reduce the complexity and memory usage of convolutional layers of CNNs, and replace the complex convolutional operation by a low-cost multiplexer. We perform experiments on the CIFAR10, CIFAR100 and SVHN and show that the proposed method achieves almost state-of-the-art accuracy, while drastically reducing the computational and memory footprints. We also propose an efficient hardware architecture to accelerate CNN operations. The proposed hardware architecture is a pipeline and accommodates multiple layers working at the same time to speed up the inference process.

연구 동기 및 목표

  • 자원 제약이 있는 임베디드 시스템에서 CNN의 높은 계산 및 메모리 요구량을 해결하기 위해.
  • 정확도를 훼손하지 않으면서도 컨볼루션 레이어의 복잡성과 메모리 프로파일을 감소시키기 위해.
  • 간단한 멀티플렉서 기반 연산을 사용하여 프루닝 및 이진화된 CNN의 효율적인 하드웨어 매핑을 가능하게 하기 위해.
  • 다양한 레이어를 동시에 가속화할 수 있는 파이ipel라인 구조의 저전력 FPGA 아키텍처를 설계하기 위해.
  • 구조적 프루닝과 가중치 이진화를 조합함으로써 엣지 배포에 적합한 컴act하고 고성능의 CNN을 도출할 수 있는지 입증하기 위해.

제안 방법

  • 메모리 기반 기준에 따라 전체 필터나 특징 맵을 제거하는 결정론적이고 구조적인 프루닝 기법을 컨볼루션 레이어에 적용한다.
  • 프루닝과 이진 가중치 양자화를 결합하여 가중치를 ±1로 제한하면서도, 각 커널당 학습 가능한 스케일링 인자를 통해 모델 정확도를 유지한다.
  • 결과적으로 생긴 희소한 이진 컨볼루션 레이어는 특징 맵 벡터의 선택적 덧셈 또는 뺄셈을 수행하는 멀티플렉서를 사용해 하드웨어에 매핑된다.
  • 파이프라인 구조의 FPGA 아키텍처를 설계하여 여러 레이어를 동시에 처리하며, BRAM을 사용해 특징 맵을 스테이징하여 메모리 접근 지연을 줄인다.
  • 하드웨어는 세 단계로 구성된 클록 사이클 모델을 사용한다: 첫 번째 BRAM에서 두 번째 BRAM로 데이터 전송, 멀티플렉서를 이용한 출력 벡터 병렬 계산, 다음 레이어의 메모리 블록으로의 쓰기.
  • 멀티플렉서를 통해 짝수 또는 홀수 인덱스를 선택함으로써 가변 스탑을 지원하며, 이는 임의의 스탑 값으로 일반화된다.

실험 결과

연구 질문

  • RQ1구조적 프루닝이 컨볼루션 레이어의 복잡성을 크게 감소시키면서도 높은 정확도를 유지할 수 있는가?
  • RQ2프루닝과 이진 가중치 양자화를 조합함으로써 메모리 및 계산 비용을 얼마나 효과적으로 줄일 수 있는가?
  • RQ3멀티플렉서 기반 하드웨어 설계가 표준 컨볼루션 연산을 최소한의 면적과 지연 오버헤드로 대체할 수 있는가?
  • RQ4파이프라인 구조의 FPGA 아키텍처가 여러 레이어를 동시에 추론 처리하는 데 얼마나 빠르게 가속화할 수 있는가?
  • RQ5제안된 방법이 CIFAR10, CIFAR100, SVHN과 같은 표준 비전 벤치마크에서 최신 기술 수준에 근접한 성능을 달성할 수 있는가?

주요 결과

  • 제안된 방법은 CIFAR10, CIFAR100, SVHN 데이터셋에서 최신 기술 수준에 근접한 정확도를 달성하며, 전체 정밀도 모델에 비해 정확도 하락이 극히 미미하다.
  • FPGA에 구현된 하드웨어는 몇 웃의 전력 소비만으로도 저전력 임베디드 응용에 적합하다.
  • CIFAR10의 입력 크기(j_max = 32)를 사용할 경우, 이전 연구 대비 지연을 96배 감소시켰으며, L개의 레이어에 대해 잠재적 스피드업은 3Lj_max이다.
  • 한 레이어에 필요한 클록 사이클 수를 j_max*k_max + (j_max*k_max*ℓ_max)/P + j_max*ℓ_max로 줄였으며, 이는 이전 방법이 요구하는 3j_max²*k_max*ℓ_max/P보다 훨씬 적다.
  • 파이프라인 설계 덕분에 높은 스루풋을 유지하며 병렬로 여러 레이어를 처리할 수 있다.
  • 아키텍처는 확장 가능하며, 향후 다양한 커널 형태와 ImageNet과 같은 더 큰 데이터셋을 처리할 수 있도록 확장 가능하다.

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

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

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

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