Feature Distillation With Guided Adversarial Contrastive Learning
概
本文是通过固定教师网络(具有鲁棒性), 让学生网络去学习教师网络的鲁棒特征. 相较于一般的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)\).
作者进一步对前一项加了解释
P(1|t,s;\theta)
&= \frac{P(t,s)P(C=1)}{P(t,s)P(C=1) + P(t)P(s)P(C=0)} \\
&\le \frac{P(t,s)}{k\cdot P(t)P(s)}, \\
\end{array}
\]
故
\]
又\(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的话, 怎么采样呢?
Feature Distillation With Guided Adversarial Contrastive Learning的更多相关文章
- Robust Pre-Training by Adversarial Contrastive Learning
目录 概 主要内容 代码 Jiang Z., Chen T., Chen T. & Wang Z. Robust Pre-Training by Adversarial Contrastive ...
- 谣言检测(GACL)《Rumor Detection on Social Media with Graph Adversarial Contrastive Learning》
论文信息 论文标题:Rumor Detection on Social Media with Graph AdversarialContrastive Learning论文作者:Tiening Sun ...
- Adversarial Self-Supervised Contrastive Learning
目录 概 主要内容 Linear Part 代码 Kim M., Tack J. & Hwang S. Adversarial Self-Supervised Contrastive Lear ...
- Remote Sensing Images Semantic Segmentation with General Remote Sensing Vision Model via a Self-Supervised Contrastive Learning Method
论文阅读: Remote Sensing Images Semantic Segmentation with General Remote Sensing Vision Model via a Sel ...
- ICLR2021对比学习(Contrastive Learning)NLP领域论文进展梳理
本文首发于微信公众号「对白的算法屋」,来一起学AI叭 大家好,卷王们and懂王们好,我是对白. 本次我挑选了ICLR2021中NLP领域下的六篇文章进行解读,包含了文本生成.自然语言理解.预训练语言模 ...
- 论文解读(S^3-CL)《Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learning》
论文信息 论文标题:Structural and Semantic Contrastive Learning for Self-supervised Node Representation Learn ...
- 论文解读(SimGRACE)《SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation》
论文信息 论文标题:SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation论文作者: ...
- 论文解读(GGD)《Rethinking and Scaling Up Graph Contrastive Learning: An Extremely Efficient Approach with Group Discrimination》
论文信息 论文标题:Rethinking and Scaling Up Graph Contrastive Learning: An Extremely Efficient Approach with ...
- 【主动学习】Variational Adversarial Active Learning
本文记录了博主阅读ICCV2019一篇关于主动学习论文的笔记,第一篇博客,以后持续更新哈哈 论文题目:<Variational AdVersarial Active Learning> 原 ...
随机推荐
- pymongdb入门
Pymongo入门 安装 pip install pymongo 连接 实际就是实例化一个客户端对象,然后客户端对象中指定一个库作为库对象,库对象中的集合对象就是之后常用来执行操作的对象 1 ''' ...
- Android 利用Settings.Global属性跨应用定义标志位
https://blog.csdn.net/ouzhuangzhuang/article/details/82258148 需求 需要在不同应用中定义一个标志位,这里介绍下系统级别的应用和非系统级别应 ...
- Linux基础命令---dig工具
dig dig是一个DNS查询工具,多数管理员会使用dig命令来解决DNS的问题. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.Fedora. 1.语法 di ...
- OC-封装,继承,多态
主要内容概括 标号 主题 内容 一 封装 面向对象三大特性;封装的概念/原因/好处/原则 二 *getter和setter setter / getter方法;注意点 三 自定义代码段 如何自定义代码 ...
- When does compiler create default and copy constructors in C++?
In C++, compiler creates a default constructor if we don't define our own constructor (See this). Co ...
- 【Linux】【Shell】【Basic】Bash
命令历史:shell进程会在其会话中保存此前用户提交执行过的命令: ------------------------------------------------------------------ ...
- 部署应用程序到Tomcat的webapps目录
一.方法如下 1.通过MyEclipse上方工具栏Manage Deployments,依次选择项目和服务器: 2.通过右击项目Export,生成war包到webapps中: 3.复制项目WebRoo ...
- DevOps的分与合
一.抽象的 DevOps DevOps 是使软件开发和 IT 团队之间的流程自动化的一组实践,以便他们可以更快,更可靠地构建,测试和发布软件.DevOps 的概念建立在建立团队之间协作文化的基础上,这 ...
- NSData NSDate NSString NSArray NSDictionary 相互转化
// NSData NSDate NSString NSArray NSDictionary json NSString *string = @"hello word"; ...
- Android工具-DDMS
原创文章,如有转载,请注明出处:http://blog.csdn.net/yihui823/article/details/6686578 本文章的前提:已经安装了Eclipse和ADT.androi ...