对抗机器学习2025年8月1日 | 阅读14分钟 在计算机安全领域,“对手”(adversary)一词用于通过恶意的输入来愚弄或误导机器学习模型。网络安全是所有数据科学家和程序员都非常重要的概念之一,因为黑客总是试图通过各种技术来窃取数据。同样,对抗性机器学习也是一种通过欺骗性数据来误导任何机器学习模型的技术,从而降低模型的准确性和性能。在本文中,我们将讨论机器学习和人工智能中一个非常重要的概念,它可以帮助您保护机器学习模型免受数字攻击,并使其免受未经授权的攻击。那么,让我们开始对对抗性机器学习进行快速介绍。 ![]() 什么是对抗性机器学习?对抗性机器学习是指旨在通过恶意输入来愚弄或误导模型的网络攻击。它用于通过提供欺骗性输入来执行攻击,以破坏或扰乱机器学习模型。对抗性机器学习广泛应用于图像分类和垃圾邮件检测,其中对图像集进行一些更改会导致分类器产生不正确的预测。 对抗性机器学习的例子对抗性机器学习的例子指的是旨在误导或破坏机器学习模型或计算机程序的欺骗性输入。有一些攻击者精心制作的图像示例,我们的模型无法正确预测。让我们以熊猫与长臂猿的流行示例来理解。尽管这两张图像不同,但人眼却无法区分。 ![]() 左边的图像是 ImageNet 数据集中一个干净的图像,用于训练 GoogLeNet 模型。 然而,第一张图像与第三张图像略有不同,甚至可以说是第一张图像的修改版本。右侧图像是通过在中间图像中引入微小扰动而创建的。 模型预测第一张图像为熊猫,正如预期的那样,而右侧图像则以高置信度被识别为长臂猿。 因此,当引入具有对抗性输入的典型图像时,它可能会导致分类器将熊猫误认为长臂猿。 现在,以另一个例子来说明,它展示了作者打印的 3D 乌龟的不同视图以及 Google Inception v3 模型的错误分类。 对抗性机器学习已产生各种结果,从有趣、良性到令人尴尬(例如,将乌龟误认为步枪)到潜在有害的例子,例如自动驾驶汽车将停止标志误认为限速标志。 什么是对抗性白盒攻击和黑盒攻击?机器学习中的攻击有两种分类方式。它们如下:
黑盒攻击:黑盒攻击是指攻击者不了解目标模型的信息,也无法访问其架构、参数和梯度的情况。 白盒攻击:这些攻击与黑盒攻击相反,攻击者可以完全访问目标模型及其架构、参数和梯度信息。 黑盒攻击和白盒攻击进一步分为两种类型,如下所示:
如何防御对抗性示例?虽然对抗性机器学习总是对模型的安全不利,但我们可以通过进行对抗性训练来保护我们的模型。正如一般的机器学习模型通过旧数据或经验进行训练以预测结果一样,对抗性机器学习模型也提供训练。在该训练中,模型在各种对抗性示例上进行训练,以使其能够抵御数据中的故障。 ![]() 尽管如此,给模型进行对抗性训练并不容易,因为这是一个非常缓慢且昂贵的过程。每个训练示例都必须针对对抗性弱点进行探测,然后必须在所有这些示例上重新训练模型。科学家们正在开发方法来优化在机器学习模型中发现和修补对抗性弱点的过程。此外,一些人工智能研究人员还通过结合并行神经网络和通用神经网络来利用深度学习概念来防止此类攻击。 对抗性攻击的类型有许多类型的对抗性攻击会损害您的机器学习系统。这些对抗性攻击的目的是降低分类器在特定任务上的准确性和性能,并误导模型。对抗性机器学习是研究这些攻击并减少其对模型影响的一个部门。 以下是一些重要的对抗性攻击类型: 投毒攻击当机器学习模型在训练或部署期间时,会发生投毒攻击。它也被称为污染攻击。 在投毒攻击中,攻击者在模型训练阶段会影响数据或其标签,这会导致系统在未来出现偏差或生成不准确的决策。它会降低机器学习系统的准确性和性能。 此外,当机器学习模型在部署期间重新训练时,攻击者会引入恶意输入并破坏模型。数据研究人员很难识别数据何时被污染以及在特定类型的输入样本上出现错误。此外,也很难检测到哪种类型的样本数据会触发机器学习模型出现错误行为。 让我们以一个毒化聊天机器人的例子来理解。微软曾为 Twitter 推出了一个聊天机器人,通过与其他用户的反复互动来学习进行对话。最初,它与用户进行了随意而有趣的对话,但后来他们发现该聊天机器人没有适当的过滤器。因此,该系统开始将其算法中的辱骂性推文。随着用户数量的增加,辱骂性推文也随之增加。因此,微软不得不在同一天关闭了这个聊天机器人。 规避攻击这些攻击与投毒攻击正好相反,攻击发生在机器学习系统已经训练之后。这些攻击是机器学习中常见的攻击类型。 当 ML 模型计算新样本的概率时,就会发生这种情况,并且通常是通过反复试验的方法开发的。攻击者在部署期间操纵数据,但他们不知道机器学习模型何时会出错。 让我们举个例子来说明。假设攻击者想要研究用于过滤垃圾邮件内容的机器学习模型的算法。然后,攻击者可能会对不同的电子邮件进行各种实验,通过引入包含足够多额外词语来“提示”算法并将垃圾邮件分类为非垃圾邮件,从而绕过垃圾邮件过滤器。 这些攻击可能会影响机器学习模型的正确性和保密性,从而导致其提供攻击者预期的恶意输出。这些攻击还可以用于泄露私人或敏感信息。规避攻击最普遍的例子之一是针对生物识别验证系统的欺骗攻击。 模型提取模型提取是指黑盒机器学习系统。它用于通过提取训练它的数据来重建模型。它有助于窃取股票市场预测模型,然后攻击者会重建一个与先前模型相似的新模型以谋取自身经济利益。当训练数据或模型本身敏感且保密时,模型提取攻击很重要。 生成对抗性攻击使用的技术/方法
应用ZHAW 增强计算机视觉模型鲁棒性
安全的生物识别身份验证系统
识别和防止垃圾邮件和恶意软件
基于自动驾驶汽车的压力测试 AI
改进金融欺诈检测系统
自然语言处理模型测试
工具和框架CleverHans:对抗性鲁棒性基准测试
Foolbox:多工作框架攻击
IBM 对抗性鲁棒性工具箱 (ART)
Robustness Gym:模块化测试台
AdvBox:PaddlePaddle 对抗性示例工具包
SecML:可解释和安全的 ML 框架
结论好吧,这样我们就理解了对抗性机器学习示例在机器学习和人工智能的安全角度有多么重要。希望阅读完本教程后,您能对对抗性机器学习获得完整的基本信息。 常见问题解答什么是对抗性机器学习?我们为什么应该关心? 对抗性机器学习 (AML) 是机器学习的一个子分支,研究通过定制的修改或误导性输入——对抗性示例——获得的模型的漏洞。这些输入旨在让模型做出错误的预测或分类。AML 的重要性在于它揭示了 AI 系统在现实世界中的使用漏洞,例如面部识别、自动驾驶、医疗诊断以及对金融欺诈的恐惧。AML 的知识使研究人员和工程师能够开发出安全强大的模型,这些模型可以承受攻击,从而提供信任、安全和可靠性。 那么,有哪些生成对抗性示例的方法,它们是如何创建的? 对抗性示例是通过对输入进行微小、通常不易察觉的扰动来创建的,这些扰动会导致机器学习模型做出错误的预测。这些扰动的计算是通过检查模型损失函数的梯度来完成的。典型方法是快速梯度符号法 (FGSM),它利用梯度沿最大化模型损失的方向计算噪声。更常见的方法是投影梯度下降 (PGD)、DeepFool 和 Carlini & Wagner (C&W) 攻击。这些方法在复杂性、能力和对攻击者可访问性的假设方面有所不同。 在对抗性攻击方面,主要的防御机制是什么? 对抗性防御。有多种策略可以防御对抗性攻击,包括检测对抗性示例或提高模型鲁棒性。一种显而易见的对策是对抗性训练,即使用正常和对抗性示例来训练模型。该方法可提高弹性,但也可能延长训练时间并降低泛化能力。其他对策包括输入预处理(例如,图像去噪或压缩)、梯度掩蔽(用于混淆攻击者的梯度)以及防御性蒸馏(一种平滑决策边界的方法)。 对抗性机器学习在自然语言处理 (NLP) 方面发挥着什么作用? NLP 中对抗性攻击的策略是修改文本输入,使其对人类不可感知,但对模型来说却很清楚。例如,用同义词替换单词、改变语法或批评性陈述。这些攻击有可能改变模型在情感分析、垃圾邮件检测或机器翻译中的输出,揭示了 BERT 或 GPT 等知名模型的弱点。由于文本数据是离散的,语言也很复杂,因此防御 NLP 模型并不容易。NLP 模型通过诸如对抗性数据增强、词嵌入正则化和弹性标记化方法等技巧得到加强。NLP AML 促进语义完整性和基于语言的防御。 |
我们请求您订阅我们的新闻通讯以获取最新更新。