Skip to main content
QUICK REVIEW

[論文レビュー] A Design Methodology for Efficient Implementation of Deconvolutional Neural Networks on an FPGA

Xinyu Zhang, Srinjoy Das|arXiv (Cornell University)|May 7, 2017
Advanced Image Processing Techniques参考文献 19被引用数 42
ひとこと要約

本稿では、逆ループ、ストライドホールスキッピング、VLSI最適化を活用してデコンボリューションニューラルネットワーク(DCNNs)の効率的実装を実現する3段階のFPGA設計手法を提示する。この手法により、Xilinx Zynq-7000 FPGA上で0.012 GOPs/DSPのピーク性能密度を達成し、ビット幅解析により、生成品質とリソース効率のバランスを最適化する12ビット精度が最適であると特定された。

ABSTRACT

In recent years deep learning algorithms have shown extremely high performance on machine learning tasks such as image classification and speech recognition. In support of such applications, various FPGA accelerator architectures have been proposed for convolutional neural networks (CNNs) that enable high performance for classification tasks at lower power than CPU and GPU processors. However, to date, there has been little research on the use of FPGA implementations of deconvolutional neural networks (DCNNs). DCNNs, also known as generative CNNs, encode high-dimensional probability distributions and have been widely used for computer vision applications such as scene completion, scene segmentation, image creation, image denoising, and super-resolution imaging. We propose an FPGA architecture for deconvolutional networks built around an accelerator which effectively handles the complex memory access patterns needed to perform strided deconvolutions, and that supports convolution as well. We also develop a three-step design optimization method that systematically exploits statistical analysis, design space exploration and VLSI optimization. To verify our FPGA deconvolutional accelerator design methodology we train DCNNs offline on two representative datasets using the generative adversarial network method (GAN) run on Tensorflow, and then map these DCNNs to an FPGA DCNN-plus-accelerator implementation to perform generative inference on a Xilinx Zynq-7000 FPGA. Our DCNN implementation achieves a peak performance density of 0.012 GOPs/DSP.

研究の動機と目的

  • 生成視覚タスク(画像超解像や画像対画像翻訳など)に不可欠なデコンボリューションニューラルネットワーク(DCNNs)のための効率的FPGAアクセラレータの不足に対処すること。
  • 性能、消費電力、リソース使用率のバランスを最適化するFPGA上でのDCNN推論を支援する体系的設計手法の開発。
  • 有限精度算術下での生成品質の定量的分析を通じて、DCNN推論におけるコスト効率が最良のビット幅精度を同定すること。
  • ハードウェアに配慮したアルゴリズム適合とVLSIレベル最適化を通じて、FPGA上で高スループット・低遅延のデコンボリューション演算を実現すること。

提案手法

  • ストライド付きデコンボリューションにおける複雑なメモリアクセスパターンを効率的に処理するため、逆ループとストライドホールスキッピングを組み合わせたデコンボリューションアクセラレータを提案。コンvolutionアクセラレータアーキテクチャを再利用。
  • 3段階の手法を採用:(1) ビット幅ごとの生成品質を評価するための統計的分析(RMMD検定を用いて);(2) メモリ帯域幅とスループットのバランスを最適化するためのルーフラインモデルに基づく設計空間探索;(3) ループアンローリング、パイipelニング、レジスタ挿入、メモリパーティショニングによるVLSI最適化。
  • 最適化されたp値とパワーのトレードオフ分析により選定された12ビット精度の固定小数点演算を採用。すべての演算をVivado HLSを用いてap_fixed.hおよびストリーミングデータ構造で実装。
  • Zynq-7000システムを介して、MNISTおよびCelebAデータセットで学習済みのGANベースDCNNをFPGAにマッピング。ARMプロセッサがデータ転送と設定管理を担当し、アクセラレータが計算処理を実行。
  • 内側のループに対してループアンローリングとパイipelニングを適用し、定常サイクルでの実行を実現。また、BRAMへの書き込み回数を削減し、クリティカルパスのタイミングを改善するためのレジスタ挿入を実施。
  • AXI-StreamインタフェースおよびBRAMベースのオンチップメモリを備えたブロック図を用いて設計を検証。配置・配線後のリソース使用率はLUTが48%、DSPが95%、BRAMが48%を記録。

実験結果

リサーチクエスチョン

  • RQ1FPGA上でのDCNN推論において、生成品質とハードウェア効率の両立を図る最適なビット幅精度は何か?
  • RQ2複雑なメモリアクセスパターンを有するデコンボリューション演算を、FPGAハードウェアに効率的にマッピングする方法は何か?
  • RQ3DCNNにおけるメモリ帯域幅とアクセラレータスループットの最適なトレードオフを実現するための設計空間探索戦略は何か?
  • RQ4ループアンローリングやレジスタ挿入といったVLSIレベル最適化は、リソースオーバーヘッドを増加させることなく、どの程度性能を向上させ得るか?

主な発見

  • 12ビット固定小数点精度が最適であると特定され、最高のp値×最小スラック、およびp値/パワーのトレードオフを達成し、生成品質と効率のバランスが最良であることが示された。
  • 提案されたデコンボリューションアクセラレータは、Xilinx Zynq-7000 FPGA上で0.012 GOPs/DSPのピーク性能密度を達成し、以前のFPGAベースCNNアクセラレーターよりも高い効率性を示した。
  • ルーフラインモデルを用いた設計空間探索により、CelebA DCNNの第1層の最適な設定が同定され、最良の解がルーフラインの左上端に位置しており、高いスループットと低いメモリ帯域幅圧力が示された。
  • 視覚的評価では、12ビット精度で画像品質の低下がほとんど認められ、8ビット精度に低下するまで顕著な劣化は発生しなかった。これは統計的分析結果を裏付けるものであった。
  • 配置・配線後のリソース使用率は、DSPが95%、LUTが48%、FFが29%、BRAMが48%であり、リソースマッピングが効率的であり、ピング・ポンバッファリングによるさらなる最適化の余地があることが示された。
  • この手法により、FPGA上での高品質な生成推論が成功裏に実現され、MNISTおよびCelebAデータセットからの生成顔貌および数字画像が12ビット精度で視覚的整合性を保っていた。

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

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

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

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