在明确机器学习模型可能存在弱点,且攻击者具有不同目标和能力后,我们来对对抗样本这一核心思想进行形式化定义。对抗样本本质上是一种经过精心制作的输入,它看起来几乎与合法输入相同,但却能使模型产生错误的输出。
设有一个机器学习模型,用函数 f 表示,它将来自某个域(例如图像或文本)的输入 x 映射到输出 y(例如类别标签)。设 y=f(x) 是给定输入 x 的正确输出。
一个无目标对抗样本 x′ 是满足以下两个条件的修改后输入:
- 误分类: 模型对 x′ 输出错误的标签。
f(x′)=y
- 接近性: 修改后的输入 x′ 与原始输入 x “接近”。
在目标攻击中,目标更具体:使模型输出特定的错误标签 ytarget(其中 ytarget=y)。第一个条件变为:
f(x′)=ytarget
定义扰动
原始输入与对抗样本之间的差异是扰动,表示为 δ:
δ=x′−x
因此,我们可以将对抗样本写为 x′=x+δ。“接近性”条件表示扰动 δ 必须根据某种度量是小的。
度量扰动大小:Lp 范数
我们如何从数学上量化“小”?对抗机器学习中的标准方法是使用 Lp 范数来度量扰动向量 δ 的大小。范数的选择反映了关于何种变化是“不可察觉”或“允许”的不同假设。
设 δ 是一个维度为 d 的向量(例如,图像中的 d 个像素)。常用范数包括:
-
L∞ 范数(最大变化量): 度量输入中任意单个元素的最大绝对变化。定义为:
∥δ∥∞=i=1,…,dmax∣δi∣
一个 L∞ 约束 ∥δ∥∞≤ϵ 表示任何单个输入特征(例如像素值)的变化不超过 ϵ。这在图像攻击中广泛使用,因为小的均匀变化通常难以察觉。对于像素值归一化到 [0,1] 的图像,一个常用的 ϵ 值是 8/255。
-
L2 范数(欧几里得距离): 度量 x 和 x′ 之间的标准欧几里得距离。
∥δ∥2=i=1∑dδi2
一个 L2 约束 ∥δ∥2≤ϵ 限制了变化向量的整体大小。变化可能集中在少数特征上,或者分散地薄弱分布。
-
L1 范数(绝对变化和): 度量所有元素的绝对变化之和。
∥δ∥1=i=1∑d∣δi∣
一个 L1 约束 ∥δ∥1≤ϵ 促使稀疏性,表示扰动可能涉及较大的变化,但只影响极少数特征(适用于文本特征等高维稀疏数据)。
-
L0 范数(变化元素数量): 计算 δ 中非零元素的数量。
∥δ∥0=i=1∑dI(δi=0)
其中 I(⋅) 是指示函数(如果为真则为 1,否则为 0)。一个 L0 约束 ∥δ∥0≤k 表示至多 k 个特征(例如像素)可以被修改。这在计算上更难处理,但直接模拟了对有限数量输入组件的修改。
Lp 范数和扰动预算 ϵ(或 L0 的 k 值)的选择是威胁模型的重要组成部分,定义了攻击者的能力。
作为优化问题的对抗样本生成
找到对抗样本通常可以被视为一个优化问题。有两种常见表述:
-
最小化扰动: 寻找能导致误分类的最小扰动 δ(由某个 Lp 范数度量)。
δmin∥δ∥p使得f(x+δ)=y
我们通常还需要确保生成的 x′=x+δ 仍然是一个有效输入(例如,像素值保持在允许的 [0,1] 范围内)。
-
最大化损失(在预算内): 寻找扰动 δ,使其在预设扰动预算 ϵ 内最大化模型的预测误差(损失)。
δ 满足 ∥δ∥p≤ϵmaxL(f(x+δ),y)
这里,L 是一个损失函数(例如交叉熵),它度量模型对扰动输入 f(x+δ) 的预测与原始正确标签 y 之间的差异。对于目标攻击,我们会最大化相对于原始标签的损失,或最小化相对于目标标签 ytarget 的损失。这种表述直接引出了基于梯度的攻击方法,我们将在下一章中进行考察。
几何视角
设想输入所处的高维空间。模型 f 将这个空间划分为对应不同类别的区域,由决策边界分隔开。原始输入 x 位于其正确类别 y 的区域内。对抗样本 x′ 的找到方式是:将 x 稍微移动(在半径为 ϵ 的 Lp 球内),使其穿过决策边界进入对应不同类别 y′ 的区域。
对抗样本的示意图。原始输入 x(蓝色点)被正确分类。添加了一个小扰动 δ,得到 x′(红色点),它恰好位于决策边界的另一侧并被误分类。扰动的大小受到限制,通常通过 Lp 范数(∥δ∥p≤ϵ)来限制。
这种数学框架使我们能够精确定义对抗样本及其生成所受的约束。它为开发特定攻击算法(例如基于梯度或优化的算法)以及设计和评估防御方法奠定了基础,这些是后续章节的主题。理解这种表述对于分析机器学习模型的安全属性非常重要。