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)|Dec 29, 2018
Advanced Neural Network Applications参考文献 24被引用数 11
ひとこと要約

この論文では、構造的 pruning と二値重み量子化を組み合わせることで、畳み込みニューラルネットワークにおける計算コストとメモリコストを顕著に削減する Quantized Guided Pruning を提案する。フル畳み込みを低コストのマルチプレクサに置き換えることで、CIFAR10、CIFAR100、SVHN において準SOTAの精度を達成するとともに、最小限の遅延と消費電力で高効率なハードウェアデプロイが可能となる。

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 の高い計算およびメモリ要件に対処すること。
  • 精度を損なわず、畳み込み層の複雑さとメモリ断面を削減すること。
  • 単純なマルチプレクサベースの演算を用いて、pruned および二値化された CNN の効率的なハードウェアマッピングを可能にすること。
  • 複数の層を同時に加速するパイプライン化・低消費電力の FPGA アーキテクチャを設計すること。
  • 構造的 pruning と重みの二値化を組み合わせることで、エッジデプロイに適したコンパクトで高性能な CNN を得られることを示すこと。

提案手法

  • 本手法は、マグニチュードに基づく基準に従い、全フィルターや特徴マップを削除する決定論的で構造的な pruning スキームを畳み込み層に適用する。
  • Pruning を二値重み量子化と組み合わせ、重みを ±1 に制限しつつ、各カーネルごとの学習可能なスケーリング要因によりモデルの精度を維持する。
  • 得られたスパースで二値の畳み込み層は、選択的加算または減算により特徴マップベクトルの重み付き和を実行するマルチプレクサを用いてハードウェアにマッピングされる。
  • パイプライン化された FPGA アーキテクチャは、複数の層を並列に処理できるように設計されており、BRAM を用いて特徴マップをステージングし、メモリアクセス遅延を低減する。
  • ハードウェアは三段階のクロックサイクルモデルを採用している:最初の BRAM から2番目の BRAM へのデータ転送、マルチプレクサを用いた出力ベクトルの並列計算、次層のメモリブロックへの書き戻し。
  • マルチプレクサによるインデックス選択により、ストライドを変動可能にし、任意のストライド値に一般化可能である。

実験結果

リサーチクエスチョン

  • RQ1畳み込み層の構造的 pruning は、高い精度を維持したままモデルの複雑さを顕著に低減できるか?
  • RQ2Pruning と二値重み量子化を組み合わせることで、メモリおよび計算コストをどれほど効果的に削減できるか?
  • RQ3マルチプレクサベースのハードウェア設計は、面積と遅延のオーバーヘッドを最小限に抑えつつ、標準的な畳み込み演算を置き換えられるか?
  • RQ4パイプライン化された FPGA アーキテクチャは、複数の層を同時にどれほど効果的に推論を加速できるか?
  • RQ5提案手法は、CIFAR10、CIFAR100、SVHN といった標準的なビジョンベンチマークで準SOTAの性能を達成できるか?

主な発見

  • 提案手法は、CIFAR10、CIFAR100、SVHN データセットにおいて、フル精度モデルと比較して最小限の精度低下で準SOTAの精度を達成した。
  • FPGA 上のハードウェア実装は数ワットの消費電力にとどまり、低消費電力の埋め込み応用に適している。
  • CIFAR10 の入力サイズ(j_max = 32)を用いた場合、先行研究と比較して遅延が96倍低減された。L 層の場合は、最大 3Lj_max の高速化が見込まれる。
  • 1層あたりに必要なクロックサイクル数は、j_max*k_max + (j_max*k_max*ℓ_max)/P + j_max*ℓ_max に削減され、先行手法が要する 3j_max²*k_max*ℓ_max/P よりも顕著に少ない。
  • パイプライン化された設計により高いスループットを維持でき、複数の層を並列に処理することが可能である。
  • アーキテクチャはスケーラブルであり、将来的にはさまざまなカーネル形状や ImageNet のような大規模データセットに対応可能である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。