Sehwag V., Mahloujifar S., Handina T., Dai S., Xiang C., Chiang M. and Mittal P. Improving adversarial robustness using proxy Distributions. arXiv preprint arXiv: 2104.09425, 2021.

本文利用GAN生成数据, 并利用这些数据进行对抗训练, 无论是自然精度还是鲁棒性都获得了极大的提升.

在相同的网络结构且不使用额外的真实数据的前提下, 该方法在RobustBench上取得最好的成绩.

主要内容

proxy distribution

本文首先给出了一个理论分析, 即在proxy distribution上取得的鲁棒性和与真实分布之间的差距有多大.

首先给出average robustness的定义:

\[\mathrm{Rob}_d (h, D) = \mathbb{E}_{(x, y)\sim D} [\inf_{h(x') \not =y} d(x', x)],
\]

其中\(h\)是分类器, \(D\)是数据的分布, \(d\)是一个距离, 比如常见的\(\ell_{\infty}\). 该指标衡量的就是分类器\(h\)在数据分布\(D\)上的平均鲁棒性.

因为, 我们实际上可获得的是有限的数据集\(S\), \(S\)从\(D\)中采样得到, 故我们更关心的实际上:

\[\mathop{\mathbb{E}} \limits_{S \sim D, \: h \leftarrow L(S)} [\mathrm{Rob}_d (h, D)],
\]

其中\(L\)是某种训练算法, 比如常见的对抗训练.

由于:

\[\mathrm{Rob}_d (h, D) = (\mathrm{Rob}_d (h, D)-\mathrm{Rob}_d (h, \tilde{D})) + (\mathrm{Rob}_d (h, \tilde{D}) - \mathrm{Rob}_d (h, \hat{S})) + \mathrm{Rob}_d (h, \hat{S}).
\]

其中\(\tilde{D}\)是另一个分布(这篇文章里就是proxy distribution, 用GAN拟合的分布), \(\hat{S}\)则是从\(\tilde{D}\)中采样的数据集.

\(\mathop{\mathbb{E}} \limits_{S \sim \tilde{D}^n, \: h \leftarrow L(S)} [\mathrm{Rob}_d (h, D)]\)

进一步, 有如下的分解(注意\(S \sim \tilde{D}^n\)表示\(S\)是从拟合的分布中采样的, 并且有\(n\)个样本.):

即, 分成了三部分:

  1. Empirical robustness: 即在训练集上的鲁棒性;
  2. Generalization penalty: 即训练集上的鲁棒性和在整个拟合的数据分布上的鲁棒性的差距;
  3. Distribution-shift penalty: 即与真实分布上鲁棒性的差距.

前两项已经有别的工作研究了, 本文研究的是, 在拟合分布上的鲁棒性和真实分布上的乱不能更新的差距到底有多少(注意都是在拟合数据集上训练的\(h\)).

首先作者用wasserstein 散度定义两个分布的距离:

接着给出定理1:

定理1的意义在于, 其说明只要我们拟合的分布足够好, 那么鲁棒性的差距就能足够小, 这结果与分类器\(h\)无关!

作者还给出了一些推论, 和定理3说明上面的界是紧的, 但我感觉意义不大, 这里就不多赘述了.

如何利用构造的数据

训练的目标是很简洁的:

\[\min_{\theta} \: [\gamma \cdot \mathbb{E}_{(x, y)\sim D} [ \mathcal{L}_{adv} (\theta, x, y)] + (1 - \gamma) \cdot \mathcal{L}_{adv}\mathbb{E}_{(x,y)[\sim \tilde{D}}(\theta, x, y)]].
\]

前一项就是在真实数据上进行对抗训练, 后者就是在构造的数据上进行对抗训练.

伪造的数据集是这样构建的:

  1. 用DDPM模型拟合CIFAR-10的训练集的分布;
  2. 利用DDPM生成无标签数据\(\{x\}\);
  3. 利用LaNet和SplitNet对数据预测标签\(\{y_1\}\), \(\{y_2\}\);
  4. 去掉\(y_1 \not = y_2\)的数据, 去掉二者confidence均小于90%的数据.

作者总共生成了6M的数据, 在训练的时候, 每个batch, 真实的和虚假的数据的比例是1:1.

作者在验证鲁棒性上进行了实验, 这里不多赘述.

Improving Adversarial Robustness Using Proxy Distributions的更多相关文章

  1. Improving Adversarial Robustness via Channel-Wise Activation Suppressing

    目录 概 主要内容 代码 Bai Y., Zeng Y., Jiang Y., Xia S., Ma X., Wang Y. Improving adversarial robustness via ...

  2. IMPROVING ADVERSARIAL ROBUSTNESS REQUIRES REVISITING MISCLASSIFIED EXAMPLES

    目录 概 主要内容 符号 MART Wang Y, Zou D, Yi J, et al. Improving Adversarial Robustness Requires Revisiting M ...

  3. Reliable evaluation of adversarial robustness with an ensemble of diverse parameter-free attacks

    目录 概 主要内容 Auto-PGD Momentum Step Size 损失函数 AutoAttack Croce F. & Hein M. Reliable evaluation of ...

  4. Second Order Optimization for Adversarial Robustness and Interpretability

    目录 概 主要内容 (4)式的求解 超参数 Tsiligkaridis T., Roberts J. Second Order Optimization for Adversarial Robustn ...

  5. Certified Adversarial Robustness via Randomized Smoothing

    目录 概 主要内容 定理1 代码 Cohen J., Rosenfeld E., Kolter J. Certified Adversarial Robustness via Randomized S ...

  6. Inherent Adversarial Robustness of Deep Spiking Neural Networks: Effects of Discrete Input Encoding and Non-Linear Activations

    郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! arXiv:2003.10399v2 [cs.CV] 23 Jul 2020 ECCV 2020 1 https://github.com ...

  7. Adversarial Detection methods

    目录 Kernel Density (KD) Local Intrinsic Dimensionality (LID) Gaussian Discriminant Analysis (GDA) Gau ...

  8. (转) Summary of NIPS 2016

    转自:http://blog.evjang.com/2017/01/nips2016.html           Eric Jang Technology, A.I., Careers       ...

  9. 2016CVPR论文集

    http://www.cv-foundation.org/openaccess/CVPR2016.py ORAL SESSION Image Captioning and Question Answe ...

随机推荐

  1. SQLITE_BTREE_H

    sqlite3.c, 237436行 = 全部源文件,找东西比多文件查找方便多了:-),字符串查找一点都不慢. 不要太害怕,SQLite说它的代码里有非常多是用来做数据完整性检查和测试的.但愿B树,虚 ...

  2. tomcat在eclipse上发布,Perference下的server找不到解决办法

    help--->Install New software得到如下所示 下面work with选项的内容与你的eclipse版本有关 我的eclipse版本为eclipse-java-2019-0 ...

  3. 【Swift】CoreData的使用

    CoreData只是iOS数据持久化的其中一个方法,所有数据持久化如下 1.plist文件(属性列表),通常用于储存用户设置,也zhi可以用于存储捆绑的信息: 2.preference(偏好设置),常 ...

  4. 超过三张表禁止join

    一. 问题提出 <阿里巴巴JAVA开发手册>里面写超过三张表禁止join,这是为什么? 二.问题分析 对这个结论,你是否有怀疑呢?也不知道是哪位先哲说的不要人云亦云,今天我设计sql,来验 ...

  5. 通过spring-data-redis操作Redis

    一.操作String类型数据 @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration("classpath:spring/ ...

  6. 1 - 基于ELK的ElasticSearch 7.8.x 技术整理 - 基础语法篇 - 更新完毕

    准备工作 0.什么是ElasticSearch?它和Lucene以及solr的关系是什么? 这些是自己的知识获取能力,自行百度百科 1.下载ElasticSearch的window版,linux版后续 ...

  7. TCP链接请求的10种状态

    一.状态显示 SYN_SENT:这个状态与SYN_RCVD遥相呼应,当客户端SOCKET执行CONNECT连接时,它首先发送SYN报文,随即进入到了SYN_SENT状态,并等待服务端的发送三次握手中的 ...

  8. Windows下mongodb的安装和配置

    1----->下载地址:https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl ...

  9. Python pyecharts绘制饼图

    一.pyecharts绘制饼图语法简介 饼图主要用于表现不同类目的数据在总和中的占比.每个的弧度不是数据量的占比pie.add()方法的用法add(name, attr, value, radius= ...

  10. Sql Server、Oracle、MySQL 日期格式化函数处理

    目录 Sql Server Oracle MySql Sql Server CONVERT ( '取数长度' , '时间' , '类型') 查询对应时间: 2021-03-17T19:18:18.00 ...