NVIDIA与以色列理工学院揭示深度神经网络的致命弱点
NVIDIA与以色列理工学院揭示深度神经网络的致命弱点
  • 2026-04-28 04:22:42
    来源:不足介意网

    NVIDIA与以色列理工学院揭示深度神经网络的致命弱点

    字体:

    这项由NVIDIA与以色列理工学院(Technion)及IBM研究院联合开展的研究,以预印本形式发表于arXiv平台,编号为arXiv:2502.07408,最新版本更新于2026年4月16日。对于任何关心AI安全、自动驾驶、智能医疗乃至日常使用AI助手的人来说,这项研究揭示了一个令人警觉的现实:我们以为坚不可摧的AI系统,其实比想象中脆弱得多。

    **一切从一个令人不安的问题开始**

    假设你正在乘坐一辆依赖AI视觉系统的自动驾驶汽车,或者你的医院正在使用AI辅助诊断癌症病灶。现在,某个心怀不轨的人,不需要入侵摄像头,不需要篡改数据,只需要悄悄改动AI系统内部一两个微小的数字——具体来说,就是翻转一到两个"比特"(bit,计算机存储信息的最小单位,类似一个只能显示0或1的开关)——就能让整个系统完全失效、输出胡言乱语,甚至陷入崩溃。

    这不是科幻小说里的情节。来自NVIDIA与以色列理工学院的研究团队,通过一系列严谨实验,证明了这种攻击不仅可行,而且极其廉价、几乎不留痕迹。他们将这套方法命名为"深度神经病变"(Deep Neural Lesion,简称DNL),并进一步发展出一个增强版本"单次深度神经病变"(1P-DNL)。这两个名字来源于神经科学中的"病变"概念——就像大脑中某个极小区域受损,却能导致视觉、语言或运动功能的全面瘫痪一样,AI系统中的极少数参数一旦被精准破坏,整个系统就会从智能变成废物。

    **一、理解战场:AI系统究竟是怎么工作的**

    要理解这项研究,首先需要明白AI系统内部存储信息的方式。深度神经网络(Deep Neural Network,DNN)本质上是一个由海量数字组成的巨型数学结构,这些数字被称为"参数"或"权重",它们是AI通过学习大量数据后积累起来的"经验"。每一个参数在计算机内存中都以一串二进制数字(比如32个0和1的组合)的形式存储,遵循一种名为"IEEE 754浮点数"的标准格式。

    这32个比特中,最左边那一个比特是最特殊的,它叫做"符号位",决定了这个参数是正数还是负数——就像一个数字前面的加号或减号。后面8个比特是"指数位",决定数字的大小范围;最后23个比特是"尾数位",决定数字的精确值。

    研究团队发现的核心脆弱点,正是这个看似微不足道的符号位。翻转一个参数的符号位,就等于把这个参数从正数变成负数(或反之),而且改变量极大——如果原来的值是+10,翻转后就变成了-10,变化幅度高达20。这就好比在一个精密机械钟表里,把一个齿轮的旋转方向从顺时针改为逆时针,整个钟表的运作逻辑就会从根本上被颠覆。

    更重要的是,研究团队发现大多数随机的比特翻转对AI性能几乎没有影响。实验数据表明,即使随机翻转高达10万个比特,很多AI模型的准确率也不会持续下降——说明绝大多数参数都是"无关紧要"的,真正致命的只是极少数"关键参数"。正因如此,找到这些关键参数并精准打击,才是这项研究的核心价值所在。

    **二、病变的解剖学:哪些参数最致命**

    研究团队系统地分析了是什么让某些参数比其他参数更加脆弱,就像医学研究者研究大脑中哪个区域受损会导致最严重的后果一样。

    第一个关键发现是:数值最大的参数往往也是最危险的目标。这个思路借鉴自AI领域的"剪枝"研究——研究者们发现,删除数值小的参数对AI影响微乎其微,反而是大数值参数在AI决策中扮演着主角。既然如此,翻转大数值参数的符号位,就相当于把AI最仰赖的"意见领袖"从支持者变成了反对者,自然会造成最大的混乱。研究团队在理论上也给出了数学支撑:根据二阶泰勒展开(一种数学工具,用来估算函数变化量),翻转一个参数的符号位对损失函数(衡量AI错误程度的指标)的影响,近似正比于该参数数值的平方乘以该位置的曲率。当曲率在某一层内近似均匀时,这就直接退化为选择最大数值的参数。

    第二个关键发现是:攻击神经网络的"早期层"比攻击后期层更具破坏力。这个发现与大多数人的直觉相悖——人们可能以为靠近最终决策的层(如分类器)才是最脆弱的。然而实验一再表明,早期层的破坏会产生"级联效应":就像一条流水线的最前端出了问题,所有下游工序的产品都会受到污染,而流水线末端的小故障只影响最后一道工序。以视觉AI为例,早期层负责检测边缘、纹理等基础特征,这些特征是后续所有高级理解的基础。一旦早期层被破坏,AI就像一个突然失去了视力的人,无论后续的推理能力多么强,也无法正确处理"看不见"的世界。

    第三个重要发现专门针对卷积神经网络(一种专门处理图像的AI架构):在同一个"卷积核"(可以理解为一个专门负责识别某种视觉特征的小型过滤器)内,翻转一个比特的破坏力远大于翻转两个比特。原因是两个翻转可能相互抵消——如果第一次翻转让过滤器"看不见横线",第二次翻转可能又让它恢复了某种对横线的感知能力。研究团队用数学公式清晰地展示了这种抵消机制:在自然图像中,相邻像素往往是正相关的,而早期卷积核的不同"叶片"(权重)往往正负交替,这就为两次翻转的相互抵消提供了条件。因此,DNL算法强制规定每个卷积核最多只翻转一个参数,将破坏力分散到更多不同的过滤器上,从而放大整体损害。

    **三、DNL攻击的完整操作手册**

    基于上述三个核心发现,DNL的"无数据无优化"版本(Pass-free Attack)的工作逻辑其实出奇地简单,像是一份只有几步的极简食谱。

    攻击者首先需要能够读取AI模型的参数文件,这是前提条件。然后,他们只看神经网络的前几层(研究中默认取前10层),在这些层的参数中,按照绝对值从大到小排序,找出最大的那些参数。对于卷积网络,还要确保每个卷积核只挑一个参数。最后,把选中的参数的符号位从0改为1(或从1改为0),将正数变为负数。整个过程不需要运行AI模型,不需要任何数据,计算量几乎为零——在计算复杂度上,DNL的开销是O(θ) + O(k),其中θ是参数总量,k是翻转数量,相比需要反复运行模型的传统攻击方法(计算量是O(k × B × θ × m),其中B是候选比特数,m是批量大小),效率提升了几个数量级。

    单次增强版本(1P-DNL)则在此基础上做了一次小小的"侦察":攻击者用一个随机生成的输入(比如随机噪声图片)运行一次AI模型,并计算梯度(一种衡量参数对输出影响程度的数值)。随后,将梯度信息与参数大小结合,形成一个混合重要性分数:分数 = 参数绝对值 + |参数 × 梯度 + 1/2 × 参数? × 梯度?|。这个公式融合了"参数有多大"和"参数对输出有多敏感"两个维度,就像既考虑一个人的体重又考虑他的杠杆位置,从而更精准地找到"四两拨千斤"的支点。这个增强版仍然只需要一次前向传播和一次反向传播,即便使用完全随机的输入数据,效果也显著优于纯粹基于大小的版本。

    **四、实验战场:从图像分类到推理大模型的全面崩溃**

    研究团队在三个完全不同的领域进行了大规模实验,验证这种攻击的普遍性和破坏力,结果堪称触目惊心。

    在图像分类领域,研究团队测试了48个主流ImageNet模型(ImageNet是一个包含超过100万张图片的大型图像分类数据集,是评估图像AI性能的标准基准)。结果显示,仅仅翻转10个符号比特,就有43个模型的准确率下降超过60%。其中,ResNet-50(一个广泛使用的图像分类模型,原始准确率约80%)在1P-DNL攻击下,仅翻转1个比特,准确率就暴跌99.4%,几乎从高度智能变成完全随机猜测。VGG-11(另一个经典图像模型)在DNL攻击下,翻转3个比特就损失99.9%的准确率。ViT-B/16(一种基于变换器架构的视觉模型,原始准确率超过84%)在DNL攻击下,5个比特翻转就导致99.3%的准确率损失——而此前被视为最强攻击方法的BFA(比特翻转攻击,需要大量数据和迭代优化)在相同模型上用5个比特翻转只能造成30.1%的准确率下降。

    这个对比非常说明问题:DNL在完全不需要数据、不需要任何优化计算的前提下,效果反而超越了需要大量资源的传统攻击方法。这就像一个徒手闯入者,不借助任何工具,却比装备精良的专业盗贼更高效地打开了保险箱。

    研究还专门评估了模型大小是否影响攻击效果。横跨ConvNeXt、RegNet、ResNet、EfficientNet和ViT五个架构家族,从数百万参数的小模型到数亿参数的大模型,大小与脆弱程度之间没有明显相关性——大模型并不比小模型更安全。

    除了ImageNet,研究团队还在DTD(描述纹理数据集)、FGVC-Aircraft(飞机细粒度识别数据集)、Food101(食物分类数据集)和Stanford Cars(汽车识别数据集)上验证了攻击效果。在这些数据集上,用EfficientNet-B0、MobileNetV3-Large和ResNet-50三个模型进行测试,DNL在5次翻转内就能让所有模型/数据集组合的准确率下降超过85%,而1P-DNL在4次翻转内就能实现超过90%的下降。

    在目标检测与实例分割领域,研究团队测试了在COCO 2017数据集(目标检测领域最重要的基准数据集)上运行的Mask R-CNN(使用ResNet-50和ResNet-101骨干网络)和YOLOv8-seg模型,且攻击只针对骨干网络部分,不触动任务相关的检测头。结果同样是灾难性的:Mask R-CNN/ResNet-50在仅仅翻转1个比特后,边界框平均精度(bbox AP)从0.38跌至0.01(下降97.4%),实例分割精度(segm AP)从0.35直接跌至0.00(下降100%)。翻转2个比特后,几乎所有指标都归零。即便是相对鲁棒的YOLOv8-seg,在1到2次翻转后,检测和分割性能也损失超过77%。

    这些失效不只是数字上的下降,在真实图像中表现为令人匪夷所思的错误:一只狗的图像,经过攻击后的Mask R-CNN虽然仍能大致画出轮廓(因为骨干网络受损但检测头完好),却把它错误标记为其他类别;而YOLOv8-seg则直接无法识别那只狗,反而在狗的尾巴位置"幻视"出了一只鸟的检测框。

    在大语言模型领域,这项研究将攻击延伸到了当前最炙手可热的AI技术——推理型大语言模型。研究团队测试了三个模型:Qwen3-4B(阿里通义团队开发的40亿参数推理模型)、Qwen3-30B-A3B(300亿参数的混合专家架构推理模型)和Llama-3.1-Nemotron-Nano-8B(英伟达开发的80亿参数推理模型)。测试集是MATH-500的50道数学题子集,评估标准是答案正确率。

    Qwen3-30B-A3B是其中最令人震惊的案例。这是一个"混合专家"(Mixture-of-Experts,MoE)架构——可以理解为一个由数十位专家组成的团队,每次处理问题时只请其中少数几位专家参与。常理上,这种架构应该对局部破坏具有天然的抵抗力,因为任何一位专家的失效似乎只影响他处理的那部分问题。然而实验表明,DNL攻击只需翻转2个比特(分别是第1层专家68和第3层专家82的某个权重的符号位),就能让这个模型的数学解题准确率从78%直接归零。1P-DNL攻击更进一步,仅翻转1个比特就能造成71.8%的准确率损失,翻转4个比特后达到100%的损失。

    更令研究者感兴趣的是失效的方式:模型并非给出接近正确的答案,而是陷入了类似"精神失常"的状态,不断重复无意义的短语。DNL攻击后,模型反复输出"I'm going to help you with the solution."(我将帮助你找到解决方案)这样的套话,却再也无法给出任何实质内容。1P-DNL攻击后,模型则无限循环地输出"Hello, I am a student, I am a student, I am a student..."。这种"无限循环废话"的失效模式,比简单的答错更令人担忧,因为它极难被自动检测系统发现——从外观上看,模型仍在"正常工作",只是输出了毫无价值的内容。

    Qwen3-4B和Nemotron Nano 8B同样脆弱,只是需要的翻转次数略多:Qwen3-4B在全层搜索模式下,DNL用14次翻转就能造成100%的准确率损失,而1P-DNL仅需4次翻转就能达到95.3%的损失。Nemotron Nano在1P-DNL攻击下,17次翻转就能造成100%损失。相比之下,对同样的模型随机翻转符号位,翻转100次后准确率几乎不变——Qwen3-30B-A3B随机翻转27次后仍保留70%准确率,Qwen3-4B随机翻转100次后仍保留80%准确率。这个对比清晰说明了"精准打击"与"随机破坏"之间的天壤之别。

    除了解码器风格的大语言模型,研究团队还测试了编码器风格的文本分类模型,包括在GLUE基准测试(自然语言理解领域的标准评估套件)上微调的BERT、DistilBERT和RoBERTa。在MRPC(句子对改写识别)、QNLI(问题-自然语言推理)和SST-2(情感分析)三个任务上,攻击效果同样显著:10次翻转内的平均相对准确率下降在69.99%到83.07%之间,没有一个模型能够幸免。

    **五、攻击者如何进入:比特翻转的现实途径**

    有读者可能会问:攻击者真的能在现实中翻转AI参数的某个比特吗?研究团队详细梳理了多种已知的攻击途径,这些都不是理论假设,而是有据可查的真实攻击方式。

    Rootkit(根套件)是一种运行在操作系统最高权限级别的恶意软件,一旦安装,它可以扫描系统内存,定位AI模型的参数文件,然后精准地修改其中的目标比特,同时隐藏自己的存在,使常规安全软件难以察觉。固件漏洞(例如硬盘控制器、GPU固件或BIOS中的安全漏洞)可以让攻击者获得直接读写内存的能力。DMA(直接内存访问)攻击则利用Thunderbolt或FireWire等高速接口的外设直接读写系统内存,绕过操作系统的访问控制。Rowhammer攻击利用了现代动态随机存取内存(DRAM)的物理特性:通过高频访问某一行内存,可以导致相邻行的比特发生电气干扰而翻转,完全不需要直接写权限。GPU缓存篡改则通过控制GPU驱动或GPU代码来操控缓存管理,诱发参数比特翻转,由于GPU缓存的安全审计通常不如CPU严格,这种攻击往往更难被发现。电压/频率故障注入攻击通过操控供电电压或时钟频率,在特定时刻诱发计算错误,从而在寄存器或内存中造成可预测的比特翻转。

    这些途径的共同点是:攻击者只需要在某个时刻获得对模型存储位置的访问权限,完成翻转后即可离开,不需要持续在线,也不需要在攻击过程中运行模型或获取数据。

    **六、符号位对比指数位:最有效的破坏方式因领域而异**

    在攻击具体哪个比特的问题上,研究团队做了细致的对比分析,发现结论因应用领域不同而存在显著差异,这个发现本身也颇有深意。

    对于视觉模型(图像分类、目标检测等),翻转符号位(最高位,决定正负)通常比翻转指数位最高位(决定量级范围)更具破坏力,尤其在翻转次数少的情况下效果更稳定。以VGG-11为例,10次翻转符号位可造成91.8%的准确率损失,而10次翻转指数位只造成53.9%的损失。当然也有例外,比如ResNet-18在指数位攻击下损失99.9%,而在符号位攻击下只损失70.6%;Inception-V3在指数位攻击下损失99.9%,在符号位攻击下损失96.8%。总体而言,符号位攻击在视觉模型上更稳定可靠。

    对于语言模型,指数位攻击则更具毁灭性。在前5个块的设定下,仅翻转1个目标指数位就能让三个推理LLM(Qwen3-30B-A3B、Qwen3-4B和Nemotron Nano 8B)的准确率归零。随机翻转指数位的破坏力也远超随机翻转符号位:仅仅随机翻转1个指数位,Qwen3-30B-A3B的准确率就已经降至6%。研究团队分析,这是因为指数位的改变会导致数值的极端缩放(比如把一个正常的数字变成天文数字或趋近于零),而语言模型对这种剧烈的数值范围变化极为敏感,相比之下简单的符号翻转更为"温和"。

    **七、攻击能绕过哪些防御措施**

    面对如此强大的攻击,研究团队也测试了若干已有的防御方案,结论是这些方案大多无效。

    DeepNcode是一种将每个浮点数权重编码为更长二进制码字的防御方案,利用不同有效码字之间的汉明距离大于1这一特性,自动纠正孤立的比特翻转。然而,研究团队指出了一个根本性漏洞:这种防御假设攻击者不知道编码方案,但在灰盒场景中(攻击者不知道编码本,但可以观察解码后的结果),攻击者可以通过选择性地翻转编码中的比特,搜索距离最近的另一个有效码字,只要该码字解码后的值与原值符号相反,就等于绕过了纠错机制完成了符号翻转。这就像银行的防伪措施假设伪币制造者不知道验钞规则,但如果伪币制造者能反复测试验钞机的反应,他最终仍然能造出能通过验证的假币。

    权重缩放防御的思路是将所有参数乘以一个常数c后存储,推理时再除以c,从而让加性扰动(在数值上加减某个量)的影响缩小c倍。然而符号翻转是乘性扰动而非加性扰动:将θ翻转为-θ,等价于乘以-1。存储的值是c×θ,翻转后变成-c×θ,推理时除以c得到-θ,与未防御时完全相同。因此,权重缩放对符号翻转攻击完全无效,就像给一把锁换了更大的钥匙孔,却忘了换锁芯本身。

    对于二值化神经网络(Binary Neural Networks,一种将所有权重限制为+1或-1的极端压缩架构,常被认为对权重扰动具有天然抵抗力),DNL同样有效。研究对一个二值化ResNet-18的测试显示:翻转1个比特的准确率损失仅为0.14%,但翻转3个就能造成60.71%的损失,翻转10个则达到96.50%的损失——虽然比标准精度网络需要更多翻转,但仍然远非"免疫"。

    **八、反向利用:用攻击知识构建防御**

    研究团队指出,识别关键参数这一能力本身,也可以反过来用于防御。如果我们知道哪些参数最脆弱,就可以给它们提供额外的保护,而无需保护所有参数——这在计算和存储成本上要经济得多。

    一种直接的方案是对关键参数的符号位进行多份复制,推理时采用多数投票,只有当多个副本同时被翻转才会产生实际影响。另一种更实际的方案是对关键参数使用错误纠正码(ECC,如汉明码),自动检测并纠正孤立的比特翻转。研究团队建议将DNL识别的高分数参数(绝对值最大的那些)作为防护对象,而绝大多数参数可以不加保护。

    实验结果表明这种选择性防御非常有效。保护ResNet-18最关键的约0.001%的参数(仅100个参数),就能将BFA(比特翻转攻击,一种需要数据和优化的现有攻击方法)在10次翻转内的平均准确率损失从88.87%减半至58.83%;若保护1%的参数(约10万个),损失几乎降为零(0.00%)。ResNet-50、MobileNet-V2和ViT-B/16@224也有类似结果:保护1%的参数后,BFA的攻击效果分别从93.87%降至1.30%、从99.90%降至44.30%、从82.30%降至0.21%。

    研究还对比了"有选择地保护关键参数"与"随机保护同等数量的参数"的差异,结论非常清晰:即使保护了20%的随机参数,模型在10万次随机符号翻转面前仍然高度脆弱;而保护5%的关键参数就能提供显著的防护效果。换句话说,保护哪些参数远比保护多少参数更重要。这一发现同时从侧面证明了DNL能可靠地识别出真正关键的参数——它找到的正是穷举搜索的BFA攻击试图破坏的同一批参数。

    **说到底,这意味着什么**

    这项研究揭示的不是某个具体AI产品的某个具体漏洞,而是当前主流深度神经网络架构的一个根本性结构脆弱性:绝大多数AI系统的"智能"高度依赖极少数关键参数,而这些参数的识别方法出奇地简单,攻击成本出奇地低廉。

    对于部署在关键场景(自动驾驶、医疗诊断、金融风控、军事决策等)的AI系统,这意味着物理层面的硬件安全和参数存储完整性不再是可以忽视的次要问题,而是与算法精度、数据质量同等重要的核心安全要素。一个在精度测试中表现完美的AI系统,在参数存储层面可能脆弱得令人担忧。

    研究团队的工作也为AI安全领域提供了一个新的研究方向:如何设计在参数层面更鲁棒的神经网络架构,以及如何在不显著增加计算成本的前提下保护关键参数。研究者明确指出,DNL的局限性在于它假设攻击者能够访问并修改整个模型的参数——如果模型的参数被分片存储、隔离保护或只有部分可写,攻击的效果会大打折扣。这为防御设计提供了方向。

    如果你对这项研究的完整技术细节感兴趣,可以通过arXiv平台检索论文编号arXiv:2502.07408,查阅NVIDIA与以色列理工学院研究团队发布的完整论文原文。

    Q&A

    Q1:DNL攻击需要攻击者具备哪些条件才能成功?

    A:DNL攻击最核心的前提条件是攻击者能够读取并修改AI模型的参数文件。攻击者不需要任何训练数据、不需要运行模型、也不需要进行任何复杂的计算优化。可以实现这一访问权限的途径包括:通过Rootkit等恶意软件获得系统高权限、利用固件漏洞直接操控内存、通过DMA攻击绕过操作系统访问控制,或利用Rowhammer等硬件级攻击诱发内存比特翻转。一旦获得访问权限,整个攻击的计算量极小,甚至不需要使用GPU,翻转几个比特的操作在任何计算设备上都能瞬间完成。

    Q2:为什么对大语言模型翻转符号位只需要两次就能让准确率归零?

    A:Qwen3-30B-A3B这类混合专家模型(MoE)每次处理问题时只激活少数专家,看似应该对局部破坏有抵抗力,但实验揭示了一个关键机制:被破坏的专家在处理输入时产生了极端扭曲的隐藏状态(中间计算结果),这个被污染的状态通过注意力机制(模型层与层之间传递信息的方式)持续向后传播,即使后续层不再使用被破坏的专家,错误信号也已经被"混入"了整个处理流程。研究者观察到,被攻击的专家在后续生成阶段只参与了约4.14%的token处理,但从第一个生成的token开始,输出就已经完全崩溃成无意义的重复内容。这说明"损坏"不是局部的,而是通过模型内部的信息传播机制扩散到了整个计算图。

    Q3:如何判断自己部署的AI系统是否需要针对DNL攻击类型进行防护?

    A:评估是否需要防护主要考虑两个维度:一是部署场景的安全敏感度,二是模型的物理访问可控性。如果AI系统部署在自动驾驶、医疗诊断、工业控制等高风险场景,或者运行在可能遭受固件攻击、供应链攻击的硬件平台上,则应当认真评估参数层面的安全性。研究提供了一种低成本的防御思路:用DNL自身的参数识别方法(按绝对值排序找出前1%的最大权重),对这些参数的符号位实施错误纠正码(ECC)保护或多副本校验,在几乎不增加推理成本的前提下显著提升鲁棒性。实验表明保护1%的关键参数就足以使现有已知攻击方法的效果降至接近零。

    【纠错】【责任编辑:不忘初心456】