Yolo Vision Shenzhen
Shenzhen
Rejoindre maintenant
Glossaire

Réseaux résiduels (ResNet)

Découvrez la puissance des réseaux résiduels (ResNet). Apprenez comment les connexions sautées résolvent le problème de la disparition du gradient afin de permettre l'apprentissage profond pour la vision par ordinateur.

Les réseaux résiduels, largement connus sous le nom de ResNets, sont un type spécifique d' architecture de réseau neuronal artificiel (ANN) conçu pour permettre l'entraînement de réseaux extrêmement profonds. Introduit par des chercheurs de Microsoft 2015, ResNet a résolu un goulot d'étranglement critique dans l'apprentissage profond connu sous le nom de problème du gradient disparaissant. Dans les réseaux traditionnels , l'ajout de couches supplémentaires entraînait souvent une saturation ou une dégradation des performances, car le signal nécessaire à la mise à jour des poids du modèle s'affaiblissait à mesure qu'il se propageait en arrière à travers les couches. ResNet a introduit les « connexions de saut » (ou connexions résiduelles), qui permettent aux données de contourner une ou plusieurs couches et de passer directement aux étapes de traitement suivantes. Cette innovation a prouvé que les réseaux plus profonds pouvaient être entraînés efficacement, ce qui a conduit à des avancées significatives dans le domaine de la vision par ordinateur (CV) et est devenu un concept fondamental pour les architectures modernes.

Le concept fondamental : l'apprentissage résiduel

La caractéristique déterminante d'un ResNet est le « bloc résiduel ». Dans un réseau neuronal convolutif (CNN) standard, chaque couche tente d'apprendre un mappage direct de l'entrée vers la sortie. À mesure que les réseaux s'approfondissent, l'apprentissage de ce mappage direct devient de plus en plus difficile.

ResNet modifie cette approche en formulant différemment l'objectif d'apprentissage. Au lieu d'espérer que chaque pile de couches apprenne l'ensemble du mappage sous-jacent, le bloc résiduel oblige les couches à apprendre le « résidu » — ou la différence — entre l'entrée et la sortie souhaitée. L'entrée d'origine est ensuite rajoutée au résidu appris via une connexion de saut. Ce changement structurel implique que si un mappage d'identité (qui transmet l'entrée sans la modifier) est optimal, le réseau peut facilement apprendre à pousser les résidus à zéro. Cela rend les modèles d'apprentissage profond (DL) beaucoup plus faciles à optimiser, leur permettant de passer de dizaines à des centaines, voire des milliers de couches.

Principales variantes architecturales

Depuis sa création, plusieurs variantes de ResNet sont devenues des références standard dans la communauté de l'IA.

  • ResNet-50: Une version à 50 couches qui utilise une conception en « goulot d'étranglement ». Cette conception utilise des convolutions 1x1 pour réduire puis restaurer les dimensions, ce qui rend le réseau efficace sur le plan informatique tout en conservant une grande précision.
  • ResNet-101 et ResNet-152 : variantes plus profondes avec respectivement 101 et 152 couches. Elles sont souvent utilisées lorsque les ressources informatiques permettent une plus grande complexité afin de capturer des cartes de caractéristiques plus complexes.
  • ResNeXt : une évolution de ResNet qui introduit une dimension de « cardinalité », divisant le bloc résiduel en plusieurs chemins parallèles, ce qui améliore l'efficacité et les performances.

Applications concrètes

La robustesse des architectures ResNet en a fait un choix incontournable pour un large éventail de tâches visuelles.

  • Analyse d'images médicales: Dans le domaine de la santé, il est essentiel d'identifier les anomalies subtiles dans les scans haute résolution. Les modèles basés sur ResNet sont fréquemment utilisés pour detect telles que les tumeurs dans l'imagerie médicale, où la profondeur du réseau aide à discerner des motifs fins dans les données IRM ou CT.
  • Véhicules autonomes: Les voitures autonomes ont besoin d'une extraction fiable des caractéristiques à partir des images fournies par les caméras afin d'identifier les piétons, les panneaux de signalisation et les obstacles. Les réseaux ResNet constituent souvent la base des systèmes de détection d'objets dans les applications automobiles basées sur l'IA, fournissant les caractéristiques visuelles riches nécessaires à une navigation sûre.

ResNet vs. Autres Architectures

Il est utile de distinguer ResNet des autres architectures populaires afin de comprendre son utilité spécifique.

  • ResNet vs. VGG: les réseaux VGG (Visual Geometry Group) sont également des CNN profonds, mais ils ne disposent pas de connexions résiduelles. Par conséquent, ils sont beaucoup plus difficiles à entraîner à des profondeurs comparables à celles de ResNet et sont généralement plus coûteux en termes de calcul en raison de leurs grandes couches entièrement connectées.
  • ResNet vs. Inception: les réseaux Inception se concentrent sur la largeur, en utilisant des filtres de plusieurs tailles au sein d'une même couche afin de capturer des caractéristiques à différentes échelles. ResNet se concentre sur la profondeur. Les architectures modernes telles qu'Inception-ResNet combinent les deux concepts.
  • ResNet vs. Vision Transformer (ViT): Alors que les ViT utilisent des mécanismes d'auto-attention pour traiter les images de manière globale, les ResNet s'appuient sur des convolutions locales. Cependant, les ResNet restent une base solide et sont souvent plus rapides pour les petits ensembles de données ou l'inférence en temps réel .

Exemple de mise en œuvre

Les bibliothèques modernes d'apprentissage profond telles que PyTorch l'accès aux modèles ResNet pré-entraînés. Ces modèles sont précieux pour l'apprentissage par transfert, où un modèle entraîné sur un grand ensemble de données tel que ImageNet est affiné pour une tâche spécifique.

Python suivant montre comment charger un modèle ResNet-50 pré-entraîné à l'aide de torchvision (qui fait partie de PyTorch ) et effectuer un simple passage en avant. Alors que les utilisateurs du Plate-forme Ultralytics pourrait souvent utiliser YOLO26 Pour la détection, il est essentiel de comprendre les concepts fondamentaux tels que ResNet afin de permettre une personnalisation avancée.

import torch
import torchvision.models as models

# Load a pre-trained ResNet-50 model
resnet50 = models.resnet50(weights=models.ResNet50_Weights.DEFAULT)
resnet50.eval()  # Set model to evaluation mode

# Create a dummy input tensor (batch_size, channels, height, width)
input_tensor = torch.randn(1, 3, 224, 224)

# Perform a forward pass to get predictions
with torch.no_grad():
    output = resnet50(input_tensor)

print(f"Output shape: {output.shape}")  # Expect [1, 1000] for ImageNet classes

Importance dans l'IA moderne

Bien que les architectures plus récentes telles que YOLO26 utilisent des structures hautement optimisées pour une vitesse et une précision maximales, les principes de l'apprentissage résiduel restent omniprésents. Le concept de connexions sautées est désormais un composant standard dans de nombreux réseaux avancés, y compris les transformateurs utilisés dans le traitement du langage naturel (NLP) et les derniers modèles de détection d'objets. En permettant aux informations de circuler plus librement à travers le réseau, ResNet a ouvert la voie aux modèles profonds et complexes qui alimentent l'intelligence artificielle d'aujourd'hui.

Rejoindre la communauté Ultralytics

Rejoignez le futur de l'IA. Connectez-vous, collaborez et évoluez avec des innovateurs mondiaux.

Rejoindre maintenant