机器学习中火爆的对抗学习是什么,有哪些应用?

机器学习中火爆的对抗学习是什么,有哪些应用?1 什么是对抗学习 机器学习这一技术自出现之始就以优异的性能应用于各个领域 近年来 随着机器学习的快速发展与广泛应用 这一领域更是得到前所未有的蓬勃发展 目前 机器学习在计算机视觉 语音识别 自然语言处理等复杂任务中取得了公认的成果 已经被广泛应用于自动驾驶 人脸识别等领域 随着机器学习技术遍地开花 逐渐深入人们的生活 其也被应用在许多例如安防 金融 医疗等对安全有严格要求的领域中 直接影响着人们的人身 财产和隐私的安危 在一系列重大进展面前 机器学习在越来越多的被应用到人类生活的方方面面 在这时

1、什么是对抗学习

机器学习这一技术自出现之始就以优异的性能应用于各个领域。近年来,随着机器学习的快速发展与广泛应用,这一领域更是得到前所未有的蓬勃发展。

目前, 机器学习在计算机视觉、语音识别、自然语言处理等复杂任务中取得了公认的成果,已经被广泛应用于自动驾驶、人脸识别等领域。

随着机器学习技术遍地开花,逐渐深入人们的生活,其也被应用在许多例如安防、金融、医疗等对安全有严格要求的领域中,直接影响着人们的人身、财产和隐私的安危。在一系列重大进展面前, 机器学习在越来越多的被应用到人类生活的方方面面,在这时人们也很容易忽视阳光背后的阴影。

如图所示,一张正常的大熊猫图片(左图)在被加入噪声后生成对抗样本(右图),会使得神经网络分类错误,并被神经网络认为是一张长臂猿图片,然而人并不能察觉到这种变化。[1]

对抗样本是指将真实的样本添加扰动而合成的新样本,是由深度神经网络的输入的数据和人工精心设计好的噪声合成得到的,但它不会被人类视觉系统识别错误。然而在对抗数据面前,深度神经网络却是脆弱的,可以轻易迷惑深度神经网络。

深度神经网络对对抗样本的判错率非常高,而人几乎无法辨别原样本与对抗样本的差别,这就意味着原本深度神经网络的功能已经失效了,不人工智能了。

由此可见,对抗攻击的危害很大,尤其是对于无人驾驶、医疗诊断、金融分析这些安全性至关重要的领域。对抗样本无疑制约着机器学习技术的进一步应用,因此,提升神经网络的对抗鲁棒性(抵御对抗样本的能力)变得十分重要。

于是,机器学习中的对抗样本引起了研究人员的极大关注,他们也相应提出了一系列的对抗攻击(如何更有效的产生对抗样本)和对抗防御(针对对抗样本提供更有效的防御)的方法,这一领域称之为对抗学习。

对抗学习是一个机器学习与计算机安全的交叉领域,旨在在恶意环境下(比如在对抗样本的存在的环境下)给机器学习技术提供安全保障。

2、对抗学习用到了哪些基础理论?

早在2004年,垃圾邮件过滤程序中就已经体现出对抗攻防的思想,Nilesh Dalvi等人指出,垃圾邮件发送者在垃圾邮件中插入“好话”后,垃圾邮件过滤器中使用的线性分类器可能会被简单的“回避攻击”所击败。

其本质是双方的对抗博弈:一方面,垃圾邮件制造者想方设法躲避过滤程序的筛选;另一方面,过滤程序又尽可能正确地筛选出垃圾邮件。

2006年,Marco Barreno等人发表了“机器学习是否可以安全?”,概述了广泛的攻击分类法。

2012年,深度神经网络开始主导计算机视觉问题,因此以对抗样本生成和防御为核心的对抗深度学习,也成为了对抗机器学习领域目前最受关注的研究热点。

从2014年开始, Christian Szegedy等人提出,深度神经网络可能会遭到对手的愚弄[2],并提出针对图像的对抗样本这一概念,揭露了深度学习技术在安全方面的极大缺陷,从而使得人们更加谨慎地看待深度学习在实际中的应用。

根据不同的分类标准,对抗攻击(如何生成对抗样本)有着以下几种分类方式 [3],从攻击环境或者按照攻击者具备的能力来说,可以分为:

白盒攻击(White-box attacks):白盒攻击假定攻击者可以完全了解他们正在攻击的神经网络模型的结构和参数,包括训练数据,模型结构,超参数情况,层的数目,激活函数,模型权重等。能在攻击时与模型有交互,并观察输入输出。

黑盒攻击(Black-box attacks):黑盒攻击假定攻击者不知道他们正在攻击的神经网络模型的结构和参数,能在攻击时与模型进行交互,只知道模型的输入输出。白盒攻击样本可以通过一些方法转换成黑盒攻击的方式。

灰盒攻击:介于黑盒攻击和白盒攻击之间,仅仅了解模型的一部分。(例如仅仅拿到模型的输出概率,或者只知道模型结构,但不知道参数)。

真实世界攻击(Real-world attacks):在真实的物理世界攻击。如将对抗样本打印出来,用手机拍照识别。

对抗训练是提升深度网络对抗鲁棒性(即,抵御对抗样本欺骗的能力)的重要方式之一。对抗训练的基本思想就是在网络训练的过程中,不断生成并且学习对抗样本。

比如根据极小极大公式,在内层通过最大化损失函数来寻找对抗样本,然后在外层学习对抗样本来最小化损失函数。通过对抗训练而得的神经网络具有对抗鲁棒性!

3、对抗学习可以用在哪些方面?

通过将计算得到的扰动噪声加入原始图像,使得能够正确分类原始图像的分类器对加入扰动的图像产生错误分类。而这个扰动的幅度很小,人眼观察是不会错分的,但却能在测试或部署阶段,很容易的“欺骗”深度神经网络。

当应用深度神经网络到对安全有严格要求的环境中时,处理对抗样本造成的脆弱性就成为了一个重要的任务。此外,并不是某个机器学习(包括深度学习)算法单独具有对于对抗样本的脆弱性,而是机器学习的模型普遍都可能具有该缺陷。

这种缺陷在对于安全性要求较高的行业中就显得尤为重要了。因此,对抗学习可以被广泛地运用在医疗、金融、安防和自动驾驶等行业。

图像识别: 近年来的研究进一步发现,不仅是像素级别的扰动,真实世界中的扰动即便通过摄像机采集,也具有攻击性,这就使得对抗攻击更容易出现在我们生活的世界中。

例如,对停车标志附加一些贴纸或涂鸦,它便被交通标志识别系统错误识别为限速标志,

在这里插入图片描述
添加了黑白贴纸的停车标志可以被机器学习模型错误识别。

人脸识别: 真人戴上一副特制的眼镜,就被人脸识别系统错误识别为另一个人。如果这些对抗攻击方法被用来干扰自动驾驶、人脸识别等应用系统,后果将不堪设想。

在这里插入图片描述
人物戴上特制眼镜被识别成其他人

验证码生成: 对抗样本也不只有负面应用,如果能够对该技术进行合理利用,也可以产生积极的影响。验证码技术已经广泛应用于我们的生活中,然而灰产行业也开始使用机器学习模型模拟人对于验证码的识别。

如果采用对抗样本的技术生成验证码,人对验证码的识别不受影响,然而可以使得攻击者的验证码识别模型的识别率大幅下降 [4]。

在这里插入图片描述

Figure 对抗性验证码

音频和文本识别: 机器学习模型在进行语音识别过程中,如果此时的背景音乐是经过精心设计的,那么就有可能使识别结果错误,甚至按照攻击者的意图来输出结果。

在文本处理任务中,也有着相似的问题,在文本段落中,增加一些特殊的词汇或标点,或者在不改变语义情况下调整个别句子,人类不易察觉,但AI模型却无法按照预期输出正确的结果。

4、对抗学习应用有哪些例子?

自动驾驶:自动驾驶是未来智能交通的发展方向,但在其安全性获得完全检验之前,人们还难以信任这种复杂的技术。虽然许多车企、科技公司已经在这一领域进行了许多实验,但对抗样本技术对于自动驾驶仍然是一个巨大的挑战。

例如对抗攻击下的图片中的行人在模型的面前隐身,对抗样本使得模型“无视”路障,而腾讯科恩实验室的研究人员们就找到了几种使用「物理攻击」的方式欺骗特斯拉自动驾驶系统的方法 [6]。

利用 AI 对抗样本生成特定图像并进行干扰时,特斯拉的 Autopilot 系统输出了「错误」的识别结果,导致车辆雨刷启动。

金融欺诈:深度学习算法也已经应用到了金融机构中,用于金融欺诈等行为的识别。那有没有可能通过某些手段,欺骗深度学习算法呢?

来自乔治亚理工大学、蚂蚁金服和清华大学的研究人员发现了机器学习模型的新风险:通过制造具有欺骗性的数据结构,可以误导机器学习模型做出错误预测 [7]。

“我们展现出的是,通过对交易网络的一小部分进行改变,就可以改变机器的行为,”乔治亚理工大学计算机科学与工程学院副教授、机器学习中心副主任Le Song说到,“例如,就金融应用而言,我可以将钱转到其他地方,就可以改变机器学习模型使其做出错误的预测。”

深度学习模型尤其容易受到此类攻击操纵的影响——目前正在针对多种应用场景,如图像识别,通过各种领域和方法来解决这一问题。

但根据Dai和Song所说,到目前为止,很少有注意力被放在这些模型的可解释性以及模型的决策机制上,这使得某些金融或安全相关的应用程序存在着一定风险。

5、对抗学习的科研前沿

目前,对抗攻击中攻击与防御的方式也是“道高一尺,魔高一丈”,已经经过了许多轮的迭代,演变出了许多攻防方式。随着各种攻击方法的产生,提出的防御方法看似抵御了这些攻击,但是新出现的攻击却又不断躲避着这些防御方法。

至今,人们仍不完全清楚神经网络这个黑盒的本质特性。甚至有研究指出,神经网络完成的分类任务仅是靠辨别局部的颜色和纹理信息,这使得自然的对抗样本,即便不是人为加入的扰动,而是真实采集到的图像,也能够成功地欺骗神经网络。

这也支持了许多研究者的观点,即神经网络只是学习了数据,而非知识,机器学习还无法像人一样学习。这项难题的最终解决,或许依赖于对神经网络的透彻理解,以及对神经网络结构的改进。

弄清楚神经网络内部的学习机制,并据此进行改进,或许才能真正解决目前神经网络对于对抗攻击的脆弱性。因此对抗机器学习不仅是机器学习被更加广泛地被应用的一道门槛,也是促使人们研究如何解释机器学习模型的动力。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/221650.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午5:36
下一篇 2026年3月17日 下午5:36


相关推荐

  • 正则表达式常见用例

    正则表达式常见用例

    2022年3月12日
    53
  • 【STM32】STM32 CubeMx使用教程一–安装教程

    【STM32】STM32 CubeMx使用教程一–安装教程一、STM32CubeMX简介1、STM32CubeMX是ST意法半导体近几年来大力推荐的STM32芯片图形化配置工具,目的就是为了方便开发者,允许用户使用图形化向导生成C初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率。STM32CubeMX几乎覆盖了STM32全系列芯片。在CubeMX上,通过傻瓜化的操作便能实现相关配置,最终能够生成C语言代码,支持…

    2022年4月28日
    54
  • 一文读懂自动驾驶中常用的定位算法之NDT点云配准算法

    一文读懂自动驾驶中常用的定位算法之NDT点云配准算法本系列博客计划写两篇 第一篇侧重原生态论文重点内容翻译解释及公式推导 第二篇侧重实际代码细节 将会不定期更新 文中所用图片如无声明来源网络和论文 文章目录写在前面 AbstractChap 1Contributio 1rotation2 2registratio 3sampling2 4sla

    2026年3月17日
    2
  • 使用mybatis generator出现Table Configuration scheme.table matched more than one table

    使用mybatis generator出现Table Configuration scheme.table matched more than one table在使用 mybatisgener 时 出现 MyBatisGener TableConfigu tablematched 问题 原因是使用了 mysql8 0 以上的版本 参考官网文档 http www mybatis org generator usage mysql html 解决方法是在 generato

    2026年3月17日
    2
  • Attributable_文件属性里没有自定义

    Attributable_文件属性里没有自定义在做项目的时候,用没人写的代码和看Android源码时,经常看attr.xml的使用,每次都不知道是什么意思,今天网上查了些资料,终于明白了,这里做一个笔记,方便以后使用这里与一个关于AttributeSet的应用场景:一个自定义控件的有些属性内容是随着外部条件而动态改变的,forexample:一个自定义的ListView控件,需要在底部添加一个View,而这个View在不同的模块使用

    2025年7月17日
    9
  • Pycharm Professional(专业版)完美激活成功教程,永久激活

    Pycharm Professional(专业版)完美激活成功教程,永久激活PyCharm 是一种 PythonIDE 带有一整套可以帮助用户在使用 Python 语言开发时提高其效率的工具 比如调试 语法高亮 Project 管理 代码跳转 智能提示 自动完成 单元测试 版本控制 此外 该 IDE 提供了一些高级功能 以用于支持 Django 框架下的专业 Web 开发 但是每次注册着实让人头疼 网络上很多注册码 注册服务器等等 但都只是一年或者不能用 为次有如下解决方案 亲测有效

    2026年3月27日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号