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

More Related Content

What's hot

2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
智啓 出川
 
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE) GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
智啓 出川
 
2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算
智啓 出川
 
GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust)
GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust) GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust)
GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust)
智啓 出川
 
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
RCCSRENKEI
 

What's hot (20)

高位合成でDeep learning
高位合成でDeep learning高位合成でDeep learning
高位合成でDeep learning
 
(公開版)FPGAエクストリームコンピューティング2017
(公開版)FPGAエクストリームコンピューティング2017 (公開版)FPGAエクストリームコンピューティング2017
(公開版)FPGAエクストリームコンピューティング2017
 
深層学習 第4章 大規模深層学習の実現技術
深層学習 第4章 大規模深層学習の実現技術深層学習 第4章 大規模深層学習の実現技術
深層学習 第4章 大規模深層学習の実現技術
 
Abstracts of FPGA2017 papers (Temporary Version)
Abstracts of FPGA2017 papers (Temporary Version)Abstracts of FPGA2017 papers (Temporary Version)
Abstracts of FPGA2017 papers (Temporary Version)
 
Verilog-HDL Tutorial (1)
Verilog-HDL Tutorial (1)Verilog-HDL Tutorial (1)
Verilog-HDL Tutorial (1)
 
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
 
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステムオープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
オープンソースコンパイラNNgenでつくるエッジ・ディープラーニングシステム
 
Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)Tensor flow usergroup 2016 (公開版)
Tensor flow usergroup 2016 (公開版)
 
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
「ゼロから作るDeep learning」の畳み込みニューラルネットワークのハードウェア化
 
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
2015年度GPGPU実践プログラミング 第10回 行列計算(行列-行列積の高度な最適化)
 
ディープラーニング最新動向と技術情報
ディープラーニング最新動向と技術情報ディープラーニング最新動向と技術情報
ディープラーニング最新動向と技術情報
 
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE) GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
GPGPU Seminar (GPU Accelerated Libraries, 2 of 3, cuSPARSE)
 
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
自然言語処理に適した ニューラルネットのフレームワーク - - - DyNet - - -
 
2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算
 
GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust)
GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust) GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust)
GPGPU Seminar (GPU Accelerated Libraries, 3 of 3, Thrust)
 
モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化モデルアーキテクチャ観点からのDeep Neural Network高速化
モデルアーキテクチャ観点からのDeep Neural Network高速化
 
200625material naruse
200625material naruse200625material naruse
200625material naruse
 
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
DEEP LEARNING、トレーニング・インファレンスのGPUによる高速化
 
LUT-Network Revision2
LUT-Network Revision2LUT-Network Revision2
LUT-Network Revision2
 
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hareDAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
DAシンポジウム2019招待講演「深層学習モデルの高速なTraining/InferenceのためのHW/SW技術」 金子紘也hare
 

Viewers also liked

Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...
Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...
Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...
Kenko Nakamura
 
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
Shotaro Sano
 

Viewers also liked (7)

Bayesian Nonparametric Motor-skill Representations for Efficient Learning of ...
Bayesian Nonparametric Motor-skill Representations for Efficient Learning of ...Bayesian Nonparametric Motor-skill Representations for Efficient Learning of ...
Bayesian Nonparametric Motor-skill Representations for Efficient Learning of ...
 
Dynamic filter networks
Dynamic filter networksDynamic filter networks
Dynamic filter networks
 
NIPS2016 Supervised Word Mover's Distance
NIPS2016 Supervised Word Mover's DistanceNIPS2016 Supervised Word Mover's Distance
NIPS2016 Supervised Word Mover's Distance
 
NIPS Paper Reading, Data Programing
NIPS Paper Reading, Data ProgramingNIPS Paper Reading, Data Programing
NIPS Paper Reading, Data Programing
 
Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...
Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...
Fractality of Massive Graphs: Scalable Analysis with Sketch-Based Box-Coverin...
 
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
再帰型ニューラルネット in 機械学習プロフェッショナルシリーズ輪読会
 
音声認識と深層学習
音声認識と深層学習音声認識と深層学習
音声認識と深層学習
 

More from Shotaro Sano

More from Shotaro Sano (6)

AutoML in NeurIPS 2018
AutoML in NeurIPS 2018AutoML in NeurIPS 2018
AutoML in NeurIPS 2018
 
PFDet: 2nd Place Solutions to Open Images Competition
PFDet: 2nd Place Solutions to Open Images CompetitionPFDet: 2nd Place Solutions to Open Images Competition
PFDet: 2nd Place Solutions to Open Images Competition
 
Dropout Distillation
Dropout DistillationDropout Distillation
Dropout Distillation
 
ディリクレ過程に基づく無限混合線形回帰モデル in 機械学習プロフェッショナルシリーズ輪読会
ディリクレ過程に基づく無限混合線形回帰モデル in 機械学習プロフェッショナルシリーズ輪読会ディリクレ過程に基づく無限混合線形回帰モデル in 機械学習プロフェッショナルシリーズ輪読会
ディリクレ過程に基づく無限混合線形回帰モデル in 機械学習プロフェッショナルシリーズ輪読会
 
Microsoft Malware Classification Challenge 上位手法の紹介 (in Kaggle Study Meetup)
Microsoft Malware Classification Challenge 上位手法の紹介 (in Kaggle Study Meetup)Microsoft Malware Classification Challenge 上位手法の紹介 (in Kaggle Study Meetup)
Microsoft Malware Classification Challenge 上位手法の紹介 (in Kaggle Study Meetup)
 
サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会
サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会
サポートベクトルデータ記述法による異常検知 in 機械学習プロフェッショナルシリーズ輪読会
 

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
  • 6. (C)Recruit Communications Co., Ltd. バックプロパゲーション 5 バッチ正則化 逆伝播 ロスに対する K+1層目の 勾配ベクトル 活性化関数への 入力についての 勾配ベクトル ・・・ ・・・ ロスに対する K層目の 勾配ベクトル
  • 7. (C)Recruit Communications Co., Ltd. バックプロパゲーション 6 バッチ正則化 逆伝播 ロスに対する K+1層目の 勾配ベクトル 活性化関数への 入力についての 勾配ベクトル ・・・ ・・・ ロスに対する K層目の 勾配ベクトル 符号関数の勾配?
  • 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の冪上への ラウンディング ビットシフト
  • 10. (C)Recruit Communications Co., Ltd. AdaMaxの高速化 Shift-based AdaMax [Kingma & Ba, 2014] •  バッチ正則化と同様に乗算をシフト演算化 •  ハイパーパラメタの一部を2の冪乗に設定しておく 9
  • 11. (C)Recruit Communications Co., Ltd. 実験:ベンチマーク評価 10 MNIST/SVHN/CIFAR-10でベースライン手法と比較…
  • 12. (C)Recruit Communications Co., Ltd. 実験:XNORカーネルによる高速化 11 MNISTで 7倍高速化 XNORカーネルで最適化した場合のフォワード計算速度…