最近,我主要看对抗性训练相关的对抗性样本和论文。在这里写一些个人的理解。有些想法还不是很成熟。欢迎交流。
什么是对抗样本,简单来说就是会让机器学习算法误判的样本。比如下图
左狗||右鸵鸟
2014 年,Anh、Jason、Jeff Clune 发表了一篇论文 Deep are ,构建了一类“对抗样本”。机器视觉会在这些样本上产生严重的错误。如图所示,深度神经网络将左图视为狗,将右图视为鸵鸟。
为什么对抗样本训练样本集不能覆盖所有的可能性,而且很可能只覆盖一小部分,所以不可能从中训练出一个覆盖所有样本特征的模型。
在使用模型训练分类问题时,目标是如何更好地对其进行分类,因此模型会尽量扩大样本之间的距离,扩大每个类区域的空间。这样做的好处是便于分类,但缺点是每个区域都包含很多不属于这个类的空间。
图像.png
如上图,蓝色是数据的真实决策边界(real),红色是模型(model)的决策边界。可以发现,基于图中已有的数据集,红线已经是一个最终的决策边界,但是与真实的决策边界还是有很多区别的。当维度数量增加时,差异会变得更大。也就是说,会有很多对抗性的例子。
模型的稳健性
由于对抗样本的存在,我们有必要为评估机器模型提供一个新的标准,用于分析模型对小扰动的抵抗能力。使模型误判所需的扰动幅度越大,模型的鲁棒性就越好。
对抗样本的生成方法介绍
在黑盒攻击中,我们可以知道模型对应的输入和输出。由于对抗样本存在的必然性,理论上我们只需对原始样本随机添加扰动大丹犬有攻击性吗,然后继续猛烈尝试,测试攻击是否成功。
但实际上这样的搜索极其耗时,而且随着特征纬度的增加,几乎不可能实现,通过随机干扰构建对抗样本的可行性很小。
基于此,有很多与生成对抗样本相关的算法。以下只是简单介绍
快速登录 (FGSM)
Good 的论文 AND 中提出的这个算法,主要是基于对抗样本的线性解释。很多人认为是模型的非线性特性导致了对抗样本的产生,但论文提出是模型本身的线性(或者通过点积获得分数的方式)导致了对抗样本的产生图片说明如下:
图像.png
FGSM
FGSM和FGSM的主要区别在于,FGSM沿着梯度下降的相反方向构造样本,而FGSM沿着期望模型误判的类的方向构造样本。
FGSM(I-FGSM)
上述两种FGSM算法在构造对抗样本时只进行了一次构造,即在一定阈值限制下沿特定方向移动一步。另一方面,I-FGSM使得通过多步小动作构建更准确的对抗样本成为可能,但同时也增加了构建的计算量,减慢了构建速度。
兰德-FGSM
该算法在论文中提出,主要原因是数据点附近的损失函数会有很大的曲率,也就是不够平滑,导致生成的对抗样本对自己的模型具有特异性,这解释了为什么对抗性训练的模型对白盒攻击比对黑盒攻击更健壮的奇怪现象。
JSMA
还不明白
算法由论文 The of Deep in 提出
对抗性训练
通过在原始模型训练过程中注入对抗样本,提高了模型对小扰动的鲁棒性。比如FGSM的做法是直接修改损失函数如下:
图像.png
黑盒攻击和白盒攻击
很容易理解,黑盒攻击是已知的输入输出对应关系,攻击者寻找对抗样本来攻击模型。白盒攻击是通过知道模型的所有结构和知识来实现对模型的攻击。在论文 Black-Box 中,提出对模型进行黑盒攻击,可以通过观察其输入和输出的对应关系来构建类似的机器学习模型,然后对其进行白盒攻击。获得的对抗样本通常也是可转移的。对于需要被攻击的黑匣子,能够达到很高的成功率。
总结
对抗样本的对抗训练还有很多研究要做大丹犬有攻击性吗,还有很多地方还没有得出好的结论。例如,
对抗样本可迁移的原因是什么?为什么 FGSM 等单步算法生成的对抗样本具有很好的可迁移性,而使用多步迭代的算法却不能很好地迁移?
如何正确判断模型对干扰的抵抗力?在论文中并发表声明,提到了包括黑盒和白盒攻击检测的重要性。不同的对抗样本生成算法会有不同的特点,因此模型的不同生成算法的抵抗力也不同。
暂无评论内容