Saliency Maps
Découvre comment les cartes de saillance expliquent les décisions d'un réseau de neurones. Apprends à visualiser les prédictions de tes modèles et à construire une IA transparente en utilisant l'Ultralytics Platform.
Les cartes de saillance sont un outil visuel puissant utilisé dans l'explainable AI (XAI) pour éclairer les processus de prise de décision internes de neural networks complexes. Agissant essentiellement comme des cartes thermiques, elles mettent en évidence les pixels ou les régions spécifiques d'une image d'entrée qui influencent le plus fortement la prédiction d'un modèle. En révélant « où » regarde un modèle, les cartes de saillance aident les chercheurs et les ingénieurs à interpréter le comportement des convolutional neural networks (CNNs) profonds, en s'assurant que le système apprend les bonnes caractéristiques plutôt de se reposer sur des artefacts de jeux de données ou du bruit de fond. Tu peux en lire plus sur les fondements mathématiques de ce processus sur la Wikipedia saliency map page.
Comment fonctionnent les cartes de saillance#
L'approche fondamentale pour générer une carte de saillance repose grandement sur la backpropagation et les gradients à travers les couches du réseau. Au lieu d'utiliser ces gradients pour mettre à jour les poids du modèle pendant l'model training, l'algorithme calcule le gradient du score de classe prédit par rapport à l'image d'entrée elle-même. Comme expliqué dans la PyTorch autograd documentation, prendre le maximum absolu de ces gradients à travers les canaux de couleur produit une carte où les valeurs élevées correspondent à des pixels qui modifient radicalement le score de sortie s'ils sont modifiés. Les approches modernes étendent même cela à l'IA générative, permettant des diffusion model saliency maps pour suivre les gradients de bruit.
Applications concrètes#
Parce qu'elles fournissent une vérification visuelle directe de la logique d'un modèle, les cartes de saillance sont essentielles dans les scénarios de computer vision à fort enjeu :
- Diagnostics médicaux : Dans le domaine de l'AI in healthcare, confirmer qu'un algorithme détecte une tumeur en se basant sur de véritables anomalies de tissus physiologiques — plutôt que sur le filigrane d'un scanner — est crucial pour la sécurité des patients. Les cartes de saillance fournissent cette preuve visuelle, comme détaillé dans des études récentes sur la consistency in XAI medical imaging.
- Navigation autonome : Pour les autonomous vehicles prédisant des angles de direction ou identifiant des panneaux stop, l'analyse des cartes de saillance aide les ingénieurs à déboguer les pannes en vérifiant si le modèle s'est correctement concentré sur la route au lieu d'être distrait par des paysages non pertinents.
Distinguer les termes associés#
Il est fortement recommandé de différencier les cartes de saillance des autres concepts du glossaire de l'IA pour comprendre leur rôle spécifique dans le deep learning (DL) :
- Cartes de saillance vs Class Activation Mapping (CAM) : Alors que les cartes de saillance de base calculent l'importance au niveau du pixel brut, les CAM techniques comme Grad-CAM analysent l'importance au niveau des feature maps de haut niveau dans la dernière couche de convolution du réseau. De nouveaux benchmarks continuent d'affiner la façon dont nous evaluate visual explanations et les CAM à travers les jeux de données.
- Cartes de saillance vs Interprétabilité mécaniste : La cartographie de saillance est une technique a posteriori qui montre simplement où regarde un modèle. En revanche, l'Mechanistic Interpretability va plus loin pour rétroconcevoir comment et pourquoi des neurones spécifiques ou des circuits algorithmiques ont calculé cette concentration.
- Cartes de saillance vs Explainable AI (XAI) : L'XAI est la vaste discipline globale dédiée à rendre l'IA transparente, tandis que les cartes de saillance ne sont qu'un outil spécifique au sein de cette boîte à outils, souvent mis en avant comme une Google Cloud explainability technique essentielle. Le domaine évolue rapidement, passant des pixels bruts à une human-aligned taxonomy for explanations robuste cartographiant des données conceptuelles.
Extraire la saillance via le code#
Comprendre comment un réseau de neurones attribue de l'importance peut se faire de manière programmatique en utilisant des frameworks de deep learning comme PyTorch. L'extrait suivant démontre les mathématiques fondamentales derrière l'extraction d'une carte de saillance de base (gradient-based attribution) à partir d'un modèle d'image classification pré-entraîné.
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}")Pour des flux de travail de plus haut niveau impliquant l'object detection ou le dessin de bounding boxes, des outils comme la Ultralytics Platform aident les développeurs à annoter des jeux de données de manière transparente, à surveiller des expériences et à visualiser les sorties de modèles tels que le Ultralytics YOLO26 de pointe. En évaluant continuellement les inférences visuelles parallèlement au model deployment, les équipes peuvent construire et mettre à l'échelle des systèmes d'IA beaucoup plus fiables et transparents.






