前言
看到篇paper,提供了一个极其厉害的生成对抗样本的黑箱攻击方式,之前的对抗攻击必须要知道受攻击模型的详细信息(包括模型结构参数,训练样本集等),但是本文所要分享的方法,是完全不需要知道这些信息的,只需要可以接触到受攻击模型的判别label即可完成对抗攻击。多么神奇而牛气哄哄的方法,让我们一块膜拜下这篇文章,看看为什么会有效。
攻击的限制
面对的问题:
在不知道受攻击模型的网络结构,参数设置,以及训练样本的情况下,如何能够生成对抗样本,来使得受攻击模型误判。
以往的方法:
大多数都是针对模型,猜测探索模型的误判方向,找到更容易产生偏差的方向,在这些方向上做扰动,从而达到迷惑模型的目的。
现在的难点,是无法接触的关于模型的任何信息(除了知道它对接受到的输入打的标签),那么基于梯度的方法,也就没有用武之地了,因为没法针对性地探索模型特性。
基本思路
牛人的思路从来都是开创性的,没有路子也可以硬生生地走出一条路子来。无法接触到受攻击模型,那么就自己造个替代模型;接触不到训练数据,那么就自己造一批训练数据。被攻击的简直也是会哭晕的,这啥都不给你也能给攻击,简直就是没有天理。
1) 替代模型
没法接触到受攻击模型的信息是吧,那就生成个替代模型,来模拟近似受攻击模型的某些决策边界。注意,替代模型并不是用来学习判别最优的,而是学习能够模仿受攻击模型的决策边界的替代能力。
根据常识,选择替代模型的大体结构,比如图像识别通常使用CNN。
2) 合成样本
光有替代模型还是不行的,还需要有数据啊,但是训练数据也拿不到。那还怎么搞呢?不是还可以接触到受攻击模型打标签这个动作么,是可以充分利用起来的。那就先造一批随机数据,然后让受攻击模型打上标签,然后再想个高效的办法,尽快能够探测评估出误导方向。这个时候就用到了雅克比矩阵了,在上批随机数据的基础上,构造一波新的探测数据,再去打标签。
合成数据集的必要性,全部遍历真实输入是不可能的,query过多容易被封。
Jacobian-Based Dataset Augmentation:
雅克比矩阵
描述了输出
对输入
的敏感程度,大值表示很小的输入会导致很大的输出值变化幅度,这些方向上,也更能描述模型的分类边界的样本情况。如下图所示,梯度与边界样本:
因此在根据前面的一批合成样本,来生成后续的样本集时,想要更有效地合成数据集,就要强化这些方向上的数据的合成(基于雅克比的数据集合成方法)。
新样本的合成如下:
是 在受攻击模型下的label, 。合成新数据多少条,就要query多少次受攻击模型。
Notice: 替代模型的学习目标;合成样本的可靠性
利用合成数据训练替代模型,学习到分类边界。OK了,剩下的就是利用已经学习了分类边界识别能力的模型,做迁移对抗。
对抗样本的生成方法
如何根据正常的样本
生成对抗样本
,使得模型误判
。
对抗生成方法有很多,大部分都是基于梯度的,该论文提及的有两种。
1)一种是Goodfellow的方法(也叫Fast Gradient Sign Method):
sgn是符号函数。
背后的主要想法是:代价函数在输入的某方向上变化率最大,那么也是最容易使得代价变化的方向,代价函数是用来指导优化的(以正确率为目标),也就更容易使得误判发生。
2)一种是Papernot的方法:适合指定误导类别的对抗生成。
想将样本
误导为类别
,
,定义saliency map如下:
怎么生成对抗样本呢?选择
>0且
的输入维度,做扰动更新。
背后的主要想法是:
雅克比矩阵
表明了函数
对
的敏感度,其绝对值越大的点,越更可能是分类的临界点。因此,根据雅克比矩阵值,可以缩小查找输入扰动有效点的范围。
思考
- 真的无先验知识么?
说是什么先验信息都没有获取到,其实隐含着知道通用视觉模型使用CNN这一基本先验知识,实际上还是针对性地做对抗。 - 这种方法,对于人脸识别模型的攻击是否仍然可以有效?
答案是模糊的。难点之一在于交互困难,另外通常的分类边界是否还有效有待验证,可能需要更为针对的合成数据方法。 - 如何计算
?
papernot是将梯度推导出来,将 联系到一起。直观上,可以对每条样本都能搞个对抗样本出来。
但是在tf里面,可自动推导梯度,我们还需要那么麻烦地推导么?貌似不用就可以,直接固定 ,将x设定为tf.variable。正常x作为初始值,从而自动求导。 - 对抗样本是针对单条样本来生成,还是针对某类别样本来生成。
这是个问题,看实际情况,想对单条样本搞还是对某类样本搞,看实际问题。
Reference
- 《Practical Black-Box Attacks Against Machine Learning》
- 《Explaining and Harnessing Adversarial Examples》
- 《The Limitations of Deep Learning in Adversarial Setting》