Skip to main content
QUICK REVIEW

[論文レビュー] BoolNet: Minimizing The Energy Consumption of Binary Neural Networks

Nianhui Guo, Joseph Bethge|arXiv (Cornell University)|Jun 13, 2021
Advanced Neural Network Applications参考文献 43被引用数 12
ひとこと要約

BoolNetは、32ビットのバッチ正規化、アイデンティティショートカット、32ビットの特徴マップといった主な32ビットコンponentsをすべてバイナリ演算およびブール論理に置き換えることで、新たなバイナリニューラルネットワークアーキテクチャを提案する。これにより、Bi-RealNetと比較してエネルギー消費を4.6倍削減し、ImageNetではトップ1精度が1.2%向上する。

ABSTRACT

Recent works on Binary Neural Networks (BNNs) have made promising progress in narrowing the accuracy gap of BNNs to their 32-bit counterparts. However, the accuracy gains are often based on specialized model designs using additional 32-bit components. Furthermore, almost all previous BNNs use 32-bit for feature maps and the shortcuts enclosing the corresponding binary convolution blocks, which helps to effectively maintain the accuracy, but is not friendly to hardware accelerators with limited memory, energy, and computing resources. Thus, we raise the following question: How can accuracy and energy consumption be balanced in a BNN network design? We extensively study this fundamental problem in this work and propose a novel BNN architecture without most commonly used 32-bit components: extit{BoolNet}. Experimental results on ImageNet demonstrate that BoolNet can achieve 4.6x energy reduction coupled with 1.2\% higher accuracy than the commonly used BNN architecture Bi-RealNet. Code and trained models are available at: https://github.com/hpi-xnor/BoolNet.

研究の動機と目的

  • バイナリニューラルネットワーク(BNN)における精度とハードウェア効率の不均衡を是正すること、特にエネルギーを多く消費する32ビットコンponentsに起因するものである。
  • バッチ正規化、スケーリング、32ビットショートカットなどの32ビットレイヤーがBNNのエネルギー消費とハードウェア効率に与える影響を調査すること。
  • 精度を損なわずにエネルギー効率を向上させるために、最小限の32ビットコンponentsを有するBNNアーキテクチャを設計すること。
  • 特徴マップとショートカットのバイナリ化に起因する表現能力の損失を緩和するためのマルチスライス戦略を開発すること。
  • 理論的FLOPsだけでは実世界の効率を十分に示せないことを示すことであり、メモリアクセスとハードウェアエネルギーコストが重要な要因である。

提案手法

  • ショートカットの原点をバッチ正規化からシグン関数に移動させることで、32ビット特徴マップとアイデンティティショートカットを1ビットバイナリ特徴マップに置き換える。
  • 加算演算のMAddsを排除するため、32ビット加算の代わりにブール論理演算(XNORとビットカウント)を用いて特徴マップの集約を行う。
  • バッチ正規化レイヤーをシグン関数に統合する損失なし変換を実施し、推論時の計算およびメモリオーバーヘッドを削除する。
  • PReLu、平均プーリング、バイナリダウンサンプリング畳み込みなど、32ビット演算をバイナリまたは論理ベースの代替に置き換える。
  • 特徴マップを複数のバイナリスライスに分割することで、より豊かな表現を可能にしつつもバイナリ計算を維持するマルチスライス戦略を導入する。
  • DRAMアクセスとコンponentレベルのエネルギーコストに注目した、ハードウェアアクセラレータシミュレーションを用いてエネルギー消費を評価する。

実験結果

リサーチクエスチョン

  • RQ1バッチ正規化、スケーリング、32ビットショートカットなどの32ビットコンponentsが、BNNのエネルギー消費とハードウェア効率に与える影響は何か?
  • RQ2最小限の32ビットコンponentsを有するBNNが、完全にバイナリ情報フローを採用した状態で高い精度を達成できるか?
  • RQ332ビット演算をバイナリまたはブール論理演算に置き換えることで、エネルギー効率と精度にどのような影響があるか?
  • RQ4マルチスライス戦略は、特徴マップとショートカットのバイナリ化に起因する精度の低下をどのように緩和するか?
  • RQ5特にメモリアクセスがエネルギー消費を支配する場合、理論的FLOP数と実際のエネルギー消費との相関はどの程度か?

主な発見

  • BoolNetは、Bi-RealNetと比較してエネルギー消費を4.6倍削減し、ImageNet推論で0.84 mJを達成した。
  • 1ビット特徴マップのみを用いても、BoolNetはImageNetでトップ1精度57.6%を達成し、Bi-RealNetの56.4%を1.2%上回った。
  • 32ビットPReLuとInt8バッチ正規化のエネルギー消費は、それぞれバイナリ畳み込みの26%および50%であり、それらの非効率性が顕著に表れている。
  • BoolNetの最終段階にドレーションを導入することで、精度が2%向上(59.6%)し、Bi-RealNetと比較してエネルギー消費を3.3倍削減した。
  • k=4のマルチスライス戦略は、完全にバイナリのベースラインと比較して精度低下を6.2%削減し、最小限の32ビットコンponentsで高い性能を維持した。
  • ハードウェアシミュレーションの結果、DRAMアクセスがエネルギー消費を支配しており、BoolNetの最小限のメモリフットprintが、顕著に低いDRAMアクセスとエネルギー消費をもたらした。

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

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

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

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