やりたいこと = モデルの圧縮
Model Compression
12
再掲
精度はできるだけ、
保ちつつ
Slide 13
Slide 13 text
モデル圧縮の全体像
13
Yu Cheng, Duo Wang, Pan Zhou, Tao Zhang. 2017
“A Survey of Model Compression and Acceleration for Deep Neural Networks” IEEE
https://arxiv.org/abs/1710.09282
distillation??
Slide 14
Slide 14 text
distillation (蒸留)
14
Slide 15
Slide 15 text
蒸留 ?
15
Wikipedia (2019/9/12時点) https://ja.wikipedia.org/wiki/%E8%92%B8%E7%95%99
Slide 16
Slide 16 text
蒸留 (Knowledge distillation) ?
16
Training a compact neural network with distilled knowledge
of a large model
Slide 17
Slide 17 text
蒸留 (Knowledge distillation) ?
17
Training a compact neural network with distilled knowledge
of a large model
生徒モデル
教師モデル
Slide 18
Slide 18 text
蒸留 (Knowledge distillation)
18
SimplifiedKnowledge Distillation
https://towardsdatascience.com/knowledge-distillation-simplified-dd4973dbc764
① 精度が良い大きなモデル(教師モデル)を用意
(含むアンサンブル)
② いい感じでknowledgeを抽出
③ いい感じでknowledgeを活かして、
コンパクトなモデル(生徒モデル)を学習
soft target lossアプローチ
20
Deep Learningにおける知識の蒸留
http://codecrafthouse.jp/p/2018/01/knowledge-distillation/
温度パラメータTで割って、
Softmaxに突っ込む
KL Divergence
(クロスエントロピー)損失関数
教師モデルの出力分布と生徒ラベルの
出力分布を近づけるための
損失関数
=soft target loss
一例
Slide 21
Slide 21 text
-6
-5
-4
-3
-2
-1
0
1
2
3
4
5
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
犬 猫 鳥 豚 牛 人
logit
prob
prob with T = 1 prob with T = 2 prob with T = 3 prob with T = 4 logit
温度パラメータT (イメージ)
21
ご参考
元のlogit出力 温度パラメータTを上げると、
正解クラス以外の類似クラスのprobが
大きくなっていく(蒸留成功?)
• なんで温度パラメータなんて使ってるの?
Slide 22
Slide 22 text
蒸留 ?
22
Wikipedia (2019/9/12時点) https://ja.wikipedia.org/wiki/%E8%92%B8%E7%95%99
Slide 23
Slide 23 text
soft target lossアプローチ まとめ
23
一例
1/T
1/T
Soft max
関
数
Soft max
関
数
soft target 損失関数
hard target 損失関数
正解データ
Soft max
関
数
(1-λ)
λ
教師モデル
生徒モデル 損失情報
backprop
損失情報
backprop
forward
インプットデータ
Slide 24
Slide 24 text
他にもいろいろあるよ
蒸留はKT(Knowledge Transfer)の一つ
24
Slide 25
Slide 25 text
中間層も有効活用したい?
25
Hint Learningですね。
Chen et al., 2017 “Learning Efficient Object Detection Models with Knowledge Distillation”.
https://papers.nips.cc/paper/6676-learning-efficient-object-detection-models-with-knowledge-distillation.pdf
教師モデルの
Hint 層
生徒モデルの
Guided 層
チャネル数や空間サイズ
が異なる場合は調整
Slide 26
Slide 26 text
Attention please!
26
教師モデルのAttentionを学ぶ: ATTENTION TRANSFER
Sergey et al., 2017 “PAYING MORE ATTENTION TO ATTENTION: IMPROVING THE PERFORMANCE OF CONVOLUTIONAL NEURAL NETWORKS VIA ATTENTION
TRANSFER ”.
https://arxiv.org/pdf/1612.03928.pdf
Slide 27
Slide 27 text
Attention?
27
Minh-Thang Luong et al., 2015”Effective Approaches to Attention-based Neural Machine Translation”
https://arxiv.org/abs/1508.04025
自然言語処理とかで流行ってるアレ?
余談
Slide 28
Slide 28 text
CNNでAttention?
28
いっぱい論文・事例ありました
余談
Slide 29
Slide 29 text
Squeeze-and-Excitation Net
29
Jie Hu et al.,2018” Squeeze-and-Excitation Networks” https://arxiv.org/pdf/1709.01507.pdf
余談
ILSVRC 2017 画像分類 Top の手法 Squeeze-and-Excitation Networks
畳み込み層の各チャンネルに対して重みをつけている。
→ これは、チャネルに対するAttentionの事例
1*1*C
Slide 30
Slide 30 text
ATTENTION TRANSFER
30
今回の論文は、空間に対するAttentionの事例ですね。
Sergey et al., 2017 “PAYING MORE ATTENTION TO ATTENTION: IMPROVING THE PERFORMANCE OF CONVOLUTIONAL NEURAL NETWORKS VIA ATTENTION
TRANSFER ”.
https://arxiv.org/pdf/1612.03928.pdf
Slide 31
Slide 31 text
ATTENTION TRANSFER
31
論文では、損失ベースのほかに、勾配ベースのアプローチも載ってます
Sergey et al., 2017 “PAYING MORE ATTENTION TO ATTENTION: IMPROVING THE PERFORMANCE OF CONVOLUTIONAL NEURAL NETWORKS VIA ATTENTION
TRANSFER ”.
https://arxiv.org/pdf/1612.03928.pdf
Slide 32
Slide 32 text
モデルの圧縮+α
32
モチベーション
おまけ
せっかくなので、
転移学習の面白い論文もご紹介
Slide 33
Slide 33 text
転移学習 ?
33
Transfer Learning - Machine Learning's Next Frontier より http://ruder.io/transfer-learning/index.html
DELTA:
35
DEEP LEARNING TRANSFER USING FEATURE
MAP WITH ATTENTION FOR CONVOLUTIONAL NETWORKS
Li et al., 2019 “DELTA: DEEP LEARNING TRANSFER USING FEATURE MAP WITH ATTENTION FOR CONVOLUTIONAL NETWORKS”.
https://arxiv.org/pdf/1901.09229.pdf
■転移学習は、以下のようなものに悩みがち
✓ over-fitting with limited number of training
samples
✓ Inefficient and even negative transfer
■ 本論文の工夫は、
✓ regularizing the Behavior rather than
model parameters
✓ “unactivated channel re-usage” using
an attention mechanism with feature map
regularizeon
Slide 36
Slide 36 text
ATTENTION TRANSFER
36
今回の論文は、空間に対するAttentionの事例ですね。
https://postersession.ai/poster/delta-deep-learning-transfer-using-featu/
Slide 37
Slide 37 text
ATTENTION TRANSFER
37
今回の論文は、空間に対するAttentionの事例ですね。
https://postersession.ai/poster/delta-deep-learning-transfer-using-featu/
FM間のL2 loss
モデルパラメータそのもの、よりその振る舞い(Behavior)が近く
なるように設計する
Similar weights are not necessary for producing
similar outputs
Slide 38
Slide 38 text
ATTENTION TRANSFER
38
今回の論文は、空間に対するAttentionの事例ですね。
https://postersession.ai/poster/delta-deep-learning-transfer-using-featu/
j-chを抜いた時のsorceモデルの損失と
同モデルの損失の差分からj-chの重みを推定
FM間のL2 loss
各chの重み
出力に貢献するchは動かさず、貢献しないchは、再学習させる
Not all channels are necessary for knowledge transfer
→ unactivated channel re-usage
Slide 39
Slide 39 text
ATTENTION TRANSFER
39
今回の論文は、空間に対するAttentionの事例ですね。
https://postersession.ai/poster/delta-deep-learning-transfer-using-featu/
j-chを抜いた時のsorceモデルの損失と
同モデルの損失の差分からj-chの重みを推定
FM間のL2 loss
各chの重み
+Ω’’(w|w*) :sorceとtargetのwの距離に関する正則化