对抗性机器学习的权威指南
机器学习正在成为我们每天使用的许多应用程序的重要组成部分。ML模型通过面部和语音识别、标记图像、交友和购物建议、在互联网上搜索内容、编写代码、撰写电子邮件,甚至驾驶汽车来验证我们的身份。由于有如此多的关键任务被转移到机器学习和深度学习模型中,因此有点担心它们的安全性是公平的。
随着机器学习的使用越来越多,人们对其安全威胁的兴趣也越来越大。最前面的是对抗性示例,即操纵机器学习模型行为的输入的不可察觉的变化。对抗性攻击可能导致从烦人的错误到致命的错误。
关于对抗性机器学习的论文如此之多,你很难全神贯注于该领域正在发生的一切。幸运的是,AI研究人员Pin-Yu Chen和Cho-Jui Hsieh合着的《机器学习的对抗鲁棒性》提供了对该主题的全面概述。
Chen和Hsieh将对抗性机器学习关键组成部分背后的直觉和科学结合在一起:攻击、防御、认证和应用。以下是您将学到的内容的摘要。
对抗性攻击
对抗性攻击基于在机器学习系统中发现故障模式的技巧。最著名的对抗性攻击类型是逃避攻击或针对计算机视觉系统进行的测试时间攻击。在这些攻击中,对手会在图像中添加难以察觉的噪声层,从而导致目标机器学习模型对其进行错误分类。被操纵的数据通常被称为对抗样本。
对抗性攻击的例子
对抗性攻击技术通常根据攻击成功率(ASR)进行评估,即成功改变目标ML模型行为的示例的百分比。对抗性攻击的第二个标准是导致攻击成功所需的扰动量。扰动越小,技术越强,越难检测。
可以根据对手对目标ML模型的访问和知识对对抗性攻击进行分类:
白盒对抗攻击:在白盒攻击中,对手完全了解目标模型,包括其架构和权重。白盒对抗攻击使用目标模型的权重和梯度来计算对抗噪声。白盒攻击是创建对抗性示例的最简单方法。它们还具有最高的ASR并且需要最低的扰动。
在生产系统中,攻击者通常无法直接访问模型。但是白盒攻击是在将机器学习模型部署到公众之前测试其对抗性鲁棒性的非常好的工具。
黑盒对抗攻击:在黑盒攻击中,对手通过中间系统访问机器学习模型,例如Web应用程序或应用程序编程接口(API),例如Google Cloud Vision API、Microsoft Azure Cognitive Services和亚马逊识别。
黑盒对抗性攻击不知道底层ML模型的架构和权重。他们只能查询模型并评估结果。如果ML系统返回多个类别及其置信度分数(例如,钢琴:85%、百吉饼:5%、鲨鱼:1%等),则对手可以进行软标签黑盒攻击。通过逐渐对图像添加扰动并观察ML系统输出分数的变化,攻击者可以创建对抗性示例。
在某些情况下,ML系统返回单个输出标签(例如,钢琴)。在这种情况下,对手必须进行硬标签黑盒攻击。这种类型的攻击更加困难,但并非不可能。
除了扰动级别和ASR之外,黑盒攻击的评估还基于它们的查询效率,即创建对抗性示例所需的查询数量。
不同类型的机器学习对抗攻击
传输攻击是一种攻击类型,在这种攻击中,对手使用源ML模型为目标模型创建对抗性示例。在典型的传输攻击设置中,对手试图以黑盒模型为目标,并使用本地白盒模型作为代理来创建对抗性示例。代理模型可以使用从黑盒模型获得的软标签进行预训练或微调。
迁移攻击很困难,尤其是当目标模型是深度神经网络时。如果不了解目标模型的架构,就很难创建可以创建可转移的对抗性示例的替代模型。但这并非不可能,有多种技术可以帮助梳理出有关目标模型的足够信息,以创建有效的替代模型。传输攻击的优势在于它们克服了访问远程ML系统的瓶颈,特别是当目标API系统为每个推理向客户收费或具有防止对抗性探测的防御机制时。
在机器学习的对抗鲁棒性中,Chen和Hsieh深入探讨了每种类型的攻击并提供了相关论文的参考。
其他类型的对抗性攻击
虽然针对计算机视觉系统的测试时间攻击受到了最多的媒体关注,但它们并不是针对机器学习的唯一威胁。在机器学习的对抗性鲁棒性中,您将了解其他几种类型的对抗性攻击:
物理对抗攻击是一种攻击类型,在这种攻击中,攻击者创建可以欺骗机器学习系统的物理对象。物理对抗性示例的一些流行示例包括针对面部识别系统的对抗性眼镜和化妆品、用于躲避行人检测器的对抗性T恤,以及在自动驾驶汽车中欺骗路标检测器的对抗性贴纸。
卡内基梅隆大学的研究人员发现,通过戴上特殊眼镜,他们可以欺骗面部识别算法,将他们误认为是名人
训练时对抗性攻击:如果对手可以访问机器学习系统的训练管道,他们将能够操纵学习过程以发挥自己的优势。在数据中毒攻击中,对手修改训练数据以降低训练模型的一般准确性或特定类别的准确性。在后门攻击中,对手通过添加带有触发模式的示例来污染训练数据。经过训练的模型对模式变得敏感,攻击者可以在推理时使用它来触发所需的行为。
图像之外的对抗性攻击:图像分类器并不是唯一可以成为对抗性攻击目标的机器学习模型。在机器学习的对抗性鲁棒性中,Chen和Hsieh讨论了针对处理文本、音频信号、图形数据、计算机指令和表格数据的机器学习系统的对抗性示例。每个都有其特定的挑战和技术,作者在书中讨论了这些。
对抗防御技术
对抗性防御技术保护机器学习模型免受篡改示例的侵害。一些防御技术会修改训练过程,使模型对对抗性示例更加稳健。其他是可以降低对抗性示例有效性的后处理计算。
值得注意的是,没有任何防御技术是完美的。然而,许多防御技术是兼容的,可以结合起来提高模型对对抗性攻击的鲁棒性。
对抗训练:训练模型后,ML工程团队使用白盒攻击技术创建对抗样本。然后,该团队使用对抗性示例及其适当的标签进一步训练ML模型。对抗训练是使用最广泛的防御方法。
随机化:另一种保护机器学习模型的方法是将随机化的组件集成到模型中。一些技术可以是随机丢弃和层切换。随机化使攻击者更难对模型进行固定攻击。
随机切换可以提高对抗鲁棒性
检测:使机器学习模型能够抵抗各种对抗性攻击是非常困难的。改进对抗防御的一种补充方法是创建一个额外的系统来检测异常示例。
过滤和投影:一个额外的防御向量在将输入传递给机器学习模型之前对输入进行修改。这些修改旨在过滤可能已添加到输入数据中的可能的对抗性噪声。例如,可以训练生成式ML模型以将图像作为输入并通过保留主要特征并去除分布外噪声来再现它。
离散组件:大多数对抗性攻击技术都基于梯度计算。因此,另一种防御方法是将分立组件集成到机器学习模型中。离散组件是不可微分的,这使得基于梯度的攻击变得更加困难。
对抗性机器学习的不同心态
机器学习的对抗性稳健性讨论了对抗性机器学习的其他方面,包括验证ML模型的认证稳健性。该书还探讨了对抗性示例的一些积极方面,例如为新应用程序重新编程经过训练的模型并生成对比解释。
黑盒对抗性重新编程可以将神经网络重新用于新任务,而无需完全访问深度学习模型。
Chen和Hsieh提出的重要观点之一是需要重新思考我们如何评估机器学习模型。目前,经过训练的模型根据其对测试集进行分类的准确性进行分级。但是标准的准确性指标并没有说明ML模型对对抗性攻击的稳健性。事实上,一些研究表明,在许多情况下,更高的标准精度与对对抗性扰动的高灵敏度相关。
作者写道:“标准准确度和对抗鲁棒性之间的这种不受欢迎的权衡表明,人们应该采用本书中讨论的技术来评估和改进机器学习的对抗鲁棒性。”