Skip to main content
QUICK REVIEW

[論文レビュー] BinaryConnect: Training Deep Neural Networks with binary weights during propagations

Matthieu Courbariaux, Yoshua Bengio|PolyPublie (École Polytechnique de Montréal)|Nov 2, 2015
Advanced Neural Network Applications参考文献 44被引用数 1,829
ひとこと要約

BinaryConnectは、順伝播および誤差逆伝播の際にバイナリ重み(+1または-1)を用いて深層ニューラルネットワークを訓練するが、勾配蓄積にはフル精度の重みを維持する。この手法は、MNIST、CIFAR-10、SVHNにおいて準SOTA(SOTAに近い)の精度を達成しており、高精度の勾配更新を伴うバイナリ重みが、最小限の精度損失で特殊化されたハードウェアに最適な効率的な訓練を可能にすることを示している。

ABSTRACT

Deep Neural Networks (DNN) have achieved state-of-the-art results in a wide range of tasks, with the best results obtained with large training sets and large models. In the past, GPUs enabled these breakthroughs because of their greater computational speed. In the future, faster computation at both training and test time is likely to be crucial for further progress and for consumer applications on low-power devices. As a result, there is much interest in research and development of dedicated hardware for Deep Learning (DL). Binary weights, i.e., weights which are constrained to only two possible values (e.g. -1 or 1), would bring great benefits to specialized DL hardware by replacing many multiply-accumulate operations by simple accumulations, as multipliers are the most space and power-hungry components of the digital implementation of neural networks. We introduce BinaryConnect, a method which consists in training a DNN with binary weights during the forward and backward propagations, while retaining precision of the stored weights in which gradients are accumulated. Like other dropout schemes, we show that BinaryConnect acts as regularizer and we obtain near state-of-the-art results with BinaryConnect on the permutation-invariant MNIST, CIFAR-10 and SVHN.

研究の動機と目的

  • 前方伝播および逆伝播中にバイナリ重みを用いることで、低消費電力デバイスにおける深層ニューラルネットワークの効率的な訓練と推論を可能にすること。
  • 乗算累積演算を単純な加算に置き換えることで、計算複雑性とハードウェアコストを低減すること。
  • 高精度の勾配蓄積により、バイナリ重みの制約にもかかわらず高いモデル精度を維持すること。
  • バイナリ重みが正則化として機能し、深層ネットワークの一般化性能を向上させるかどうかを検証すること。
  • 通常のビジョンベンチマークで、伝搬中にフル精度の重み更新を行わない状態でもバイナリ重みでの訓練の可能性を実証すること。

提案手法

  • BinaryConnectは、前方伝播および逆伝播中に重みを±1に制限し、乗算累積演算を加算に置き換える。
  • 実数値の保存重みは、高精度形式で蓄積された勾配を用いた確率的勾配降下法で更新される。
  • バイナリ化は決定的符号関数により実行される:w_b = sign(w),ここでwは実数値の重みである。
  • 確率的勾配降下法のノイズ耐性を活用し、重みの離散化が正則化の一種として機能することを活用する。
  • 勾配はバイナリ重みを用いて計算され逆伝播されるが、保存重みの更新にはフル精度の勾配が使用される。
  • このアプローチはバッチ正則化やADAM最適化などの標準的な深層学習手法と互換性があり、TheanoおよびPylearn2を用いて実装されている。

実験結果

リサーチクエスチョン

  • RQ1前方伝播および逆伝播中にバイナリ重みのみを用いて、深層ニューラルネットワークを効果的に訓練できるか?
  • RQ2推論および誤差逆伝播中にバイナリ重みを使用すると、一般化性能が向上する正則化として機能するか?
  • RQ3フル精度の乗算累積演算をバイナリ加算に置き換えた場合、モデル精度をどの程度維持できるか?
  • RQ4バイナリ重みの使用は、三値重みや期待値逆伝播などの他の量子化手法と比較して、精度およびハードウェア効率の面で優れているか?
  • RQ5この手法は、CIFAR-10 や SVHN といったより大きなデータセットおよび畳み込みネットワークに拡張可能か?性能劣化は顕著でないか?

主な発見

  • 順列不変MNISTでは、テスト誤差率が1.44%に達し、SOTAに近い性能を示している。
  • CIFAR-10では、テスト誤差率が12.0%に達しており、バイナリ重み手法としては準SOTAの水準である。
  • SVHNでは、テスト誤差率が11.7%に達しており、より複雑なデータセットでも優れた性能を示している。
  • 訓練中に乗算の数を約三分の二削減でき、計算効率が顕著に向上している。
  • 伝搬中にバイナリ重みを使用し、高精度の保存重みを併用することで、安定した訓練と良好な一般化が可能である。
  • バッチ正則化、ReLU活性化関数、ADAM最適化などの標準的な深層学習技術と互換性がある。

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

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

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

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