C&W对抗攻击(Towards Evaluating the Robustnessof Neural Networks)

本文介绍了2017年NicholasCarlini和DavidWagner提出的C&W对抗样本生成方法,针对防御蒸馏提出了基于三种距离的攻击策略,展示了L-BFGS、FGSM、JSMA和DeepFool等攻击方法。研究发现,C&W方法在小扰动下具有高攻击效率,同时评估了防御蒸馏的优缺点。
摘要由CSDN通过智能技术生成

简介

这篇文章是2017年发表在IEEE的,提出了一种基于优化的对抗样本生成方法

作者是Nicholas Carlini以及David Wagner,推测这C&W是由他们的姓氏首字母而来

文章针对防御蒸馏,提出了基于三种距离的攻击方法,说明防御蒸馏并不那么的优越

这篇文章非常经典,所用的方法在后续许多对抗论文中都有采用

 一、攻击方法

文章中使用了多种对比方法,简要介绍一下

1.1L-BFGS

该方法使用盒约束,基于l_2范数,是一种目标攻击

目标攻击解决以下问题:

\begin{array}{ll}\mathrm{minimize}&\|x-x^{\prime}\|_2^2\\\mathrm{such~that}&C(x^{\prime})=l\\&x^{\prime}\in[0,1]^n\end{array}

本方法通过以下方式解决:

\begin{array}{ll}\text{minimize}&c\cdot\|x-x'\|_2^2+\text{loss}_{F,l}(x')\\\text{such that}&x'\in[0,1]^n\end{array}

这里的损失可以取交叉熵;该方法期望同时优化距离以及损失,也就是在最小扰动以及最小损失的基础上达成目标攻击

显然这种攻击在没有约束的条件下是必然成功的,盒约束的意义在于使得图像样本合法,也就是所有的像素值都在[0,1]之间

c值的选取又是一个很常见的问题了,是衡量二者的重要程度,从而使得其中一者被优先更大程度的优化

1.2Fast Gradient Sign Method(FGSM)

这个就是非常常见的一种攻击方式了

x'=x-\epsilon\cdot\operatorname{sign}(\nabla\text{loss}_{F,t}(x))

一种基于梯度的攻击方式,其含义为:使得样本往损失增大的方向变换(损失大往往就被误分类

多说两句,\epsilon为步长,图像数据中常取8/255,理论上步长取得足够大基本能攻击成功(然而并非必然),但也就背离了扰动‘微小’的前提了

而取符号函数似乎与理论上不太重合,但实验证明加了符号函数往往有更好的攻击效果

对于快速梯度方法(FGSM)可以采取小步长多次迭代的方法,也就是IFGSM,和PGD有异曲同工之妙

1.3JSMA

该方法是一种目标攻击,通过同时修改两个像素点达成

这里的评判标准为一对像素对分类目标的敏感度,敏感度定义为某一类概率对某一像素点的梯度

其意义在于,该梯度越大,像素点的变动对分类器的分类概率值的影响越大,分类器也就对该像素点越敏感

对于目标t而言,通过计算分类器Z(\cdot)对像素点p,q的灵敏度,从而使得对于目标t敏感点更敏感,而对于非目标j\neq t的敏感点变得更不敏感

\begin{aligned} &\alpha_{pq} =\sum_{i\in\{p,q\}}\frac{\partial Z(x)_t}{\partial x_i} \\ &\beta_{pq} =\left(\sum_{i\in\{p,q\}}\sum_j\frac{\partial Z(x)_j}{\partial x_i}\right)-\alpha_{pq} \end{aligned}

优化目标为(p^*,q^*)=\arg\max_{(p,q)}(-\alpha_{pq}\cdot\beta_{pq})\cdot(\alpha_{pq}>0)\cdot(\beta_{pq}<0)

1.4Deepfool

该方法基于l_2距离,比L-BFGS更有效

作者并没有详细的描述这种方法,在这也不多说

二、C&W

该方法的创新在于提出了目标函数(objective function)f(\cdot),致力于解决以下问题

\begin{aligned}&\text{minimize}&\mathcal{D}(x,x+\delta)+c\cdot f(x+\delta)\\&\text{such that}&x+\delta\in[0,1]^n\end{aligned}

其中D描述扰动大小,目标函数f描述攻击的成功程度

2.1盒约束

该方法同样是用于攻击图片,但不同以往的是,对于盒约束用了一种新的表达式

x^{\prime}\in[0,1]^n变为了x'=\frac12(\tanh(w_i)+1)

tanh(\cdot )函数可以将x映射到[0,1]之间,等价于x^{\prime}\in[0,1]^n

不同于以往的暴力裁剪方法,该方法可以保留全部的攻击信息

此时扰动变为了\delta_i=\frac12(\tanh(w_i)+1)-x_i

2.2目标函数

文章基于攻击目标t提出了7种目标函数,目标函数描述对抗样本x'被分类成目标t的程度

重点关注f_6,作者的实验都是基于f_6做的,其他的可以理解不太重要

目标函数可以理解以0为边界,当f(x')\leq 0时,攻击成功

\begin{aligned} &f_{1}(x^{\prime}) =-\mathrm{loss}_{F,t}(x^{\prime})+1 \\ &f_2(x^{\prime}) =(\max_{i\neq t}(F(x')_i)-F(x')_t)^+ \\ &f_3(x^{\prime}) =\text{softplus}(\max_{i\neq t}(F(x')_i)-F(x')_t)-\log(2) \\ &f_4(x^{\prime}) =(0.5-F(x^{\prime})_t)^+ \\ &f_5(x^{\prime}) =-\log(2F(x')_t-2) \\ &f_6(x^{\prime}) =(\max_{i\neq t}(Z(x')_i)-Z(x')_t)^+ \\ &f_{7}(x^{\prime}) =\text{softplus}(\max_{i\neq t}(Z(x')_i)-Z(x')_t)-\log(2) \end{aligned}

2.3c的选择

c的大小影响扰动大小以及攻击的成功程度的权重

更大的c会使得攻击成功程度被给予更高的关注,从而被优先优化

\begin{aligned}&\text{minimize}&\mathcal{D}(x,x+\delta)+c\cdot f(x+\delta)\\&\text{such that}&x+\delta\in[0,1]^n\end{aligned}

作者绘制了超参数c的曲线

得出:当c <1时,攻击很少成功;当c > 1时,攻击变得不那么有效,但总是成功。

于是在后续实验中选定c=1

三、攻击评估

本文提出了基于三种距离的攻击,分别是0范数,2范数和\infty范数,笔者这里只讲2范数,因为只有二范数是可微的

3.1二范数Attack

这里的目标函数选取f_6k为超参数,这里取0

\begin{aligned}\text{minimize }&\|\frac12(\tanh(w)+1)-x\|_2^2+c\cdot f(\frac12(\tanh(w)+1)\\\text{with }&f\text{ defined as}\\&f(x^{\prime})=\max(\max\{Z(x^{\prime})_i:i\neq t\}-Z(x^{\prime})_t,-\kappa).\end{aligned}

解决上式正常是采取梯度下降法,本文提出采用多起点梯度下降(Multiple starting-point gradient descent);传统梯度下降使用贪婪搜索,容易陷入局部最小值。这里从扰动最小的对抗样本到原始样本的距离r为半径的均匀分布取样,相当于在已经是对抗样本的基础上再优化,从而避免陷入局部最小值。

3.2对比方法评估

实验评价指标为扰动大小以及对抗成功率

传统方法几乎都能攻击成功,但几乎都建立在大扰动的前提下

在几种对比方法中,JSMA在ImageNet数据集上计算成本过于高昂,所以判定为总是失败

而三种C&W方法都表现优秀,都能在相对较小扰动下攻击成功,并且总是成功

基于三种距离的攻击方法优秀程度L\infty >L_2>L_0

3.3防御蒸馏的评价

了解一下防御蒸馏(defensive distillation)的概念:正常训练教师模型(teacher model),用教师模型的softmax输出的概率替换训练的硬标签,也就是:[0.2,0.7,0.1]\rightarrow [0,1,0]

原文作者认为教师模型所输出的非标签位概率仍有意义,比如:数字2比数字3更像数字5,所以教师模型把标签为5的数字预测成2的概率会比预测成3的概率更大

蒸馏模型(distilled model)和教师模型有着相同的复杂度,其使用教师模型的软标签进行训练,辅以一定的温度(temperature)T可以增加网络的鲁棒性,温度的定义如下:

\operatorname{softmax}(x,T)_i=\frac{e^{x_i/T}}{\sum_je^{x_j/T}}

温度为1的时候和正常训练无异;更大的温度会有更软的输出(概率值会趋于平均),相似的更低的温度会有更硬的输出(更自信的概率)

防御蒸馏步骤如下:

  1. 使用温度T训练教师网络
  2. 将数据集通过教师网络,得到软标签,使用温度T评估
  3. 使用软标签训练蒸馏网络,温度为T
  4. 使用蒸馏网络进行预测,温度为1

防御蒸馏对于以往的攻击防御力十足,但是本文所提方法仍然有效

其中无穷范数的表现仍然最好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值