论文脉络
Hybrid Attack:Transfer Attack(黑盒攻击的一种,白盒攻击应用于本地模型)+Optimization Attack(黑盒攻击的一种,估计梯度并且基于梯度攻击)
Transfer Attack只需要对于目标模型做一次查询,但是攻击成功率低,transfer loss会比较大,尤其是对于有目标攻击的成功率更低。Transfer Attack又进一步分成两种,一种是可以获得有相同数据分布的预训练模型,就不需要再训练了;一种是替换攻击,可以获得目标模型的训练数据,但是需要对目标模型做很多次查询,然后再训练一个本地模型。
Optimization Attack需要对目标模型做很多次查询,但是成功率高。二者的优势不一样,所以可以结合二者。Optimization Attack包括三种,可以获得整个预测分数,对目标模型进行查询从而估计目标函数的梯度gradient attack,不估计目标函数的梯度gradient-free attack(只是进行启发式的搜索,对于目标模型的查询次数更多),以及每次查询只能获得标签值。
为了可以实施资源受限情况下的黑盒攻击,实施一个batch attack,假定攻击者可以获得很多的seed,并且可以利用有限资源来获得对抗样本。batch attack就是为了进一步减少查询次数。例如,某个攻击者想要从ImageNet中的100个候选seed中获得10个对抗样本,seed priorization strategy可以节省70%左右的查询次数。
Batch Attack:Hybrid Attack+seed priorization strategy
黑盒攻击的评价成本一般是对于目标模型的查询次数。每次查询,需要花费时间,支付服务费用,并且容易暴露攻击者。
威胁模型
假定可以获得跟目标模型的任务相同的预训练模型。假定对目标模型的查询可以输出每个类别的预测分数。
假设Hypothesis
(1)相同的任务在不同的模型中拥有相似的决策边界。在transfer attack之后得到的候选对抗样本会离目标的类别的决策边界更近。这里有依据吗,如果真的是这样,在ImageNet上怎么还会获得0.2%这么低的transfer attack成功率呢。
(2)位于本地模型的决策边界附近的对抗样本可以很好的帮助训练本地模型,这类样本的信息量会更大。所以通过Optimization Attack得到的对抗样本可以再加入到本地模型中。
(3)本地模型中得到的梯度信息可以帮助对目标模型估计的梯度进行纠正。(这个可能不靠谱?本地模型的transfer attck成功率那么低,那么模型的梯度应该也不能帮助到对目标模型估计梯度。深度学习模型的梯度本来就有噪声本质noisy nature,很容易收到微小扰动的影响。)这个假设目前还没有太多作证,所以不做讨论。
算法流程
(1)输入:seed image种子图片,一系列的本地模型F,目标的黑盒模型g
(2)输出:一系列的对抗样本图片
(3)R作为剩余需要被攻击的seed种子,A是成功的对抗样本,Q是被用于对本地模型微调tune的标签对。
(4)首先对输入的seed进行选择,然后将选择好的seed输入到本地模型中进行白盒攻击得到初始对抗样本,再判断当前对抗样本是否已经可以成功攻击目标模型,如果还不能就再输入到黑盒目标模型中进行攻击生成最后的对抗样本。
攻击配置
(1)本地模型配置:对于本地所有的模型做一个ensemble,因为不同模型的transfer rate是不一样的。(就是不知道这个ensemble具体是怎么做的)作者通过实验发现,MNIST和CIFAR 10上的本地模型的ensemble可以获得最高的transfer rate,但是ImageNet不行,貌似和前面吻合了,前面说到ImageNet的transfer attack成功率是很低的,所以就算再怎么ensemble也不能提高?那这篇论文的方法就不能应用于ImageNet这类复杂的数据集和模型。
(2)Optimization Attack优化攻击:Optimization Attack部分使用NES和AutoZOOM,这两种方法都是基于梯度的。所以Optimization Attack这里选择的也是查询次数比较少,并且攻击成功率比较高的,就是为了后面效果比较好,这是论文的惯用手法了。这部分的查询最大次数的约定,发现MNIST和CIFAR 10都设置的相对偏小,为4000左右,但是ImageNet就设置成了10000左右。
攻击目标
对于MNIST和CIFAR 10,ImageNet而言,是选择跟当前图片的正确类别差别最大(预测分数最低的类别)作为攻击目标;对于鲁棒的MNIST和CIFAR 10,是选择无目标攻击(是因为鲁棒的有目标攻击难很多,所以选择的无目标吧,虽然论文中解释是说这类鲁棒模型的无目标攻击更难??)
本地模型的候选结果
hybrid attack也会获得比梯度攻击gradient attack更高的攻击成功率,而且也可以获得比较低的查询成本。对于AutoZOOM和NES攻击而言,在正常训练的MNIST模型上,AutoZOOM的攻击失败率从8.7%降到了1.1%,查询成本从1610降到282。NES从22.5%降到了10.8%,查询成本从3284降到1000。但是,hybrid attack在鲁棒的CIFAR 10模型上,1000个候选中有269个的原始seed比transfer attack后的初始点更好。这说明,hybrid attack对于鲁棒的模型效果并没有那么好。
对鲁棒模型的攻击
在对鲁棒模型进行攻击时,无论是NES还是AutoZOOM方法都只降低了约4%的查询成本。作者分析了一下,认为这个原因主要是因为正常模型和鲁棒模型的脆弱空间vulnerability space是不一样的,也就是说以正常模型作为本地模型生成的初始样本并不会给鲁棒模型带来很好的效果。之前有学者研究发现,正常的分类模型捕捉到的是图片的噪声特征,但是鲁棒的分类模型捕捉到的是图片的关键特征。
作者发现,在本地模型中使用鲁棒模型可以将对于鲁棒模型的transfer rate从10.1%升到40.7%,但是此时对于正常模型的transfer rate就降低了。
这部分的发现是,如果要transfer到鲁棒模型中,就要使用鲁棒模型来作为本地模型,如果是要transfer到正常模型,就要使用正常模型作为本地模型。(所以transfer attack为什么攻击成功率低,是因为很难找到跟目标模型类似的模型)
作者使用3个正常模型,2个鲁棒模型做ensemble,然后发现,没有任何一种ensemble可以同时transfer到正常模型和鲁棒模型。在鲁棒模型上表现好的,必定在正常模型上表现差;在正常模型上表现好的,必定在鲁棒模型上表现差。可以发现,当将5个模型都ensemble到一起的时候,会发现,ensemble后的模型在正常模型上表现出很好的transfer rate,但是在鲁棒模型上的transfer rate比较低。作者认为混合的时候,攻击还是会关注于正常模型,因为正常模型更好攻击,损失函数下降的会更快。
本地模型微调
在黑盒的梯度攻击中有两个不同类型的输入标签对产生。一类是在当前图片中添加很小的随机噪声从而对目标模型的梯度进行估计;另一类是在当前图片中添加扰动使得其往估计的梯度方向前进。这部分选择后面的标签对来做,因为它包含关于决策边界的更多信息。(这里应该是因为,平时我们分类的时候一般出问题都是出在决策边界上的样本,所以决策边界的这部分出问题的样本包含了更多决策边界的信息,所以可以很好的对本地模型进行tune)
作者在MNIST和CIFAR 10模型上分别做实验(也就是不做hybrid attack,而是直接算模型加了对抗样本后的transfer rate),发现在MNIST可以获得transfer rate的提升(NES从60.6%提升到77.9%,AutoZOOM从3.4%提升到4.3%),在CIFAR 10上的transfer rate却降低了许多,本来有65.6%之高,但是在tune之后AutoZOOM降到了8.6%,33.4%降到了33.4%(这会不会降低的太多了),对于robust CIFAR 10的结果也是这样,降低了许多。为什么在加了对抗样本图片后,模型的transfer rate反而降低了这么多??
而在加了hybrid attack后,同时添加成功攻击的对抗样本图片和标签到本地模型中,发现依旧是MNIST可以获得一定提升,但是稍微复杂一些的CIFAR 10就没有很多提升了。作者认为这个原因有两点:第一点是对抗样本图片都是类似的,所以学习不到多样性;第二点是,之前有学者通过研究发现,MNIST倾向于从正常的干净图片中学习,CIFAR 10却倾向于从添加扰动后的图片中学习。我们加进去做tune的是添加扰动后的对抗样本图片,所以更适合对MNIST模型做tune。(那这样的话,如果对ImageNet做tune,效果是不是会更差。)
Batch Attack
Batch Attack是在原来的hybrid attack的基础上添加了seed priorization strategy。这个策略其实就是为了在transfer attack之前添加一个策略,对原始的seed图片进行选择,选择“easy to attack”的seed,也就是容易被攻击的seed,这样就可以先攻击容易攻击的seed,可以节省在难以攻击的seed上花费的时间。这里的策略选择包括两个阶段:第一个阶段是充分利用本地模型信息从而寻找到一个可以transfer的seed种子;第二个阶段是充分利用目标模型信息来选择候选。
(1)第一个阶段:Transfer Attack
Transfer Attack这部分的目的有两个:一个是找到候选的对抗样本图片,一个是对seed进行优先选择和处理。这部分是基于PGD step来进行评判的。作者认为,在本地模型中越容易找到的对抗样本,就越容易位于目标模型的脆弱区域(vulnerability region),因为transfer attack这部分用的是PGD白盒攻击,所以用PGD的步数来评估对抗样本的容易被找到的程度。所以应该是先根据PGD步数对所有的seed做优先级的排序,然后再每次对优先级最高的seed做transferability的评估。
(2)第二个阶段:Optimization Attack
Optimization Attack这部分是使用了Priorization Strategy。在第一个阶段选出来的seed,会输入到目标模型中做一次查询,得到类别的预测分数结果,然后会根据这些预测分数结果对剩下的seed做进一步的选择。接近目标标签的seed应该是有更低的loss损失函数值,这部分会选择出损失函数值比较低的。
作者在实验中使用了这两个阶段的结合,就是先使用第一个阶段的PGD-step,然后使用第二个阶段的损失值。
整体的攻击结果
作者发现,hybrid attack在鲁棒的CIFAR 10上的攻击结果是最差的;在ImageNet模型上,使用目标模型的损失值作为seed的优先选择策略的效果是最差的,还不如直接随机选取;但是在ImageNet模型上结合目标模型损失值和PGD step数目来做也是可以得到提升的。
问题与思考
(1)怎么能保证transfer attack得到的对抗样本一定是朝着正确的方向添加的扰动,而不会对后面的optimization attack造成影响。
(2)作者采用预训练的transfer attack和基于梯度的optimization attack是不是因为实验效果最好。因为假设都是黑盒攻击中比较强的。
(3)本地模型的ensemble具体是怎么做的,貌似是需要ensemble的所有模型同时都做攻击,然后将它们的损失值合在一起构成ensemble loss,然后再将ensemble loss应用到白盒的PGD攻击。使用PGD攻击是因为相比FGSM可以获得更高的transfer rate。