Ultralytics YOLO27: 加入候补名单。
获取 YOLO 许可
返回 Ultralytics 术语表

Adversarial Attacks

对抗攻击通过构造细微且通常难以察觉的输入变化,让 AI 模型以很高的置信度出错。本文介绍 FGSM 的工作原理、攻击类型和防御方法。

对抗攻击是对机器学习(ML)模型输入进行的刻意操纵,目的是让模型产生错误输出,通常还会带有高置信度。在计算机视觉中,被操纵的输入称为对抗样本;它与原始输入之间的差异可能小到人无法察觉,但原本能识别熊猫的分类器却会将其判为长臂猿。研究人员在 2013 年的论文《神经网络的有趣特性》中描述了深度神经网络中的这一现象,同样的弱点也存在于语音识别、恶意软件检测和大型语言模型(LLM)中。如果模型的决策会触发行动,对抗攻击就尤其重要,例如汽车制动、门锁解锁或批准交易。

对抗样本的工作原理#

训练好的模型的损失函数会衡量模型在某个输入上的错误程度。反向传播通常会计算损失相对于权重的梯度;攻击者则会计算损失相对于输入像素的梯度,并沿着使损失增大的方向修改像素。在 2014 年的论文《解释并利用对抗样本》中,Ian Goodfellow 及其同事认为,问题源于神经网络在高维空间中的大体线性行为:每个像素只改变不到一个灰度级的几分之一,但这种变化累积到数十万个像素后,就会导致输出发生巨大变化。快速梯度符号法(FGSM)沿输入梯度的符号迈出一个固定大小的步长;步长为 0.007 时,模型原本 57.7% 的“熊猫”预测变成了 99.3% 的“长臂猿”预测。投影梯度下降(PGD)会重复进行较小步长的更新,同时将总变化限制在指定范围内,因此攻击效果更强。

使用 TorchVision 的 ResNet-18分类器执行 FGSM 攻击,只需一次反向传播:

import torch
import torch.nn.functional as F
from torchvision.io import decode_image
from torchvision.models import ResNet18_Weights, resnet18
from torchvision.transforms import v2

weights = ResNet18_Weights.DEFAULT
model = resnet18(weights=weights).eval()
torch.hub.download_url_to_file("https://ultralytics.com/images/bus.jpg", "bus.jpg")

# Keep pixels in [0, 1] and normalize inside each forward pass, so the attack edits real pixel values
image = v2.Compose([v2.Resize(256), v2.CenterCrop(224), v2.ToDtype(torch.float32, scale=True)])(decode_image("bus.jpg"))
normalize = v2.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
x = image.unsqueeze(0).requires_grad_(True)
logits = model(normalize(x))

# FGSM: move every pixel by one intensity level (1/255) in the direction that increases the loss
F.cross_entropy(logits, logits.argmax(1)).backward()
x_adv = (x + x.grad.sign() / 255).clamp(0, 1)

for name, batch in [("clean", x), ("adversarial", x_adv)]:
    probs = model(normalize(batch)).softmax(1)
    print(f"{name}: {weights.meta['categories'][probs.argmax()]} ({probs.max():.2f})")

干净图像被分类为 minibus (0.83),受攻击图像则被分类为 police van (0.94):只需将每个像素最多改变 255 个强度级别中的 1 个,模型对新的错误标签的置信度就会超过它对原始标签的置信度。

攻击类型#

攻击可以根据攻击者何时行动、掌握多少模型信息以及攻击者的目标进行分类。非定向攻击试图让模型产生任意错误输出,定向攻击则强迫模型给出特定输出,例如让模型把停车标志识别为限速标志。数字攻击直接修改输入数据;物理攻击则通过贴纸、贴片或印刷图案改变真实物体,并确保这些改动在视角、距离和光照变化下仍然有效。美国国家标准与技术研究院的对抗性机器学习分类法根据攻击针对机器学习生命周期的哪个阶段对攻击进行分类:

迁移攻击之所以有效,是因为针对一个模型构造的对抗样本往往也能欺骗其他针对相同任务训练的模型,因此攻击者可以训练一个替代模型,以白盒模式攻击它,再将攻击结果用于无法检查的系统。

现实世界中的风险#

  • 自动驾驶车辆:在《针对深度学习模型的鲁棒物理世界攻击》中,真实停车标志上的黑白贴纸导致实验室图像中的定向误分类率达到 100%,而从行驶中的汽车拍摄的视频帧中达到 84.8%。
  • 人员检测:一块约 40 厘米见方、拿在身体前方的打印补丁,显著降低了针对其优化的 YOLOv2 人员检测器的准确率。这类补丁会威胁到由检测到的人触发的警报,例如 Ultralytics 安全警报系统:当 YOLO26 在一帧中检测到设定数量的目标时,该系统会发送电子邮件警报;能抑制人员检测的补丁也会抑制警报。
  • 人脸识别:研究人员在眼镜框上打印了对抗图案,让佩戴者能够躲过人脸识别系统,或被识别为某个特定的其他人。
  • 语言模型:自动优化的对抗后缀是附加到请求末尾的 token 字符串,它们使经过对齐的聊天机器人遵从有害请求;在开源模型上优化的后缀也能迁移到商业模型上。针对 LLM 的手写攻击更常称为越狱和提示注入。
  • 数据投毒:通过污染训练数据,让训练后的模型出现异常行为,且通常只有输入包含隐藏触发器时才会如此。狭义上的对抗样本不会改变模型,而是在推理时操纵输入。
  • 成员推断攻击:旨在提取信息,即判断某条记录是否属于训练集,而不是让模型产生错误输出。
  • 生成对抗网络(GANs):其中的“对抗”指两个网络相互对抗地训练,这是一种没有攻击者参与的训练方法。
  • AI 红队测试:在系统发布前攻击自己的系统的实践,其中会用到对抗攻击等技术。

防御措施#

在《迈向能够抵御对抗攻击的深度学习模型》中,研究人员用 PGD 将对抗训练形式化:在训练过程中生成攻击,并让模型学会正确分类这些样本;这种方法仍是最可靠的经验性防御,但计算开销是常规训练的数倍,而且会降低模型在干净输入上的准确率。随机平滑等可认证防御能够证明,在设定半径内的扰动无法改变预测结果,不过这种保证仅适用于较小半径。对输入进行预处理或隐藏梯度的防御记录不佳:《梯度混淆会带来虚假的安全感》考察了 ICLR 2018 上发表的九种防御,发现其中七种依赖梯度混淆,并完全绕过了其中六种,部分绕过了第七种。

探索解决方案

体育领域的计算机视觉

体育领域的计算机视觉

了解 Ultralytics YOLO 如何通过球员和球追踪、表现分析、教练洞察及运动员康复,推动体育视觉技术的发展。
了解详情
航空影像计算机视觉

航空影像计算机视觉

使用 Ultralytics YOLO 将无人机和航空影像转化为农业、水产养殖、保护工作和地理空间分析的实时洞察。
了解详情
航空航天中的计算机视觉

航空航天中的计算机视觉

使用 Ultralytics YOLO 将计算机视觉应用于航空航天领域,包括飞机检查、跑道 FOD 检测、机场地面作业和复合材料缺陷检测。
了解详情
安防领域的计算机视觉

安防领域的计算机视觉

使用 Ultralytics YOLO 模型守护每个场所。视觉 AI 可用于周界监控、威胁检测、车牌识别和工作场所安全。
了解详情
机器人领域的计算机视觉

机器人领域的计算机视觉

使用 Ultralytics YOLO 模型提升智能机器的能力。机器人领域的视觉 AI 可用于自主导航、感知、目标跟踪和实时控制。
了解详情
物流中的计算机视觉

物流中的计算机视觉

借助 Ultralytics YOLO 模型优化物流流程。视觉 AI 可用于包裹检查、分拣、车辆跟踪和仓库安全实时监控。
了解详情
零售中的计算机视觉

零售中的计算机视觉

借助 Ultralytics YOLO 模型重新构想零售。视觉 AI 可用于库存跟踪、货架监控、排队管理和更深入的客户洞察。
了解详情
医疗领域的计算机视觉

医疗领域的计算机视觉

借助 Ultralytics YOLO 模型构建医疗解决方案。医疗领域的视觉 AI 可加快医学影像处理、优化诊断并监测患者。
了解详情
制造业中的计算机视觉

制造业中的计算机视觉

利用 Ultralytics YOLO 模型优化制造流程。视觉 AI 可用于质量控制、缺陷检测、个人防护装备合规检查和装配线自动化。
了解详情
汽车领域的计算机视觉

汽车领域的计算机视觉

利用 Ultralytics YOLO 模型在汽车领域应用计算机视觉。视觉 AI 可提升道路安全、驾驶辅助和车辆自动化水平,让道路更智能。
了解详情
农业中的计算机视觉

农业中的计算机视觉

借助 Ultralytics YOLO 模型,将视觉 AI 引入智慧农业。为作物监测、牲畜追踪和精准农业提供支持,从而提高产量并实现更智能的生产。
了解详情

让我们携手构建 AI 的未来!

开启你的旅程,迎接机器学习的未来