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. 日常Java 2021/11/21

    Java文档注释 Java支持三种注释方式.前两种分别是Ⅱ和/产*,第三种被称作说明注释,它以产开始,以*I结束.说明注释允许你在程序中嵌入关于程序的信息.你可以使用javadoc工具软件来生成信息, ...

  2. canal从mysql拉取数据,并以protobuf的格式往kafka中写数据

    大致思路: canal去mysql拉取数据,放在canal所在的节点上,并且自身对外提供一个tcp服务,我们只要写一个连接该服务的客户端,去拉取数据并且指定往kafka写数据的格式就能达到以proto ...

  3. 零基础学习java------23---------动态代理,ip,url案例

    1. 动态代理 2. ip,url案例 给定的access.log是电信运营商的用户上网数据,第一个字段是时间, 第二个字段是ip地址,第三个字段是访问的网站,其他字段可以忽略不计. 第一个字段是网段 ...

  4. Element-ui 中对表单进行验证

    Element-ui 中对表单(Form)绑定的对象中的对象属性进行校验 如果是直接绑定属性,是可以的,但是绑定对象中的属性就需要特别处理,需要在rules中添加双引号 " "或者 ...

  5. Spring AOP通过注解的方式设置切面和切入点

    切面相当于一个功能的某一个类,切入点是这个类的某部分和需要额外执行的其他代码块,这两者是多对多的关系,在代码块处指定执行的条件. Aspect1.java package com.yh.aop.sch ...

  6. 【Matlab】imagesc的使用

    imagesc(A) 将矩阵A中的元素数值按大小转化为不同颜色,并在坐标轴对应位置处以这种颜色染色 imagesc(x,y,A) x,y决定坐标范围 x,y应是两个二维向量,即x=[x1 x2],y= ...

  7. Redis主从 部署和配置

    目录 一.主从简介 主从介绍 主从原理 二.主从部署 环境介绍 主从配置 临时主从 三.主从测试 一.主从简介 主从介绍 Redis都是主节点.每个从节点只能有一个主节点,而主节点可以同时具有多个从节 ...

  8. Nginx模块之Nginx-echo

    目录 一.简介 二.使用 一.简介 官网 Nginx-echo可以在Nginx中用来输出一些信息,是在测试排错过程中一个比较好的工具.它也可以做到把来自不同链接地址的信息进行一个汇总输出.总之能用起来 ...

  9. [BUUCTF]PWN——[BJDCTF 2nd]r2t4

    [BJDCTF 2nd]r2t4 附件 步骤 例行检查,64位,开启了canary和nx 64位ida载入,检索字符串的时候发现了后面函数,shell_addr=0x400626 main函数 可以溢 ...

  10. 10 - Vue3 UI Framework - Tabs 组件

    标签页是非常常用的组件,接下来我们来制作一个简单的 Tabs 组件 返回阅读列表点击 这里 需求分析 我们先做一个简单的需求分析 可以选择标签页排列的方向 选中的标签页应当有下划线高亮显示 切换选中时 ...