Identity Mapping
Découvre le mappage d’identité en apprentissage profond. Apprends comment les connexions de saut empêchent la disparition des gradients et alimentent des réseaux neuronaux comme Ultralytics YOLO26.
En mathématiques et en algèbre linéaire, une application identité ou une matrice identité est une fonction qui renvoie exactement la même valeur que celle utilisée en entrée. Dans le contexte de l’intelligence artificielle (AI) et de l’apprentissage profond, le mappage d’identité désigne une technique architecturale spécifique qui transmet directement les données d’entrée aux couches suivantes d’un réseau neuronal convolutif (CNN), sans aucune transformation non linéaire. Ce concept a été largement popularisé par l’introduction des réseaux résiduels (ResNet) en 2015, qui a révolutionné la structure et l’entraînement des modèles de vision par ordinateur (CV) profonds.
Fonctionnement du mappage d’identité#
Les réseaux neuronaux profonds souffrent souvent du problème du gradient évanescent. Lors de la rétropropagation, les signaux d’erreur utilisés pour mettre à jour les poids du réseau deviennent exponentiellement plus faibles à mesure qu’ils remontent les couches, empêchant les premières couches d’apprendre efficacement. Le mappage d’identité résout ce problème en créant des « connexions résiduelles » ou des « connexions de raccourci ».
Au lieu de contraindre les couches séquentielles à apprendre un mappage entièrement nouveau et sans référence, on les conçoit pour apprendre une fonction résiduelle. Mathématiquement, si l’entrée d’un bloc est x, la couche apprend une transformation F(x). Le mappage d’identité ajoute l’entrée d’origine x directement à la sortie de cette transformation, ce qui donne la sortie finale F(x) + x. Ainsi, même dans les réseaux extrêmement profonds, les gradients peuvent circuler sans entrave directement à travers le backbone du modèle. Des organismes de recherche réputés en IA, comme Google DeepMind et OpenAI, tirent fréquemment parti de ces raccourcis architecturaux pour stabiliser l’entraînement de modèles de fondation massifs.
Mappage d’identité et préservation de l’identité#
Il est essentiel de distinguer le mappage d’identité de la notion au nom similaire de préservation de l’identité.
Alors que le mappage d’identité est une caractéristique structurelle de codage d’un réseau neuronal, conçue pour optimiser le déroulement de l’entraînement en apprentissage automatique (ML), la préservation de l’identité est une tâche de vision par ordinateur distincte. La préservation de l’identité vise à maintenir la cohérence visuelle d’une personne ou d’un objet spécifique entre différentes images vidéo lors du suivi d’objets, ou entre des images générées dans des processus d’IA générative.
Applications concrètes#
Le mappage d’identité constitue la brique fondamentale de nombreux modèles très précis utilisés aujourd’hui en production :
- Détection avancée d’objets : Les architectures modernes en temps réel, dont le dernier modèle Ultralytics YOLO26, utilisent des blocs résiduels avancés contenant des mappages d’identité dans leurs couches d’extraction de caractéristiques. Cela leur permet d’effectuer une détection rapide et précise dans des environnements complexes comme la conduite autonome, sans perte de performance lorsque la profondeur du réseau augmente.
- Modèles de classification d’images : Les architectures de vision de pointe, largement documentées dans des référentiels universitaires comme arXiv et la bibliothèque numérique IEEE Xplore, s’appuient sur les mappages d’identité pour entraîner avec succès des modèles comportant des centaines de couches. Des frameworks de haut niveau comme TensorFlow utilisent ces raccourcis pour extraire des caractéristiques hiérarchiques très complexes à partir d’ensembles de données massifs.
Implémentation du mappage d’identité dans PyTorch#
Lors de la création de réseaux neuronaux personnalisés, les frameworks d’apprentissage profond comme PyTorch fournissent des outils intégrés pour implémenter facilement ces raccourcis. Tu peux utiliser explicitement le module PyTorch nn.Identity ou simplement effectuer une addition mathématique lors du passage avant de ton nn.Module.
L’extrait suivant présente un bloc résiduel élémentaire utilisant un mappage d’identité. À noter : les développeurs qui utilisent la plateforme Ultralytics dans le cloud pour gérer des jeux de données et entraîner des modèles bénéficient automatiquement de ces structures architecturales hautement optimisées en arrière-plan.
import torch.nn as nn
class ResidualBlock(nn.Module):
def __init__(self, channels):
super().__init__()
# Une couche convolutive simple pour l’extraction de caractéristiques
self.conv = nn.Conv2d(channels, channels, kernel_size=3, padding=1)
# Module de mappage d’identité explicite
self.identity = nn.Identity()
def forward(self, x):
# La sortie du bloc est la somme des caractéristiques apprises et du mappage d’identité
return self.conv(x) + self.identity(x)








