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

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

主要内容

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

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

  1. Adversarial-to-Adversarial (A2A): 即样本对均加了对抗扰动\((\tilde{x}_i+\delta_i, \tilde{x}_j + \delta_j)\);
  2. Adversarial-to-Standard (A2S):\((\tilde{x}_i+\delta_i, \tilde{x}_j)\);
  3. Dual Stream (DS): 作者在实验中发现, 单独使用A2A, 侵略性太强, 故采取了一种中和的方法, 即同时加上Standard-to-Standard (S2S)的损失.

实验结果也显示, DS的效果是最好的, 即

\[\ell = \ell_{NT} (f \circ g(\tilde{x}_i, \tilde{x}_j; \theta, \theta_{bn}))+ \alpha \cdot \ell_{NT}(f \circ g (\tilde{x}_i +\delta_i, \tilde{x}_j +\delta_j, \theta_{bn^{adv}})),
\]

需要注意的是\(\theta_{bn}, \theta_{bn^{adv}}\), 因为作者作者发现(其实之前便有文章指出过这个问题了), 如果对抗样本和普通样本使用的是同一个batchnorm, 最后结果会变差, 所以作者训练DS或者A2S的时候, 都是使用两个独立的BN的.

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

代码

原文代码

Robust Pre-Training by Adversarial Contrastive Learning的更多相关文章

  1. Feature Distillation With Guided Adversarial Contrastive Learning

    目录 概 主要内容 reweight 拟合概率 实验的细节 疑问 Bai T., Chen J., Zhao J., Wen B., Jiang X., Kot A. Feature Distilla ...

  2. 谣言检测(GACL)《Rumor Detection on Social Media with Graph Adversarial Contrastive Learning》

    论文信息 论文标题:Rumor Detection on Social Media with Graph AdversarialContrastive Learning论文作者:Tiening Sun ...

  3. Adversarial Self-Supervised Contrastive Learning

    目录 概 主要内容 Linear Part 代码 Kim M., Tack J. & Hwang S. Adversarial Self-Supervised Contrastive Lear ...

  4. 谣言检测(RDCL)——《Towards Robust False Information Detection on Social Networks with Contrastive Learning》

    论文信息 论文标题:Towards Robust False Information Detection on Social Networks with Contrastive Learning论文作 ...

  5. 论文解读(GROC)《Towards Robust Graph Contrastive Learning》

    论文信息 论文标题:Towards Robust Graph Contrastive Learning论文作者:Nikola Jovanović, Zhao Meng, Lukas Faber, Ro ...

  6. ICLR2021对比学习(Contrastive Learning)NLP领域论文进展梳理

    本文首发于微信公众号「对白的算法屋」,来一起学AI叭 大家好,卷王们and懂王们好,我是对白. 本次我挑选了ICLR2021中NLP领域下的六篇文章进行解读,包含了文本生成.自然语言理解.预训练语言模 ...

  7. 论文解读(PCL)《Prototypical Contrastive Learning of Unsupervised Representations》

    论文标题:Prototypical Contrastive Learning of Unsupervised Representations 论文方向:图像领域,提出原型对比学习,效果远超MoCo和S ...

  8. A Simple Framework for Contrastive Learning of Visual Representations

    目录 概 主要内容 流程 projection head g constractive loss augmentation other 代码 Chen T., Kornblith S., Norouz ...

  9. 论文解读(SimGRACE)《SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation》

    论文信息 论文标题:SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation论文作者: ...

随机推荐

  1. LeetCode 从头到尾打印链表

    LeetCode 从头到尾打印链表 题目描述 输入一个链表头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 一得之见(Jav ...

  2. Netty之ByteBuf

    本文内容主要参考<<Netty In Action>>,偏笔记向. 网络编程中,字节缓冲区是一个比较基本的组件.Java NIO提供了ByteBuffer,但是使用过的都知道B ...

  3. Scala和Java的List集合互相转换

    import java.util import scala.collection.mutable /** * 集合互相转换 */ object ScalaToJava { def main(args: ...

  4. java网站架构设计

    涉及到的技术及工具:java,springmvc,ibatis,freemarker,mysql,mongdb,memcached,ehcache,maven. 一个网站不可能说一开始就是要设计一个能 ...

  5. oralce 存储过程传入 record 类型的参数?

    先定义一个 package , package中含有一个 record 类型的变量 create or replace package pkg_record is type emp_record is ...

  6. Private Destructor

    Predict the output of following programs. 1 #include <iostream> 2 using namespace std; 3 4 cla ...

  7. 【Linux】【Services】【SaaS】Docker+kubernetes(11. 构建复杂的高可用网络)

    1. 简介 flannel在实战阶段貌似不能胜任在灾难恢复时候异地的网络,打算用openvswith试试

  8. this指针的用法和基本分析

    当在不同的对象中采用this指针,就已经是在给它赋值了.对象各自的this指针指向各自对象的首地址,所以不同对象的this指针一定指向不同的内存地址. this 指针是由系统自动提供的指向对象的特殊指 ...

  9. vue+element项目中动态表格合并

    需求:elementui里的table虽然有合并函数(:span-method),单基本都是设置固定值合并.现在有一个树型结构的数据,要求我们将里面的某个list和其他属性一起展开展示,并且list中 ...

  10. Python __new__ 方法解释与使用

    解释 我们通常把 __init__ 称为构造方法,这是从其他语言借鉴过来的术语. 其实,用于构建实例的是特殊方法 __new__:这是个类方法(使用特殊方式处理,因此不必使用 @classmethod ...