文章目录

  • 摘要
  • 一、引言
  • 二、相关概念及背景介绍
    • 1.深度学习
      • A.深度学习的主要概念
      • B.深度神经网络的结构
      • C.深度学习标准数据集
    • 机器学习中的对抗性样本及对策
  • 三、对抗性样本生成方法的分类
    • 1.威胁模型
      • A.对抗伪造性
        • ①假阳性:
        • ②伪阴性:
      • B.对抗者对模型的了解程度
        • ①白盒攻击
        • ②黑盒攻击
      • C.对抗特异性
        • ①定向攻击
        • ②非定向攻击
      • D.攻击频率
        • ①一次性攻击
        • ②循环攻击
    • 2.扰动
      • A.扰动范围
        • ①个体攻击
        • ②通用攻击
      • B.扰动限制
        • ①最优化扰动
        • ②约束扰动
      • C.lp测量法
    • 3.基准
      • A.数据集
      • B.受害者模型
  • 四、对抗性样本生成方法
  • 五、应对对抗性样本的对策
  • 六、对抗性样本的应用
  • 七、目前的挑战和潜在的解决方案
  • 八、总结

摘要

深度学习在一系列领域取得了迅速进展和重大成功,不仅如此,它还逐渐地被应用于关键性安全领域。但是,近来有研究表明:深度神经网络很容易受到精心设计的输入样本(对抗性样本)的危害。人类无法察觉对抗性样本,但它可以很容易愚弄深层神经网络。深度神经网络易受到对抗性样本的影响,这成为了将其应用于关键性安全领域的主要风险。因此,针对对抗性样本的攻击与防御引起了广泛关注。在这篇文章里,我们回顾了最近针对于深度神经网络的对抗性样本研究,概括了生成对抗性样本的方法,还对这些方法建立了分类系统,在这个系统下对对抗性样本的应用进行调研。最后,我们一起研讨应对对抗性样本的对策并且探索了可能遇到的挑战和潜在的解决方案。

一、引言

深度学习在传统的机器学习领域取得了显著的进步:图像分类,对象识别,对象检测,语音识别,翻译,声音合成。
大数据的出现以及硬件的升级迭代,使得深度学习对人工干预和专业知识的要求也降低了很多,并且现在的深度学习可以从原始输入数据中提取出更抽象、更高水平的数据复杂性。
深度学习在现实生活中的应用越来越广泛,从IT到汽车行业(Google、Tesla、Mercedes、Uber)都在研发自动驾驶,这需要足够强大的深度学习技术,比如:对象识别、强化学习以及多模态学习。
虽然深度学习在很多应用中都取得了显著成果,并且还涉及到了很多安全性极为重要的领域,这就让人非常重视其安全性了。正所谓“能力越大,责任越重”。最近的研究就发现深度学习很容易受到精心设计的输入样本的干扰,这些样本只需要一点点微不足道的扰动就可以轻而易举地骗过一个性能良好的深度学习模型。
大量的以深度学习为基础的应用逐渐被部署到了真实世界中,特别是安全性极为关键的领域,与此同时,对抗性样本也可以应用到真实世界中。举个例子:对抗性样本可以通过控制交通信号识别系统里的停车标志或者在对象识别系统里移除对行人的分割标记来干扰自动驾驶车辆。攻击者还可以生成对抗性命令来破坏自动语音识别系统和声音控制系统。比如:Apple的Siri,Amazon的Alexa,Microsoft的Cortana。
深度学习系统被认为是一种“黑科技”——我们都知道它很厉害,很好用,但是对其原理所知甚少。许多的研究也解释不了深度神经网络。但是,通过对对抗性样本的深入学习,我们或许可以在深度神经网络语义上的内层方面获取一些灵感,并且逐渐找到决策边界。这反过来又可以帮助我们提高神经网络的健壮性和性能,同时提高其可解释性。

二、相关概念及背景介绍

1.深度学习

A.深度学习的主要概念

深度学习是机器学习的一种,它可以让计算机从先前的经验以及知识中去学习,并不依赖于显著式编程,还可以让计算机从原始数据中提取出有效的模式。由于多维性的限制、计算的瓶颈以及专业性知识等种种问题,传统的机器学习算法并不能提取出有效的很具代表性特点的数据模型。深度学习则是通过几个简单的特征来表示一个复杂的概念,从而解决代表性问题。比如,一个以深度学习为基础搭建的图像分类系统是通过描绘一个对象的边缘、纤维、结构来提取一个对象的特征的。
神经网络层是由感知器(人造神经元)的集合组成的。每一个感知器用激励函数将输入值散列成输出值。该函数是一种链式形式:
f(x) = f (k)(· · · f(2)(f(1)(x)))
f(i)就代表了第i层神经网络的激活函数。
卷积神经网络(CNNs)和循环神经网络(DNNs)是目前两种最常用的神经网络结构。CNNs适用于格点化输入数据,RNNs适合处理顺序输入数据以及数据长度可变的情况。RNNs在每一步都会产生输出。

B.深度神经网络的结构

几种在计算机视觉里常用的深度学习结构:LeNet、VGG、AlexNet、GoogleNet、ResNet,从最简单的(最久远的)到最复杂的(最新的)。AlexNet在2012年的ImageNet视觉识别挑战赛上首次证明出深度学习模型可以大幅度地超越传统机器学习算法。这些结构在ImageNet挑战赛上取得了巨大突破,被视为图像分类领域的里程碑。而攻击者经常制造一些对抗性样本来攻击这些基本结构。

C.深度学习标准数据集

计算机视觉中常用的三种数据集:MNIST、CIFAR-10、ImageNet。MNIST数据集主要是识别手写的数字;CIFAR-10和ImageNet数据集是用于图像识别测试。CIFAR-10数据集有十种一共60000小型的32*32的颜色图像组成;ImageNet数据集一共有14,197,122张图像,涵盖1000个种类。正是由于其海量的数据,大多数对抗性方法都是在ImageNet数据集上评测完成的。


机器学习中的对抗性样本及对策

传统机器学习模型中的对抗性样本几十年前就在讨论,因为带有人工干预特性的机器
学习系统就是起初对抗性样本的首选目标。比如,垃圾邮件过滤器、入侵检测系统、生物特征识别系统、诈骗检测系统等。举个例子,垃圾邮件只需要通过增加字符即可躲过检测。
Barrreno呈现了对机器学习安全性问题的最初调查,他们把对机器学习系统的攻击归位了三个衡量维度:(1)影响:攻击是否会损坏训练数据;(2)安全侵犯:该对抗性样本是属于假阳性还是伪阴性;(3)特异性:该攻击是定向性攻击还是范围性攻击。
在传统机器学习中,对抗性样本需要特征提取的知识,但是深度学习通常只需要原始数据输入。在传统机器学习中,不管是攻击还是防御的方法多过多的关注于特性,甚至从一开始的数据收集阶段就是这样的,而且很少关注到人的影响。
这篇文章的重心则更偏向于深度学习系统中的对抗性样本研究。举个例子:使用第三方发布的训练后的图像分类器,用户输入一个图像来获取其类型标签。对抗性图像就是原始干净的图像外带一点扰动,这种改变人眼基本察觉不出来,然而,这些细微的改变却可以误导图像分类器,导致用户得到的是错误的类型标签。用f代表训练后的深度学习模型,用x代表原始输入数据样本,然后生成了对抗性样本x’可以描述成一个最优解问题:

三、对抗性样本生成方法的分类

为了系统化地分析生成对抗性样本的方法,我们把这些方法按照三个维度进行了分类:威胁模型(Threat Model)、扰动(Perturbation)和基准(Benchmark)。

Threat Model(威胁模型):
①对抗性样本只能在测试或者部署阶段攻击。他们只能在测试阶段篡改输入数据,但是不能修改训练过的模型和数据集。对抗性样本可能对受训的模型有一定了解。
②我们只关注那些针对深度神经网络进行的攻击,我们已经证明了对抗性样本对深度神经网络的攻击同样也适用于传统机器学习。
③对抗性样本只关注折衷解决其完整性。完整性是深度学习模型的一个重要特性。我们关注的是那些降低深度学习模型性能的攻击,可能会导致假阳性和伪阴性。

基于不同的脚本、假设和质量要求,攻击者会选取他们需要的属性来定性生成对抗性样本。我们最终将威胁模型分成了四部分:对抗性伪造、对手知识、对抗特异性、攻击频率。

1.威胁模型

A.对抗伪造性

①假阳性:

把阴性的样本误判为阳性。比如:把一个良性的软件误判成了恶意软件,这就是假阳性。

②伪阴性:

把阳性的样本误判为阴性。比如:一个恶意软件并不能被训练模型识别出来。假阴性也叫做机器学习逃避,这种错误经常会出现在对抗性图像中,人们可以识别出来,但是神经网络却识别不出来。

B.对抗者对模型的了解程度

①白盒攻击

这种攻击会认为对抗者清楚掌握了和训练的神经网络模型有关的所有信息,包括训练数据、模型架构、超参数、层级、激励函数、模型权重。很多对抗性样本都是 通过计算模型成分得到的。因为深度神经网络只需要输入一些原始数据而不需要手工提取出特征,并且希望部署成端到端的结构,所以相比于机器学习中的对抗性样本来说,特征选择就没那么必要了。

②黑盒攻击

这种攻击设想的是对抗着没有办法获取到训练的神经网络模型。对抗者其实就充当着一个普通用户,只知道模型的输出。这种假设在攻击在线机器学习服务时很常用。
大多数的对抗性样本攻击都是白盒攻击,然而,它们可以被转化成黑盒攻击,这种对抗性样本的可转化性在VII-A会提到。

C.对抗特异性

①定向攻击

让深度神经网络把输入图像误判为某一种特定的种类。Targeted attacks经常出现在多类分类问题中。比如:对抗者会让图像分类器把所有的对抗性样本都预测成某一种类型;在面部识别系统中,对抗者会把一张陌生的脸伪装成一名授权用户的脸。

②非定向攻击

这种攻击没有给深度神经网络模型的输出指定一个特定的类型输出。对抗性样本的输出可是任意的类型,只要和原始输入数据的输入类型不同就行。比如:对抗者会把一张脸部图误判为一张任意的脸躲过检测。非定向攻击比起定向攻击更容易实现,因为它有更多选择和空间来重塑输出。非定向攻击样本的生成方法一般有两种:1)同时运行几个定向攻击并且从生成结果中选出扰动最小的那一个;2)
最小化得出正确类型的可能性。

D.攻击频率

①一次性攻击

这种一次性攻击只有一次机会去最优化对抗性样本。

②循环攻击

这种攻击会不断更新对抗性样本。循环攻击虽然可以生成性能更好的对抗性样本,但是却需要更多和受害者分类器之间更多的交互,以及花费更多的时间来生成这些样本。

2.扰动

细微的扰动是对抗性样本的前提和基础。对抗性样本旨在和原始样本相近但却能让人们无法识别出来,然后降低深度学习模型的性能。

A.扰动范围

①个体攻击

为每一个干净的输入数据分别增设扰动。

②通用攻击

只会为所有的数据集生成一个通用的扰动,然后这个扰动可以应用到所有的输入数据上。
通用的扰动更容易被部署到现实世界中。当输入样本改变时,扰动不用改变。

B.扰动限制

①最优化扰动

种方法是把扰动的设置当做最优解问题,力求找到最合适的扰动值,会尽可能地缩小扰动以便让人们无法察觉。

②约束扰动

这种方法将扰动视为最优解问题的约束,只要求扰动足够小即可。

C.lp测量法


l0,l2,l∞是三种常用的度量。l0(0范数攻击)会计算出对抗性样本中像素改变的数量;l2(2范数攻击)测量的是对抗性样本和原始样本间的欧几里得距离;l∞(无穷范数攻击)表示的是对抗性样本中所有像素的最大变化。

3.基准

对抗者通过不同的数据集和受害者模型来展示他们的对抗性攻击的性能。这种离散性就会给评估对抗性攻击和测量深度学习模型的健壮性带来困难。

A.数据集

MNIST、CIFAR-10和ImageNet是三种最常用的图像分类数据集。MNIST和CIFAR-10已经被证明了非常容易攻击和防守由于其简单性和小规模,所以ImageNet成为了最好的数据集来评估对抗性攻击。

B.受害者模型

对抗者经常攻击几种众所周知的深度学习模型,比如:LeNet,VGG,AlexNet,GoogLeNet,CaffeNet,ResNet。

四、对抗性样本生成方法

五、应对对抗性样本的对策

六、对抗性样本的应用

七、目前的挑战和潜在的解决方案

八、总结

Adversarial Examples:Attacks and Defenses for Deep Learning Networks相关推荐

  1. 对抗样本学习笔记:Adversarial Examples: Attacks and Defenses for Deep Learning

    (持续更新) 一.相关优质博客 1.全面入门 2.直观理解原理 3.相关补充论文 4.对抗防御分类 二.论文细节知识点 1.hessian矩阵(表一):hessian矩阵实际上就是函数的二阶导矩阵 H ...

  2. 论文阅读——FPGA based Accelerators of Deep Learning Networks for Learning and Classification:A Review

    论文阅读之FPGA硬件加速Review FPGA-based Accelerators of Deep Learning Networks for Learning and Classificatio ...

  3. 论文理解——Audio Adversarial Examples:Targeted Attacks on Speech-to-Text

    0-Abstract 本文构建了有关语音识别的定向语音对抗样本,给定任意音频波形,可以产生99.9%相似的另一个音频波形,且可以转录为所选择的任何短语.作者将基于白盒迭代优化攻击应用于DeepSpee ...

  4. 论文领读:人工智能三巨头的Deep learning

    「笑傲算法江湖」的论文领读专栏聚焦于深度学习领域经典和最新论文的中英文对照译文,涵盖计算机视觉.自然语言.语音识别和强化学习等专业领域,帮助初学者理解算法理论,为未来算法工程师或科研工作奠定基础.「笑 ...

  5. ZH奶酪:【阅读笔记】Deep Learning, NLP, and Representations

    中文译文:深度学习.自然语言处理和表征方法 http://blog.jobbole.com/77709/ 英文原文:Deep Learning, NLP, and Representations ht ...

  6. 论文笔记:Do We Really Need Deep Learning Models for Time Series Forecasting?

    Do We Really Need Deep Learning Models for Time Series Forecasting? Elsayed S, Thyssens D, Rashed A, ...

  7. 论文笔记:Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World

    Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World 文章概况 作者 ...

  8. 姿态识别(1):DeepPose : Human Pose Estimation via Deep Neural Networks

    这篇文章是使用深度学习网络处理人体关节点定位的第一篇文章,发表于2014,August 20. 作者使用了级联的卷积神经网络来预测人体关节点. 1 研究背景 人体姿态识别被定义为人体关键点的定位问题, ...

  9. 【医学+深度论文:F10】ISBI Using Deep Learning for Robustness to Parapapillary Atrophy in Optic Disc

    10 2015 ISBI Using Deep Learning for Robustness to Parapapillary Atrophy in Optic Disc Segmentation ...

最新文章

  1. Linux 分析工具--性能
  2. sdut-oj-4205-寻找关键点
  3. getopts命令行参数处理
  4. Chrome一直提示“adobe flash player 因过期而遭阻止” ,如何解决?
  5. linux 拆分文件 多个,linux – 如何拆分文件并保留每个部分的第...
  6. Shadow Properties之美(二)【Microsoft Entity Framework Core随笔】
  7. java流与文件——文本输入输出
  8. linux和python的关系_Python、Linux与我的缘分
  9. arp 华为 查看 路由器_华为路由器运行状态查看-路由器
  10. 《老子》中国古代先秦诸子百家经典欣赏
  11. vscode怎么连接mysql_如何在VSCode连接使用MySQL数据库?
  12. 高效点的全排列算法---堆算法(跟堆排序没关系)
  13. Atitit.struts排除url 的设计and 原理 自定义filter 排除特定url
  14. 阿里云前端周刊 - 第 18 期
  15. Python常用的一些库(仅供参考)
  16. java的学习内容,附高频面试题合集
  17. 代码要写注释吗?写你就输了
  18. autojs声明文件
  19. 电商平台中的9种共性推荐策略
  20. 别让生气毁了你的生活(深度好文)

热门文章

  1. Swing学习25:Java Swing文本编辑器的实现
  2. 【ESP32】HFP/A2DP 共存时,iOS的兼容性问题
  3. ASCII码字符转换,浮点数转换为字符(笔记)
  4. linux 进程的fg,36.每日一个Linux命令----先后台进程切换(fg、bg、jobs、)
  5. pyQt5+pyInstaller实现QQ批量登录
  6. 话说当下罗真人道 水浒
  7. gazebo中使用自定义图片建立带纹理的地面模型方法
  8. Openstack之路(二)认证服务Keystone
  9. 如何实现共享屏幕标注功能?
  10. (附源码)计算机毕业设计ssm高校运动会管理系统