京公网安备 11010802034615号
经营许可证编号:京B2-20210330
作者 | Alex Adam
来源 | 机器之心
很多人都大概了解对抗样本是什么:在数据中加入人眼不可察觉的扰动,使得模型对数据的标签预测发生混淆和错误。但是,这句话背后的技术细节是什么?怎样才能确保生成的对抗样本符合这样的定义?本文深入解析了对抗样本背后的数学定义,并帮助读者重新理解对抗样本的定义。
对抗样本是各种机器学习系统需要克服的一大障碍。对抗样本的存在表明模型倾向于依赖不可靠的特征来最大化性能,如果特征受到干扰,那么将造成模型误分类,可能导致灾难性的后果。对抗样本的非正式定义:以人类不可感知的方式对输入进行修改,使得修改后的输入能够被机器学习系统误分类,尽管原始输入是被正确分类的。这一修改后的输入即被称为对抗样本。下图阐明了这一概念:
原始图像(左图),对抗噪声(中图),扰动后的图片即对抗样本(右图)被错误地分类为数字 2
对抗样本的正式定义如下所示:
对抗样本的定义
其中 L 是我们试图最大化的损失函数,x_orig 是原始图像,是扰动,y 是真实标签,所选的ε用于确保扰动后的图像看上去没有那么杂乱,并且对于人类来说仍然像是原始类别的图片。
一些攻击,如 FGS,IGS 和 PGD 都使用 L-∞范数来约束扰动图像和原始图像之间的距离。在这篇文章中,我们将探讨对于 MNIST 数据集选择ε的难点。我们也将看看最近有关不依赖于在原始图像上进行扰动而生成对抗样本的技术,探究这样生成的图片是否满足对抗样本的定义。
MNIST 图像距离分析
让我们首先简单分析一下相同类别图像以及不同类别图像之间的平均距离。也许这些距离能够帮助我们以一种更量化更客观的方式选择ε。我博客上有一个包含这一分析的 Jupyter notebook (http://alexadam.ca/ml/2019/09/05/adversarial-examples-rethinking-the-definition.html)。
我们从每个类别中随机采样了 100 张图片,在不同的范数下计算两两图像距离的平均值。这里只展示 L-2 范数的结果以避免混乱,同时也因为 L-∞范数的热力图在每个 cell 中都是 1,没有提供什么有用的信息。
L-2 范数训练集距离
一个合理的假设是处于热力图对角线上的元素值(类内图像的距离)应该要比同一行/列中的非对角线上的元素(类间图像距离)小。然而,上图的结果中数字 2 的类内距离 10.1 大于数字类别 2 与数字类别 1 的类间距离 9.8,数字类别 8 的类内距离 9.4 大于数字类别 8 与 1 之间的距离 9.3。这起初让人惊讶,但它只是表明,对于一个给定的数字,相比切换成另一个类别的数字,样式上的变化可能会可能会造成更多像素上的差异。可以认为对于每一个数字,有一个不变的像素集,它不会随图片而改变,当两个数字的不变集高度重合时,像上图那种意料之外的结果就有可能发生。
选择ε
当谈到选择ε的时候,这一切意味着什么呢?当使用 L-∞范数时,ε最常见的值是 0.3,对于 L-2 范数而言一个比较大的值是 4.5 。对于 L-∞范数,如果我们考虑最极端的值ε=1.0,我们将无法控制扰动图像的真实类别,并可能最终生成一个使得人类和图像分类模型都误识别为其它类别的图像。这也允许我们在训练集和测试集之间任意篡改图像 x』 = rx_train * (1-r)x_test,如果我们的模型恰好错误分类了 x_test,那么该图像将被标记为对抗样本。这里有很多限制条件必须要满足:
根据观察,(1) 通常暗含 (2)。ε=0.3 当然满足 (2),因为所有图像的 L-∞距离接近 1.0。让我们看看如果我们生成如下的结合了两个类别的图像将会发生什么。
在 L-∞距离约束下的均值图像
将原始图像和精心扰动的图像之间的 L-∞距离限制到ε,但是任意一个人类观察者都能轻易地发现两张图之间的区别,如下图所示:
与原始图像的 L-∞距离在ε=0.3 之内精心制作的扰动图像
很明显,最右边的图像有一些不足。事实上,如果没有被告知这是一张数字 0 和数字 1 图片的组合,有的人可能会说它只是一个抽象的符号。因此,用这样一个简单的例子,我们已经表明 ε=0.3 违反了条件 (1)。即使给一个更小的值,比如ε=0.2,也会得到类似的结果。MNIST 让我们轻易地识别出扰动的像素。在许多情况下,通过简单检查背景像素是否修改来为对抗样本创建检测机制是微不足道的。如果攻击者知道了这种检测机制,就能够绕过它。那我们要如何选择ε呢?
这里给出一个对每张图片并不使用相同ε的例子。对于一些类别,数字本身围成的框内是否发生了像素的变化更容易被发现,就像上图中的 0 那样。对于这种类别,ε应该设置成一个更小的值。
此外,对于像 L-2 或者 L-∞这样的典型范数用于计算图像距离时是没有包含图像的语义相似性的。如果能够在输入空间中给出图像间的语义相似度,那么构造一个简单的 KNN 图像分类器就能干掉卷积神经网络在过去 7 年来的进步。对于这个问题,可能的解决方案是使用度量学习(metric learning)。通过学习嵌入,这些嵌入之间的 L-2 或者 L-∞距离包含语义相似性,那么我们就可以在这个空间而不是输入空间中调整ε。
还有种这样的技术叫做三胞胎网络 (triplet networks)。三胞胎网络通过同时将 3 张图片一次传递到三个相同的嵌入网络并行运行。类别 y 的 anchor 通过时,会伴随着一个同类别的正样本和一个不同类别 y』的负样本。损失函数将确保 anchor 和正样本之间的距离至少比 anchor 和负样本之间的距离小。
三胞胎网络示意
使用像三胞胎网络这样的度量学习技术仍旧需要手动实验验证以确保ε没有过大以至于类别发生改变。此外,我们必须考虑条件 (2),我们不能利用扰动使得我们数据集中的一张图像被分为另外一张相同类别的图像。像 PGD 这样的攻击方法是在损失函数的梯度方向迭代地移动以增加损失,然后将结果图像映射到满足原始图像距离约束的输入子空间。不是在输入空间中做这一映射,而是使用我们的度量学习算法在嵌入空间上完成。
生成式对抗样本
有篇非常酷的论文介绍了一种新的制作对抗样本的方法。不是使用精心制作的对抗性噪声扰动已有的图片,而是使用 GAN 从头生成能够愚弄目标模型的图片。
具体来说,他们使用一个辅助分类器 GAN(AC-GAN),能够对图像类别进行调节,以便控制所生成图像的类别。这产生了「无约束对抗样本」,因为从头生成的图像没有距离可供约束。
然而,这并不满足先前提及的标准 (1) 或 (2)。尽管他们的方法很有用,也允许模型调试和通过生成新的能使模型失败的图片进行数据增强,但他们的分析将泛化性能和对抗的鲁棒性看作同一件事。为了恰当地分析模型的鲁棒性,我们需要能够分开泛化性能和对抗鲁棒性两个指标,因为它们彼此不一致 。因此,尽管抛弃对抗样本的基于扰动的定义是十分诱人的,但是现在它们是唯一能够以独立的、非混淆的方式研究对抗鲁棒性的方法。
总结
对抗样本的当前定义对于像 MNIST 这样的数据集来说存在些微的缺陷。尽管对于 ImageNet 这样的数据集来说更有意义,因为向它添加扰动更难被人注意到,也不会使得图片看上去像是不同类别的奇怪组合。
对于每张图片或类别使用相同的阈值ε并不是一个好的打算,因为很容易就能检测出特定类别图像上的噪声。图像是一种对于人类而言很轻易就能分析和评判出是否有可疑痕迹的数据类型。然而,在许多领域里的数据是以数字的抽象向量形式出现的,这些向量很难理解和可视化。在这些领域中定义什么是对抗样本可能会超出我们的想象极限,因为我们本来就不理解原始数据。在这样的情况下,用定量的方法选取ε是十分必要的。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
【核心关键词】软件、洞察力、大数据、产品、经验、硬件、流量、创新、决策、数据安全、网络安全、数据分析、决策制定、数据挖 ...
2026-06-18在方案选型、效果复盘、产品评估、供应商筛选等各类业务决策场景中,仅凭单一指标下结论往往会陷入 “以偏概全” 的误区。多维度 ...
2026-06-18 很多数据分析师精通Excel单元格操作,但当被问到“表结构数据的基本处理单位是什么”“字段和记录的本质区别”“为什么表结 ...
2026-06-18在数据分析、用户运营与业务增长的工作体系中,漏斗拆解是最基础也最高频的问题定位方法。很多业务场景下,我们只能看到最终的转 ...
2026-06-17在数据库开发、数据清洗与报表统计场景中,数值类型转换为日期是高频刚需操作。业务系统常以 Unix 时间戳、整型日期(如20240617 ...
2026-06-17 数据分析师八成以上的时间在和数据表格打交道,但许多人拿到Excel后习惯性地先算、先分析,结果回头发现漏了一列关键数据, ...
2026-06-17【核心关键词】数据库、电商、知识、产品、数据产品、监管业务、产品经理、业务系统、用户行为分析、用户分析、数据分析、电商 ...
2026-06-16在 Python 动态类型与面向对象的编程体系中,变量定义与类实例化是构建代码逻辑的两大核心基石。变量是数据存储、传递与运算的基 ...
2026-06-16 很多数据分析师每天与Excel打交道,但当被问到“表格结构数据和表结构数据有什么区别”“数据类型误判会引发哪些分析错误” ...
2026-06-16在 MySQL 查询性能优化体系中,索引是降低查询耗时、提升数据库吞吐的核心手段。其中联合索引与覆盖索引是实际开发中最高频的两 ...
2026-06-15在数据仓库建设与商业智能分析体系中,维度建模是应用最广泛的建模方法论,而事实表与维度表是维度建模的两大核心构件,共同构成 ...
2026-06-15 很多数据分析师能熟练计算指标,但当被问到“这家企业的核心业务目标是什么”“如何把模糊的战略目标拆解为可量化的指标”“ ...
2026-06-15在数据分析、业务监控、运营复盘等场景中,列值趋势计算是核心需求之一。无论是分析销售额的月度增长、用户活跃的变化趋势、库存 ...
2026-06-12在数字经济深度渗透的当下,消费者的购买行为已从过去的 “被动接受” 转变为 “主动决策”。流量红利消退、获客成本攀升、用户 ...
2026-06-12CDA三级认证是三个级别中的塔尖,全面考察数据战略、团队领导和复杂项目的综合能力。它所对应的《敏捷数据挖掘》教材,不再局限 ...
2026-06-12在游戏产业的商业逻辑中,付费玩家是支撑游戏生存与发展的核心支柱。行业普遍遵循 “二八定律”:20% 的付费玩家贡献了游戏 80% ...
2026-06-11【核心关键词】企业、定位、传统、产品、互联网、可视化、业务侧、数字化、结构化、数据分析、传统制造业、市场状态、发展空间 ...
2026-06-11 解读《CDA二级教材:量化策略分析(2025)》的全景结构与学习逻辑 ” CDA二级认证是企业招聘数据分析师时最常提及的证书门槛 ...
2026-06-11【核心关键词】药企、可视化、营销、分类、数据分析师、销售数据、业务人员、指导方向、分析报告、营销数据、营销医生 【专访摘 ...
2026-06-10在统计学分析、问卷调研、实验验证、业务复盘等场景中,卡方检验与 T 检验是应用最广泛的两类基础假设检验方法。前者专门处理分 ...
2026-06-10