Saliency Maps
探索显著性图如何解释神经网络的决策。学习如何可视化模型预测,并使用 Ultralytics Platform 构建透明的 AI。
显著性图是一种强大的可视化工具,用于可解释人工智能 (XAI),旨在阐明复杂神经网络内部的决策过程。它们本质上充当热图,突出了输入图像中对模型预测影响最大的特定像素或区域。通过揭示模型“看向哪里”,显著性图可以帮助研究人员和工程师解释深度卷积神经网络 (CNNs)的行为,确保系统学习到的是正确的特征,而不是依赖于数据集伪影或背景噪声。你可以在维基百科显著性图页面上阅读关于此过程数学基础的更多信息。
Link to this section显著性图的工作原理#
生成显著性图的基础方法在很大程度上依赖于网络层之间的反向传播和梯度。该算法不是在模型训练期间使用这些梯度来更新模型权重,而是计算预测类别分数相对于输入图像本身的梯度。正如PyTorch autograd 文档中所述,对跨颜色通道的这些梯度取绝对最大值会生成一张图,其中高值对应的像素在发生改变时会显著改变输出分数。现代方法甚至将其扩展到了生成式人工智能领域,实现了用于追踪噪声梯度的扩散模型显著性图。
Link to this section实际应用#
由于显著性图能直接提供模型逻辑的可视化验证,它们在高风险的计算机视觉场景中至关重要:
- 医疗诊断:在人工智能医疗领域,确认算法是基于真实的生理组织异常(而不是扫描仪的水印)来检测肿瘤,这对患者安全至关重要。正如最近关于XAI医学成像一致性的研究中所述,显著性图提供了这种视觉证明。
- 自动导航:对于预测转向角度或识别停车标志的自动驾驶车辆,分析显著性图有助于工程师通过验证模型是否正确关注道路而非被无关风景所干扰来调试故障。
Link to this section区分相关术语#
强烈建议将显著性图与AI术语表中的其他概念区分开来,以理解它们在深度学习 (DL)中的具体作用:
- 显著性图与类激活映射 (CAM):虽然基础显著性图计算的是原始像素层面的重要性,但像 Grad-CAM 这样的CAM 技术则分析了网络最后一层卷积层内高层特征图层面的重要性。新的基准测试仍在继续完善我们评估视觉解释和各数据集上 CAM 的方式。
- 显著性图与机械可解释性:显著性映射是一种事后技术,仅仅展示了模型“看向哪里”。相比之下,机械可解释性则更深入地通过逆向工程来分析特定的神经元或算法电路“如何”以及“为什么”计算出这种关注。
- 显著性图与可解释人工智能 (XAI):XAI是一个致力于使人工智能透明化的广泛伞状学科,而显著性图仅仅是该工具包中的一种特定工具,通常被视为关键的Google Cloud 可解释性技术。该领域正在迅速发展,从原始像素转向映射概念数据的稳健的人类对齐解释分类法。
Link to this section通过代码提取显著性#
Understanding how a neural network attributes importance can be done programmatically using deep learning frameworks like PyTorch. The following snippet demonstrates the fundamental math behind extracting a basic saliency map (gradient-based attribution) from a pre-trained image classification model.
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系统。






