レビュー2020年を定量化するためのバイナリニューラルネットワークモデル

BNNのレビュー2020

コンピューティングデバイスの端にあるバイナリニューラルネットワークの計算コスト削減ストレージと展開。しかし、二値化は、情報の重大な損失をもたらす。不連続を最適化することは困難です。
直接に元の溶液を二値化し、量子化誤差の使用が最小化され、ネットワークを改善し、損失関数の勾配誤差技法そのような最適解を減らします。
また、ハードウェアに優しい設計と訓練技術などのバイナリニューラルネットワークの他の実用的な側面を探索します。
画像分類、オブジェクト検出および議論し、評価セグメンテーションセマンティック異なるタスクを含みます。将来の研究に見ると、顔にそう挑戦します。

背景

プルーニングパラメータ、量子化パラメータ、低いランク分解、移動/圧縮蒸留畳み込みフィルタと知識:深いネットワークを圧縮するための方法は、5つのカテゴリーに分けることができます。

それだけで2つの可能な値、すなわち、1(0)または+1を有する2進数の1ビットの量子化データです。バイナリ圧縮を使用した後、ネットワークの重みと大量のメモリを占有することなく、明示により活性化することができます。
さらに、バイナリネットワークを2値化し、軽量使用しBITCOUNTは面倒算術積和XNOR動作の代わりに、浮動小数点ビットできます。
CPU上でXNORネット加速度の畳み込みを使用して32倍に、圧縮比を58倍に達することができます。
ここに画像を挿入説明

分類

ここに画像を挿入説明

単純なバイナリニューラルネットワーク

BinaryConnect二値化ニューラルネットワーク
ビット演算ニューラルネットワーク

バイナリーニューラルネットワークの3.2ベースの最適化

通常の練習は、量子化誤差と活性化の重量を軽減することです。これはするための簡単な解決策である
、ある標準、と同様のメカニズムを定量化量子化パラメータは、完全な精度パラメータの近くにする必要がありますそして、バイナリニューラルネットワークモデルは、モデルの完全な精度で所望の性能に近いです。

3.2.1量子化誤差を最小化します

ここに画像を挿入説明
ここに画像を挿入説明

3.2.2ネットワークの損失機能を改善

グローバルバイナリパラメータの損失の影響を無視して一般的なバイナリプログラムは、正確な近似部分フロートにのみ焦点を当てます。当該一層のみでは精度の一連の層の後に最終的な出力を確保することが困難です。そのため、グローバルトレーニングネットワークは、バイナリおよび特定のミッションの目的を考慮できるようにする必要があります。

認知損失項目を増やします

LAB)(INQ)

知識蒸留

(DQ)(DBNN)CI-BCNN
ここに画像を挿入説明
ここに画像を挿入説明

3.2.3勾配誤差低減

勾配関数と生成された勾配STEの符号間の明白な不一致。また、問題がある:[ - 1、+ 1]の範囲外のパラメータが更新されません。
ここに画像を挿入説明

改善された定量化勾配ソルバー

バイ実ApproxSignは勾配バックプロパゲーションを計算する符号関数を置き換えるためにカスタム機能を提供します

ベクトル化の前に改善を解きます

ゴングらソフト量子化(DSQ)の代わりに、伝統的な関数の微分法、量子化された軟量子化関数:
ここに画像を挿入説明

3.3効率的なバイナリニューラルネットワークコンピューティングアーキテクチャ

ここに画像を挿入説明

3.5バイナリニューラルネットワークのトレーニングのヒント

ネットワーク構成、最適化、及び超パラメータ選択、勾配近似および漸近側面からコンバータは、文献に広く使用される一般的な量子効率的なバイナリニューラルネットワークのトレーニング方法をまとめました。

3.5.1ネットワークの再構築

{1、+ 1}への権利重量のモデル二値化および活性化。これは、ネットワーク構造が有効な合理的変更のデータ配信方式を調整することであるので、二値化データの分布が変化することは、実際にデータの正則化と等価です。

ネットワーク性能リオーダ層は、バイナリニューラルネットワークを向上させることができます

  • 層は情報の損失につながる二値化後の最大のプールのコンボリューションすることで回避することができた直後にプールされた層を使用してください。実験は、再配置位置が大幅に精度が向上していることを示しています。

  • TSQ及び全てのバッチの前に挿入された量子化動作HWGQは、データ層を補正するために正規化。この変換後、量子化された入力オベイの安定分布(時々近いガウス分布)に、合理的な範囲内で、従って平均および分散のままであり、トレーニングプロセスがスムーズになります。

  • 各入力機能図畳み込みに接続する双方向リアルタイム後続ネットワーク

  • これにより、データの分布を変化させる、各レイヤのネットワークフィルタの数を増加させる低精度ネットワーク(WRPN)を、拡幅

3.5.2オプティマイザと超好み

アダムはより速く、より良いトレーニングプロセスを利用することができ、及び二次微分の平滑化係数は、特に重要です。

履歴情報は、確率的勾配降下法などの固定学習率の最適化、(SGD)アルゴリズム、パフォーマンスを改善するために、データの大規模バッチを使用する必要が考慮されていない場合。
同時に、バッチ正規化の設定勢い要因も重要です。異なる運動量係数下の結果の精度を比較することによって、それは動作による二値化ジッタを適合させるために正規化適宜設定パラメータバッチに必要見つけることができます。

3.5.3漸近的量子化

量子化動作はバイナリリードのパラメータによって性能の損失を最小限にするために程度を定量化するために増加させる、トレーニング、定量的な戦略を使用して多くの漸近法に悪影響を与えます。
例えば、パラメータは、INQにグループ化され、徐々に進行性の量子化ベースのグループを達成するために、量子化グループ参加の数を増加させます。
効果的な低ビット幅畳み込みニューラルネットワークに向けて訓練プロセスの量子化誤差パラメータの勾配を補償するために、量子化精度の精度が低下することが提案されています。

3.5.4勾配近似

推定の使用を通して、通常誤差の勾配バックプロパゲーションの存在下であるため。発見近い二値化関数近似機能はシンプルで実用的なソリューションです。

分析の結果

分類

ここに画像を挿入説明

ここに画像を挿入説明

CIBCNN CBCN BCGD

分析

  • 大きなバイナリの影響の活性化
    主モチベーションPACT研究RADのように。活性化正則化の合理的分布を添加した後、自然増加精度が続くバイナリ対の活性化によって引き起こされる有害な影響を減少させます。
  • その構造堅牢2つのニューラルネットワークは、関連性の高い
    接続構造はバイ実及びブロック情報は、実質的に全体のネットワークを介して可能になることでWRPNに広く提案しています。構造的修飾がXNOR-BITCOUNT操作から演算量が、利益を上げることができるが、それらは依然として大幅に加速することができます。
  • 具体的にはBNNの特別な特性のために設計された
    、このようなXNORネット++、CBCN、自己として -Binarizingネットワーク、BENN ように。
  • 一般的な手順
    例えばスケールファクタ、逆平滑化近似、追加の構造的な接続。これらの方法は、簡単かつ低結合形態であるため
    、設計又は細かい量子化、いくつかの複雑な計算あるいは多段トレーニングパイプライン、時々ハードウェア再現する非友好的な困難を学習することによって。

検出

ここに画像を挿入説明

分析

バイナリの損失によって引き起こされる局所的特性を無視して分類タスクでは、ネットワークは、よりグローバルな特徴を懸念しています。しかし、他のタスクの中でより重要な局所特徴。他のタスクのためのバイナリーニューラルネットワークを設計するときしたがって、我々は地元の機能特性マップにもっと注意を払う必要があります。

https://mp.weixin.qq.com/s/QGva6fow9tad_daZ_G2p0Q
定量化レビュー2018
https://www.jiqizhixin.com/articles/2018-06-01-11
https://chenrudan.github.io/blog/2018 /10/02/networkquantization.html

公開された452元の記事 ウォンの賞賛271 ビュー730 000 +

おすすめ

転載: blog.csdn.net/qq_35608277/article/details/104905801