多様な知識蒸留による深層学習モデルのアンサンブル学習に関する研究
指導教授：藤吉 弘亘

TR20001 岡本 直樹
1. はじめに*)

NetworkSoftmax

複数の深層学習モデルによるアンサンブル学習では，各ネットワークの出力分布の平均から推論を行うことで，1モデルの推論と比べて認識性能が向上する．このとき，各ネットワークの出力分布間に多様性が生まれると，アンサンブルの効果が高くなると考えられる．しかし，ネットワーク間で出力分布を離すように学習すると，出力分布の多様化が期待できるが，性能低下が生じる．
そこで本研究では，性能低下を引き起こすことなく多様性を得るために Attention map に着目し，出力分布とAttention map を知識とした知識蒸留を複数のネットワーク間で行う．そのために，従来の知識蒸留にネットワーク間の知識を離す設計を導入する．これにより，アンサンブル学習に適した多様な知識蒸留を実現できる．また，知識蒸留を用いたアンサンブル学習にグラフ表現 [2] を導入することで，多様なアンサンブル学習方法を獲得可能とする．

++,%*$! "!! "!

+&,!

'!

++,&*'&*)(',)

ForwardBackprop
Gate

Gate

#!,# = ± #$ + #%&$#!,# = ± #$ + #%&$

#! "

#& "

#& "

#! "
Attloss

Attloss
Probloss

Probloss'!

!! "'&!& "'!

Detach!! "!& "アンサンブル学習
map において最も値の高い位置を中心に正方形のクロップを行い，ターゲットネットワークはソースネットワークと同じ位置をクロップする．複数のサイズでクロップを行い，それぞれのサイズにおける損失値の平均値を最終的な損失値とする．Attention map を近づける場合は平均二乗誤差，離す場合はコサイン類似度を利用する．平均二乗誤差を用いた損失関数は次のように定義する．

(1)

ここで，C はクラス数，x は入力サンプル，pcs (·) はソース
ネットワークのクラス c の確率値，pct (·) はターゲットネッ
トワークのクラス c の確率値である．コサイン類似度を用いた損失関数は次のように定義する．

ps (x)
pt (x)Lp (x) =·∥ ps (x) ∥2 ∥ pt (x) ∥2

Qks (x)Qkt (x)1 ∑)2(−kK∥ Qs (x) ∥2∥ Qkt (x) ∥2
K(3)

k=1

ここで，K はクロップ数，Qks (·) はクロップしたソースネッ
トワークの Attention map，Qkt (·) はクロップしたターゲッ
トネットワークの Attention map である．コサイン類似度を用いた損失関数は次のように定義する．

Lmap (x) =アンサンブル学習のための知識蒸留として，知識を近づける損失と離す損失を設計する．損失設計は，最小化問題として学習を行うために近づける・離す場合で異なる設計を用いる．この時，知識の転移先をターゲットネットワー
ク，知識の元をソースネットワークとする．
確率分布を近づける場合は KL-divergence，離す場合はコサイン類似度を利用する．KL-divergence を用いた損失関数は次のように定義する．
C∑pc (x)pcs (x) log sc
pt (x)
c=1(c)Qkt (x)1 ∑ Qks (x)·kK∥ Qs (x) ∥2 ∥ Qkt (x) ∥2K

3.1 多様な知識蒸留を用いたアンサンブル学習

Lp (x) ='&図 1: グラフ表現を導入した多様な知識蒸留を用いた

Lmap (x) =本研究では，ネットワークの多様性を獲得するために，確率分布と Attention map の観点から各ネットワークが異なる知識を獲得できるような知識蒸留を行う．また，グラフ表現 [2] をアンサンブル学習に拡張し，グラフ構造をハイパーパラメータ最適化することでモデル数に応じた効果的なアンサンブル学習方法を自動設計する．

$& (")(',)

Backward(b)

3. 提案手法+(a)2. 知識蒸留
知識蒸留 [1] は，ネットワークが獲得した知識を他のネットワークが模倣することで，知識を転移する学習手法である．知識の転移方向として一方向や双方向，知識として確率分布や特徴マップ，Attention map など様々な方法が提案されている．南ら [2] は，知識蒸留をグラフで表現し，知識の転移方法をハイパーパラメータとして最適化することで，従来の様々な知識蒸留方法を内包し，その中から効果的な知識蒸留方法を自動設計可能な手法を提案した．従来の知識の転移方法は，ネットワークの認識性能が向上する
一方，ネットワーク間で多様性が生まれないため，知識蒸留を行わないネットワークと比べて同程度のアンサンブル性能となる．

$! (")$"#$ (")
'&

(',)

++,!
*

'!

+%,&+!,%$% ("),-.
+&,%+%,!

#! "

*)

'%

'%

3.2 アンサンブル学習のためのグラフ表現
アンサンブル学習にとって効果的な知識蒸留方法を自動設計するために，グラフ表現 [2] を利用する．グラフ表現を導入した知識蒸留を用いたアンサンブル学習を図 1(a)に示す．グラフはノードとエッジで構成される．ノードは，ネットワークを表すネットワークノードとアンサンブルを行うアンサンブルノードを定義する．エッジは，損失計算を表し，ネットワークノード間のエッジは知識蒸留，ネッ
トワークノードとラベル ŷ 間のエッジは教師ラベルを用いた交差エントロピー損失を表す．
アンサンブルノードは，全てのネットワークノードの出力を用いたアンサンブルを行う．アンサンブルノードにおける処理は次のように定義する．

ここで，ps (·) はソースネットワークの確率分布，pt (·) はターゲットネットワークの確率分布である．
Attention map は，入力サンプルの認識に有効な領域に強く反応する．対象物体の大きさはサンプルごとに異なるため，対象物体の異なる箇所に強く反応しているのに関わらず，類似度が高くなる場合がある．そこで，Attention
map のクロップを行う．ソースネットワークの Attention

1 ∑lm (x)M m=1
Mlens =(2)

(4)

k=1

(5)

ここで M はネットワークノード数，lm (·) はネットワークノードの logit 関数，x は入力サンプルである．
ネットワークノード間のエッジは，ノード間の知識蒸留を行う．エッジでは，図 1(b) のように知識蒸留の損失値に対してゲート [2] を用いて重み付けを行うことで，知識蒸留を制御する．知識蒸留の損失計算は次のように定義する．

Ls,t (x) = Gs,t (Lp (x) + Lmap (x))(6)

0. Ensemble (74.23%)

0. Ensemble (74.01%)

Attention(+)(Linear)Prob(+)(Linear)Prob(+), Attention(+)(Through)Prob(+)(Through)Prob(+)(Linear)

Attention(+)(Through)Prob(+), Attention(+)(Linear)
Attention(+)(Linear)

2. ResNet18_ABN (70.68%)

Prob(-), Attention(-) Attention(+)(Linear)(Through)Prob(+), Attention(+)(Correct)Label
Prob(-), Attention(-)(Linear)Prob(+), Attention(+)(Through)Prob(+), Attention(+)(Through)Prob(+), Attention(+)(Linear)

1. ResNet18_ABN (68.1%)

Through

Attention(+)(Correct)

2. ResNet18_ABN (72.27%)

2. ResNet18_ABN (71.25%)

Label

1. ResNet18_ABN (70.26%)

1. ResNet18_ABN (70.8%)

ThroughLabelLinearLinearLinearLabel

0. Ensemble (74.52%)

Label

Label

LinearProb(+)(Correct)

4. ResNet18_ABN (71.74%)

Attention(+)(Linear)

Attention(+)(Through)Attention(+)(Correct)Prob(+), Attention(+)(Correct)

5. ResNet18_ABN (69.03%)

Prob(+), Attention(+)(Linear)Prob(-), Attention(-)(Linear)

Attention(-) Prob(+), Attention(+)(Through)(Linear)Prob(+)(Linear)

3. ResNet18_ABN (70.96%)
Prob(+)(Correct)Attention(-)(Correct)

3. ResNet18_ABN (71.63%)

LabelThroughLabel

Attention(+)(Correct)Through

4. ResNet18_ABN (72.09%)

3. ResNet18_ABN (72.73%)(b) ノード数 4(a) ノード数 3(c) ノード数 5

図 2: 最適化後のグラフ構造：赤色のノードはアンサンブルノード，灰色のノードはネットワークノード，“Label”
は教師ラベル，“Prob” と “Attention” は損失設計の種類を表す．エッジの色はゲートの種類を表す．

(a) Independent(b) Ours

図 3: Attention map の可視化
表 1: 従来手法との精度比較
精度 [%]

表 2: 異なるデータセットにおけるアンサンブル精度
学習・評価用

最適化用

ノード平均

アンサンブル

データセット

データセット345

68.04 ± 0.28

71.41 ± 0.34

CUB-200-2011

Stanford Dogs

71.82

73.03

72.13

70.50 ± 0.26

72.08 ± 0.42

CUB-200-2011

CUB-200-2011

74.17

72.22

74.05

70.95 ± 0.16

73.41 ± 0.30

Stanford Cars

Stanford Dogs

89.94

89.98

90.41

68.30 ± 0.27

72.06 ± 0.53

Stanford Cars

Stanford Cars

90.04

89.57

90.73

ABN × 471.50 ± 0.31

72.87 ± 0.29

手法

ネットワークIndependent

ABN × 3DML

ABN × 3Ours

ABN × 3

Independent

ABN × 4DMLOurs

ABN × 471.46 ± 0.22

74.16 ± 0.22

Independent

ABN × 568.24 ± 0.26

72.32 ± 0.18

DMLOurs

ABN × 5
ABN × 571.15 ± 0.28
70.23 ± 0.33

72.50 ± 0.16
74.14 ± 0.50

ここで Gs,t (·) はゲートを表す．知識蒸留の損失から計算された勾配は，エッジの向きによって勾配を伝えるノードが変化する．L2,3 の場合は図 1(c) のように，ノード m3 にのみ勾配を伝えるためにノード m2 側の計算グラフをカットすることで，ノード m2 からノード m3 への知識蒸留が行われる．
グラフのハイパーパラメータは，ネットワークノード間のエッジにおける損失設計，各エッジの損失値に適用されるゲートである．損失設計は，確率分布を近づける・離す，Attention map を近づける・離す，確率分布と Attentionmap を同時に近づける・同時に離すの計 6 種類とする．ゲー
トは，従来法 [2] で提案された 4 種類とする．ハイパーパラ
メータ最適化は，ランダムサーチと枝刈りを用いて 6,000組のグラフ構造を評価する．

4. 評価実験
ネットワークノード数を 3 から 5 としてハイパーパラメータ最適化をしたグラフの評価を行う．ネットワークは，Attention Branch Network(ABN) [3] を用いる．データセットは，詳細画像識別問題である Stanford Dogs，StanfordCars，Caltech-USCD Birds-200-2011(CUB-200-2011) を用いる．損失計算時に Attention map は，3 × 3，7 × 7，11 × 11 のサイズにクロップする．

4.1 最適化したグラフの評価
Stanford Dogs を用いて最適化を行ったグラフ構造を図2，Stanford Dogs における従来手法との比較を表 1 に示す．
Independent は個別に学習を行ったネットワーク，DML は従来の知識蒸留を行ったネットワーク，Ours は最適化したグラフの結果である．Ours は，Independent や DML をノード数上回るアンサンブル精度を達成した．
Independent の Attention map を図 3(a)，図 2(c) のグ
ラフにおける Ours の Attention map を図 3(b) に示す．
Ours は，多様な知識蒸留によってネットワークごとに異なる注視領域を獲得したと言える．

4.2 グラフ構造の汎化性
Stanford Dogs を用いて最適化したグラフを最適化時と異なるデータセットを用いて評価する．CUB-200-2011，
Stanford Cars における評価結果を表 2 に示す．最適化に用いたデータセットによらず同程度のアンサンブル精度となっていることから，最適化したグラフ構造に汎化性があると言える．

5. おわりに本研究では，アンサンブル学習のための多様な知識蒸留とグラフ表現を提案した．評価実験により，従来の知識蒸留やアンサンブル学習を超える性能を発揮するアンサンブ
ル学習方法を獲得したことを確認した．今後は，獲得したグラフ構造の分析やグラフの最適化方法について検討する．

参考文献[1] G. Hinton, et al., “ Distilling the knowledge in a neuralnetwork”, NeurIPS workshop, 2015.
[2] S. Minami, et al., “ Knowledge Transfer Graph For Deep
Collaborative Learning”, ACCV, 2020.
[3] H. Fukui, et al., “Attention Branch Network: Learningof Attention Mechanism for Visual Explanation”, CVPR,
2019.

研究業績
[1] 岡本直樹 等, “知識蒸留グラフによるアンサンブル学習”, 画像の認識・理解シンポジウム, 2020.
[2] 岡本直樹 等, “詳細画像識別における知識蒸留グラフによるアンサンブル学習”, 画像の認識・理解シンポジウム, 2021.