Skip to main content
QUICK REVIEW

[論文レビュー] Hardware-oriented Approximation of Convolutional Neural Networks

Philipp Gysel, Mohammad Motamedi|arXiv (Cornell University)|Apr 11, 2016
Advanced Neural Network Applications参考文献 21被引用数 280
ひとこと要約

Ristretto は Caffe ベースのフレームワークで、浮動小数CNN を自動的に固定小数点へ切り詰め、動的固定小点表現を用いてからファインチューニングを行い、1% の誤差許容の下で最小限の精度低下で8-bitモデルを達成する。

ABSTRACT

High computational complexity hinders the widespread usage of Convolutional Neural Networks (CNNs), especially in mobile devices. Hardware accelerators are arguably the most promising approach for reducing both execution time and power consumption. One of the most important steps in accelerator development is hardware-oriented model approximation. In this paper we present Ristretto, a model approximation framework that analyzes a given CNN with respect to numerical resolution used in representing weights and outputs of convolutional and fully connected layers. Ristretto can condense models by using fixed point arithmetic and representation instead of floating point. Moreover, Ristretto fine-tunes the resulting fixed point network. Given a maximum error tolerance of 1%, Ristretto can successfully condense CaffeNet and SqueezeNet to 8-bit. The code for Ristretto is available.

研究の動機と目的

  • 計算量とメモリ要件を削減することで、ハードウェアに優しいCNNの展開を促進する。
  • 浮動小数CNNを固定小数点表現に変換する後処理量子化とファインチューニングツールを開発する。
  • 大規模ネットワーク全体で精度を維持する戦略として動的固定小数点を探る。
  • 畳み込み層と全結合層でビット幅の削減が精度に与える影響を定量化する。
  • Caffe と連携して利用できるオープンソースのソリューションを提供し、アクセラレータ指向のCNN圧縮を実現する。

提案手法

  • 丸め最近傍法を用いて浮動小数点ネットワークを固定小数点へ量子化する。
  • 飽和を避けるために適切な整数部の大きさを決定するために層の活性化を解析する。
  • 畳み込み重み、層出力、全結合重みの最適ビット幅を見つけるために二分探索を行う。
  • 各ネットワーク層を2つのグループ(重みと出力)に分割し、動的レンジを管理するため独立したビット幅を適用する。
  • フル精度のシャドウ重みと確率的丸めを用いて固定小数点ネットワークを再訓練する(ファインチューニング)。
  • フォワード伝搬中に浮動小数点の蓄積を用いてハードウェアシミュレーション精度を確保し、最適化された行列演算を活用する。

実験結果

リサーチクエスチョン

  • RQ1動的固定小数点を含む固定小数点表現は、大規模なCNNを圧縮する際に高い精度を維持できるか。
  • RQ2畳み込み層と全結合層で、ビット幅の削減と分類精度のトレードオフはどうなるか。
  • RQ3CaffeNet や GoogLeNet のような大規模ネットワークで、動的固定小数点は静的固定小数点と比べて精度をどのように維持するか。
  • RQ4複数のアーキテクチャにわたるネットワーク性能に対する、後処理量子化とそれに続くファインチューニングの影響はどの程度か。
  • RQ5現代のCNNに対して、重大な精度低下を伴わずに8ビット以下の表現を達成することは現実的か。

主な発見

  • 動的固定小数点は、大規模ネットワークにおいて低ビット幅でも静的固定小数点より精度を大幅に維持する。
  • 畳み込みカーネルと層の活性化は、ネットワーク全体で約0.3%の絶対精度低下で8ビットへ量子化できる。
  • 全結合層のパラメータはより敏感で、8ビット時に最大0.9%の絶対精度低下。
  • LeNet の重みは2ビットまでトリミング可能で、精度低下は0.4%未満。
  • 5つのネットワーク(LeNet、CIFAR-10、CaffeNet、GoogLeNet、SqueezeNet)は、浮動小数点の基準値から2.3%未満の精度低下で8ビットの動的固定小数点へファインチューニングできる。
  • Ristretto は、デコード不要のオーバヘッドなしに、約4–8倍のメモリ帯域幅削減と、チップ上のパラメータを4–8倍増やすなど、実質的なハードウェア上の利点を可能にする。

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

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

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

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