Skip to main content
QUICK REVIEW

[論文レビュー] Training wide residual networks for deployment using a single bit for each weight

Mark D. McDonnell|arXiv (Cornell University)|Feb 23, 2018
Advanced Neural Network Applications被引用数 42
ひとこと要約

本論文は、推論時に各層ごとに固定のウェイトスケーリングを適用することで、1ビット・パー・ウェイトのまま広い残差ネットワークを訓練し、CIFAR-10/100、SVHN、ImageNet32、ImageNetで高い精度を達成するとともに、フル精度のベースラインと競合する性能を示す。

ABSTRACT

For fast and energy-efficient deployment of trained deep neural networks on resource-constrained embedded hardware, each learned weight parameter should ideally be represented and stored using a single bit. Error-rates usually increase when this requirement is imposed. Here, we report large improvements in error rates on multiple datasets, for deep convolutional neural networks deployed with 1-bit-per-weight. Using wide residual networks as our main baseline, our approach simplifies existing methods that binarize weights by applying the sign function in training; we apply scaling factors for each layer with constant unlearned values equal to the layer-specific standard deviations used for initialization. For CIFAR-10, CIFAR-100 and ImageNet, and models with 1-bit-per-weight requiring less than 10 MB of parameter memory, we achieve error rates of 3.9%, 18.5% and 26.0% / 8.5% (Top-1 / Top-5) respectively. We also considered MNIST, SVHN and ImageNet32, achieving 1-bit-per-weight test results of 0.27%, 1.9%, and 41.3% / 19.1% respectively. For CIFAR, our error rates halve previously reported values, and are within about 1% of our error-rates for the same network with full-precision weights. For networks that overfit, we also show significant improvements in error rate by not learning batch normalization scale and offset parameters. This applies to both full precision and 1-bit-per-weight networks. Using a warm-restart learning-rate schedule, we found that training for 1-bit-per-weight is just as fast as full-precision networks, with better accuracy than standard schedules, and achieved about 98%-99% of peak performance in just 62 training epochs for CIFAR-10/100. For full training code and trained models in MATLAB, Keras and PyTorch see https://github.com/McDonnell-Lab/1-bit-per-weight/ .

研究の動機と目的

  • 精度の大幅な低下を招くことなく、1ビット・パー・ウェイトのネットワークを用いてデプロイ時のメモリとエネルギーコストを劇的に削減することを目指す。
  • 推論時に1ビットウェイトを有効にしつつ、訓練効率を維持する訓練戦略を開発する。
  • 訓練中の勾配と活性化のスケーリングを適切に維持するため、層ごとのシンプルなスケーリングを探る。
  • バッチ正規化のスケール/オフセットパラメータを学習しないことが、過学習しやすいデータセットに与える影響を調査する。
  • 1ビット重みで競争力のある結果を達成するための実用的な訓練とアーキテクチャの調整を提供する。

提案手法

  • 基準としてwide residual networksを使用し、訓練中に畳み込み層ごとに重みの符号に単純な固定スケーリングを適用する。
  • SGDを用いてフル精度の重み更新で訓練する一方、順伝播/逆伝播は、各層専用の定数でスケーリングされた重みの符号を使用する(その定数はHe初期化の標準偏差と等しい)。
  • 最終の重み層を、バッチ正規化とグローバル平均プーリングに続く1x1畳み込みに置換し、デプロイ時の1ビットストレージを可能にする。
  • 1ビット-per-weightモデルの収束を加速させるため、ウォームリスタート学習率スケジュールを採用する。
  • CIFAR-10/100とSVHNでは、過学習を抑制するためにバッチ正規化のスケール/オフセットを学習しない。
  • 精度向上のためにCIFAR-10/100でcutoutデータ拡張を任意で適用する。

実験結果

リサーチクエスチョン

  • RQ1標準的な視覚ベンチマークで、1ビット・パー・ウェイトのネットワークはフル精度の残差ネットワークにどれだけ近づくことができるか。
  • RQ2単純な層ごとのウェイトスケーリングは、ハードウェアの複雑さを最小限に抑えつつ、効果的な1ビット訓練と推論を可能にするか。
  • RQ3バッチ正規化のスケールとオフセットパラメータを学習しないことが、モデル性能と過学習に与える影響はどのようか。
  • RQ4ウォームリスタート学習率スケジュールは、1ビット-per-weightネットワークの訓練をフル精度に近い性能へ加速させるか。

主な発見

  • CIFAR-10/100では、1ビット・パー・ウェイトのWide ResNetsは従来の1ビット手法よりもエラー率を大幅に低減し、従来のギャップを半減する。
  • CIFARでは、20-10幅の1ビットネットワークはCIFAR-10で4.72%、CIFAR-100で19.35%のエラーを達成し、フル精度の4.22%と18.76%に対してそれぞれ相対して。
  • cutout augmentationと1ビット重みによって、CIFAR-10/100の結果は20-10幅でそれぞれ3.92%と18.51%に改善。
  • ImageNet32とフル ImageNet では、1ビット-per-weightモデルはImageNet32で41.26%/19.08%(Top-1/Top-5)、フルImageNetではマルチクロップテストで26.04/8.48(Top-1/Top-5)を達成し、メモリ制約を考慮して競争力のある性能を示す。
  • フル精度と1ビット・パー・ウェイトの精度のギャップは、フル精度のエラーレートが高くなるにつれて広がる傾向があるが、より強力なフル精度ベースラインから開始し、提案されたスケーリング手法を使用することで縮小される。
  • CIFAR-10/100やSVHNのような過学習しやすいデータセットでは、バッチ正規化のスケール/オフセットパラメータを学習しないことが顕著な改善をもたらし、特に温リスタートと組み合わせると効果的である。

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

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

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

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