title: “AI的「视觉错觉」——为什么一张贴纸就能骗过世界上最聪明的AI” date: 2026-07-26T02:29:00+08:00 draft: false tags: [“对抗样本”, “对抗攻击”, “AI感知”, “对抗训练”, “FGSM”, “PGD”, “鲁棒性”, “深度学习”, “AI安全”, “神经网络本质”] categories: [“AI深度”] description: “一张贴纸就能让AI把「停止牌」认成「限速牌」——这不是AI的bug,而是它的「看」和你的「看」本质不同。对抗样本揭示了AI感知的底层逻辑,也让我们重新思考:什么是真正的「看见」?”
引言:一张贴纸,让最聪明的AI变成了"盲人"
2017年,一群研究人员做了一个实验。
他们在路边放了一个"停止"标志牌——红底白字,八边形,全世界的司机都认识。然后,他们在上面贴了几张小小的黑白贴纸,贴的位置看起来毫无规律。
接着,他们让一辆搭载了最先进AI识别系统的测试车驶过这个标志牌。
结果令人震惊:AI把"停止牌"认成了"限速牌"。
贴纸的位置和图案是精心设计的——对人类来说,它们只是毫无意义的涂鸦,不影响我们认出"停止牌"。但AI的"眼睛"被这些贴纸彻底欺骗了。它看到了一个和"停止牌"完全不同的东西。
这不是科幻电影的情节。这是真实发生的实验。这种能让AI"看错"的特殊图案,有一个名字:对抗样本(Adversarial Examples)。
它们被称为"AI的视觉错觉"——就像人类会被"视觉错觉图"骗到一样,AI也有自己的"视觉错觉"。但和人类视觉错觉不同的是,AI的"错觉"可以被精确地设计和制造,而且几乎无法通过"多看两眼"来纠正。
一、对抗样本是什么?——一个"差之毫厘,谬以千里"的故事
先来看一个更经典的例子。
2015年,Goodfellow和他的团队做了一个实验:
他们给AI看一张熊猫的照片。AI以99.9%的置信度判断:“这是一只熊猫”。
然后,他们在原始图片上叠加了一层肉眼几乎看不见的"噪声"——就像电视信号不好时画面上的雪花点。这层噪声极淡,淡到人眼根本无法察觉。
但AI再看这张图时,它说:“这是一只长臂猿”。
原始图片 vs 加了噪声的图片——人眼看几乎一模一样,AI眼里却天差地别。
这就是对抗样本的"核心魔法":在人类无法察觉的微小变化上,AI的判断可以发生180度大转弯。
对抗样本的正式定义是这样的:
对原始输入(一张图片、一段音频、一段文字)施加一个人类无法察觉的微小扰动,使得AI模型的输出发生显著错误。
这个扰动不是随机的,而是精心设计的——它针对的是AI模型的"弱点"。
二、为什么AI会被骗?——因为AI的"看"和你的"看"不一样
要理解这件事,你需要先理解一个关键的区别:AI的"眼睛"和你的眼睛,工作原理完全不同。
人类怎么"看"?
你看到"停止牌"的时候,大脑做的是语义理解——你看到的是"一个红色的八边形,上面写着’停’这个字"。你提取了它的意义,而不是它的像素值。
即使停止牌上沾了点泥巴、被风吹歪了30度、或者上面贴了几张贴纸——你依然能认出它。因为你的大脑在做"概念匹配":不管细节怎么变,只要核心特征(红色、八边形、中间有字)在,就是"停止牌"。
AI怎么"看"?
AI看到一张图片时,它看到的不是"概念",而是数字。一张图片在AI眼里,就是一个巨大的数字矩阵——每个像素点有三个数字(红、绿、蓝的亮度值),范围从0到255。
“停止牌"对于AI来说,就是"R=200, G=25, B=25”(红色区域)和"R=255, G=255, B=255"(白色文字区域)的特定排列组合。
AI的"识别"过程,本质上是在做"数字模式匹配"——它从海量的训练数据中学习到:“当这些数字以某种方式排列时,它应该输出’停止牌’"。
关键差异:AI对"微小变化"的极度敏感
人类大脑处理的是"语义层级”——你看到的是"概念"和"意义"。
AI处理的是"数字层级"——它看到的是"数值"和"模式"。
这意味着:对人类来说微不足道的数值变化,对AI来说可能是天翻地覆的模式变化。
想象你在一个巨大的数字矩阵中做微调:
- 把"停止牌"图片中某个像素的红色值从200调到210
- 把另一个像素的蓝色值从50调到55
- 重复1000次这样的微调
对人类来说,这些变化无法察觉。 因为"红色"仍然是"红色",“八边形"仍然是"八边形”。
但对AI来说,这些变化的累积效果,可能让它看到的"数字模式"完全变成了另一个东西。 就像你在一个密码锁上,把每个数字都拨动了一点点——组合起来,密码就完全变了。
三、对抗样本是怎么造出来的?——“问AI,AI就会告诉你”
2015年,Goodfellow提出了一个极简的对抗样本生成方法,叫FGSM(快速梯度符号法)。它的原理简单到令人惊讶:
第一步:把图片输入AI,让AI执行正常的识别流程。
这是"前向传播"——图片通过神经网络的每一层,最终得到一个输出:“这只熊猫的概率是99.9%"。
第二步:问AI一个问题——“如果要让输出变成’长臂猿’,图片应该怎么改?”
这是"反向传播”——计算梯度。梯度告诉我们:如果改变这个像素的值,AI的输出会往哪个方向变化。
第三步:在所有像素上,沿着"让输出变成’长臂猿’“的方向,都走一小步。
这一步产生的"噪声”,就是对抗样本的核心。
关键点:这个过程只需要一次"前向传播"和一次"反向传播"。 也就是说,你只需要问AI一次"怎么改你才会犯错",AI就会告诉你答案。
这就像你问一个密码锁:“我的密码是0000,但我想打开它。告诉我,每个数字应该怎么调?“密码锁回答说:“第一位+3,第二位-1,第三位+2,第四位-5。"——然后你就知道了正确的密码。
AI对对抗样本的"脆弱性”,不是它的漏洞,而是它的特性。 因为AI的决策过程是"可微分的”——你可以通过数学求导,找出"让AI犯错的最短路径”。
四、对抗样本告诉我们什么?——AI的"理解"是脆弱的
对抗样本的存在,揭示了AI"理解"世界的三个深层真相。
真相一:AI看到的不是"语义",是"表面特征"
AI在训练时,学到的不是"猫的概念"——它学到的是一组"猫图片的统计特征"。
这意味着,如果你在猫的图片上叠加一层精心设计的噪声,让AI的"猫特征统计"变成"狗特征统计",AI就会把猫认成狗。
AI的"知识"是统计性的,不是语义性的。 它知道"猫"和"毛茸茸"、“有耳朵"经常一起出现,但它不知道"猫"是一个有生命的、会呼吸的、和人类有情感联系的动物。
真相二:AI的"决策边界"和人类的"概念边界"不重合
人类的概念有"鲁棒性”——“猫"的概念边界很宽,不管猫是黑是白、是胖是瘦、是坐是躺,你都能认出来。
AI的决策边界是"精确但不鲁棒"的——它在训练数据覆盖的区域内表现很好,但在训练数据覆盖的边缘地带,可能突然崩溃。
对抗样本就位于人类概念边界和AI决策边界之间的"缝隙"里。 对人类来说,对抗样本仍然在"猫"的概念边界内;但对AI来说,它已经跨过了"猫"的决策边界,进入了"狗"的领域。
真相三:AI的"脆弱性"不是bug,是feature
这一点非常重要:对抗样本不是AI的缺陷,而是AI工作方式的必然产物。
只要AI的决策过程是"基于数值的”、“可微分的”、“高维的”,对抗样本就必然存在。
这不是"修bug"能解决的问题——就像你无法通过"修bug"让人类不产生视觉错觉。因为人类之所以会产生视觉错觉,是因为大脑的视觉处理机制就是这样工作的——它用"推断"来补全信息,而"推断"必然有漏洞。
同样,AI之所以会被对抗样本欺骗,是因为AI的"看"本身就是基于"统计推断"的——“推断"必然有被误导的可能。
五、怎么让AI更"抗骗”?——对抗训练
既然对抗样本是AI的"天性",那有没有办法让AI更"抗骗"呢?
有。最主流的方法叫对抗训练(Adversarial Training)。
对抗训练的思路非常直观:
第一步:生成一批对抗样本。
第二步:把这些对抗样本和原始样本混在一起,重新训练AI。
第三步:重复这个过程。
用一句通俗的话说:“你不是容易被骗吗?我天天拿骗你的东西来训练你,直到你不再被骗。”
这就像训练一个防骗专家——不是只教他"什么是真的",而是不断给他看各种"假货",让他在实战中学会识别"假货"的套路。
对抗训练的效果是显著的。经过对抗训练的AI,在面对"已知类型的对抗攻击"时,鲁棒性大幅提升。
但问题在于:对抗训练只能让你在"已知的骗术"面前不再被骗。如果骗子换了一种你从未见过的骗术,你还是可能上当。
这就是对抗领域的一个核心困境:攻击者只需要找到一个"漏洞"就能成功,但防御者需要堵住所有"漏洞"才能安全。
六、更深层的思考:对抗样本不是AI的"弱点",是人类认知的"镜子"
对抗样本的研究,让我们重新思考了一个根本问题:“看见"到底意味着什么?
人类看到世界的方式,是经过亿万年进化打磨出来的。我们"看"到的不是"像素”,而是"有意义的整体"——我们看到"猫",看到"朋友的脸",看到"危险的场景"。
这种"看"的方式,优点是极其鲁棒——在几乎任何条件下,你都能认出你认识的人。但缺点是不可精确操控——你不能通过数学公式,精确地让一个人"看错"某个东西。
AI的"看"正好相反。它的优点是可精确操控、可优化——你可以通过数学,精确地让AI"看对"或"看错"。但它的缺点是极其脆弱——在人类看来微不足道的变化,可能让AI彻底崩溃。
两者各有优劣,互为补充。 人类的"看"是"慢而稳"的语义理解,AI的"看"是"快而脆"的数值匹配。
这其实揭示了"智能"的一个更深层特性:不同的智能系统,有不同的"感知语言"。 人类的"感知语言"是"语义"和"概念",AI的"感知语言"是"数学"和"统计"。
对抗样本之所以存在,不是因为AI"不够聪明",而是因为它的"感知语言"和人类的"感知语言"不同。 当这两种语言之间的"翻译"出现偏差时,对抗样本就产生了。
七、结语:AI的"脆弱"和人类的"脆弱"
回到文章开头的那张"停止牌"。
你看到那张贴了贴纸的停止牌时,你的大脑不仅看到了"红色八边形"和"停"字,还看到了"贴纸是贴上去的"、“贴纸的位置不自然”、“贴纸的图案和停止牌没有关系”。
但你不会因此认为"这不是停止牌"——因为你的大脑在做"语义理解":它识别出"停止牌"的"核心语义",然后自动过滤掉了"不相关的细节"。
AI做不到这一点。AI无法区分"核心特征"和"无关细节"。 对AI来说,每一个像素都是"特征"——贴纸上的像素和停止牌上的像素,在AI看来没有本质区别。
这不是AI的"错"。这是AI的"看"和人类的"看"之间的本质差异。
每一次对抗样本的攻击,都在提醒我们一个事实:AI的"智能"是和我们不同的。它擅长我们擅长的,也脆弱我们脆弱的——但"擅长"和"脆弱"的方向往往相反。
我们不应该因为AI的"脆弱"而轻视它。就像我们不会因为人类的"视觉错觉"而否定人类视觉的卓越能力一样。
对抗样本教会我们的,不是"AI很脆弱",而是"AI很不同"。
而理解这种"不同",才是真正理解AI的开始。
参考资料:
- Goodfellow, I. J., Shlens, J., & Szegedy, C., “Explaining and Harnessing Adversarial Examples”, ICLR, 2015. https://arxiv.org/abs/1412.6572
- Szegedy, C. et al., “Intriguing properties of neural networks”, ICLR, 2014. https://arxiv.org/abs/1312.6199
- Madry, A. et al., “Towards Deep Learning Models Resistant to Adversarial Attacks”, ICLR, 2018. https://arxiv.org/abs/1706.06083
- Kurakin, A. et al., “Adversarial Examples in the Physical World”, ICLR Workshop, 2017. https://arxiv.org/abs/1607.02533
- Eykholt, K. et al., “Robust Physical-World Attacks on Deep Learning Visual Classification”, CVPR, 2018. https://arxiv.org/abs/1707.08945
- Athalye, A. et al., “Synthesizing Robust Adversarial Examples”, ICML, 2018. https://arxiv.org/abs/1707.07397
- Ilyas, A. et al., “Adversarial Examples Are Not Bugs, They Are Features”, NeurIPS, 2019. https://arxiv.org/abs/1905.02175
- Zhang, H. et al., “Theoretically Principled Trade-off between Robustness and Accuracy”, ICML, 2019. https://arxiv.org/abs/1901.08573