理解バイ実ネットペーパー

トピック:バイ実ネット:強化の改善表象能力と高度なトレーニングAlgorithm_ECCV2018のでは1ビットのCNNsのパフォーマンスを
引用:27
コード:カフェのバージョンます。https://github.com/liuzechun/Bi-Real-net

ポイント

  • ブロックフォームショートカット接続につき一つの層を導入すること、
  • 実数演算は記号をアクティブに使用して二次関数をフィッティング、
  • 本当の本物の更新量の範囲で重いウェイトの導入、
  • 事前研修モデルではなくReLUはトレーニングもクリップ機能を使用しています

大規模なデータセットのパフォーマンスを向上させる(ILSVRC ImageNet)の

問題が生じます

値化圧縮方法は、コアの精度でImagenet大きな減少が、量子化問題で設定ような大規模なデータになります

条、精度のこの減少は主に二つの側面によるものでした:

  • 1ビットCNN発現自体が非常に制限され、ネットワークを正確値ありません。
  • デリバティブのミスマッチをトレーニング中に問題が発生した1ビットのCNNは、優れた精度に収束することを困難にしています。

ここに画像を挿入説明
まだ方法実数で生成XNORネットBITCOUNT(XNOR)の活性値は、直接バイナリ表現が失われます。それを使用する方法

改良されたネットワーク

ブロック状のショートカット接続につき一つの層

最初に直接添加畳み込み又はBN出力の次の1ビット実際の結果にブロック形式レイヤ、畳み込み又はBN出力の、すなわち現在の1ビット実際の結果に1つずつ接続ショートカットのネットワーク構造上に実装することにより、値を大きくすると、ネットワークの範囲を示す(値レンジ以下のように)、ショートカットの構造は次のとおりです。
ここに画像を挿入説明

左側は、従来のニューラルネットワークは、各パス、1ビットの畳み込みは、二値化され、図中の連続的な階調特性です。したがって、我々は、その情報がネットワーク内で実質的に保持することができるので、これらの値に渡すショートカットを使用して、図は、ネットワークの表現能力を増加させ、前記ジする前に、図の特徴量に提案します。
ここに画像を挿入説明

改善されたトレーニング方法

示されるように、順方向プロセスは、この論文で提示フレームバイナリネットワークを含むトレーニング(実際の活性化符号処理、実重みマグニチュードサイン認識動作、1ビットコンバージョン、BN等の重量)と後方処理(バイナリバイナリ重量重い重量と実際の重量ガイドの更新など)を探しています:

ここに画像を挿入説明

値化活性値の導出

誘導体のApproxSign記号として二次の導関数の符号をフィッティング

符号関数が入っていないので、以前使用法)(使用クリップ(-1、X、1)式(1)の導関数の導関数の符号に合わせてクリップのF()でありますこの計算は一致していない、いわゆる微分値の問題をもたらすだろう
ここに画像を挿入説明
しかしながら、この効果は、フォワード計算の損失はネットワークの非線形関数に印として見られ、ネットワークに起因する
と勾配の逆計算がネットワーククリップの非線形関数に従って実行されたとき計算。クリップ機能と符号関数ギャップとして、この計算方法は一致していない、いわゆる微分値の問題をもたらすだろう。
これに基づいて、我々は、それによって問題が一致していないデリバティブの価値を低下させる、誘導体の印として二次ApproxSignの導関数のフィッティングの符号を提案します。これは、12%の性能向上をもたらしました。
式:
ここに画像を挿入説明

ここに画像を挿入説明

の実際の大きさ(振幅バンド)に基づくデリバティブ

二値化時間のパラメータは、二値化パラメータが離散的であるため、更新された微分値すぎ前者の方法は、実数値パラメータは、更新時間に格納されて使用されるように、しばしば不十分で、その符号を変更します誘導体バイナリパラメータが実際の値を更新算出ネットワークパラメータは、
順方向伝搬過程において、実際の符号によって設定された数値パラメータは、二値更新されたパラメータを取得するために二値化。

誘導体の二値化値が格納されて実際の値に適用されるためしかし、物質のパラメータを更新するように決定されます。派生値化時には、ログイン機能は実際にのみ保存される実際のパラメータの兆候と考えられますが、実際のパラメータを格納する順番を考慮していない、パラメータ値の考慮事項いくつかのトレーニングので、内部の実数値ネットワーク、 0付近に集中する傾向があり、それが直接+1又は-1に二値化、計算される微分値は、ネットワークが高精度に収束することは困難であるように、参照パラメータおよびネットワークパラメータが実際に大きなギャップが更新されたネットワークを引き起こすであろう。その

バイナリ重みで一般的に小さな勾配の損失によるトレーニング段階、で、したがって、より困難な現実の重みの重量変化を引き起こします。

ここに画像を挿入説明
この観察に基づいて、我々は、訓練の時に、ネットワークストレージの考慮事項に含まための真の価値を提案しています。
重い現実の重みは情報、振幅この発表のための記事
本当の重みをトレーニング中に、すなわちがあり、それによって、ステップ実際の重量の更新を高め、実際の重みにバイナリ重み付けされた勾配を増加させることができる置き換え大きさを意識したログイン操作を操作サイン収束モデルアップヘルプ速度:

ここに画像を挿入説明
再帰式を実際の重みを更新するための最終的な重量は、次の
ここに画像を挿入説明
ここに画像を挿入説明
実際の活性化に対する損失の勾配の前記積項更新ステップサイズ、BN層係数ガンマ、バイナリ活性化、及びマグニチュード認識サイン勾配動作を制御します。勾配の大きさを意識した符号処理、すなわち、固体重量の重量にバイナリ重みは次のように表さ勾配(派生符号関数は、まだクリップ関数近似を使用):
ここに画像を挿入説明
モデル推論展開相、実際の重みの量は依然として従来のサインを使用して二値化するので操作、マグニチュード対応のログイン操作ので、その後のトレーニングモデル収束、ログイン操作が必要いくつかの追加のトレーニングエポック更新BNは層パラメータを移動する(この時点では学習率がゼロに設定されている)、実際の展開のニーズを満たすためです。

このアプローチは、非常に二つの実数値のパラメータ値パラメータネットワークの内部記憶装置の更新のために、ネットワークのアップグレードの相対精度の23%の間のギャップを減少させます。

二値化ネットワークの初期化方法

二値化パラメータ更新プロセスからわかるように、二つのパラメータの可能性の内部記憶された値を表すの実際の値は、シンボルを変更することができ、したがって、実数値の初期化の選択が重要です。仕事が直接(XnorNet)直接ReLU初期化ネットワークにランダムな初期化を使用する前に、実際の非線形関数を高く評価しました。
{-1,1}のネットワークの2値化出力値ので、非線形活性化関数として代替ReLUクリップ機能を選択するために、パラメータ・モデルを更新するように事前訓練に、ゼロの要素が含まれていない良好な結果を得ることができる初期化さらにパフォーマンスの向上をもたらすでしょう。
ここに画像を挿入説明

ゼロバイナリネットワークトレーニング段階、重量減衰一方、L1またはL2正則化制約実際の重みを再実行する、すなわち、不要。特定の実験的な分析を参照にし、ブロック構造ごとに2つのショートカット一つの層は、ブロック構造あたりショートカットTWO層よりも優れています。

実験結果は、そのデータセットのXNORネット以外のCIFAR10 / 100上のBi-実ネット、ImageNetのパフォーマンス、ABC-ネットと同じように、とパラメータの少ない量、移動端末が配備されているため、加速NEON命令セットを示しています。

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

おすすめ

転載: blog.csdn.net/qq_35608277/article/details/104905554
おすすめ