本文主要是介绍CW攻击(论文笔记),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
摘要
1.介绍
2.背景
2.1 攻击模型
2.2 神经网络和符号
2.3 攻击样例
2.4 距离度量
3 攻击算法
3.1 L-BFGS
3.2 FGSM
3.3 JSMA
3.4 Deepfool
4. 实验
5. 作者的方法
5.1 目标函数
5.2 盒约束
5.3 各种方法的评估
摘要
摘要大概介绍了对抗学习的背景以及本文的创新点。神经网络很容易受到攻击,我们在输入一个样本x到一个模型model中,只要在x上添加少量噪声,就可以在人看不出来的情况下改变模型model的输出。背景可以参照《Adversarial Learning Targeting Deep Neural Network Classification: A Comprehensive Review of Defenses Against Attacks》,这是一篇介绍比较全面的综述论文。最近提出了一种蒸馏算法,这个算法可以提高神经网络的鲁棒性,使当前的算法的攻击成功率从95%降低到0.5%。本文提出了三种新的攻击算法,成功攻击了蒸馏和未蒸馏的神经网络,且成功率达到了100%。
这边安利李宏毅老师的机器学习课程,里面也讲到了对抗学习的入门知识。
原文链接:https://arxiv.org/abs/1709.03842
1.介绍
介绍大概讲了下载神经网络应用非常广,但是又非常容易收到攻击,防御蒸馏算法是一种非常厉害的算法,击败了现有的攻击算法(FGSM和JSMA)。作者构造了三种攻击(基于,
和
距离度量)的算法。还建议了使用搞置信度对抗样本评估模型的鲁棒性。也评估了目标函数的选择。
2.背景
2.1 攻击模型
没啥好讲的
2.2 神经网络和符号
假设神经网络是一个函数,是一个m分类器,输入是一个n为向量,输出是一个有后验概率组合的向量y。输出是经过softmax函数处理的。神经网络有n层,每一层都是一个子函数
,数据网络可以表示为:
每一层函数
2.3 攻击样例
作者提出了三种选择攻击的目标类的方法。
- 平均情况:随机选择不正确的标签
- 最好情况:选择攻击难度最小的标签
- 最坏情况:选择攻击难度最难的标签
2.4 距离度量
距离度量函数为,可定义为
{||x - x'||}_p定义为
定义为
3 攻击算法
3.1 L-BFGS
Szegedy等作者将攻击的问题转化为约束最小化问题,给定一个imagex,找到另外一个imagex0,imagex和imagex0距离相似,但是输出标记不同。这个问题定义为
minimize
such that
这个问题很难处理,这个作者转化为
minimize
such that
3.2 FGSM
这个比较简单,略
3.3 JSMA
对于一对像素点(p,q),定义了两个参数
这个算法选择
3.4 Deepfool
Deepfool是一种基于超平面分类的攻击算法。比较复杂,想知道参考原著。
4. 实验
图4.1
图4.1是运用的模型的结构和超参数。作者训练的模型的准确率达到了99.5%和80%。
5. 作者的方法
作者将问题转化为
minimize
such that
是加入的扰动,
是攻击的标签,
是距离度量,作者使用了
,
和
。这样问题就转化为了优化问题。
5.1 目标函数
是一个高度非线性的等式,很难求解上述公式,所以作者采用了目标函数
替代,并且
当且仅当
。下列列举了一些目标函数
。
表示
,
表示
。
代表x的交叉熵损失。
优化问题进一步转化为
minimize
such that
不等式优化可以转化为等式优化问题
minimize
such that
如果实体化后,问题就变成了给出x,求
的问题了。公式中c是一个常数,用来调节优化效果和噪声大小的偏重。作者做了c和攻击成功概率关系的实验。
图5.1
5.2 盒约束
对于任何的,需要保证
,为了保证这个条件,作者研究了三种方法解决这个问题。
1)Projected gradient descent
2)Clipped gradient descent
将替代为
3)Change of variables
将转化为
,因为
的值域在-1到1之间,所以保证了
的值在0到1之间。
5.3 各种方法的评估
之后就是一些实验和评估,不赘述了。
这篇关于CW攻击(论文笔记)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!