Ein kapselbasiertes neuronales Netzwerk (CapsNet) ist eine Art künstliches neuronales Netzwerk, das im maschinellen Lernen eingesetzt wird, um hierarchische Beziehungen in Daten besser zu modellieren, insbesondere in der Bilderkennung. Der Ansatz versucht, die biologische neuronale Organisation genauer nachzuahmen, indem er Strukturen namens Kapseln einführt, die Gruppen von Neuronen sind, die gemeinsam sowohl die Wahrscheinlichkeit des Vorhandenseins einer Entität als auch deren Pose (wie Position, Größe und Ausrichtung) kodieren. CapsNets wurden entwickelt, um die Einschränkungen traditioneller konvolutionaler neuronaler Netzwerke (CNNs) zu beheben, insbesondere deren Abhängigkeit von Pooling-Schichten und deren Schwierigkeiten bei der Verarbeitung räumlicher Beziehungen zwischen Objektteilen.
CapsNets nutzen die Tatsache, dass Blickwinkeländerungen zwar nichtlineare Effekte auf Pixelebene haben, aber lineare Effekte auf Teil-/Objektebene. Diese Eigenschaft ermöglicht es dem Netzwerk, Objekte unabhängig von ihrer Pose zu erkennen, ähnlich wie bei der Umkehrung des Renderns eines Objekts, das aus mehreren Teilen besteht. Unter anderem adressieren CapsNets das „Picasso-Problem“ in der Bilderkennung, bei dem Bilder alle korrekten Teile enthalten, aber in falschen räumlichen Beziehungen (z. B. ein Gesicht mit vertauschtem Auge und Mund).
Geschichte
Das Konzept der Kapselnetzwerke geht auf das Jahr 2000 zurück, als Geoffrey Hinton und Kollegen ein Bildgebungssystem beschrieben, das Segmentierung und Erkennung in einem einzigen Inferenzprozess unter Verwendung von Parse-Bäumen kombinierte. Dieses System, genannt Glaubwürdigkeitsnetzwerke, modellierte die gemeinsame Verteilung über latente Variablen und mögliche Parse-Bäume und erwies sich als nützlich für die MNIST-Datenbank handschriftlicher Ziffern. In Hintons ursprünglicher Idee sollte eine Minisäule eine multidimensionale Entität repräsentieren und erkennen.
Ein dynamischer Routing-Mechanismus für Kapselnetzwerke wurde 2017 von Hinton und seinem Team eingeführt. Dieser Ansatz behauptete, die Fehlerraten auf MNIST zu reduzieren und die Größe der Trainingssätze zu verringern, mit Ergebnissen, die bei stark überlappenden Ziffern erheblich besser waren als ein CNN. Seitdem wurden CapsNets für verschiedene Anwendungen untersucht, obwohl sie nicht so weit verbreitet sind wie andere Architekturen wie Transformatoren.
Transformationen
In der Computer Vision ist das Verständnis von Transformationen entscheidend. Eine Invariante ist eine Objekteigenschaft, die sich unter einer Transformation nicht ändert, wie die Fläche eines Kreises bei Verschiebung. Eine Äquivariante ist eine Eigenschaft, die sich vorhersehbar ändert, wie das Zentrum eines Kreises, das sich mit dem Kreis bewegt. Eine Nicht-Äquivariante ist eine Eigenschaft, die sich nicht vorhersehbar ändert, wie der Umfang eines Kreises, wenn er in eine Ellipse transformiert wird.
Für die Objekterkennung ist die Klasse eines Objekts typischerweise über viele Transformationen invariant (eine Katze bleibt eine Katze, wenn sie verschoben oder skaliert wird), aber andere Eigenschaften sind äquivariant, wie das Volumen einer Katze bei Skalierung. Äquivariante Eigenschaften, einschließlich räumlicher Beziehungen, werden in einer Pose erfasst, die Translation, Rotation, Skalierung und Spiegelung beschreibt.
Unüberwachte CapsNets lernen eine globale lineare Mannigfaltigkeit zwischen einem Objekt und seiner Pose als Gewichtsmatrix. Dies ermöglicht es dem Netzwerk, ein Objekt unabhängig von seiner Pose zu identifizieren, anstatt zu lernen, das Objekt mit räumlichen Beziehungen zu erkennen. Die Pose kann auch nicht-räumliche Eigenschaften wie Farbe umfassen. Die Multiplikation des Objekts mit der Mannigfaltigkeit positioniert das Objekt im Raum.
Pooling
CapsNets lehnen die Pooling-Schicht-Strategie konventioneller CNNs ab, die die Menge an Details reduziert, die in höheren Schichten verarbeitet wird. Pooling bietet Translationsinvarianz und ermöglicht mehr Feature-Typen, aber Befürworter von CapsNets argumentieren, dass Pooling mehrere Nachteile hat: Es verletzt die biologische Formwahrnehmung, da ihm ein intrinsischer Koordinatenrahmen fehlt; es bietet Invarianz (Verwerfen von Positionsinformationen) statt Äquivarianz (Entwirren dieser Informationen); es ignoriert die lineare Mannigfaltigkeit, die Bildvariationen zugrunde liegt; es routet statisch, anstatt potenzielle „Funde“ an Features zu kommunizieren, die sie schätzen können; und es schädigt nahegelegene Feature-Detektoren, indem es Informationen löscht, auf die sie angewiesen sind.
Statt Pooling verwenden CapsNets Routing-durch-Übereinstimmung, um Informationen dynamisch zwischen Schichten zu leiten und detaillierte räumliche Informationen zu bewahren.
Kapseln
Eine Kapsel ist eine Gruppe von Neuronen, die einzeln für verschiedene Eigenschaften einer Art von Objekt aktivieren, wie Position, Größe und Farbton. Formal erzeugt eine Kapsel einen Aktivitätsvektor mit einem Element pro Neuron, das den Instanziierungswert dieses Neurons hält (z. B. Farbton). Grafikprogramme verwenden Instanziierungswerte, um Objekte zu zeichnen, und CapsNets versuchen, diese aus Eingaben abzuleiten. Die Wahrscheinlichkeit des Vorhandenseins einer Entität ist die Länge des Vektors, während die Ausrichtung des Vektors die Eigenschaften der Kapsel quantifiziert.
Traditionelle künstliche Neuronen geben eine skalare Aktivierung aus, aber CapsNets ersetzen Feature-Detektoren mit Skalarausgabe durch Kapseln mit Vektorausgabe und Max-Pooling durch Routing-durch-Übereinstimmung. Da Kapseln unabhängig sind, ist die Wahrscheinlichkeit einer korrekten Erkennung viel höher, wenn mehrere Kapseln übereinstimmen. Zum Beispiel würde ein minimaler Cluster aus zwei Kapseln, die eine sechsdimensionale Entität betrachten, nur einmal in einer Million Versuchen zufällig innerhalb von 10% übereinstimmen; die Wahrscheinlichkeit zufälliger Übereinstimmung nimmt mit mehr Dimensionen exponentiell ab.
Kapseln in höheren Schichten nehmen Ausgaben von Kapseln in niedrigeren Schichten und akzeptieren diejenigen, deren Ausgaben clusterbildend sind. Ein Cluster führt dazu, dass die höhere Kapsel eine hohe Wahrscheinlichkeit des Vorhandenseins der Entität und eine hochdimensionale (20-50+) Pose ausgibt. Höhere Kapseln ignorieren Ausreißer und konzentrieren sich auf Cluster, ähnlich wie die Hough-Transformation, RHT und RANSAC aus der klassischen digitalen Bildverarbeitung.
Routing durch Übereinstimmung
Routing durch Übereinstimmung ist der Mechanismus, durch den Ausgaben von einer Kapsel (Kind) an Kapseln in der nächsten Schicht (Eltern) geleitet werden, basierend auf der Fähigkeit des Kindes, die Ausgaben der Eltern vorherzusagen. Über einige Iterationen kann sich die Ausgabe jedes Elternteils mit Vorhersagen einiger Kinder konvergieren und von anderen divergieren, was anzeigt, ob dieser Elternteil vorhanden oder abwesend ist.
Für jeden möglichen Elternteil berechnet jedes Kind einen Vorhersagevektor, indem es seine Ausgabe mit einer Gewichtsmatrix multipliziert, die durch Backpropagation trainiert wird. Die Ausgabe des Elternteils wird dann als gewichtete Summe der Vorhersagen berechnet, wobei die Gewichte die Wahrscheinlichkeit darstellen, dass ein Kind zu diesem Elternteil gehört. Ein Kind, dessen Vorhersagen nahe an der resultierenden Ausgabe liegen, erhöht seinen Kopplungskoeffizienten mit diesem Elternteil, während es ihn für andere verringert. Dieser iterative Prozess ermöglicht es dem Netzwerk, Ressourcen dynamisch zuzuweisen und die Erkennungsgenauigkeit zu verbessern.