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. Linux学习 - Bash变量

    一.用户自定义变量(本地名) 用户自定义变量只有在当前的shell中生效 1 定义变量 name="zheng huiwei" aa=123 2 变量叠加 aa="$aa ...

  2. Android给页面添加横线和竖线

    竖线 <View      android:layout_width="1dip"     android:layout_height="match_parent& ...

  3. android:textAppearance解析

    Android的系统自带的文字外观设置及实际显示效果图 android:textAppearancexml布局里面设置文字的外观: 如"android:textAppearance=&quo ...

  4. maven的lifecycle

    1.maven clean. 清理项目的target目录 2.maven compile 编译项目 3.maven test 编译项目后,再执行Junit测试方法 4.maven package 编译 ...

  5. 【Linux】【Basis】用户、组和权限管理

    1. 概念: 1.1. 每个使用者都有,用户标识UID和密码:并且有身份(Authentication),授权(Authorization),审计(Audition):组(用户组,用户容器) 1.2. ...

  6. Linux系统的文件复制移动删除与VIM编辑

    目录 今日内容概要 内容详细 复制文件 移动文件 删除文件 系统别名(针对 rm 改别名) vim编辑器 今日内容概要 复制文件 移动文件 删除文件 vim编辑器 内容详细 复制文件 # 命令: cp ...

  7. 【JAVA今法修真】 第二章 一气化三清 线程分心念

    这是我的微信公众号,希望有兴趣的朋友能够一起交流,也希望能够多多支持新人作者,你的每一份关注都是我写文章的动力:南橘ryc 天有八纪,地分九州,万法仙门与天道剑宗一并坐落在东北方通辽州. 与李小庚想象 ...

  8. 今天使用Bufferedrader ,单缓冲区的数据读取时出现的中文乱码的问题

    1.使用这种方式可能出现的中文乱码代码: /** * 第三套********:使用BufferReader,单缓冲区的数据读取和写入(字符输入流) * 读取 */ FileReader frFileR ...

  9. Redis集群到集群迁移

    目录 一.物理导入 简介 实际操作 一.物理导入 简介 redis集群在存储数据时,是根据槽点进行存储.例如老集群A如下: 都在一台机器,实际可以在多台机器上. 主节点:7000(0-5460) 70 ...

  10. py脚本 获取当前运行服务的相关信息

    一.简介 最近在统计系统中都部署了什么服务,但服务器太多,在没有标准化之前进行整理,还是写脚本收集方便一些. 当然还是需要人工去判断整理表格,为后面标准化做准备.脚本是python2.7的,默认的ce ...