Skip to main content
QUICK REVIEW

[論文レビュー] DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients

Shuchang Zhou, Yuxin Wu|arXiv (Cornell University)|Jun 20, 2016
Advanced Neural Network Applications参考文献 26被引用数 1,796
ひとこと要約

DoReFa-Netは、勾配を確率的に量子化することにより、低ビット幅の重み・活性化・勾配を用いてCNNを訓練し、SVHNとImageNetで競争力のある精度を達成可能なビット畳み込みアクセラレーションを実現する。

ABSTRACT

We propose DoReFa-Net, a method to train convolutional neural networks that have low bitwidth weights and activations using low bitwidth parameter gradients. In particular, during backward pass, parameter gradients are stochastically quantized to low bitwidth numbers before being propagated to convolutional layers. As convolutions during forward/backward passes can now operate on low bitwidth weights and activations/gradients respectively, DoReFa-Net can use bit convolution kernels to accelerate both training and inference. Moreover, as bit convolutions can be efficiently implemented on CPU, FPGA, ASIC and GPU, DoReFa-Net opens the way to accelerate training of low bitwidth neural network on these hardware. Our experiments on SVHN and ImageNet datasets prove that DoReFa-Net can achieve comparable prediction accuracy as 32-bit counterparts. For example, a DoReFa-Net derived from AlexNet that has 1-bit weights, 2-bit activations, can be trained from scratch using 6-bit gradients to get 46.1\% top-1 accuracy on ImageNet validation set. The DoReFa-Net AlexNet model is released publicly.

研究の動機と目的

  • CNNの訓練および推論における計算コストとメモリ使用量の削減を動機づける。
  • 重み・活性化・勾配を低ビット幅へ量子化する方法を提案する。
  • 前向きと逆伝搬の両方のパスで高速なビット畳み込みカーネルを実現する。
  • 低ビット幅ネットワークがSVHNとImageNetで32ビットのベースラインに近い精度を達成できることを示す。

提案手法

  • 前方および後方の畳み込みが低ビット幅の重みと活性化/勾配で動作するDoReFa-Netを導入する。
  • 固定小数点ビットワイズ畳み込みカーネルを用いて内積を効率的に計算する(式3)。
  • 重み・活性化・勾配を量子化するためにストレートスルー推定器(STE)を適用する(式5–6, 7–8, 11–12)。
  • 重みと活性化を決定論的に量子化し、勾配には勾配認識スケーリングと一様ノイズを加えてバイアスを低減する確率的量子化を用いる(式12)。
  • Wビット重み、Aビット活性化、Gビット勾配を用いたL層DoReFa-Netの訓練アルゴリズム(Algorithm 1)を提供する。
  • 最初の層/最後の層の特別な処理と、メモリフットプリントを削減するための非線形性/丸め操作の融合を検討する。

実験結果

リサーチクエスチョン

  • RQ1低ビット幅の重み・活性化・勾配を用いて、精度の大きな低下なくCNNをエンドツーエンドで訓練できるか。
  • RQ2挑戦的なデータセットで予測性能を保つための重み・活性化・勾配のビット幅構成は何か。
  • RQ3最初/最後の層の量子化とネットワーク幅はDoReFa-Netの精度にどのような影響を与えるか。
  • RQ4低ビット幅ネットワークに対してビット畳み込みカーネルは訓練と推論をどの程度高速化できるか。

主な発見

WAGTraining ComplexityInference ComplexityStorage Relative SizeAlexNet Accuracy
1167110.395
1189110.395
1132-110.279 (BNN)
1132-110.442 (XNOR-Net)
1132-110.401
1132-110.436 (initialized)
1268210.461
12810210.463
1232-210.477
1232-210.498 (initialized)
1369310.471
1332-310.484
146-410.482
1432-410.503
1432-410.530 (initialized)
888--80.530
323232--320.559
  • DoReFa-Netは低ビット幅の重みと活性化を用い、低ビット幅の勾配を使ってCNNを訓練しても、適切なビット幅(例:ImageNetの1ビット重み、2ビット活性化、6ビット勾配など)を用いれば、SVHNとImageNetで32ビットベースラインと同等の精度を達成できる。
  • 勾配は一般に活性化より大きいビット幅を必要とし、活性化よりも重みの方が少ない精度低下に抑えられるようにするのが望ましい。
  • ImageNetでは活性化のビット幅を1から2または4ビットへ増やすと精度が大幅に改善され、6ビット勾配は32ビット勾配に近い訓練曲線を提供する。
  • 最初の畳み込み層と最後の全結合層を低ビット幅に量子化すると、特に狭いモデルで著しい精度低下が生じるため、これらの層は実務では通常高精度のまま残される。
  • DoReFa-NetのAlexNetバリアント(1ビット重み、2ビット活性化、6ビット勾配)は、初期学習時にILSVRC12の検証でトップ1精度46.1%を達成した。

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

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

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

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