Capsule Networks (CapsNet)
Entdecke Capsule Networks (CapsNets) und erfahre, wie sie die Einschränkungen von CNNs überwinden. Lerne dynamisches Routing und räumliche Hierarchien kennen und vergleiche CapsNets mit YOLO26.
Kapselnetzwerke, häufig als CapsNets abgekürzt, sind eine fortschrittliche Architektur im Bereich des Deep Learning, die entwickelt wurde, um bestimmte Einschränkungen herkömmlicher neuronaler Netze zu überwinden. CapsNets wurden von Geoffrey Hinton und seinem Team eingeführt und versuchen, die biologische neuronale Organisation des menschlichen Gehirns genauer nachzuahmen als herkömmliche Modelle. Im Gegensatz zu einem typischen Faltungsneuronalen Netz (CNN), das sich hervorragend zum Erkennen von Merkmalen eignet, aber durch Downsampling häufig räumliche Beziehungen verliert, organisiert ein Kapselnetzwerk Neuronen in Gruppen, die als „Kapseln“ bezeichnet werden. Diese Kapseln kodieren nicht nur die Wahrscheinlichkeit, dass ein Objekt vorhanden ist, sondern auch seine spezifischen Eigenschaften wie Ausrichtung, Größe und Textur. Dadurch bleiben die hierarchischen räumlichen Beziehungen innerhalb visueller Daten effektiv erhalten.
Die Einschränkung herkömmlicher CNNs#
Um die Innovation von CapsNets zu verstehen, ist es hilfreich, sich anzusehen, wie standardmäßige Modelle für Computer Vision funktionieren. Ein herkömmliches CNN verwendet Schichten zur Merkmalsextraktion, gefolgt von Pooling-Schichten – insbesondere Max-Pooling –, um den Rechenaufwand zu reduzieren und Translationsinvarianz zu erreichen. Das bedeutet, dass ein CNN eine „Katze“ unabhängig davon erkennen kann, wo sie im Bild zu sehen ist.
Dieser Prozess verwirft jedoch häufig präzise Positionsdaten und führt zum sogenannten „Picasso-Problem“: Ein CNN könnte ein Gesicht auch dann korrekt klassifizieren, wenn sich der Mund auf der Stirn befindet, einfach weil alle erforderlichen Merkmale vorhanden sind. CapsNets wirken dem entgegen, indem sie Pooling-Schichten entfernen und durch einen Prozess ersetzen, der die räumlichen Hierarchien von Objekten berücksichtigt.
So funktionieren Kapselnetzwerke#
Der grundlegende Baustein dieser Architektur ist die Kapsel, eine verschachtelte Gruppe von Neuronen, die anstelle eines Skalarwerts einen Vektor ausgibt. In der Vektormathematik hat ein Vektor sowohl einen Betrag als auch eine Richtung. In einem CapsNet gilt:
- Betrag (Länge): Stellt die Wahrscheinlichkeit dar, dass eine bestimmte Entität in der aktuellen Eingabe vorhanden ist.
- Richtung (Ausrichtung): Kodiert die Instanziierungsparameter, beispielsweise die Posenschätzung, den Maßstab und die Rotation des Objekts.
Kapseln in unteren Schichten, die einfache Formen wie Kanten erkennen, sagen die Ausgabe von Kapseln in höheren Schichten voraus, die komplexe Objekte wie Augen oder Reifen erkennen. Diese Kommunikation wird durch einen Algorithmus gesteuert, der als „dynamisches Routing“ oder „Routing nach Übereinstimmung“ bezeichnet wird. Wenn die Vorhersage einer Kapsel auf niedrigerer Ebene mit dem Zustand der Kapsel auf höherer Ebene übereinstimmt, wird die Verbindung zwischen ihnen verstärkt. Dadurch kann das Netzwerk Objekte aus verschiedenen 3D-Perspektiven erkennen, ohne die umfangreiche Datenerweiterung zu benötigen, die normalerweise erforderlich ist, um CNNs Rotation und Maßstab beizubringen.
Wichtige Unterschiede: CapsNets und CNNs#
Obwohl beide Architekturen grundlegend für Computer Vision (CV) sind, unterscheiden sie sich darin, wie sie visuelle Daten verarbeiten und darstellen:
- Skalar vs. Vektor: CNN-Neuronen verwenden skalare Ausgaben, um das Vorhandensein eines Merkmals anzuzeigen. CapsNets verwenden Vektoren, um das Vorhandensein (Länge) und die Positionsparameter (Ausrichtung) zu kodieren.
- Routing vs. Pooling: CNNs verwenden Pooling, um Daten herunterzuskalieren, wobei häufig Positionsdetails verloren gehen. CapsNets verwenden dynamisches Routing, um räumliche Daten zu bewahren, und eignen sich dadurch besonders für Aufgaben, die präzises Objekt-Tracking erfordern.
- Dateneffizienz: Da Kapseln 3D-Perspektiven und affine Transformationen implizit verstehen, können sie häufig mit weniger Trainingsdaten verallgemeinern als CNNs, die möglicherweise umfangreiche Beispiele benötigen, um jede mögliche Rotation eines Objekts zu erlernen.
Anwendungen in der Praxis#
Obwohl CapsNets häufig rechenintensiver sind als optimierte Modelle wie YOLO26, bieten sie in spezialisierten Bereichen besondere Vorteile:
-
Medizinische Bildanalyse: Im Gesundheitswesen sind die genaue Ausrichtung und Form einer Anomalie entscheidend. Forschende haben CapsNets auf die Segmentierung von Hirntumoren angewendet, bei der das Modell einen Tumor anhand subtiler räumlicher Hierarchien vom umliegenden Gewebe unterscheiden muss, die herkömmliche CNNs möglicherweise glätten würden. Weitere Informationen zu verwandter Forschung findest du unter Kapselnetzwerke in der medizinischen Bildgebung.
-
Erkennung überlappender Ziffern: CapsNets erzielten beim MNIST-Datensatz insbesondere in Szenarien mit überlappenden Ziffern Ergebnisse auf dem Stand der Technik. Da das Netzwerk die „Pose“ jeder Ziffer verfolgt, kann es zwei überlappende Zahlen (z. B. eine „3“ über einer „5“) als eigenständige Objekte voneinander trennen, anstatt sie zu einer einzigen uneindeutigen Merkmalskarte zusammenzuführen.
Praktischer Kontext und Implementierung#
Kapselnetzwerke sind in erster Linie eine Architektur für die Klassifizierung. Obwohl sie theoretische Robustheit bieten, werden in modernen Anwendungen der Industrie für Echtzeitleistung häufig schnelle CNNs oder Transformer bevorzugt. Dennoch ist es hilfreich, die für CapsNets verwendeten Klassifizierungsbenchmarks wie MNIST zu verstehen.
Das folgende Beispiel zeigt, wie du ein modernes YOLO-Klassifizierungsmodell mit dem Paket ultralytics auf dem MNIST-Datensatz trainierst. Dies entspricht der primären Benchmark-Aufgabe, mit der Kapselnetzwerke validiert werden.
from ultralytics import YOLO
# Load a YOLO26 classification model (optimized for speed and accuracy)
model = YOLO("yolo26n-cls.pt")
# Train the model on the MNIST dataset
# This dataset helps evaluate how well a model learns handwritten digit features
results = model.train(data="mnist", epochs=5, imgsz=32)
# Run inference on a sample image
# The model predicts the digit class (0-9)
predict = model("https://docs.ultralytics.com/datasets/classify/mnist")Die Zukunft von Kapseln und Vision-KI#
Die Prinzipien hinter Kapselnetzwerken beeinflussen weiterhin die Forschung zu KI-Sicherheit und Interpretierbarkeit. Durch die explizite Modellierung von Teil-Ganzes-Beziehungen bieten Kapseln eine „Glasbox“-Alternative zur „Blackbox“-Natur tiefer neuronaler Netze und machen Entscheidungen dadurch besser erklärbar. Künftige Entwicklungen zielen darauf ab, die räumliche Robustheit von Kapseln mit der Inferenzgeschwindigkeit von Architekturen wie YOLO11 oder dem neueren YOLO26 zu kombinieren, um die Leistung bei der 3D-Objekterkennung und in der Robotik zu verbessern. Forschende untersuchen außerdem Matrixkapseln mit EM-Routing, um die Rechenkosten des Übereinstimmungsalgorithmus weiter zu senken.
Für Entwickler, die Datensätze verwalten und Modelle effizient trainieren möchten, bietet die Ultralytics Platform eine einheitliche Umgebung, um Daten zu annotieren, in der Cloud zu trainieren und Modelle bereitzustellen, die die Geschwindigkeit von CNNs mit der für komplexe Bildverarbeitungsaufgaben erforderlichen Genauigkeit verbinden.









