Skip to main content
QUICK REVIEW

[論文レビュー] Self-Binarizing Networks

Fayez Lahoud, Radhakrishna Achanta|arXiv (Cornell University)|Feb 2, 2019
Advanced Memory and Neural Computing参考文献 34被引用数 23
ひとこと要約

この論文では、非微分可能な符号関数の代わりに滑らかで鋭くなる双曲正接活性化関数を用いることで、深層ニューラルネットワークが自己二値化する方法、Self-Binarizing Networksを提案する。浮動小数点と二値モードを交互に切り替える必要を避け、バッチ正規化を比較ベースの操作に置き換えることで、CIFAR-10、CIFAR-100、ImageNetで最先端の精度を達成するとともに、低精度ハードウェア上で完全に二値の推論が可能になる。

ABSTRACT

We present a method to train self-binarizing neural networks, that is, networks that evolve their weights and activations during training to become binary. To obtain similar binary networks, existing methods rely on the sign activation function. This function, however, has no gradients for non-zero values, which makes standard backpropagation impossible. To circumvent the difficulty of training a network relying on the sign activation function, these methods alternate between floating-point and binary representations of the network during training, which is sub-optimal and inefficient. We approach the binarization task by training on a unique representation involving a smooth activation function, which is iteratively sharpened during training until it becomes a binary representation equivalent to the sign activation function. Additionally, we introduce a new technique to perform binary batch normalization that simplifies the conventional batch normalization by transforming it into a simple comparison operation. This is unlike existing methods, which are forced to the retain the conventional floating-point-based batch normalization. Our binary networks, apart from displaying advantages of lower memory and computation as compared to conventional floating-point and binary networks, also show higher classification accuracy than existing state-of-the-art methods on multiple benchmark datasets.

研究の動機と目的

  • 符号活性化関数が勾配がゼロとなるため、標準的な誤差逆伝播法が不可能になる二値ニューラルネットワークの訓練における課題に対処すること。
  • 訓練中に浮動小数点と二値表現を交互に切り替える必要をなくし、非効率で近似誤差を生じる問題を回避すること。
  • 浮動小数点演算を必要とする従来のバッチ正規化を、二値互換性がありメモリ効率の良い比較ベースの代替手段に置き換えること。
  • すべての浮動小数点演算を排除することで、マイコンや低精度チップ上での完全な二値ネットワークのデプロイを可能にすること。
  • 低メモリおよび計算コストを維持しつつ、既存のバイナリゼーション手法を上回る分類精度を達成すること。

提案手法

  • 学習可能なスケーリング係数νを有するスケーリングされた双曲正 tangent 関数 tanh(νx) を使用し、訓練中にνを増加させることで、徐々に符号関数に近づく活性化関数を実現する。
  • 浮動小数点表現の1つの連続的で、微分可能な形式でエンドツーエンドにバックプロパゲーションを用いて訓練することで、二値と浮動小数点のモードを切り替える必要を排除する。
  • 標準バッチ正規化を置き換えるために、新しいバイナリバッチ正規化(BinaryBN)層を導入し、単純な比較演算で実装する:出力 = (x > T) ? 1 : -1、ここでTはチャネルごとの学習可能なしきい値である。
  • BinaryBN層は1層あたり1つの8ビットしきい値と1つのバイナリスケールを格納するだけで、標準BNの128cビットと比較して9cビットにメモリ使用量を削減する。
  • バッチ正規化内でのすべての浮動小数点演算を排除することで、マイコンや低精度統合回路上での完全な二値推論を可能にする。
  • VGGおよびAlexNetアーキテクチャを用いて、CIFAR-10、CIFAR-100、ImageNetベンチマークで検証を行い、精度、メモリ、計算量の観点から性能を評価した。

実験結果

リサーチクエスチョン

  • RQ1連続的で微分可能な活性化関数を用いて、深層ニューラルネットワークが自己二値化させ、徐々に二値に近づくことは可能か?
  • RQ2浮動小数点と二値表現の間を交互に切り替える訓練方式を避けることで、訓練の安定性と最終的なモデル精度が向上するか?
  • RQ3バッチ正規化を、二値互換性があり、浮動小数点演算を排除した比較ベースの操作に置き換えることは可能か? その場合、性能を維持できるか?
  • RQ4得られたネットワークは、標準ベンチマークで最先端の精度を達成できるか? また、低精度ハードウェア上で完全にデプロイ可能か?
  • RQ5符号関数によるハードバイナリゼーションと比較して、鋭くなる双曲正 tangent 関数によるソフトバイナリゼーションは、重み分布の進化と最終的な性能においてどのように異なるか?

主な発見

  • 提案された自己二値化ネットワークは、CIFAR-10、CIFAR-100、ImageNetベンチマークで、既存の最先端のバイナリゼーション手法を上回る分類精度を達成した。
  • CIFAR-10では、VGG-16でトップ1精度92.1%を達成し、XNOR-Net や BWN といった先行手法を上回った。
  • BinaryBN層は1層あたり9cビット(標準BNの128cビットと比較)にメモリ使用量を削減し、ストレージ要件を93%削減した。
  • BinaryBN層は比較演算とビットシフトのみで2chwの演算を実行し、標準BNやSBNと比較してほぼ1桁の速度向上を達成した。
  • すべての浮動小数点演算を排除することで、マイコンや低精度統合回路上での完全な二値推論が可能になった。
  • 重みヒストограмの結果から、tanh(νx)によるソフトバイナリゼーションは、初期訓練段階でゼロ中心の分布を維持しており、符号関数によるハードバイナリゼーション(sign(x))と比較して勾配の流れが良く、収束性が向上することが示された。

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

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

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

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