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. 巩固javaweb的第二十三天

    巩固内容: 调用验证方法 验证通常在表单提交之前进行,可以通过按钮的 onClick 事件,也可以通过 form 表单 的 onSubmit 事件来完成. 本章实例是通过 form 表单的 onSub ...

  2. A Child's History of England.40

    Excommunication was, next to the Interdict I told you of at the close {end} of the last chapter, the ...

  3. 【2021赣网杯web(一)】gwb-web-easypop

    源码分析 <?php error_reporting(0); highlight_file(__FILE__); $pwd=getcwd(); class func { public $mod1 ...

  4. 爬虫系列:使用 MySQL 存储数据

    上一篇文章我们讲解了爬虫如何存储 CSV 文件,这篇文章,我们讲解如何将采集到的数据保存到 MySQL 数据库中. MySQL 是目前最受欢迎的开源关系型数据库管理系统.一个开源项目具有如此之竞争力实 ...

  5. 视图View,获取视图大小

    一.获得LayoutInflater实例: LayoutInflater layoutInflater=LayoutInflater.from(context); 得到LayoutInflater实例 ...

  6. Spring标签库

    spring提供了两个标签库文件:spring-form.tld(表单标签库,用于输出HTML表单)  spring.tld(基础标签库,用于Spring数据绑定等) 使用步骤: 1,配置表单标签库, ...

  7. Playing with Destructors in C++

    Predict the output of the below code snippet. 1 #include <iostream> 2 using namespace std; 3 4 ...

  8. spring下春注解的声明式事务控制

    package com.hope.test;import com.hope.domain.Account;import com.hope.service.IAccountService;import ...

  9. JAVA日记之mybatis-3一对一,一对多,多对多xml与注解配置

    1.Mybatis多表查询1.1 一对一查询1.1.1 一对一查询的模型用户表和订单表的关系为,一个用户有多个订单,一个订单只从属于一个用户 一对一查询的需求:查询一个订单,与此同时查询出该订单所属的 ...

  10. Hexo结合Github搭建个人博客

    如何搭建 我采用了ICARUS主题,根据以下教程完成了部署 https://www.cnblogs.com/liuxianan/p/build-blog-website-by-hexo-github. ...