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. 【leetcode】 450. Delete Node in a BST

    Given a root node reference of a BST and a key, delete the node with the given key in the BST. Retur ...

  2. Linux磁盘分区(二)之挂载卸载常用命令

    Linux磁盘分区(二)之挂载卸载常用命令 转自:https://blog.csdn.net/qq_36183935/article/details/81053383           https: ...

  3. 如何将List集合中相同属性的对象合并

    在实际的业务处理中,我们经常会碰到需要合并同一个集合内相同属性对象的情况,比如,同一个用户短时间内下的订单,我们需要将各个订单的金额合并成一个总金额.那么用lambda表达式和HashMap怎么分别处 ...

  4. Android获取通知栏的高度

    1 public static int getStatusBarHeight(Context context){ 2         Class<?> c = null; 3        ...

  5. 【Java多线程】ExecutorService和ThreadPoolExecutor

    ExecutorService Java.util.concurrent.ExecutorService接口代表一种异步执行机制,它能够在后台执行任务.因此ExecutorService与thread ...

  6. Go语言核心36讲(Go语言实战与应用二十五)--学习笔记

    47 | 基于HTTP协议的网络服务 我们在上一篇文章中简单地讨论了网络编程和 socket,并由此提及了 Go 语言标准库中的syscall代码包和net代码包. 我还重点讲述了net.Dial函数 ...

  7. 【antd】form表单默认值设置

    问题: 在antd的form表单的api里面有个"initialValues"可以设置默认值.但是表单没有更新 <Form name="test" for ...

  8. 使用 WPF 做个 PowerPoint 系列 基于 OpenXML 解析实现 PPT 文本描边效果

    本文是使用 WPF 做个 PowerPoint 系列的博客,本文来告诉大家如何解析 PPT 里面的文本描边效果,在 WPF 应用中绘制出来,实现像素级相同 背景知识 在开始之前,期望你了解了 PPT ...

  9. [BUUCTF]REVERSE——刮开有奖

    刮开有奖 附件 步骤: 例行检查,无壳,32位程序 32位ida载入,shift+f12检索程序里的字符串,看到了一个base64加密的特征字符串,猜想这题用到了base64加密 从main函数开始看 ...

  10. Excel.CurrentWorkbook数据源(Power Query 之 M 语言)

    数据源: 任意超级表 目标: 将超级表中的数据加载到Power Query编辑器中 操作过程: 选取超级表中任意单元格(选取普通表时会自动增加插入超级表的步骤)>数据>来自表格/区域 M公 ...