Saliency Maps
探索显著性图如何解释神经网络的决策。了解如何使用 Ultralytics Platform 可视化模型预测,构建透明的 AI。
显著性图是可解释人工智能 (XAI)中使用的一种强大可视化工具,有助于揭示复杂神经网络的内部决策过程。它们本质上充当热力图,突出显示输入图像中对模型预测影响最大的特定像素或区域。通过揭示模型正在关注“哪里”,显著性图帮助研究人员和工程师理解深度卷积神经网络 (CNN)的行为,确保系统学习的是正确特征,而不是依赖数据集伪影或背景噪声。你可以在Wikipedia 显著性图页面上进一步了解这一过程的数学基础。
显著性图的工作原理#
生成显著性图的基础方法高度依赖于网络层之间的反向传播和梯度。算法不会像在模型训练期间那样使用这些梯度来更新模型权重,而是计算预测类别得分相对于输入图像本身的梯度。正如PyTorch autograd 文档所述,取这些梯度在各颜色通道上的绝对最大值,可以生成一张图,其中较高的值对应于经过改变后会显著改变输出得分的像素。现代方法甚至将这一思路扩展到生成式 AI,从而支持用于跟踪噪声梯度的扩散模型显著性图。
实际应用#
由于显著性图能够直接对模型逻辑进行可视化验证,因此它们在高风险的计算机视觉场景中至关重要:
- 医疗诊断:医疗保健领域的 AI必须确认算法是基于真实的生理组织异常检测肿瘤,而不是依据扫描仪的水印,这对患者安全至关重要。正如近期关于医疗影像中 XAI 一致性的研究所详述,显著性图能够提供这种可视化证据。
- 自动导航:对于需要预测转向角或识别停车标志的自动驾驶车辆,分析显著性图可以帮助工程师验证模型是否正确关注道路,而不是被无关的场景干扰,从而调试系统故障。
区分相关术语#
强烈建议将显著性图与 AI 术语表中的其他概念区分开来,以了解它们在深度学习 (DL)中的具体作用:
- 显著性图与类别激活映射 (CAM):基础显著性图在原始像素层面计算重要性,而CAM 技术(如 Grad-CAM)则在网络最后一个卷积层中的高层特征图层面分析重要性。新的基准测试仍在不断改进我们跨数据集评估视觉解释和 CAM 的方式。
- 显著性图与机制可解释性:显著性映射是一种事后分析技术,只展示模型关注“哪里”。相比之下,机制可解释性会进一步逆向工程特定神经元或算法电路是如何以及为什么计算出这种关注的。
- 显著性图与可解释人工智能 (XAI):XAI是致力于提高 AI 透明度的广泛学科,而显著性图只是其中工具集里的一个具体工具,通常被强调为关键的Google Cloud 可解释性技术。该领域正在快速发展,正从原始像素转向用于解释的稳健与人类认知一致的分类体系,以映射概念数据。
通过代码提取显著性#
你可以使用PyTorch等深度学习框架,以编程方式理解神经网络如何归因重要性。以下代码片段演示了从预训练图像分类模型中提取基础显著性图(基于梯度的归因)背后的基本数学原理。
import torch
from torchvision.models import resnet18
# Load a pre-trained model in evaluation mode
model = resnet18(weights="DEFAULT").eval()
# Create a dummy image tensor and explicitly require gradients
input_image = torch.randn(1, 3, 224, 224, requires_grad=True)
# Forward pass: get predictions for the input image
output = model(input_image)
# Backward pass: compute gradients for the highest scoring class
output[0, output.argmax()].backward()
# Saliency map is the maximum absolute gradient across the 3 color channels
saliency_map, _ = torch.max(input_image.grad.data.abs(), dim=1)
print(f"Generated Saliency Map Shape: {saliency_map.shape}")对于涉及目标检测或绘制边界框的更高级工作流,Ultralytics Platform等工具可以帮助开发者无缝标注数据集、监控实验,并可视化包括先进的Ultralytics YOLO26在内的模型输出。通过持续结合模型部署评估视觉推理结果,团队可以构建并扩展更加可靠、透明的 AI 系统。









