Skip to main content
QUICK REVIEW

[論文レビュー] XNOR-Net: ImageNet Classification Using Binary Convolutional Neural Networks

Mohammad Rastegari, Vicente Ordóñez|arXiv (Cornell University)|Mar 16, 2016
Advanced Neural Network Applications参考文献 36被引用数 285
ひとこと要約

本論文は、Binary-Weight-NetworksとXNOR-Networksを提案し、重みを二値化(XNORは入力も二値化)することで、メモリと計算量を大幅に削減しつつ、ImageNetの精度をほぼフル精度ネットワークと同程度に保つ。XNOR-Netsはリソース制約下のデバイス上でCPUベースのリアルタイム推論を可能にする。

ABSTRACT

We propose two efficient approximations to standard convolutional neural networks: Binary-Weight-Networks and XNOR-Networks. In Binary-Weight-Networks, the filters are approximated with binary values resulting in 32x memory saving. In XNOR-Networks, both the filters and the input to convolutional layers are binary. XNOR-Networks approximate convolutions using primarily binary operations. This results in 58x faster convolutional operations and 32x memory savings. XNOR-Nets offer the possibility of running state-of-the-art networks on CPUs (rather than GPUs) in real-time. Our binary networks are simple, accurate, efficient, and work on challenging visual tasks. We evaluate our approach on the ImageNet classification task. The classification accuracy with a Binary-Weight-Network version of AlexNet is only 2.9% less than the full-precision AlexNet (in top-1 measure). We compare our method with recent network binarization methods, BinaryConnect and BinaryNets, and outperform these methods by large margins on ImageNet, more than 16% in top-1 accuracy.

研究の動機と目的

  • ImageNetで大きな精度低下を招くことなく、リソース制約下のデバイスに適した効率的なCNNを動機づける。
  • 2つの二値化スキームを提案する:Binary-Weight-Networks(重みが二値)とXNOR-Networks(重みと入力が二値)。
  • 二値近似が競争力のあるImageNet性能と大幅な高速化・メモリ節約を達成し得ることを示す。

提案手法

  • スケーリング係数を用いた二値演算で畳み込みを近似する;Binary-Weight-Networksでは W ≈ αB, ただし B ∈ {+1,−1}^n および α ∈ R^+。
  • 最適な B を sign(W) として、α を (1/n) ||W||_1 として導出する。
  • フォワード/バックワード伝搬中に重みを二値化してBinary-weight networksを訓練する一方、更新には実数値の重みを保持する。
  • 入力と重みの両方を二値化するXNOR-Networksへ拡張する;ドット積をXNORとビットカウントで近似し、サブテンソルごとに β および α のスケーリング因子を用いる。
  • 入力の平均絶対値を正規化カーネルと畳み込んで、すべてのサブテンソルにわたるスケーリングを得ることで β を効率的に計算する。
  • Binary activation/gradientフレームワークでXNOR-Networksを訓練し、二値畳み込みの後に非二値活性化を許可して精度を向上させる。

実験結果

リサーチクエスチョン

  • RQ1二値重みで訓練されたCNNはImageNetで競争力のある精度を維持できるか?
  • RQ2完全に二値化されたネットワーク(重みと入力)は、精度を維持しつつCPU上で大幅なスピードアップを提供するか?
  • RQ3訓練と推論での二値スケーリング因子の使用と二値化のトレードオフは何か?
  • RQ4Binary-Weight-NetworksとXNOR-Networksは、大規模データセットに対する従来の二値化手法とどう比較されるか?

主な発見

  • 実験では Binary-Weight-Networks が ImageNet でフル精度の AlexNet の精度に匹敵する。
  • XNOR-Networks はメモリを大幅に削減し、CPUベースのリアルタイム推論を実現する大幅なスピードアップを可能にする(高精度演算に関しては最大約58×と報告)。
  • XNOR-Nets は ImageNet の top-1 精度で従来の二値法ベースライン(BinaryConnect および BinaryNet)を大幅に上回り、相対改善が16%以上とされる。
  • 重みのスケーリング因子(α)を含めることは、入力のスケーリング(β)より精度に対して影響が大きい。
  • トレーニングで二値勾配を用いるBinary-gradientバリアントは、報告設定でトップ1精度を約1.4%程度しか低下さない。
  • 実験は AlexNet、ResNet-18、GoogLeNet の変種を対象とし、フル精度から二値表現へ移行する際の劣化は様々であることを示す。

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

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

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

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