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. 《C陷阱与缺陷》 第0章导读 第1章词法陷阱

    1.= 与==的区别 赋值运算符= 的优先级要小于逻辑运算符== 也就是说,会进行先逻辑上的比较,然后再把比较结果进行赋值,很合理. getc库是什么??? 1.C语言中有单字符 = 也有多字符单元如 ...

  2. ubantu打开摄像头失败

    摘要-针对ubantu20 sudo apt install v4l-utils v4l2-ctl --list-devices - cv2 install on ubantu20```针对ubant ...

  3. pop回指定控制器

    //OCNSArray *array = [NSMutableArray new]; array = self.navigationController.viewControllers; //1.返回 ...

  4. tomcat 之 session服务器 (memcache)

    #: 在tomcat各节点安装memcached [root@node1 ~]# yum install memcached -y #: 下载tomcat所需的jar包(此处在视频中找软件) [roo ...

  5. mysql读写分离(proxySQL) lamp+proxysql+nfs

    先在主从节点安装mysql [root@master-mariadb ~]# yum install mariadb-server -y [root@slave-mariadb ~]# yum ins ...

  6. linux shell学习之shell流程控制

    在linux shell编程中,流程控制结构与语句,也算是shell脚本中的重点了,不了解的朋友,跟随脚本小编一起来学习下吧. linux控制流结构学习. 一,shell控制流结构 1.控制结构   ...

  7. 【Linux】【Services】【NetFileSystem】Samba

    1. 简介 1.1. 背景:case is initiative by 某windows无良人事,需求是需要一整块4T的硬盘,由于ESXi5最大支持一块盘是2T大小,而且不可以使用windows动态卷 ...

  8. 【Linux】【Shell】【Basic】数组

    1. 数组:         变量:存储单个元素的内存空间:         数组:存储多个元素的连续的内存空间:             数组名:整个数组只有一个名字:             数组 ...

  9. 使用缓冲流和byte数组,拷贝文件

    package com.itcast.demo05.Buffered;import java.io.*;/** * @author newcityman * @date 2019/7/28 - 17: ...

  10. 【C/C++】日期问题/算法笔记/入门模拟

    最近把算法竞赛入门经典的前半部分看完了,开始看算法笔记入门算法. 看了前半部分的例题,很多是算法竞赛入门经典中出现过的,但是感觉这本书写的更适合初学者,而且真的很像考试笔记,通俗易懂. //日期问题 ...