ディープラーニングの最新動向
圧縮技術編① Deep Compression	
2017/1/5
株式会社ウェブファーマー
大政 孝充
今回取り上げるのはこれ	
[1] S. Han, et al.”Deep Compression: Compressing Deep
Neural Networks with Pruning, Trained Quantization and
Huffman Coding.”ICLR 2016 - Best Paper Award.
Deep Neural Networkのパラメータ容量を3段階の圧縮技術
を用いて大幅に縮減した!
解説のポイント	
①取り組んだ課題とは
②手法の説明
 1)Pruning
 2)Quantization
 3)Haffman Encoding
③結果どうなった?
解説のポイント	
①取り組んだ課題とは
②手法の説明
 1)Pruning
 2)Quantization
 3)Haffman Encoding
③結果どうなった?
Deep Learningはパラメータ容量が巨大なので
こんなに不便	
●問題1:巨大過ぎてAppStoreなどで扱えない
コンピュータ
で学習	
数百MB
Deep Learningはパラメータ容量が巨大なので
こんなに不便	
●問題2:モバイルのバッテリーを大量消費する
すぐに電池がなくなる	
数百MB	
そもそもメモリ上に
展開できない
よってモバイル向けに容量を減らしたい!	
コンピュータ
で学習	
数百MB	
数十MB?
数MB?
解説のポイント	
①取り組んだ課題とは
②手法の説明
 1)Pruning
 2)Quantization
 3)Haffman Encoding
③結果どうなった?
手法全体の流れ	
第1段階
Pruning	
第2段階	
Quantization
第3段階	
Huffman Encoding
解説のポイント	
①取り組んだ課題とは
②手法の説明
 1)Pruning
 2)Quantization
 3)Haffman Encoding
③結果どうなった?
圧縮第1段階:Pruning(切り詰める)	
普通に学習した後、閾値を超えないような小さな値の
重みを削減する。
・
・	
・
・	
・
・	
・
・	
・
・	
・
・	
0.0008	
0.007	
・
・	
・
・	
・
・	
・
・	
・
・	
・
・	
0.001	
これで10分の1とかにする
解説のポイント	
①取り組んだ課題とは
②手法の説明
 1)Pruning
 2)Quantization
 3)Haffman Encoding
③結果どうなった?
圧縮第2段階:Quantization(量子化)	
まず、似た重み同士でまとめる
この例の場合、16個の重みを4種類にまとめる
圧縮第2段階:Quantization(量子化)	
まとめ方は、k-means法を用いる argmin
C
w −Ci
2
w∈Ci
∑
i=1
k
∑
4種類のクラスタにまとまった。
圧縮第2段階:Quantization(量子化)	
求まった重みを初期値としてFine-Tuningする
back propagationはクラスタごとの勾配を求める
∂L
∂Ck
=
∂L
∂Wij
∂Wij
∂Cki, j
∑ =
∂L
∂Wij
Ι Iij = k( )
i, j
∑ :indicator function	Ι ⋅( )
圧縮第2段階:Quantization(量子化)	
第2段階全体図
解説のポイント	
①取り組んだ課題とは
②手法の説明
 1)Pruning
 2)Quantization
 3)Haffman Encoding
③結果どうなった?
圧縮第3段階:Haffman Encoding(ハフマン符号化)	
Haffman Encodingを用いてさらに容量を減らす
重みの値1
1.0
00	
重みの値2
2.0
01	
重みの値3
3.0
10	
例)
1.0
00	
1.0
00	
3.0
10	
2.0
01	
2.0
01	
2.0
01	
2.0
01	
14 bits	
よく出現する数字には短い bit をあて、
余り出現しない数字には長い bit をあてる	
1.0
10	
1.0
10	
3.0
110	
2.0
0	
2.0
0	
2.0
0	
2.0
0	
11 bits
解説のポイント	
①取り組んだ課題とは
②手法の説明
 1)Pruning
 2)Quantization
 3)Haffman Encoding
③結果どうなった?
いろいろなモデルの圧縮率	
LeNetで40分の1、AlexNetで35分の1、VGGNetで
はなんと、49分の1!
いろいろなモデルのスピード増加率	
どのモデルにおいても、のきなみ早くなっている
いろいろなモデルの電力消費削減率	
どのモデルにおいても、のきなみ電力が削減されてい
る
結論	
l  LeNet、AlexNet、VGGNetいずれにおいてもパラ
メータの容量を大幅に削減できた
l  結果、速度の大幅な上昇、および電力消費の大幅
な削減が達成できた
l  このしくみにより、Deep Learningがモバイルでも使
用できそうだ!
おわり

Introduction to Deep Compression