
对抗性机器学习已成为一个关键且常令人不安的研究领域,揭示了我们最先进的人工智能系统核心处存在的根本脆弱性。尽管深度学习模型在平均情况下表现出超人的性能,但它们却能轻易地被以人类无法察觉的方式修改过的输入所欺骗,从而导致灾难性的后果。这种平均情况下的准确性与最坏情况下的脆弱性之间的差距,不仅仅是一个技术上的奇特现象;它是在高风险环境中安全可靠地部署人工智能所面临的重大障碍。本文旨在解决这一脆弱性为何存在、如何被利用,以及它对智能系统未来的意义等核心问题。
为了建立全面的理解,我们将进行两部分的探索。首先,我们将审视对抗性机器学习的原理与机制,剖析攻击是如何构建的,模型为何从几何角度如此易受攻击,以及为防御这些欺骗行为而开发的核心策略。随后,我们将把视野拓宽到应用与跨学科联系,揭示这些抽象概念如何在从医学、网络物理安全到数学和计算理论基础等领域中,转化为切实的风险和机遇。这段旅程将表明,理解对抗性样本是构建真正可信赖人工智能的关键。
要理解对抗性机器学习,我们必须踏上一段旅程,从熟悉的图像和声音世界进入我们算法所栖居的奇异高维现实。这段旅程揭示的不是某个特定软件的缺陷,而是智能本身的一个基本特征——无论是人工智能,或许甚至是我们自身的智能。我们将看到,这些“对抗性样本”不仅仅是巧妙的黑客攻击,更是理解学习的几何学、感知的本质以及构建真正可信赖人工智能原则的关键。
想象一个顶尖的人工智能,它被训练来协助神经放射科医生识别脑部MRI扫描中的疾病迹象。它以卓越的准确性执行任务,这证明了深度学习的强大力量。现在,想象我们取一张健康大脑的扫描图,并向其添加一层精心制作、肉眼看不见的“噪声”。对于人类专家来说,什么都没有改变;扫描图仍然清晰地显示着健康的组织。但对人工智能而言,这张修改后的图像现在是恶性肿瘤的典型案例。这就是对抗性样本的本质:对输入的改动对人类来说是不可察觉或无关紧要的,却从根本上改变了机器的结论。
这与随机故障或低质量图像不同。获取MRI扫描的物理过程可能会引入各种“真实的采集伪影”——如果病人移动,会产生运动模糊;或来自扫描仪电子设备的细微噪声。一个鲁棒的模型理想上应该能处理这类变化。然而,对抗性扰动是不同的。它不是随机波动;它是一种欺骗,是经过有意优化,专门利用被攻击模型的特定弱点。正如在医学成像背景下所形式化的,其核心区别在于意图和效果:一个对抗性扰动 是被蓄意制造出来以导致错误分类,,同时至关重要的是要保留人类专家会确认的真实临床标签。而自然伪影则源于物理过程,并非针对模型的逻辑。
这种欺骗行为是一种微妙的平衡。攻击者希望创建一个既能骗过模型又足够小以保持隐蔽的扰动 。我们使用称为范数的数学概念来衡量这个扰动的“大小”,通常在一个微小的预算 内。攻击者的挑战是在确保其改动(以某种范数衡量)小于 的同时,造成最大的破坏。
为什么这些强大的模型如此脆弱?答案不在于有缺陷的代码,而在于我们看待世界的方式与机器“看待”世界的方式之间存在着深刻的差异。当我们看一张猫的照片时,我们感知到一个整体。然而,一个神经网络看到的是一个数字网格——一个拥有数百万维度的空间中的一个点,每个像素对应一个维度。
在这个广阔的高维空间中,分类器的工作是绘制极其复杂的曲面,称为决策边界,以将代表“猫”的点与代表“狗”、“汽车”以及其他一切的点分离开。一个输入依据其落在边界的哪一侧而被分类。问题在于,尽管属于同一类别(如“猫”)的数据点可能会聚集在一起,但它们并不能形成一个完美的、实心的球体。其中存在间隙,而且决策边界可以惊人地靠近已知的数据点。
一个对抗性样本仅仅是一个被轻推到足以跨越决策边界的数据点。这个扰动在总体量级上可能微不足道,但因为空间维度极多,数千个像素上微小的改动累加起来,就能构成一个显著的几何步长,将该点移动到空间的不同区域。
这种脆弱性可以用优美的数学精度来描述。一个点 处分类的稳定性取决于两件事:裕度 ,即该点距离决策边界的远近,以及模型的利普希茨常数 ,它衡量其内部逻辑的最大“陡峭度”。一个分类器要保证能抵抗大小为 的任何扰动 ,其裕度必须相对于陡峭度足够大,具体来说是 。对抗性样本之所以存在,正是因为对于许多模型和许多输入,这个条件并未得到满足。用数学的正式语言来说,分类问题是不适定的:解(标签)并不总是连续地依赖于输入数据。输入中一个无穷小的变化可能导致输出的离散跳变。因此,提高鲁棒性是一个几何挑战:我们必须设计具有更小利普希茨常数(使其不那么陡峭)并且能以更大裕度分类数据(将边界推离数据)的模型。
如果说寻找对抗性样本是一个几何问题,那么制作一个对抗性样本就是一个优化问题。攻击者的目标是找到导致错误分类的最小可能扰动 。想象一个损失函数,它捕捉了两个相互竞争的目标:扰动的大小和模型对错误答案的置信度。对于一个简单的分数函数 ,其中正值表示正确分类,攻击者的损失可以是 。攻击者想要最小化这个损失,找到一个既小(小的 )又有效(使 为负,从而第二项变为零)的扰动。
这个“对抗性损失景观”通常是崎岖不平且非凸的,有许多局部最小值,每个都对应一种不同的、有效的欺骗模型的方法。攻击者如何在这个景观中导航?最强大的技术是利用模型自身的逻辑来对付它。对于用微积分构建的模型,我们可以计算梯度:损失景观上最陡峭的上升方向。为了欺骗模型,攻击者只需沿着梯度的方向迈出一小步,以最大化增加模型错误的方式轻微地推动输入。这是一整套强大的基于梯度的攻击背后的原理。
当然,能否计算这个梯度取决于攻击者掌握的信息。这就引出了对威胁模型的关键分类,这些模型直接对应于现实世界的情景:
白盒攻击: 攻击者完全访问模型的架构、参数和梯度——他们就像一个内部的机器学习工程师。这对防御者来说是最坏的情况,因为攻击者可以制作完美的、基于梯度的攻击。
黑盒攻击: 攻击者没有内部访问权限。他们只能向模型输入数据并观察输出,就像一个使用诊断工具的临床医生。在这种情况下,攻击要困难得多。他们可能需要进行数千次查询来数值估计梯度,或者训练一个单独的“替代”模型来近似目标模型,并针对该替代模型制作攻击。
灰盒攻击: 这是中间地带,攻击者可能拥有部分信息,例如模型的大致架构,或许来自技术文档。例如,这可能是一个供应商的审计员。
理解这些威胁模型对于构建安全的系统至关重要。一个只对黑盒攻击有效的防御,在白盒攻击者是可预见威胁的情景下可能毫无用处。
到目前为止,我们一直使用通用的数学范数来定义“小”扰动。但要使对抗性攻击成为现实世界的威胁,它必须是合理的。一个在数学上很小的扰动,在物理上可能很明显或无法产生。因此,用于限制攻击的范数选择是一个关键的建模决策,取决于被攻击的数据类型。
对于医学图像,一个分布在所有像素上的小扰动(受 或 范数约束)可以类似于细微的传感器噪声或光照变化,使其非常合理。而一个只改变少数像素但改动幅度很大的扰动(受 范数约束)会看起来像“椒盐”噪声,并立即引起怀疑。
对于表格形式的健康记录,情况则相反。一个错误更有可能影响单个字段——一个输错的实验室值或一个不正确的计费代码。在这里,改变少数特征的 攻击是非常合理的。而一个对病人的年龄、身高、血压和多个实验室结果进行微小、同步改动的 或 攻击则毫无意义,并违反了数据的逻辑结构。
对于像心电图(ECG)这样的波形信号,由于传感器中的滤波作用,它们在物理上是平滑的,一个制造出尖锐、瞬时尖峰的 攻击将是一个不切实际的伪影。而由 或 约束所允许的平滑、低频扰动,是模拟现实世界干扰的更合理的模型。
这里的教训是深刻的:有效且相关的对抗性机器学习研究必须超越简单的数学抽象,并融入关于生成数据的物理和过程的领域特定知识。一个真正“设计安全”的系统不仅必须抵御任何数学上的奇特现象,还必须能抵御代表可预见的、合理攻击向量的扰动。
我们如何构建能够抵抗这些欺骗的模型?对抗对抗性样本的斗争催生了一个丰富的防御领域,由几个关键原则指导。
首先也是最重要的是对抗性训练。这个想法简单而直观:我们通过在训练过程中让模型接触攻击来“免疫”它。在训练的每一步,我们从干净的数据中生成对抗性样本,然后明确地教模型正确分类这些受扰动的样本。这迫使模型学习一个更鲁棒的决策边界,平滑敏感区域并将边界进一步推离数据点。这是对我们之前确定的几何问题的直接解决尝试。
第二个强有力的原则是群体的智慧,通过集成来实现。这是一个经典思想:单个专家可能会错,但一大群专家的多数票要可靠得多。我们可以构建一个由多个分类器组成的集成,并以多数票作为最终预测。如果单个模型的错误率 且它们的错误是独立的,那么随着我们增加更多模型,多数票的错误率将急剧下降。然而,问题在于,对抗性错误并非独立的。一个能骗过某个模型的攻击很可能也会骗过另一个相似的模型——这种现象称为可迁移性。
因此,成功的集成防御的关键在于多样性。一个由具有相同架构的模型组成的同构集成,其增益有限。而一个由具有根本不同架构的模型(例如,卷积神经网络和视觉Transformer的混合体)或用不同目标训练的模型组成的异构集成,则要强大得多。多样化的模型有不同的弱点,它们对于给定输入的梯度通常指向不同方向,这使得攻击者更难找到一个能骗过多数模型的单一扰动。这种多样性打破了错误之间的相关性,并释放了集成的真正力量。
最后,在这场猫鼠游戏中最重要的原则是科学方法。在该领域的历史上,许多提出的防御措施后来被证明是无效的。它们并没有真正使模型更鲁棒;它们只是通过“梯度混淆”制造了一种虚假的安全感,使得简单的基于梯度的攻击更难成功。为了避免这个陷阱,一个严格和标准化的评估协议至关重要。任何关于鲁棒性的声明都必须得到一个评估的支持,该评估需精确指定威胁模型,使用一套多样化的最强已知自适应攻击(如AutoAttack),正确处理防御中的任何随机性(例如,使用变换期望),并报告所有攻击中的最坏情况准确性。这种对透明、严格和最坏情况评估的承诺,是区分真正进展与一厢情愿的标志。
到目前为止,我们讨论的攻击被称为规避攻击:它们发生在测试时,目标是规避一个预训练的分类器。但在机器学习生命周期的另一个阶段,潜伏着一个更阴险的威胁:数据投毒。
在投毒攻击中,一个有能力操纵训练数据的对手可以从模型诞生之初就将其腐化。这可以有几种形式:
与测试已部署模型完整性的规避攻击不同,投毒攻击损害了训练过程本身的完整性。它们更难执行,但可能更具破坏性,会创造出按照攻击者指定的方式存在根本缺陷的模型。理解并防御规避和投毒攻击,对于为人工智能系统建立完整的安全态势至关重要。
在深入探讨了对抗性机器学习的原理——攻击、防御以及鲁棒性的难以捉摸的本质之后,我们可能会倾向于将其视为计算机科学内部一场专业化、技术性的角逐。但事实远非如此。对抗性学习提出的问题并不局限于数字领域;它们在我们医院、电网,甚至在数学和逻辑的抽象基础中回响。这不仅仅是一场猫捉老鼠的游戏;它是平均情况性能与最坏情况脆弱性之间的根本张力,一个在最意想不到的地方反复出现的主题。现在,让我们超越基础,看看这些思想将引向何方。
在单一故障就可能导致灾难性后果的领域,对抗性思维不是学术演练,而是操作上的必需。机器学习系统的脆弱性不再是理论上的;它们是必须像机械故障或软件错误一样严格管理的危险。
设想一个国家生物防御计划,使用自动化环境传感器来检测危险病原体的释放。该系统可能基于某种采样策略设计,比如从人口稠密地区采集更多样本,而从偏远地区采集较少。平均而言,这种策略效果良好。但一个聪明的对手不会按平均情况行事。知道了采样计划,他们可能会在一个很少甚至从未被采样的地方释放病原体。虽然环境中病原体的平均浓度保持不变,但检测到的概率却急剧下降,甚至可能降至零。对手利用系统的“盲点”,通过解决一个优化问题:如何放置污染物以最小化被发现的几率,从而将防御者自己的概率模型反过来对付他们。
同样的动态也出现在网络物理系统(CPS)领域——这些计算机和机器人的网络运行着我们的现代世界,从自动驾驶汽车到电网。当机器学习模型控制一个物理动作时,一次错误分类就不再只是一个错误的标签;它是一辆车突然转向另一条车道,或一个安全阀未能关闭。在这里,攻击者可以采用一种特别阴险的策略,称为“后门”攻击。在模型训练期间,攻击者可以用一些精心制作的样本对数据进行投毒,教会模型一个秘密的恶意规则。例如,模型学会在所有输入上正常运行,除非它看到一个特定的、罕见的触发器——一个绝不会偶然出现的模式。在电网控制器中,这个触发器可能不是随机噪声,而是一个物理上可实现的事件,比如传感器读数中特定的频率失真。这个被植入后门的控制器,现在成了一个潜伏的特工,将完美运行,直到攻击者广播那个触发信号的那一天,导致一次有针对性的、可预测的故障。验证系统以抵御此类威胁,需要的不仅仅是在历史数据上进行测试;它需要像数字孪生(Digital Twins)这样的工具——即物理系统的高保真模拟——工程师可以在其中安全地探索这些危险的“假设”情景,并在它们被部署前找出隐藏的后门。
对抗性脆弱性与安全性之间的联系如此关键,以至于它现在正被写入正式的安全工程语言中。像针对汽车安全的ISO 26262标准,使用诸如每小时危险失效概率(PFH)等指标来量化风险。传统上,这只考虑随机硬件故障或确定性软件错误。但今天,我们还必须考虑感知系统的失效。一个机器学习模型在对抗性攻击下失效的概率 ,可能比其平均情况下的错误率高出几个数量级。这意味着攻击者可以有效地将系统的PFH增加几个数量级,将一个可认证的“安全”系统变成一个不可接受的危险系统。一个自动驾驶汽车或医疗机器人的完整安全案例现在必须包括一个安保案例,提供明确的证据——从认证的鲁棒性证明到运行时监控——证明来自对抗性操纵的风险已被理解、量化并缓解到可接受的水平。
机器学习的风险在医学领域比任何地方都更加切身。人工智能有望彻底改变从诊断到药物发现的一切,但当人的生命悬于一线时,其脆弱性呈现出一种新的、可怕的维度。
想象一家医院使用人工智能通过全切片图像(WSI)筛查皮肤癌。攻击者可以发动规避攻击,取一张恶性肿瘤的图像,并添加一种视觉上难以察觉的噪声模式,欺骗人工智能将其分类为良性。伤害局限于单个病人,但却是巨大的。或者,攻击者可以发动投毒攻击,污染医院的训练数据集。这可能导致模型系统性地对一种罕见的癌症亚型视而不见,使未来的每一位患者都处于危险之中,并使医院关于模型准确性的声明无效。前一种攻击是狙击手的子弹;后一种是往井里投毒。防御这些威胁需要一种超越算法本身的分层策略,涉及整个医院的IT基础设施——从对电子健康记录(EHR)的访问控制和数据溯源检查,到可以追踪用于训练的每一条数据来源的不可变审计日志。在像联邦学习这样的现代协作结构中,这一挑战变得更加复杂,其中多家医院在不共享私有数据的情况下共同训练一个模型。一家恶意的医院可能会向全局模型中注入一个后门,而检测这种背叛行为需要巧妙的统计防御措施,比如让中央服务器检查是否有任何一家医院的更新与其他医院的更新存在奇怪的不一致。
然而,正如手术刀既可伤人也可救人,对抗性学习的原理也可以被用来实现深远的善举。考虑从不同医院收集的基因表达数据中发现预测性生物标志物的挑战。一个主要的混淆因素是“批次效应”——即各中心处理样本方式的技术差异,这与基础生物学无关。一个朴素的模型可能仅仅通过识别数据来源的医院来学习预测病人的预后,而不是找到真正的生物学信号。在这里,我们可以建设性地使用对抗性框架。我们构建两个系统:一个尝试预测病人预后的预测器,和一个试图猜测数据来自哪家医院的对抗性“判别器”。然后,这两个模型在竞争中进行训练:预测器及其数据编码器努力学习一种生物数据的表示,这种表示不仅有利于预测预后,而且对判别器毫无用处。编码器学会了剥离医院特定的信号,留下更纯粹的生物学表示。通过这种方式,对抗性动态不是用来破坏系统,而是使其更鲁棒、更科学有效。
这把我们带到了一个深刻的伦理前沿。如果我们知道一个人工智能系统存在这些脆弱性,我们对病人负有什么责任?根据医学伦理原则,病人必须给予知情同意,这要求披露所有“实质性”风险——即一个理智的人在做决定前会想知道的风险。如果一个人工智能的基线错误率是,比如说,,但在攻击下的最坏情况错误率是,即使我们估计这种攻击的可能性很小,总体风险也可能跨过实质性的门槛。在这种情况下,对病人自主权的尊重要求我们用易于理解的语言解释这种脆弱性。仅仅说一个人工智能“高度准确”已经不够了;我们还必须传达其脆弱性、已有的保障措施以及病人选择替代方案的权利。对抗性风险的抽象概念变成了医患对话的具体部分。
我们探讨过的思想有着更深远的回响,与数学和理论计算机科学中的基本原理相联系。似乎大自然以其自己的方式,长久以来一直在处理“对抗性”问题。
考虑逆问题领域,其中包括像从CT扫描仪数据重建图像这样的挑战。扫描仪的物理过程可以用一个数学算子 来描述,它将身体的真实内部结构 映射到我们观察到的测量值 。为了得到诊断,我们必须对这个算子求逆。对于许多物理系统来说,这种求逆是“不适定的”——测量值 中的微小噪声或扰动会被灾难性地放大,导致对 的重建完全没有意义。这是因为算子 在某些“方向”(与小的奇异值相关)上极其微弱。与这些微弱方向之一对齐的扰动在求逆过程中会被放大。这与对抗性攻击是完全相同的现象!小的奇异值方向就是“对抗性子空间”。用于稳定重建的数学工具,称为正则化,其工作原理就是抑制这些不稳定的方向。这与对抗性训练完全类似,后者试图使神经网络对其自身的对抗性方向不那么敏感。该领域一个著名的结果——皮卡条件(Picard condition),本质上是说,要有意义的解存在,真实信号在这些不稳定的方向上就不能有太多能量。两个领域都发现了同样根本的敏感性问题,并发明了类似的解决方案:一个称之为正则化,另一个称之为鲁棒性。
最后,让我们谈谈这个问题的纯粹难度。为什么防御对抗性样本如此困难?一个线索在于它与计算复杂性理论的联系。我们可以将一个简单的、预训练的神经网络表示为一个固定的布尔逻辑电路。寻找一个对抗性样本的任务可以被重新表述为一个问题:“是否存在一个与给定输入相近但产生不同输出的输入?”这个问题是可满足性问题的经典例子。对于许多此类问题,找到一个解似乎需要一个不可能的大规模搜索,这使其被归入一类被称为“NP完全”的问题——一个庞大且重要家族中最难的问题。虽然验证一个提出的解很容易,但从零开始找到一个解可能需要天文数字般的时间。这表明,寻找对抗性样本的难度(以及证明不存在对抗性样本的更大难度)可能不仅仅是一个暂时的工程挑战;它可能是搜索问题本身根本计算难度的结果。
我们的旅程从生物防御到医学伦理,从CT扫描仪到计算理论。最初只是图像分类器中一个奇特的缺陷,如今已揭示为一个深刻且反复出现的原理。对抗性思维迫使我们超越令人安心的平均值,直面我们复杂系统脆弱的现实。它教导我们,真正的智能,无论是人类还是人工智能,其衡量标准不在于它在简单问题上的表现,而在于它在面对最挑战性问题时的完整性。