概
本文介绍了一种利用对比学习进行对抗预训练的方法.
主要内容
思想是很简单的, 就是利用对比学习进行训练(样本的augumentation多一个(delta)), 然后再通过此方法训练得到的参数进行finetune.
比较特别的是, 有三种预训练的方案:
- Adversarial-to-Adversarial (A2A): 即样本对均加了对抗扰动(( ilde{x}_i+delta_i, ilde{x}_j + delta_j));
- Adversarial-to-Standard (A2S):(( ilde{x}_i+delta_i, ilde{x}_j));
- Dual Stream (DS): 作者在实验中发现, 单独使用A2A, 侵略性太强, 故采取了一种中和的方法, 即同时加上Standard-to-Standard (S2S)的损失.
实验结果也显示, DS的效果是最好的, 即
[ell = ell_{NT} (f circ g( ilde{x}_i, ilde{x}_j; heta, heta_{bn}))+ alpha cdot ell_{NT}(f circ g ( ilde{x}_i +delta_i, ilde{x}_j +delta_j, heta_{bn^{adv}})),
]
需要注意的是( heta_{bn}, heta_{bn^{adv}}), 因为作者作者发现(其实之前便有文章指出过这个问题了), 如果对抗样本和普通样本使用的是同一个batchnorm, 最后结果会变差, 所以作者训练DS或者A2S的时候, 都是使用两个独立的BN的.
本文还有一些在半监督下的分析, 这里就不多赘述了.