概
本文是通過固定教師網絡(具有魯棒性), 讓學生網絡去學習教師網絡的魯棒特征. 相較於一般的distillation 方法, 本文新加了reweight機制, 另外其損失函數非一般的交叉熵, 而是最近流行的對比損失.
主要內容
本文的思想是利用robust的教師網絡\(f^t\)來輔助訓練學生網絡\(f^s\), 假設有輸入\((x, y)\), 通過網絡得到特征
則\((t^+, s^+)\)構成正樣本對, 自然我們需要學生網絡提取的特征\(s^+\)能夠逼近\(t^+\), 進一步, 構建負樣本對, 采樣樣本\(\{x_1^-, x_2^-, \ldots, x_k^- \}\), 同時得到負樣本對\((t^+,s_i^-)\), 其中\(s_i^-=f^s(x_i^-)\). 總的樣本對就是
根據負樣本采樣的損失, 最大化
當然對於本文的問題需要特殊化, 既然先驗\(P(C=1)=\frac{1}{k+1}, P(C=0)=\frac{k}{k+1}\), 故
\(q(t,s)\)是一個區別於\(p(t,s)\)的分布, 本文采用了\(p(t)q(s)\).
作者進一步對前一項加了解釋
故
又\(J(\theta)\)的第二項是負的, 故
所以最大化\(J(\theta)\)能夠一定程度上最大化\(t,s\)的互信息.
reweight
教師網絡一般要求精度(干凈數據集上的准確率)比較高, 但是通過對抗訓練所生成的教師網絡往往並不具有這一特點, 所以作者采取的做法是, 對特征\(t\)根據其置信度來加權\(w\), 最后損失為
其中
即\(w_t\)為教師網絡判斷\(t^+\)類別為\(y\)(真實類別)的概率.
擬合概率\(P(1|t,s;\theta)\)
在負采樣中, 這類概率是直接用邏輯斯蒂回歸做的, 本文采用
其中\(M\)為數據集的樣本個數.
會不會
把\(\gamma\)也作為一個參數訓練符合NCE呢?
實驗的細節
文中有如此一段話
we sample negatives from different classes rather than different instances, when picking up a positive sample from the same class.
也就是說在實際實驗中, \(t^+,s^+\)對應的類別是同一類的, \(t^+, s^-\)對應的類別不是同一類的.
In our view, adversarial examples are like hard examples supporting the decision boundaries. Without hard examples, the distilled models would certainly make mistakes. Thus, we adopt a self-supervised way to generate adversarial examples using Projected Gradient Descent (PGD).
也就是說, \(t, s\)都是對抗樣本?
超參數: \(k=16384\), \(\tau=0.1\).
疑問
算法中的采樣都是針對單個樣本的, 但是我想實際訓練的時候應該還是batch的, 不然太慢了, 但是如果是batch的話, 怎么采樣呢?