Similarity-Preserving Knowledge Distillation

Motivation

下圖可以發現,語義相似的輸入會產生相似的激活。這個非常好理解,這個C維的特徵向量可以代表該輸入的信息

因此本文根據該觀察提出了一個新的蒸餾loss,即一對輸入送到teacher中產生的特徵向量很相似,那麼送到student中產生的特徵向量也應該很相似,反義不相似的話同樣在student也應該不相似。

該loss被稱爲Similarity-preserving,這樣student不用去mimic teacher的特徵空間,而只用在自己的特徵空間保持成對的相似度就好
在這裏插入圖片描述
橫座標:0-1000爲1000個類別爲0的圖片,1000-2000爲1000個類別爲1的圖片,同理以此類推

縱座標:WideResNet-16-2在CIFAR10test集上最後一個卷積層在channel上平均激活,WHC → C維向量(圖中是採樣了部分通道)

Method

在這裏插入圖片描述
Qs: (b, chw),Gs: (b, b),然後進行L2 norm

以下爲4個batch的可視化,每個batch包含128個樣本

可以看到每個batch之間的相似度在student和teacher表現是一致的
在這裏插入圖片描述
在這裏插入圖片描述
Similarity-preserving Loss:

l,l’ 爲對應的層,每個block的最後一層
在這裏插入圖片描述
在這裏插入圖片描述
傳統的KD
在這裏插入圖片描述
優勢:

  • 不用mimic teacher的特徵空間,當teacher訓練的資源已不可獲取時,這時只用模仿teacher在目標域樣本之間預測的相似度

擴展應用:
和pretrain finetuning聯繫起來做Transfer learning

  • 用已有的模型做pretrain
  • 然後finetuning時用CE 和 SP loss

semisupervised

  • 有label的地方用CE
  • 無label的地方用SP

Experiments

Win:loss,和AT的勝負比
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章