Towards Evaluating the Robustness of Neural Networks

文章目录

  • Towards Evaluating the Robustness of Neural Networks
    • 摘要
    • 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 提出的方法
      • 4.1 目标函数
      • 4.2 盒子约束(Box constraints)
      • 4.3 方法的评价
      • 4.4 离散化
    • 5 我们的三种攻击算法
      • 5.1 L2攻击
      • 5.2 L0攻击
      • 5.3 L∞攻击
    • 6 攻击的评价
    • 7 防御蒸馏的评价
      • 7.1 原先攻击算法的脆弱性
      • 7.2 转移性

摘要

  • 介绍了三种攻击算法,证明了防御蒸馏不能很好的提高模型的鲁棒性
  • 建议在一个简单的可转移性测试中使用高置信度的对抗性示例,我们展示了它也可以用于打破防御蒸馏,对抗样本的转移性

1 介绍

  • 评估一个模型鲁棒性的两种方法:

    • 尝试证明其下限
    • 构造证明上限的攻击

2 背景

2.1 威胁模型

  • 在本文中的攻击具备模型的所有知识,包括其架构和其参数

2.2 攻击样本

  • 本文研究有目标的攻击,这些目标分情况通过以下三种方法得到:

    • Average Case:在非正确标签的标签中随机选择目标类
    • Best Case:对所有不正确的类执行攻击,并报告最不难攻击的目标类
    • Worst Case:对所有不正确的类执行攻击,并报告最难攻击的目标类。

2.3 距离度量

p-范式的定义:

  • L_0距离:元素不同的数量
  • L_2距离:欧式距离
  • L_∞距离:最大的元素改变量

2.4 防御蒸馏方法介绍

  1. 训练模型时,用更加平滑的softmax方法(将模型的输出除以常数T),训练结束后生成soft训练标签
  2. 丢掉1中训练的模型,使用得到的soft训练标签训练得到第二个模型
  • 该方法的关键点:避免任何训练数据的过拟合
  • 作者认为该方法没有用,因为其是基于神经网络模型是高度非线性化的观点(防止过拟合可以消除盲点blind-spots,从而消除对抗样本),作者认为这证明了模型的线性假设的观点

3 攻击算法

3.1 L-BFGS

  • 基于L2距离,建模成一个有约束的最小化问题:

  • 该问题难以解决,作者将其转化为如下的形式:

  • 式中参数c的作用是为了找到有最小距离的x‘,通过多次重复自适应的更新参数c

3.2 FGSM

  • 基于L∞距离,关注点在找对抗样本更快而不是其相似程度

  • 式中符号要足够小为了对抗样本不被侦测到
  • Iterative Gradient Sign:一个简单的改进,将一步替换为多步再修剪

3.3 JSMA

  • 基于L0距离,是一种贪心算法,每次选取一个像素进行修改,不断迭代。

3.4 Deepfool

  • 基于L2距离,假设神经网络是完全线性的,用一个超平面将每个类和另一个类分开来构造Deepfool,解最优解构造对抗样本,再将网络视作非线性对对抗样本进行调整。公式较复杂。

4 提出的方法

  • 依赖之前的公式

D是距离度量

  • 通过将其作为一个合适的优化实例来解决这个问题,该实例可以通过现有的优化算法来解决

4.1 目标函数

  • C(x + δ) = t高度非线性不好解,定义一个目标函数 f 使得 f<=0 来代替这一部分,可选如下:

  • 问题转化为:

  • 再转化为如下的等价形式:

  • 将距离度量D写作范式的形式:

  • 式子中的c是一个适当选择的常数,存在c>0,使得后者的最优解与前者的最优解相匹配,根据实验绘制 c 的取值不同下结果情况:

  • 发现:

    • c 小,则攻击成功率下降
    • c 大则攻击有效性下降(攻击样本距离大)

    因此,使用改进的二分搜索来寻找合适的 c 值。

4.2 盒子约束(Box constraints)

  • 盒子约束:确保修改后的值即 xi + δi 在 0 和 1 之间

  • 本文介绍并实验了三种方法:

    1. Projected gradient descent:每次迭代都修剪
    2. Clipped gradient descent:就最后修剪一次,即在进入目标函数前修剪
    3. Change of variables:迭代时改变 w 而不是 δ

  • 这些方法允许我们使用不带该功能的优化器,实验表明Adam的速度较快。

4.3 方法的评价

  • 探究不同函数、盒子约束方法下算法的效果

4.4 离散化

  • 算法中的是连续的数,但图像中是0,1,2……255的整数,需要处理,可以直接四舍五入,但这样会略微降低对抗样本的质量,可以通过一次改变一个像素值来对离散解定义的晶格进行贪婪搜索来恢复确保质量

  • 在我们的工作中,我们要找到图片上改变更小的对抗样本,因此离散化的影响不能忽略

5 我们的三种攻击算法

5.1 L2攻击

  • 选择前面讨论过的Change of variables盒子约束和最佳目标函数 f ,对 f 进行稍微的修改从而可以通过调整κ来控制错误分类发生的置信度
  • Multiple starting-point gradient descent:梯度下降的主要问题是它的贪心搜索不能保证找到最优解,可能陷入局部极小值,可以选取多个靠近原始图像的随机起始点,并从每个点进行梯度下降,迭代次数固定

5.2 L0攻击

  • L0距离度量是不可微的,因此不适合标准梯度下降,从而使用迭代算法
  • 每次迭代中,识别出对分类器没有太大影响的一些像素,然后固定他们的值,固定像素集会随着迭代次数增多而增长,直到确定最小像素子集,通过对其进行修改可以生成对抗样本。
  • 每次迭代中使用L2攻击来确定哪些像素不重要:
    • 用L2攻击确定 δ ,并计算 g = ∇f(x + δ)
    • 挑选出像素 i = arg mini gi · δi ,固定其值,下次L2攻击中不允许改变它,重新用L2攻击
    • 重复该过程直到不能生成对抗样本

5.3 L∞攻击

  • 用最原始的公式会出现在两个次优解之间来回震荡的情况(每次只允许改变一个值)

  • 使用迭代攻击解决此问题,将目标函数中的L2项替换为超过 τ 的任何项的惩罚(最初为1,每次迭代都会减少)。在每次迭代中,如果全部的 δi < τ ,将 τ 减少 0.9 倍并重复;否则,中止搜索。(每个 δi 代表改变的绝对值,当出现一个δj大于 τ 的且是对抗样本,即无须再迭代进行改变了,此时的无穷范数就是δj,再变无穷范数就会继续增大)

6 攻击的评价

  • 生成合成数字实验:在一张全黑/白的图上生成指定类别的对抗样本,基本看不出变化
  • 我们的算法和之前的算法都能在很短的几分钟里生成有效的对抗样本,但我们的算法速度稍慢

7 防御蒸馏的评价

  • 防御蒸馏使用蒸馏方法去提高模型的鲁棒性,但有两个重要的改变:

    1. 训练时第一个模型和第二个模型的尺寸大小完全相同
    2. softmax之前除以 T 来使模型对其预测更加自信

  • 防御蒸馏方法在训练时(第一个模型和第二个模型)设置 T ,在测试时将 T 设置为 1

7.1 原先攻击算法的脆弱性

  • L-BFGS 和、Deepfool 、 JSMA-F 和 FGSM 失败是由于梯度几乎总是为 0

    • 防御蒸馏使用了除以 T 的方法,使得进入softmax的数据Z(称为logits) 非常的大所以softmax后的值非常的hard
  • JSMA-Z(使用 logits 攻击)失败是由于 logits 增大了 T 倍,其改变几乎没影响

7.2 转移性

  • 作者提出了击破防御蒸馏的另一种方法,利用对抗样本的可转移性在容易攻击的模型上生成对抗样本用来攻击,此时寻找的对抗样本是无目标的攻击(像其他任何 label 都可以)

  • 参数κ的目的是控制对抗性示例的强度,这里的 κ 越大,代表生成的对抗样本越强大
  • 作者认为该方法可作为评估防御的鲁棒性的一种通用方法

原文链接:https://arxiv.org/pdf/1608.04644.pdf

对抗机器学习论文-Towards Evaluating the Robustness of Neural Networks(CW2)相关推荐

  1. 对抗机器学习——Towards Evaluating the Robustness of Neural Networks

    论文代码: http://nicholas.carlini.com/code/nn_robust_attacks 论文motivation: 蒸馏网络说自己短小强撼,可以为目标网络模型提供很强的鲁棒性 ...

  2. Towards Evaluating the Robustness of Neural Networks

    这是一篇论文阅读笔记,论文原文:神经网络的鲁棒性评价 写在前面   本人在阅读这篇论文的时候也参考了别人的博文,参考博文的链接我会在文章最后的参考资料中列举出来,如有侵权请联系我删除.本文主要是对这篇 ...

  3. Paper笔记: 《Towards Evaluating the Robustness of Neural Networks》(CW攻击)

    论文: https://arxiv.org/pdf/1608.04644.pdf?source=post_page 代码:https://github.com/Harry24k/CW-pytorch ...

  4. 斯坦福大学机器学习第八课“神经网络的表示(Neural Networks: Representation)”

    斯坦福大学机器学习第八课"神经网络的表示(Neural Networks: Representation)" 斯坦福大学机器学习第八课"神经网络的表示(Neural Ne ...

  5. 斯坦福大学机器学习第六课“神经网络的表示(Neural Networks: Representation)”

    斯坦福大学机器学习第六课"神经网络的表示(Neural Networks: Representation)" 本次课程主要包括7部分: 1)  Non-linear hypothe ...

  6. 每天一篇论文 323/365 Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning

    每天一篇论文汇总list Designing Energy-Efficient Convolutional Neural Networks using Energy-Aware Pruning 摘要 ...

  7. 论文解读二代GCN《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  8. 今天开始学模式识别与机器学习(PRML),章节5.1,Neural Networks神经网络-前向网络。

    今天开始学模式识别与机器学习Pattern Recognition and Machine Learning (PRML),章节5.1,Neural Networks神经网络-前向网络. 话说上一次写 ...

  9. 论文笔记:GVCNN: Group-View Convolutional Neural Networks for 3D Shape Recognition

    GVCNN: Group-View Convolutional Neural Networks for 3D Shape Recognition 1.四个问题 要解决什么问题? 3D shape re ...

最新文章

  1. open***实现两地内网互访(二) 两地内网互访
  2. ERP_基于Oracle SOA的企业服务总线整合
  3. 我们计划招收300名电力人,免费学习CAD。
  4. Creating Your First Blockchain with Java. Part 1.
  5. 【Geek软技能】程序员,为什么写不好一份简历?
  6. mysql goldengate_oracle GoldenGate实现Oracle到MySQL数据平滑迁移
  7. JAXB vs XStream
  8. C# GDI+ 生成自定义进度条
  9. Android---53---多线程下载
  10. python实现蒙特卡洛算法_用Python实现基于蒙特卡洛算法小实验
  11. ie内核的css居中,在IE中居中的css问题
  12. FluentValidation:一个非常受欢迎的,用于构建强类型验证规则的.NET 库
  13. 联想Win10 更新系统后触控板无反应,无效
  14. 超级详细VM16虚拟机安装CentOS 6.8创建虚拟机
  15. 山区建小学(递推,区间dp)
  16. 金仓数据库KingbaseES表空间(tablespace)知多少
  17. 百度学术导入endnote出现choose an import filter解决
  18. 积极指数化:一种全新的投资模式
  19. 【实习面经】一口气面完了字节、陌陌、云从,我发现面试官原来是这样问问题的?
  20. 关于浏览器主页被https://hao.360.com/?src=lmls=n78852a3c9b劫持

热门文章

  1. mac运行npm run dev项目报错:sh: /Users/edy/Desktop/abc/pc/node_modules/.bin/webpack-dev-server: Permission
  2. 达梦DSC+DW搭建
  3. 建站盲点:中国的网站页面就要做的热热闹闹?
  4. 登临科技加入飞桨硬件生态共创计划,共推AI应用规模化落地
  5. 按键精灵——键盘鼠标
  6. 使用.htaccess文件实现指定域名访问指定二级目录
  7. Executing an update/delete query; nested exception is javax.persistence.TransactionRequiredException
  8. 解放双手,Android开发应该尝试的UI自动化测试
  9. ZeroTier简单使用
  10. 关于JDBC连接MySQL的时候出现警告:Establishing SSL connection without server‘s identity verification is not recom