Ilyas A, Santurkar S, Tsipras D, et al. Adversarial Examples Are Not Bugs, They Are Features[C]. neural information processing systems, 2019: 125-136.

@article{ilyas2019adversarial,

title={Adversarial Examples Are Not Bugs, They Are Features},

author={Ilyas, Andrew and Santurkar, Shibani and Tsipras, Dimitris and Engstrom, Logan and Tran, Brandon and Madry, Aleksander},

pages={125--136},

year={2019}}

作者认为, 标准训练方法, 由于既能学到稳定的特征和不稳定的特征, 而导致模型不稳定. 作者通过将数据集分解成稳定和非稳定数据来验证其猜想, 并利用高斯分布作为一特例举例.

主要内容

本文从二分类模型入手.

符号说明及部分定义

\((x,y) \in \mathcal{X} \times \{\pm 1\}\): 样本和标签;

\(C:\mathcal{X} \rightarrow \{\pm 1\}\): 分类器;

\(f:\mathcal{X} \rightarrow \mathbb{R}\) : 特征;

\(\mathcal{F}=\{f\}\): 特征集合;

注: 假设\(\mathbb{E}_{(x,y) \sim \mathcal{D}}[f(x)]=0\), \(\mathbb{E}_{(x,y) \sim \mathcal{D}}[f(x)^2]=1\).

注: 在深度学习中, \(C\)可以理解为

\[C(x) = \mathrm{sgn} \big( b+ \sum_{f \in F_C} w_f \cdot f(x) \big ).
\]

\(\rho\)可用特征

满足

\[\tag{1}
\mathbb{E}_{(x,y) \sim \mathcal{D}}[y \cdot f(x)] \ge \rho >0,
\]

并记\(\rho_{\mathcal{D}}(f)\)为最大的\(\rho\).

\(\gamma\)稳定可用特征

若\(f\) \(\rho\)可用, 且对于给定的摄动集合\(\Delta\)

\[\tag{2}
\mathbb{E}_{(x, y) \sim \mathcal{D}} [\inf_{\delta \in \Delta(x)} y \cdot f(x+ \delta)] \ge \gamma > 0,
\]

则\(f\) 为\(\gamma\)稳定可用特征.

可用不稳定特征

即对于\(f\), \(\rho_{\mathcal{D}}(f) >0\), 但是不存在\(\gamma >0\)使得(2)式满足.

标准(standard)训练

即最小化期望损失(在实际中为经验风险):

\[\tag{3}
\mathbb{E}_{(x,y) \sim \mathcal{D}} [\mathcal{L}_{\theta} (x, y)],
\]

\(\mathcal{L}_{\theta}\)的取法多样, 比如

\[\mathcal{L}_{\theta}(x, y) = - [y \cdot \big( b+ \sum_{f \in F_C} w_f \cdot f(x) \big )].
\]

稳定(robust)训练

\[\tag{4}
\mathbb{E}_{(x, y) \sim \mathcal{D}} [\max_{\delta \in \Delta(x)} \mathcal{L}_{\theta} (x+\delta, y)].
\]

分离出稳定数据

何为稳定数据? 即在此数据上, 利用标准的训练方式训练得到的模型能够在一定程度上免疫攻击. 如果能从普通的数据中分离出稳定数据和不稳定数据, 说明上面定义的稳定和非稳特征的存在性.

首先假设\(C\)是一个稳定模型(可通过PGD训练近似生成), 则\(\hat{D}_{R}\)应当满足

\[\tag{5}
\mathbb{E}_{(x, y) \sim \hat{D}_{R}}[f(x) \cdot y] =
\left \{
\begin{array}{ll}
\mathbb{E}_{(x, y) \sim D}[f(x) \cdot y] & if \: f \in F_C, \\
0 & otherwise.
\end{array} \right.
\]

为了满足第一条, 需要

\[\tag{6}
\min_{x_r} \quad \|g(x_r) - g(x)\|_2,
\]

其中\(g\)为将\(x\)映射到表示层(representation layer)的映射?

为了满足第二条, 在选择\(x_r\)的初始值的时候, 从\(\mathcal{D}\)中随机采样\(x'\), 以保证\(x'\)和\(y\)没有关系, 则\(\mathbb{E}_{(x, y) \sim D}[f(x') \cdot y] = \mathbb{E}_{(x, y) \sim D}[f(x')] \cdot \mathbb{E}_{(x, y) \sim D}[y] = 0\).

分离出不稳定数据

分离出不稳定数据所需要的是标准的模型\(C\), 且

\[\tag{7}
x_{adv} = \arg \min_{\|x'-x\| \le \epsilon} L_C(x', t),
\]

其中\(L_C\)是认为给定的损失函数(比如:交叉熵), 而\(t\)是通过某种方式给定的标签, 且\(C(x) = y\), \(C(x')=t\).

既然摄动很小, 且\(x_{adv}\)的标签为\(t\), 所以此时\(F_C\)中既有稳定特征, 又有不稳定特征.

\(t\)随机选取

此时稳定性特征和\(t\)不相关, 故其可用度应当为0, 而不稳定特征可用度大于0, 故

\[\tag{8}
\mathbb{E}_{(x, y) \sim \hat{D}_{rand}}[f(x) \cdot y]
\left \{
\begin{array}{ll}
.> 0 & if \: f \: non-robustly \: useful, \\
\approx 0 & otherwise.
\end{array} \right.
\]

\(t\)选取依赖于\(y\)

\[\tag{9}
\mathbb{E}_{(x, y) \sim \hat{D}_{det}}[f(x) \cdot y] =
\left \{
\begin{array}{ll}
.> 0 & if \: f \: non-robustly \: useful \\
< 0 & if \: f\: robustly \: useful \\
\in \mathbb{R} & otherwise.
\end{array} \right.
\]

比较重要的实验

1



上面左图从上到下分别是标准数据, 稳定数据和不稳定数据, 右图进行了四组不同的实验:

  • 在标准数据上标准训练并对其攻击
  • 在标准数据上稳定训练并对其攻击
  • 在稳定数据上标准训练并对其攻击
  • 在不稳定数据上标准训练并对其攻击

不难发现, 在稳定数据上标准训练能够一定程度上免疫攻击, 而在不稳定数据上标准训练, 能够逼近在标准数据上标准训练的结果, 而其对攻击的免疫程度也正如我们所想的一塌糊涂.

这些实验可以说明, 稳定特征和不稳定特征是存在的, 标准训练由于最大限度地追求准确度, 所以其对二类特征一视同仁, 全盘接受, 这导致了不稳定.

迁移性

adversarial attacks的一个很明显的特征便是迁移性, 稳定特征和不稳定特征能够解释这一点, 既然数据相同, 不同结构的网络会从中提取出类似的不稳定特征.



利用从ResNet-50中提取的不稳定数据, 提供给别的模型训练, 可以验证迁移性.

理论分析

作者通过一个正态分布的例子来告诉我们稳定特征和不稳定特征的存在和作用.

注: 下面涉及到的\(\Sigma, \Sigma_*\)均为对角阵.



标准训练的目标是通过极大似然估计\(\Theta=(\mu, \Sigma)\),



其中\(\ell\)为密度函数的\(-\log\).

于是,

\[C(x)= \mathrm{sign}(x^T \Sigma^{-1} \mu).
\]

注: 无特别约束(11)的最优解即位\(\mu_*, \Sigma_*\).

稳定训练的目标是

则有以下结论

定理1

注: \(\mathcal{L}(\Theta)=\mathbb{E}_{(x, y) \sim \mathcal{D}}[\ell(x, y,\mu, \Sigma)]\), \(\mathcal{L}_{adv}(\Theta)\)的定义是类似的.

定理2

注意, 此时考虑的问题与上面的不同(定理3同定理2), 为



定理3

定理的证明, 这里不贴了, 其中有一个引理的证明很有趣.

Adversarial Examples Are Not Bugs, They Are Features的更多相关文章

  1. Adversarial Examples for Semantic Segmentation and Object Detection 阅读笔记

    Adversarial Examples for Semantic Segmentation and Object Detection (语义分割和目标检测中的对抗样本) 作者:Cihang Xie, ...

  2. 文本adversarial examples

    对文本对抗性样本的研究极少,近期论文归纳如下: 文本对抗三个难点: text data是离散数据,multimedia data是连续数据,样本空间不一样: 对text data的改动可能导致数据不合 ...

  3. 论文阅读 | Generating Fluent Adversarial Examples for Natural Languages

    Generating Fluent Adversarial Examples for Natural Languages   ACL 2019 为自然语言生成流畅的对抗样本 摘要 有效地构建自然语言处 ...

  4. 《Explaining and harnessing adversarial examples》 论文学习报告

    <Explaining and harnessing adversarial examples> 论文学习报告 组员:裴建新   赖妍菱    周子玉 2020-03-27 1 背景 Sz ...

  5. Limitations of the Lipschitz constant as a defense against adversarial examples

    目录 概 主要内容 Huster T., Chiang C. J. and Chadha R. Limitations of the lipschitz constant as a defense a ...

  6. Uncovering the Limits of Adversarial Training against Norm-Bounded Adversarial Examples

    Uncovering the Limits of Adversarial Training against Norm-Bounded Adversarial Examples 目录 概 主要内容 实验 ...

  7. Certified Robustness to Adversarial Examples with Differential Privacy

    目录 概 主要内容 Differential Privacy insensitivity Lemma1 Proposition1 如何令网络为-DP in practice Lecuyer M, At ...

  8. Generating Adversarial Examples with Adversarial Networks

    目录 概 主要内容 black-box 拓展 Xiao C, Li B, Zhu J, et al. Generating Adversarial Examples with Adversarial ...

  9. Obfuscated Gradients Give a False Sense of Security: Circumventing Defenses to Adversarial Examples

    目录 概 主要内容 Obfuscated Gradients BPDA 特例 一般情形 EOT Reparameterization 具体的案例 Thermometer encoding Input ...

随机推荐

  1. day02 web主流框架

    day02 web主流框架 今日内容概要 手写简易版本web框架 借助于wsgiref模块 动静态网页 jinja2模板语法 前端.web框架.数据库三种结合 Python主流web框架 django ...

  2. mybatis-plus分页记坑

    mapper接口方法返回IPage,如果不传page会报npe,底层assert page!=null有啥用?

  3. Lombok安装及Spring Boot集成Lombok

    文章目录 Lombok有什么用 使用Lombok时需要注意的点 Lombok的安装 spring boot集成Lombok Lombok常用注解 @NonNull @Cleanup @Getter/@ ...

  4. Linux学习 - ifconfig

    ifconfig 1.功能 用来查看和配置网络设备,当网络环境发生改变时可通过此命令对网络进行相应的配置. 2.用法 ifconfig  [网络设备]  [参数] (1).参数 up 启动指定网络设备 ...

  5. golang vendor

    安装参考 https://blog.csdn.net/huwh_/article/details/77169858 Go 1.5引入了vendor文件夹,其对语言使用,go命令没有任何影响.若某个路径 ...

  6. java的父类声明,子类实例化(强制类型转换导致异常ClassCastException)

    一.使用原因 父类声明,子类实例化,既可以使用子类强大的功能,又可以抽取父类的共性. 二.使用要点 1.父类类型的引用可以调用父类中定义的所有属性和方法: 2.父类中方法只有在是父类中定义而在子类中没 ...

  7. git push大文件失败(write error: Broken pipe)完美解决

    问题 在使用git push推送大文件(超过了100MB)到GitHub远程仓库时提示异常,异常信息如下: fatal: sha1 file '<stdout>' write error: ...

  8. Apache APISIX 的安装和配置请求转发url匹配

    安装apisix套件 创建一个apisix文件夹,在apisix文件夹下再创建一个etcd_data文件夹,用来持久化etcd的数据 在apisix文件夹下 新建3个文件 config.yaml,  ...

  9. Tableau使用折线图和饼图的组合

    一.订单日期拖拽至列-右键天(具体到年月日) 二.订单日期拖拽至筛选器-年月-随机选择一个月的数据 三.创建计算字段-LOD-销售额 {EXCLUDE[类别]:SUM([销售额])} 四.销售额和刚刚 ...

  10. 一文详解 OpenGL ES 纹理颜色混合

    在OpenGL中绘制的时候,有时候想使新画的颜色和已经有的颜色按照一定的方式进行混合.例如:想使物体拥有半透明的效果,或者绘制叠加光亮的效果,这时候就需要用到OpenGLES混合. 如上图所示,为石头 ...