Skip to main content
QUICK REVIEW

[論文レビュー] Binarized Neural Networks: Training Deep Neural Networks with Weights and Activations Constrained to +1 or -1

Matthieu Courbariaux, Itay Hubara|arXiv (Cornell University)|Feb 9, 2016
Advanced Neural Network Applications参考文献 57被引用数 2,193
ひとこと要約

本論文は、学習時および推論時に重みと活性化を±1に制約する Binarized Neural Networks (BNNs) を紹介します。これにより前方伝播が効率化され、GPU/ハードウェアの加速が可能となる一方で、MNIST、CIFAR-10、SVHN において最先端近似の成果を達成します。

ABSTRACT

We introduce a method to train Binarized Neural Networks (BNNs) - neural networks with binary weights and activations at run-time. At training-time the binary weights and activations are used for computing the parameters gradients. During the forward pass, BNNs drastically reduce memory size and accesses, and replace most arithmetic operations with bit-wise operations, which is expected to substantially improve power-efficiency. To validate the effectiveness of BNNs we conduct two sets of experiments on the Torch7 and Theano frameworks. On both, BNNs achieved nearly state-of-the-art results over the MNIST, CIFAR-10 and SVHN datasets. Last but not least, we wrote a binary matrix multiplication GPU kernel with which it is possible to run our MNIST BNN 7 times faster than with an unoptimized GPU kernel, without suffering any loss in classification accuracy. The code for training and running our BNNs is available on-line.

研究の動機と目的

  • バイナリ重みと活性化を用いるニューラルネットワークの訓練を動機づけ、可能にする。
  • バイナリ制約がメモリを削減し、前方伝播中にビット演算を可能にすることを示す。
  • TORCH7 および Theano の実装で、MNIST、CIFAR-10、SVHN においてほぼ最先端の精度を示す。
  • BNNS のためのハードウェア指向の利点と GPU カーネル最適化を提案する。

提案手法

  • 重みと活性化の決定論的および確率的二値化関数を定義する。
  • 勾配を離散化(符号関数)を通して伝搬させるためにストレート・スルー・エスティメーターを用いる。
  • 乗算を減らすため、シフトベースのBatch NormalizationとシフトベースのAdaMaxを採用する。
  • -1 から 1 の間の実数重みをバイナリ化して前方伝播に使用し、実数勾配を蓄積する。
  • 二値行列乗算カーネル(XNOR-ポップカウント)とSWAR手法を実装して高速化する。
  • Torch7 と Theano で MNIST、CIFAR-10、SVHN において BNNS を訓練・評価する。

実験結果

リサーチクエスチョン

  • RQ1二値重みと活性化で訓練されたネットワークは、標準ベンチマークでほぼ最先端の精度を達成できるのか?
  • RQ2BNN の前方伝播におけるメモリとエネルギー効率の利点は、全精度ネットワークと比較してどの程度か?
  • RQ3二値化は勾配伝搬と訓練の安定性にどのように影響するか、ストレート・スルー・推定子で十分か?
  • RQ4BNNS を GPU で最大限高速化するハードウェア加速(例:XNOR-ポップカウント、SWAR)は何か?

主な発見

  • BNNs は Torch7 と Theano の実装で MNIST、CIFAR-10、SVHN でほぼ最先端の結果を達成する。
  • BNNs は前方伝播中のメモリ使用量およびメモリアクセスを劇的に削減し、多くの算術演算をビット演算に置換する。
  • 二値行列乗算 GPU カーネルは、精度を失うことなく未最適化カーネルより MNIST のBNN を七倍速く実行する。
  • シフトベースの Batch Normalization と AdaMax は、実験で精度低下を観測せずに乗算を減らせる。
  • 強いハードウェアの含意がある:二値 ConvNet では多くのフィルターが繰り返され、専用ハードウェアでさらなる高速化の可能性を開く。

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

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

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

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