More Related Content
More from Shotaro Sano (6)
Binarized Neural Networks
- 1.
Binarized Neural Networks
Itay Hubara, Matthieu Courbariaux, Daniel Soudry,
Ran El-Yaniv, Yoshua Bengio
NIPS & ICDM 2016 輪読会
紹介者:佐野正太郎
株式会社リクルートコミュニケーションズ
- 2. (C)Recruit Communications Co., Ltd.
Binarized Neural Networks
モチベーション
• ニューラルネットの省メモリ化
– 小数点精度は32bitも要らない場合が多い
– 組み込みシステムなどマシンパワーが低い場合の計算
提案手法:Binarized Neural Networks
• 重みとノード出力が全て二値化されたネットワーク
– 従来手法(BinaryConnect)では重みのみを二値化
• バイナリオペレーションによる高速化
– GPU計算で約7倍速(MNISTベンチマーク)
1
- 3. (C)Recruit Communications Co., Ltd.
Binarized Neural Networks
活性化関数 => 重み付き和の符号関数
計算をバイナリ化に合わせて変更
• フォワード計算
• バックプロパゲーション
• バッチ正則化の高速化
• AdaMaxの高速化
2
- 4. (C)Recruit Communications Co., Ltd.
フォワード計算
3
K層目
バイナリ
ベクトル
二値化された
重み行列を
かける
バッチ
正則化
K+1層目
バイナリ
ベクトル
ベクトル
各要素の
二値化
・・・
・・・
重み行列 Wk は連続値として保持
フォワード計算時には二値化
- 5. (C)Recruit Communications Co., Ltd.
XNORオペレーションの恩恵
4
• 『活性化関数出力 x 重み』ごとにXNORをかけて足しこむ
• XNORによるGPUカーネル => 32bit floatに比べ約5.3倍速
+1 -1 -1
-1
+1 -1 +1 -1
+1
- 8. (C)Recruit Communications Co., Ltd.
バックプロパゲーション
Straight-through estimator [Hinton, 2012]
• 確率的な離散値を持つニューロンのバックプロパゲーション
• 決定的な符号関数の場合は下記のように近似
7
要素ごとの掛け算
条件を満たす要素は1
満たさない要素は0
- 9. (C)Recruit Communications Co., Ltd.
バッチ正則化の高速化
8
Batch Normalization
Shift based
Batch Normalization
ミニバッチの平均
入力の中心化
ミニバッチの分散
正規化
スケール & シフト
2の冪上への
ラウンディング
ビットシフト