Découvrez comment les ResNet révolutionnent l'apprentissage profond en résolvant les problèmes de disparition du gradient, permettant ainsi des réseaux ultra-profonds pour l'analyse d'images, le NLP, et plus encore.
Les réseaux résiduels, largement connus sous le nom de ResNets, représentent une avancée décisive dans le domaine de l'intelligence artificielle (IA) et de la technologie de l'information. l'intelligence artificielle (IA) et de la vision artificielle (IA) et de la vision par ordinateur (VA). Introduite en 2015 par des par des chercheurs de Microsoft Research, cette architecture un défi important dans l'apprentissage l 'apprentissage profond (DL), connu sous le nom de problème du gradient qui s'évanouit. Avant l'avènement de ResNet, l'augmentation de la profondeur d'un réseau neuronal (NN) se traduisait souvent par des rendements l'ajout de couches augmentait en fait les erreurs d'apprentissage. ResNet a résolu ce problème en introduisant les "skip connexions", ce qui permet de former avec succès des réseaux comportant des centaines, voire des milliers de couches, tout en conservant une précision.
La caractéristique principale d'un ResNet est le bloc résiduel. Dans un Convolutional Neural Network (CNN) traditionnel, les couches sont empilées de manière séquentielle et chaque couche tente d'apprendre directement une correspondance entre les entrées et les sorties. Cependant, à mesure que les réseaux deviennent plus profonds, le signal des données d'entrée peut se dégrader avant d'atteindre l'extrémité du réseau.
ResNet introduit un "raccourci" ou une connexion de saut qui permet à l'entrée d'une couche d'être ajoutée directement à sa sortie. directement à sa sortie. Ce mécanisme indique essentiellement au réseau d'apprendre le "résidu" (la différence) entre l'entrée et la sortie optimale, plutôt que d'apprendre la transformation entière à partir de zéro. entre l'entrée et la sortie optimale, plutôt que d'apprendre toute la transformation à partir de zéro. Cette architecture préserve le flux d'informations et facilite une meilleure l'extraction des caractéristiques, ce qui permet au modèle de de capturer des motifs complexes tels que les textures et les formes sans perdre les données d'entrée originales. Vous pouvez lire l'article original l'article original Deep Residual Learning for Image Recognition pour en comprendre les pour comprendre les fondements mathématiques.
ResNet est considéré comme l'épine dorsale de nombreux systèmes de vision modernes. systèmes de vision modernes. Sa capacité à entraîner des réseaux très profonds permet de créer des modèles très robustes qui qui peuvent donner de bons résultats sur des ensembles de données à grande échelle tels que ImageNet.
L'architecture est particulièrement importante pour l 'apprentissage par transfert. Étant donné que les modèles ResNet ont appris de riches cartes de caractéristiques à partir de vastes quantités de données, ils peuvent être affinés pour des tâches spécifiques avec des ensembles de données relativement petits. de données, ils peuvent être affinés pour des tâches spécifiques avec des ensembles de données relativement petits. Cette polyvalence fait de ResNet un choix standard pour des tâches allant de la la classification d'images à l'analyse vidéo complexe. vidéo complexes.
La stabilité et la profondeur de ResNet lui ont permis d'être utilisé dans des environnements critiques et à fort enjeu.
Il est utile de distinguer ResNet des autres architectures courantes que l'on trouve dans les bibliothèques d'apprentissage profond, telles que PyTorch ou TensorFlow:
Vous pouvez facilement exploiter les modèles ResNet pour des tâches de classification à l'aide de la fonction ultralytics Paquet Python . Cela permet d'accéder aux poids pré-entraînés
vous permet d'accéder aux poids pré-entraînés et d'effectuer l'inférence avec un minimum de code.
from ultralytics import YOLO
# Load a pre-trained ResNet50 model capable of classifying images
model = YOLO("resnet50.pt") # Downloads the model weights automatically
# Perform inference on an image URL
results = model("https://ultralytics.com/images/bus.jpg")
# Display the top classification result
print(f"Top class: {results[0].names[results[0].probs.top1]}")
Pour ceux qui souhaitent comprendre la théorie en profondeur, des cours tels que CS231n de Stanford fournissent d'excellentes ressources académiques sur les architectures CNN. Que vous construisiez un simple classificateur ou un système complexe pour une fabrication intelligente, la compréhension de ResNet est essentielle pour maîtriser la vision par ordinateur moderne.