Robust Pre-Training by Adversarial Contrastive Learning

Jiang Z., Chen T., Chen T. & Wang Z. Robust Pre-Training by Adversarial Contrastive Learning. NIPS, 2020.

本文介绍了一种利用对比学习进行对抗预训练的方法.

主要内容

思想是很简单的, 就是利用对比学习进行训练(样本的augumentation多一个(delta)), 然后再通过此方法训练得到的参数进行finetune.

image-20201203161411580

比较特别的是, 有三种预训练的方案:

  1. Adversarial-to-Adversarial (A2A): 即样本对均加了对抗扰动(( ilde{x}_i+delta_i, ilde{x}_j + delta_j));
  2. Adversarial-to-Standard (A2S):(( ilde{x}_i+delta_i, ilde{x}_j));
  3. 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的.

本文还有一些在半监督下的分析, 这里就不多赘述了.

代码

原文代码

原文地址:https://www.cnblogs.com/MTandHJ/p/14081099.html