趋近智
传统数据投毒通常涉及明显的篡改,例如翻转标签或添加明显异常的数据点。尽管在某些情况下有效,但这些方法通常可以通过基本的数据清洗或人工检查检测出来。设想一下,如果人类审核员会审核提交的数据集,你想对它进行投毒;明显错误的标签或离群数据很可能会被标记并删除。干净标签投毒攻击正是在这种情况下出现的,这是一种更隐蔽、更危险的训练时攻击形式。
干净标签攻击的特点是,投毒数据点对人类观察者来说显得完全合法。攻击者修改训练样本 x 的特征以生成投毒版本 x′,但保留了原始的正确标签 y。对 x 施加的扰动以得到 x′ 通常很小且经过精心设计。目标不一定是让模型整体性能变差(可用性攻击),而是通常为了在训练后引起特定、有目标的错误分类(完整性攻击)。这种完整性攻击的特点是,它旨在导致模型出现有针对性的误分类,且不需要明显、易识别的触发模式。
其主要思路是注入一些样本,这些样本尽管标签正确,但在训练过程中对模型的决策边界产生不成比例的影响。攻击者旨在将这些投毒样本策略性地放置在特征空间中。通常,这意味着将它们放置在目标类别边界附近,即使它们属于基础类别。
考虑一个二分类任务。攻击者希望模型在训练后将特定目标样本 xtarget(属于类别 A)错误分类为类别 B。攻击者可能会取一个属于类别 B 的样本 xbase,施加一个微小扰动 δ 以创建 xpoison′=xbase+δ,并将 (xpoison′,类别 B) 添加到训练数据中。重点是 xpoison′ 看起来仍然是类别 B 的合理成员,并且扰动 δ 很小(例如,通过 Lp 范数,如 L2 或 L∞ 衡量)。然而,xpoison′ 被设计成足够接近决策边界(甚至从鲁棒泛化的角度来看,略微偏向“错误”的一侧),以至于它在训练期间的加入会轻微地移动最终边界,刚好足以导致 xtarget 落入错误的一侧。
在数学上,攻击者解决一个优化问题:找到一个用于基础样本 xbase 的扰动 δ,使得:
这个优化问题很复杂,因为它涉及到整个训练过程。攻击者通常使用近似方法或启发式算法,例如,制作投毒样本,使其在训练时能最大化目标样本的损失,或直接影响梯度更新。
一种特定技术涉及创建“特征碰撞”。攻击者制作一个投毒样本 (xpoison′,ybase),使得 xpoison′ 在神经网络中的内部表示与目标样本 xtarget 的内部表示变得非常相似。因为 xpoison′ 被标记为 ybase,训练过程鼓励模型将这种共享的内部表示与 ybase 关联起来,从而增加 xtarget 也被分类为 ybase 的可能性。
干净标签投毒的示意图。一个投毒点(红色星形),视觉上与类别 B(黄色)相似,被小心地放置在原始决策边界附近。它的加入会使边界(粉色线)移动,导致原本属于类别 A 的目标样本(绿色十字)被错误分类。
干净标签攻击比简单的投毒方法更难检测。标准防御措施,例如离群点移除或基于训练期间预测置信度的过滤,可能会失效,因为投毒样本看起来正常且标签正确。
然而,对攻击者来说,制作有效的干净标签投毒也存在挑战:
尽管存在这些挑战,干净标签攻击的隐蔽性使其成为一个严重的问题,特别是对于在大型、可能未经核实的数据集上训练的模型。它们强调需要强大的训练程序和超出简单数据验证范围的防御措施。了解这些攻击是开发防御方法的重要一步,我们将在第五章中进一步讨论。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造