Identity Mapping
Explore l'identity mapping dans l'apprentissage profond. Apprends comment les skip connections empêchent la disparition des gradients pour propulser les réseaux de neurones comme YOLO26 d'Ultralytics.
En mathematics et en algèbre linéaire, une application identique ou identity matrix est une fonction qui renvoie exactement la même valeur que celle fournie en entrée. Dans le contexte de l'artificial intelligence (AI) et du deep learning, la mise en correspondance d'identité désigne une technique architecturale spécifique utilisée pour transmettre des données d'entrée directement aux couches suivantes d'un convolutional neural network (CNN) sans aucune transformation non linéaire. Ce concept a été largement popularisé par l'introduction des Residual Networks (ResNet) en 2015, qui ont révolutionné la manière dont les modèles profonds de computer vision (CV) sont structurés et entraînés.
Comment fonctionne le mappage d'identité#
Les réseaux de neurones profonds souffrent fréquemment du problème du vanishing gradient. Pendant la rétropropagation, les signaux d'erreur utilisés pour mettre à jour les poids du réseau deviennent exponentiellement plus petits à mesure qu'ils progressent à rebours à travers les couches, empêchant ainsi les premières couches d'apprendre efficacement. La mise en correspondance d'identité résout ce problème en créant des « connexions de saut » ou « connexions raccourcies ».
Au lieu de forcer des couches séquentielles à apprendre un tout nouveau mappage non référencé, elles sont conçues pour apprendre une fonction résiduelle. Mathématiquement, si l'entrée d'un bloc est x, la couche apprend une transformation F(x). La mise en correspondance d'identité ajoute l'entrée d'origine x directement à la sortie de cette transformation, ce qui donne la sortie finale F(x) + x. Cela garantit que, même dans des réseaux extrêmement profonds, les gradients peuvent circuler sans entrave directement à travers le model backbone. Des organisations de recherche en IA réputées comme Google DeepMind et OpenAI exploitent fréquemment ces raccourcis architecturaux pour stabiliser l'entraînement dans des modèles de fondation massifs.
Mappage d'identité vs Préservation de l'identité#
Il est crucial de distinguer la mise en correspondance d'identité de la notion au nom similaire d'identity preservation.
Alors que la mise en correspondance d'identité est une fonctionnalité de codage structurel d'un réseau de neurones conçue pour optimiser le flux d'entraînement du machine learning (ML), la préservation d'identité est une computer vision task distincte. La préservation d'identité se concentre sur le maintien de la cohérence visuelle d'une personne ou d'un objet spécifique à travers différentes images vidéo dans le suivi d'objets ou à travers des images générées dans les flux de travail d'IA générative.
Applications concrètes#
Le mappage d'identité sert de bloc de construction fondamental pour de nombreux modèles hautement précis utilisés aujourd'hui en production :
- Advanced Object Detection : les architectures modernes en temps réel, y compris le dernier Ultralytics YOLO26, utilisent des blocs résiduels avancés contenant des mappages d'identité au sein de leurs couches d'extraction de caractéristiques. Cela leur permet d'effectuer une détection ultra-rapide et précise dans des environnements complexes comme l'autonomous driving sans dégrader les performances à mesure que la profondeur du réseau augmente.
- Image Classification Models : les architectures de vision de pointe, documentées de manière approfondie dans des répertoires académiques tels que arXiv et l'IEEE Xplore Digital Library, s'appuient sur des correspondances d'identité pour entraîner avec succès des modèles dotés de centaines de couches. Des frameworks de haut niveau comme TensorFlow utilisent ces raccourcis pour extraire des caractéristiques hiérarchiques extrêmement complexes à partir de jeux de données massifs.
Implémentation du mappage d'identité dans PyTorch#
Lors de la création de réseaux de neurones personnalisés, les frameworks de deep learning tels que PyTorch fournissent des outils natifs pour implémenter ces raccourcis sans effort. Tu peux utiliser explicitement le module PyTorch nn.Identity ou simplement appliquer une addition mathématique au sein de ta passe avant nn.Module.
L'extrait suivant démontre un bloc résiduel basique utilisant un mappage d'identité. Note que les développeurs qui utilisent la Ultralytics Platform cloud pour la gestion des jeux de données et l'entraînement de modèles bénéficient automatiquement de ces structures architecturales hautement optimisées sous le capot.
import torch.nn as nn
class ResidualBlock(nn.Module):
def __init__(self, channels):
super().__init__()
# A simple convolutional layer for feature extraction
self.conv = nn.Conv2d(channels, channels, kernel_size=3, padding=1)
# Explicit identity mapping module
self.identity = nn.Identity()
def forward(self, x):
# The block output is the sum of the learned features and the identity map
return self.conv(x) + self.identity(x)





