deepfool攻击原理和提出必要性

作者为什么提出deepfool攻击,有什么必要性呢

目的一:对抗训练很重要,作者发现,如果采用FGSM这种,L-BFGS这些生成对抗样本的方法可能会导致对抗训练效果变更差。为什么呢?
因为作者发现用来对抗训练的对抗样本扰动越大那么可能 让对抗样本训练把原本的神经网络变更差
下图中

在这里插入图片描述
这个是神经网络的鲁棒性衡量用下图公式
在这里插入图片描述
下图是使用不同扰动大小的对抗样本来训练神经网络,发现扰动越大的对抗样本 训练的效果越差
l在这里插入图片描述
下图中更是说明,用FGSM去对抗训练,发现结果还没有用clean样本去训练的效果好,说明FGSM生成的样本来对抗训练 不行。
在这里插入图片描述
为什么会这样呢,作者认为是 (这会导致测试数据中不太可能出现的图像。因此,它降低了该方法的性能,因为它充当不代表原始数据分布的正则化器。这种效果类似于几何数据增强方案,其中原始样本的大量变换对生成产生反作用。)这个自己看原文把

目的二:那么对于FGSM这些扰动大的方法,作者就提出了deepfool这个扰动小的方法。

目的三:提出了衡量神经网络鲁棒性的方法

具体方法实现

线性二分类器的时候

在这里插入图片描述

点到决策边界的距离,就是点到直线的距离
在这里插入图片描述

但是对于非线性二分类器的来说,用迭代的方式

在这里插入图片描述

把当前点进行一阶泰勒展开,成为一个平面,平面和变量之间的交线,就是要投影过去的线
在这里插入图片描述
这样子投影过去,到新的一个点。然后重新投影

最终找到决策边界。说实话,这种方法并不是最优解,只能说是一种经验把,我姑且这样认为。

多分类

有了二分类的基础,在多分类时候,要先找到,我应该向哪一个标签的决策边界去搜
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

然后非线性的情况就是迭代几次,和二分类一样。

实验部分

数据集和对应的网络:左侧为数据集右侧为网络

1、MNIST:两层全连接网络,以及两层LeNet卷积神经网络架构[9]。这两个网络均使用 MatConvNet [20] 包通过 SGD 进行动量训练。

2、CIFAR-10:我们训练了一个三层 LeNet 架构,以及一个 Network In Network (NIN) 架构 [11]。

3、ILSVRC 2012:我们使用 CaffeNet [7] 和 GoogLeNet [17] 预训练模型

平均扰动范数(这个是用来评估扰动的强度,就是噪声点的强度的)
用下图计算
在这里插入图片描述

在这里插入图片描述
上图是实验,deepfool方法和FGSM,L-bfgs方法测试对比,发现deepfool效率没提高,但是扰动小

直观如下图:
在这里插入图片描述
并且,最后发现用deepfool生成的对抗样本来训练,能够提高神经网络鲁棒性。

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值