Residual Networks (ResNet)
Entdecke die Möglichkeiten von Residual Networks (ResNet). Erfahre, wie Skip-Verbindungen das Problem verschwindender Gradienten lösen und Deep Learning für Computer Vision ermöglichen.
Residualnetzwerke, weithin als ResNets bekannt, sind eine spezielle Art der Architektur eines künstlichen neuronalen Netzwerks (ANN), die für das Training extrem tiefer Netzwerke entwickelt wurde. ResNet wurde 2015 von Forschern bei Microsoft vorgestellt und löste einen kritischen Engpass beim Deep Learning, der als Problem des verschwindenden Gradienten bekannt ist. In herkömmlichen Netzwerken führte das Stapeln weiterer Schichten häufig zu einer Sättigung oder Verschlechterung der Leistung, da das Signal, das zur Aktualisierung der Modellgewichte erforderlich war, beim Rückwärtsdurchlauf durch die Schichten verblasste. ResNet führte „Skip-Verbindungen“ (oder Residualverbindungen) ein, die es Daten ermöglichen, eine oder mehrere Schichten zu umgehen und direkt zu nachfolgenden Verarbeitungsstufen zu fließen. Diese Innovation zeigte, dass tiefere Netzwerke effektiv trainiert werden können, und führte zu bedeutenden Durchbrüchen in der Computervision (CV), wodurch sie zu einem grundlegenden Konzept für moderne Architekturen wurde.
Das Kernkonzept: Residuales Lernen#
Das bestimmende Merkmal eines ResNet ist der „Residualblock“. In einem standardmäßigen faltungsneuronalen Netzwerk (CNN) versucht jede Schicht, eine direkte Abbildung von der Eingabe zur Ausgabe zu erlernen. Je tiefer Netzwerke werden, desto schwieriger wird es, diese direkte Abbildung zu erlernen.
ResNet ändert diesen Ansatz, indem es das Lernziel anders formuliert. Anstatt darauf zu hoffen, dass jeder Schichtenstapel die gesamte zugrunde liegende Abbildung erlernt, zwingt der Residualblock die Schichten, das „Residual“ – also die Differenz – zwischen der Eingabe und der gewünschten Ausgabe zu erlernen. Die ursprüngliche Eingabe wird anschließend über eine Skip-Verbindung wieder zum erlernten Residuum addiert. Diese strukturelle Änderung bedeutet, dass das Netzwerk Residuen problemlos auf null setzen kann, wenn eine Identitätsabbildung (bei der die Eingabe unverändert weitergegeben wird) optimal ist. Dadurch lassen sich Deep-Learning-Modelle (DL) deutlich leichter optimieren, sodass sie von Dutzenden auf Hunderte oder sogar Tausende von Schichten skaliert werden können.
Wichtige Architekturvarianten#
Seit ihrer Einführung sind mehrere Varianten von ResNet zu Standard-Benchmarks in der KI-Community geworden.
- ResNet-50: Eine Variante mit 50 Schichten, die ein „Bottleneck“-Design verwendet. Dieses Design nutzt 1x1-Faltungen, um die Dimensionen zunächst zu reduzieren und anschließend wiederherzustellen, wodurch das Netzwerk recheneffizient bleibt und gleichzeitig eine hohe Genauigkeit erzielt.
- ResNet-101 und ResNet-152: Tiefere Varianten mit jeweils 101 und 152 Schichten. Sie werden häufig eingesetzt, wenn die Rechenressourcen eine höhere Komplexität erlauben, um detailliertere Merkmalskarten zu erfassen.
- ResNeXt: Eine Weiterentwicklung von ResNet, die eine „Kardinalitäts“-Dimension einführt und den Residualblock in mehrere parallele Pfade aufteilt, was Effizienz und Leistung verbessert.
Anwendungen in der Praxis#
Die Robustheit von ResNet-Architekturen hat sie zur bevorzugten Wahl für eine große Bandbreite visueller Aufgaben gemacht.
- Medizinische Bildanalyse: Im Gesundheitswesen ist es entscheidend, subtile Anomalien in hochauflösenden Aufnahmen zu erkennen. ResNet-basierte Modelle werden häufig eingesetzt, um Erkrankungen wie Tumorerkennung in medizinischen Aufnahmen zu erkennen, wobei die Tiefe des Netzwerks dabei hilft, feingranulare Muster in MRT- oder CT-Daten zu unterscheiden.
- Autonome Fahrzeuge: Selbstfahrende Autos benötigen eine zuverlässige Merkmalsextraktion aus Kamerabildern, um Fußgänger, Schilder und Hindernisse zu erkennen. ResNets dienen in Anwendungen der KI im Automobilbereich häufig als Backbone für Objekterkennungssysteme und liefern die umfangreichen visuellen Merkmale, die für eine sichere Navigation erforderlich sind.
ResNet im Vergleich zu anderen Architekturen#
Um den spezifischen Nutzen von ResNet zu verstehen, ist es hilfreich, die Architektur von anderen beliebten Architekturen abzugrenzen.
- ResNet im Vergleich zu VGG: Netzwerke der Gruppe für visuelle Geometrie (VGG) sind ebenfalls tiefe CNNs, verfügen jedoch nicht über Residualverbindungen. Daher sind sie bei vergleichbaren Tiefen wesentlich schwieriger zu trainieren als ResNet und im Allgemeinen rechenintensiver, da sie über große vollständig verbundene Schichten verfügen.
- ResNet im Vergleich zu Inception: Inception-Netzwerke konzentrieren sich auf die Breite und verwenden Filter unterschiedlicher Größe innerhalb derselben Schicht, um Merkmale auf verschiedenen Maßstabsebenen zu erfassen. ResNet konzentriert sich auf die Tiefe. Moderne Architekturen wie Inception-ResNet kombinieren beide Konzepte.
- ResNet im Vergleich zum Vision Transformer (ViT): Während ViTs Selbstaufmerksamkeitsmechanismen verwenden, um Bilder global zu verarbeiten, setzen ResNets auf lokale Faltungen. ResNets bleiben jedoch eine starke Baseline und sind bei kleineren Datensätzen oder bei der Echtzeit-Inferenz häufig schneller.
Implementierungsbeispiel#
Moderne Deep-Learning-Bibliotheken wie PyTorch machen den Zugriff auf vortrainierte ResNet-Modelle einfach. Diese Modelle sind für das Transferlernen von unschätzbarem Wert, bei dem ein auf einem großen Datensatz wie ImageNet trainiertes Modell für eine bestimmte Aufgabe feinabgestimmt wird.
Das folgende Python-Codebeispiel zeigt, wie ein vortrainiertes ResNet-50-Modell mit torchvision (Teil des PyTorch-Ökosystems) geladen und ein einfacher Vorwärtsdurchlauf ausgeführt wird. Während Nutzer der Ultralytics Platform für die Objekterkennung häufig YOLO26 verwenden, ist das Verständnis der zugrunde liegenden Backbone-Konzepte wie ResNet für fortgeschrittene Anpassungen entscheidend.
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 classesBedeutung für moderne KI#
Obwohl neuere Architekturen wie YOLO26 hochoptimierte Strukturen für maximale Geschwindigkeit und Genauigkeit einsetzen, sind die Prinzipien des residualen Lernens weiterhin allgegenwärtig. Das Konzept der Skip-Verbindungen ist inzwischen ein Standardbestandteil vieler fortgeschrittener Netzwerke, darunter Transformer, die in der Verarbeitung natürlicher Sprache (NLP) eingesetzt werden, sowie die neuesten Objekterkennungsmodelle. Indem ResNet den Informationsfluss durch das Netzwerk erleichterte, ebnete es den Weg für die tiefen, komplexen Modelle, die heute die künstliche Intelligenz ermöglichen.









