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的勝負比