Skip to main content
QUICK REVIEW

[論文レビュー] Structured Pruning of Deep Convolutional Neural Networks

Sajid Anwar, Kyuyeon Hwang|arXiv (Cornell University)|Dec 29, 2015
Advanced Neural Network Applications参考文献 12被引用数 40
ひとこと要約

この論文は、埋め込み型および並列システムにおける効率的な計算を可能にするために、チャネル、カーネル、およびインラインカーネルストライドレベルでスパarsityを強制する構造的プルーニング手法を提案する。接続の重要度を推定するために粒子フィルタリングを用い、再訓練により精度を回復させることで、モデルサイズとメモリアクセスを削減し、固定小数点量子化を可能にすることで、最小限の精度損失でオンチップデプロイが実現される。

ABSTRACT

Real time application of deep learning algorithms is often hindered by high computational complexity and frequent memory accesses. Network pruning is a promising technique to solve this problem. However, pruning usually results in irregular network connections that not only demand extra representation efforts but also do not fit well on parallel computation. We introduce structured sparsity at various scales for convolutional neural networks, which are channel wise, kernel wise and intra kernel strided sparsity. This structured sparsity is very advantageous for direct computational resource savings on embedded computers, parallel computing environments and hardware based systems. To decide the importance of network connections and paths, the proposed method uses a particle filtering approach. The importance weight of each particle is assigned by computing the misclassification rate with corresponding connectivity pattern. The pruned network is re-trained to compensate for the losses due to pruning. While implementing convolutions as matrix products, we particularly show that intra kernel strided sparsity with a simple constraint can significantly reduce the size of kernel and feature map matrices. The pruned network is finally fixed point optimized with reduced word length precision. This results in significant reduction in the total storage size providing advantages for on-chip memory based implementations of deep neural networks.

研究の動機と目的

  • リアルタイム埋め込み応用におけるディープラーニングの高い計算およびメモリ要件に対処すること。
  • 非構造的プルーニングの制限を克服し、ハードウェア加速に不適切な不規則な接続性を生じさせることを防ぐこと。
  • 並列および埋め込みアーキテクチャ上で直接的な計算の節約を可能にする構造的スパarsityフレームワークを開発すること。
  • 再訓練を用いてプルーニング後の精度劣化を緩和するため、接続の重要度推定に粒子フィルタリングを統合すること。
  • 構造的スパarsityを活用して、語長を短縮した固定小数点最適化を可能にし、オンチップメモリ効率を向上させること。

提案手法

  • ハードウェア効率性を維持するための規則的な構造を保つために、チャネル単位、カーネル単位、およびインラインカーネルストライドスパarsityの3レベルでの構造的スパarsityを導入する。
  • 各粒子が接続パターンを表す粒子フィルタリングアプローチを採用し、そのパターン下での誤分類率によって重要度を決定する。
  • 分類性能に基づいて粒子に重要度重みを割り当て、最も重要な接続を選択可能にする。
  • 粒子の重要度に基づいて接続をプルーニングし、最も重要なフィルターや特徴マップ要素のみを保持する。
  • プルーニング後の精度損失を回復させるために、プルーニングされたネットワークを再訓練する。これにより、元のモデルと性能が同等になる。
  • プルーニング後に語長を短縮した固定小数点量子化を適用し、構造的スパarsityを活用して精度損失を最小限に抑える。

実験結果

リサーチクエスチョン

  • RQ1複数レベル(チャネル、カーネル、インラインカーネル)での構造的スパarsityは、モデル精度を損なわずに計算効率を向上させることができるか?
  • RQ2プルーニング中におけるネットワーク接続の重要度推定に、粒子フィルタリングを効果的にどのように活用できるか?
  • RQ3構造的プルーニングは、オンチップデプロイに適した効率的な固定小数点量子化をどの程度可能にするか?
  • RQ4メモリアクセスとハードウェア互換性の観点から、構造的プルーニングは非構造的プルーニングと比べてどのように異なるか?
  • RQ5再訓練を伴う構造的プルーニングを適用する際の、モデル圧縮と精度損失のトレードオフはどのようなものか?

主な発見

  • 提案された構造的プルーニング手法は、再訓練後の最小限の性能劣化で顕著なモデル圧縮を達成し、高い精度を維持する。
  • インラインカーネルストライドスパarsityに加え、単純な制約を適用することで、カーネルおよび特徴マップ行列のサイズを大幅に削減できる。
  • プルーニングされたネットワークは、語長を短縮した固定小数点量子化に適しており、オンチップメモリ要件を顕著に削減できる。
  • 規則的かつ構造的なスパarsityパターンのおかげで、並列および埋め込み型システム上での効率的な計算が可能になる。
  • 粒子フィルタリングに基づく重要度推定は、重要な接続を効果的に同定し、高精度かつコンパクトなモデルを生成する。
  • このアプローチは強力なハードウェア互換性を示しており、リソース制限のあるデバイスへのデプロイに適している。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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