Skip to main content
QUICK REVIEW

[論文レビュー] Training Bit Fully Convolutional Network for Fast Semantic Segmentation

He Wen, Shuchang Zhou|arXiv (Cornell University)|Dec 1, 2016
Advanced Neural Network Applications参考文献 27被引用数 8
ひとこと要約

本稿では、1ビット重みと2ビット活性化を用いる低ビット幅の完全畳み込みネットワーク、Bit Fully Convolutional Networks (BFCN) を提案する。ビット畳み込み演算により、高速なセマンティックセグメンテーションを実現する。32ビット浮動小数点演算をビット単位の演算とpopcount計算に置き換えることで、CPU上で7.8倍の推論速度向上が達成され、FPGAでは1%未満のリソース使用率を実現しながら、競争力のある性能を維持する。PASCAL VOC 2012では62.8%の平均IoU、Cityscapesでは57.4%を達成し、フル精度モデルと同等の性能を示す。

ABSTRACT

Fully convolutional neural networks give accurate, per-pixel prediction for input images and have applications like semantic segmentation. However, a typical FCN usually requires lots of floating point computation and large run-time memory, which effectively limits its usability. We propose a method to train Bit Fully Convolution Network (BFCN), a fully convolutional neural network that has low bit-width weights and activations. Because most of its computation-intensive convolutions are accomplished between low bit-width numbers, a BFCN can be accelerated by an efficient bit-convolution implementation. On CPU, the dot product operation between two bit vectors can be reduced to bitwise operations and popcounts, which can offer much higher throughput than 32-bit multiplications and additions. To validate the effectiveness of BFCN, we conduct experiments on the PASCAL VOC 2012 semantic segmentation task and Cityscapes. Our BFCN with 1-bit weights and 2-bit activations, which runs 7.8x faster on CPU or requires less than 1\% resources on FPGA, can achieve comparable performance as the 32-bit counterpart.

研究の動機と目的

  • リアルタイムおよび埋め込み応用における完全畳み込みネットワーク(FCN)の高い計算およびメモリ要件に対処すること。
  • 重みと活性化の低ビット幅量子化を用いて、CPU や FPGA などのリソース制約のあるデバイス上で FCN の効率的な推論を可能にすること。
  • 量子化による性能劣化を最小限に抑えるための新しいトレーニング戦略の開発。
  • 低ビット幅の FCN が、モデルサイズと推論遅延を著しく削減しながらも、競争力のある精度を達成できることの実証。

提案手法

  • BFCN は 1 ビット重みと 2 ビット活性化を採用し、浮動小数点乗算の代わりに XNOR および popcount 演算による計算を可能にする。
  • CPU や FPGA での推論を高速化するため、ビット単位の XOR およびパopカウント(popcount)演算を用いたビット畳み込みカーネルを実装する。
  • 低ビット幅環境下でも特徴表現をよりよく保持できるように、再構築パスに残差ブロックを採用する。
  • トレーニング中に段階的にビット幅を 8 から 1 または 2 に減少させる線形のビット幅減少スケジュールを導入し、トレーニングの安定化と量子化誤差の低減を図る。
  • 重みと活性化を制限した状態で ImageNet 事前学習済みの ResNet-50 から微調整することで、収束性と性能を向上させる。
  • 低ランク近似や CRF 後処理などの他の高速化技術との統合をサポートする。

実験結果

リサーチクエスチョン

  • RQ1セマンティックセグメンテーションにおいて、性能の著しい低下を伴わずに、完全畳み込みネットワークを1ビット重みと2ビット活性化に量子化できるか?
  • RQ2低ビット幅ネットワークを効果的にトレーニングするには、量子化による性能劣化を最小限に抑えるための戦略は何か?
  • RQ3標準の32ビット演算と比較して、ビット畳み込み演算はCPUおよびFPGAでの推論をどの程度高速化できるか?
  • RQ4残差ブロックとビット幅減少戦略を用いることで、標準のバイナリ化ネットワークと比較して、低ビット幅FCNの性能は向上するか?
  • RQ5PASCAL VOC 2012 や Cityscapes のような困難なデータセットにおいて、低ビットFCNはモデルサイズと遅延を著しく削減しながらも、競争力のある精度を維持できるか?

主な発見

  • 1-2 BFCN は PASCAL VOC 2012 で62.8%の平均IoU、Cityscapes で57.4%を達成し、それぞれ32ビットベースラインと比べて7.4%および7.8%以内の性能差にとどまる。
  • CPU では 1-2 BFCN が 32ビットモデルと比較して7.8倍高速に動作し、Tegra K1 では推論時間が9681 msから1237 msに短縮された。
  • 1-2 BFCN はパラメータ保存にわずか4.3 MBを要し、32ビットモデルの137.7 MBと比較して32倍の削減が達成された。
  • FPGA では 1-2 BFCN が32ビットモデルが要するリソースの1%未満を消費し、優れたハードウェア効率を示した。
  • 残差再構築と線形ビット幅減少を用いた2ビット BFCN は、VOC 2012 で67.0%の平均IoUを達成し、通常のバージョンと比較して7.4%の向上を示した。
  • 性能劣化は、細かく分類されるクラス(例:ボトル、ソファー、列車)で顕著に現れるが、大規模で頻出するクラス(例:空、車)は高い正確性を維持している。

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

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

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

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