简介
这篇文章是2017年发表在IEEE的,提出了一种基于优化的对抗样本生成方法
作者是Nicholas Carlini以及David Wagner,推测这C&W是由他们的姓氏首字母而来
文章针对防御蒸馏,提出了基于三种距离的攻击方法,说明防御蒸馏并不那么的优越
这篇文章非常经典,所用的方法在后续许多对抗论文中都有采用
一、攻击方法
文章中使用了多种对比方法,简要介绍一下
1.1L-BFGS
该方法使用盒约束,基于范数,是一种目标攻击
目标攻击解决以下问题:
本方法通过以下方式解决:
这里的损失可以取交叉熵;该方法期望同时优化距离以及损失,也就是在最小扰动以及最小损失的基础上达成目标攻击;
显然这种攻击在没有约束的条件下是必然成功的,盒约束的意义在于使得图像样本合法,也就是所有的像素值都在之间
c值的选取又是一个很常见的问题了,是衡量二者的重要程度,从而使得其中一者被优先更大程度的优化
1.2Fast Gradient Sign Method(FGSM)
这个就是非常常见的一种攻击方式了
一种基于梯度的攻击方式,其含义为:使得样本往损失增大的方向变换(损失大往往就被误分类
多说两句,为步长,图像数据中常取,理论上步长取得足够大基本能攻击成功(然而并非必然),但也就背离了扰动‘微小’的前提了
而取符号函数似乎与理论上不太重合,但实验证明加了符号函数往往有更好的攻击效果
对于快速梯度方法(FGSM)可以采取小步长多次迭代的方法,也就是IFGSM,和PGD有异曲同工之妙
1.3JSMA
该方法是一种目标攻击,通过同时修改两个像素点达成
这里的评判标准为一对像素对分类目标的敏感度,敏感度定义为某一类概率对某一像素点的梯度
其意义在于,该梯度越大,像素点的变动对分类器的分类概率值的影响越大,分类器也就对该像素点越敏感
对于目标而言,通过计算分类器对像素点的灵敏度,从而使得对于目标敏感点更敏感,而对于非目标的敏感点变得更不敏感
优化目标为
1.4Deepfool
该方法基于距离,比L-BFGS更有效
作者并没有详细的描述这种方法,在这也不多说
二、C&W
该方法的创新在于提出了目标函数(objective function),致力于解决以下问题
其中描述扰动大小,目标函数描述攻击的成功程度
2.1盒约束
该方法同样是用于攻击图片,但不同以往的是,对于盒约束用了一种新的表达式
从变为了;
函数可以将映射到之间,等价于
不同于以往的暴力裁剪方法,该方法可以保留全部的攻击信息
此时扰动变为了
2.2目标函数
文章基于攻击目标提出了7种目标函数,目标函数描述对抗样本被分类成目标的程度
重点关注,作者的实验都是基于做的,其他的可以理解不太重要
目标函数可以理解以0为边界,当时,攻击成功
2.3c的选择
的大小影响扰动大小以及攻击的成功程度的权重
更大的会使得攻击成功程度被给予更高的关注,从而被优先优化
作者绘制了超参数的曲线
得出:当时,攻击很少成功;当时,攻击变得不那么有效,但总是成功。
于是在后续实验中选定
三、攻击评估
本文提出了基于三种距离的攻击,分别是0范数,2范数和范数,笔者这里只讲2范数,因为只有二范数是可微的
3.1二范数Attack
这里的目标函数选取,为超参数,这里取0
解决上式正常是采取梯度下降法,本文提出采用多起点梯度下降(Multiple starting-point gradient descent);传统梯度下降使用贪婪搜索,容易陷入局部最小值。这里从扰动最小的对抗样本到原始样本的距离为半径的均匀分布取样,相当于在已经是对抗样本的基础上再优化,从而避免陷入局部最小值。
3.2对比方法评估
实验评价指标为扰动大小以及对抗成功率
传统方法几乎都能攻击成功,但几乎都建立在大扰动的前提下
在几种对比方法中,JSMA在ImageNet数据集上计算成本过于高昂,所以判定为总是失败
而三种C&W方法都表现优秀,都能在相对较小扰动下攻击成功,并且总是成功
基于三种距离的攻击方法优秀程度
3.3防御蒸馏的评价
了解一下防御蒸馏(defensive distillation)的概念:正常训练教师模型(teacher model),用教师模型的softmax输出的概率替换训练的硬标签,也就是:
原文作者认为教师模型所输出的非标签位概率仍有意义,比如:数字2比数字3更像数字5,所以教师模型把标签为5的数字预测成2的概率会比预测成3的概率更大
蒸馏模型(distilled model)和教师模型有着相同的复杂度,其使用教师模型的软标签进行训练,辅以一定的温度(temperature)T可以增加网络的鲁棒性,温度的定义如下:
温度为1的时候和正常训练无异;更大的温度会有更软的输出(概率值会趋于平均),相似的更低的温度会有更硬的输出(更自信的概率)
防御蒸馏步骤如下:
- 使用温度T训练教师网络
- 将数据集通过教师网络,得到软标签,使用温度T评估
- 使用软标签训练蒸馏网络,温度为T
- 使用蒸馏网络进行预测,温度为1
防御蒸馏对于以往的攻击防御力十足,但是本文所提方法仍然有效
其中无穷范数的表现仍然最好