Capsule Neural Networks: Was ist, wie es funktioniert, Architektur und Komponenten
Veröffentlicht: 2020-04-03Wie erkennt man Dinge? Wenn ich „Their“ und „Thier“ schreibe, würden Sie beide als „Their“ lesen? Ihre Antwort wäre wahrscheinlich ja.
Ihr Gehirn kann primäre Merkmale identifizieren und Ihnen helfen, Dinge zu erkennen. Deshalb können Sie Gesichter leicht erkennen. Kapselneuronale Netze funktionieren ähnlich. In diesem Artikel werfen wir einen Blick darauf, was sie sind und wie sie funktionieren. Wenn Sie sich für maschinelle Lernalgorithmen interessieren , wird Ihnen dieser Artikel sicherlich gefallen. Also lasst uns anfangen.
Inhaltsverzeichnis
Was ist ein Capsule Neural Network?
Ein neuronales Kapselnetz konzentriert sich auf die Replikation biologischer neuronaler Netze, um eine bessere Erkennung und Segmentierung durchzuführen. Sie sind eine Art künstliches neuronales Netzwerk. Sie haben eine verschachtelte Schicht unter einer Schicht der neuronalen Kapselnetze, darauf deutet das Wort „Kapsel“ hin.
Die Kapseln in diesen Netzwerken bestimmen die Parameter der Merkmale eines Objekts. Angenommen, Ihre Kapselnetzwerke müssen ein Gesicht identifizieren. Die Kapseln konzentrieren sich auf die Bestimmung, ob die spezifischen Gesichtszüge vorhanden sind oder nicht. Sie sind nicht allein darauf beschränkt. Sie werden auch prüfen, wie die Merkmale des jeweiligen Gesichts organisiert sind. Ihr System kann also ein Gesicht nur dann identifizieren, wenn die Kapseln feststellen, dass die Elemente dieses Gesichts in der richtigen Reihenfolge sind.
Sie fragen sich vielleicht, wie sie die Reihenfolge dieser Features bestimmen? Diese Netzwerke können dies aufgrund des Inputs tun, den Sie ihnen geben. Wenn sie Hunderte (oder sogar Tausende) von Bildern untersucht haben, können sie diese Aufgabe effizient ausführen.
Erfahren Sie mehr: Neuronale Netze: Anwendungen in der realen Welt

Wie funktionieren Kapselnetzwerke?
Schauen wir uns nun an, wie diese Netzwerke funktionieren. Anfänglich führen die Kapseln eine Matrixmultiplikation der Gewichtsmatrizen mit Eingangsvektoren durch. Dies gibt uns Informationen über die räumliche Beziehung zwischen mehreren Low-Level- und High-Level-Features.
Danach wählen die Kapseln eine übergeordnete Kapsel aus. Sie treffen die Auswahl durch dynamisches Routing, das wir später in diesem Artikel besprochen haben. Sobald sie ihre Elternkapsel ausgewählt haben, finden sie die Summe der Vektoren zwischen 0 und 1 gequetscht, wenn sie an ihrer Richtung festhalten. Sie führen ein Squash-Through durch, indem Sie die Norm des Koordinatensystems als Existenzwahrscheinlichkeit und den Kosinusabstand als Übereinstimmungsmaß verwenden.
Es gibt einen signifikanten Unterschied zwischen standardmäßigen neuronalen Netzen und Kapsel-neuronalen Netzen. Während Kapselnetzwerke Kapseln verwenden, um wesentliche Informationen über ein Bild einzukapseln, verwenden standardmäßige neuronale Netzwerke Neuronen für diesen Zweck. Kapseln produzieren Vektoren, während Neuronen nur skalare Größen produzieren können. Aus diesem Grund können Kapseln die Richtung eines Gesichts (oder eines bestimmten Merkmals) erkennen, Neuronen jedoch nicht. Wenn Sie die Richtung eines Features ändern würden, bleibt der Wert des Vektors gleich, aber seine Richtung ändert sich entsprechend der Positionsänderung.
Kapselnetzwerke funktionieren bei kleinen Datensätzen erstaunlich gut und erleichtern die Interpretation robuster Bilder. Abgesehen davon behalten sie alle Informationen des Bildes bei, einschließlich Textur, Ort und Pose. Ihr einziger Nachteil ist, dass sie riesige Datensätze nicht übertreffen können.
Lesen Sie: 6 Arten von Aktivierungsfunktionen in neuronalen Netzen
Was ist die Architektur eines neuronalen Kapselnetzwerks?
Die zwei Hauptkomponenten eines Kapselnetzwerks sind ein Codierer und ein Decodierer. Insgesamt enthalten sie sechs Schichten. Der Encoder hat die ersten drei Schichten und sie sind dafür verantwortlich, das Eingabebild zu nehmen und in einen Vektor (16-dimensional) umzuwandeln. Die erste Ebene des Encoders ist das Convolutional Neural Network, das die grundlegenden Merkmale des Bildes extrahiert.
Die zweite Ebene ist das PrimaryCaps-Netzwerk, das diese wesentlichen Merkmale aufnimmt und unter ihnen detailliertere Muster findet. Beispielsweise könnte es die räumliche Beziehung zwischen bestimmten Strichen sehen. Unterschiedliche Datensätze haben unterschiedliche Anzahlen von Kapseln im PrimaryCaps-Netzwerk; Beispielsweise enthält der MNIST-Datensatz 32 Kapseln. Die dritte Schicht ist das DigitCaps-Netzwerk, und die Anzahl der darin vorhandenen Kapseln variiert ebenfalls. Nach diesen Schichten hat der Encoder einen 16-dimensionalen Vektor, der zum Decoder geht.

Der Decoder hat drei verbundene Schichten. Es nimmt den 16-dimensionalen Vektor und versucht, mit Hilfe der vorhandenen Daten dasselbe Bild von Grund auf neu zu rekonstruieren. Auf diese Weise wird das Netzwerk robuster, da es nach seinem Wissen Vorhersagen treffen kann.
Lesen Sie auch: Recurrent Neural Network in Python
Berechnungen in einem CNN
Matrix-Multiplikation
Zwischen der ersten Schicht und der zweiten Schicht führen wir die Matrixmultiplikation durch. Dies codiert die Informationen räumlicher Beziehungen, und die codierten Informationen zeigen die Wahrscheinlichkeit von Label-Klassifizierungen.
Skalare Gewichte
In dieser Stufe der Berechnungen passen die Kapseln der niedrigeren Ebene ihre Gewichte entsprechend den Gewichten der Kapseln der höheren Ebene an. Sie tun dies, um das Gewicht der High-Level-Kapseln zu erreichen. Die High-Level-Kapseln zeichnen die Gewichtsverteilung auf und akzeptieren die größte Zuteilung zum Passieren. Sie alle kommunizieren über dynamisches Routing miteinander.
Dynamisches Routing
Beim dynamischen Routing senden die unteren Kapseln ihre Daten an die übergeordnete Kapsel. Sie alle senden ihre Daten an die ihrer Meinung nach am besten geeignete Kapsel, und die Kapsel, die die meisten Daten erhält, wird zur übergeordneten Kapsel. Die Elternkapseln folgen der Vereinbarung und weisen die Gewichte entsprechend zu.
Um das dynamische Routing zu verstehen, nehmen Sie an, Sie geben Ihrem Kapselnetzwerk Bilder eines Hauses. Es hat einige Probleme mit der Identifizierung des Daches des Hauses. Die Kapseln analysieren also das Bild, insbesondere seinen konstanten Teil. Sie koordinieren den Rahmen des Hauses in Bezug auf Wände und Dach.

Sie treffen zuerst die Entscheidung, ob das Objekt ein Haus ist oder nicht, und senden dann ihre Vorhersagen an die hochrangigen Kapseln. Wenn die Projektionen des Daches in Bezug auf die Wände mit anderen Vorhersagen von Low-Level-Kapseln übereinstimmen, sagt die Ausgabe, dass das Objekt ein Haus ist. Dies ist der Prozess des Routings nach Vereinbarung.
Vektor-zu-Vektor-Nichtlinearität
Sobald das dynamische Routing abgeschlossen ist, komprimiert das System die Informationen, was bedeutet, dass es diese Informationen komprimiert. Sie gibt Ihnen die Wahrscheinlichkeit an, ob die Kapsel ein bestimmtes Merkmal erkennt oder nicht.
Abschließende Gedanken
Nachdem Sie diesen Artikel gelesen haben, müssen Sie sich mit Kapselneuronalen Netzwerken und ihren Operationen vertraut gemacht haben. Sie müssen auch erkannt haben, wie nützlich ihre Aktionen sein können.
Wenn Sie mehr über maschinelle Lernalgorithmen erfahren möchten, besuchen Sie unseren Blog. Dort finden Sie einige sachkundige Artikel.
Wenn Sie mehr über maschinelles Lernen erfahren möchten, sehen Sie sich das PG-Diplom in maschinellem Lernen und KI von IIIT-B & upGrad an, das für Berufstätige konzipiert ist und mehr als 450 Stunden strenge Schulungen, mehr als 30 Fallstudien und Aufgaben bietet, IIIT- B-Alumni-Status, mehr als 5 praktische, praktische Abschlussprojekte und Jobunterstützung bei Top-Unternehmen.
Was sind transformatorische neuronale Netze?
Wenn ein neuronales Netzwerk eine Sequenz von Vektoren als Eingabe nimmt, sie in einen Vektor umwandelt, der als Codierung bezeichnet wird, und ihn dann wieder in eine andere Sequenz decodiert, wird es als transformierendes neuronales Netzwerk bezeichnet. Der Transformer ist eine Komponente, die in vielen neuronalen Netzwerkarchitekturen zum Verarbeiten von sequentiellen Daten zu finden ist, einschließlich Klartext, akustische Signale, genomische Sequenzen und Zeitreihendaten. Die häufigste Anwendung neuronaler Transformer-Netze ist die Verarbeitung natürlicher Sprache.
Was sind grafische neuronale Netze und wie funktionieren die Graphen?
Graph Neural Networks oder GNNs sind neuronale Modelle, die die Nachrichtenübertragung zwischen Graphknoten verwenden, um die Abhängigkeit von Graphen darzustellen. Diese Netzwerke arbeiten direkt auf den gegebenen Graphstrukturen. Mit einfachen Worten, jeder Knoten im Diagramm hat ein Label, und ein neuronales Netzwerk wird verwendet, um die Label-Knoten basierend auf der Grundwahrheit vorherzusagen. GNNs haben in letzter Zeit in einer Vielzahl von Disziplinen an Bedeutung gewonnen, darunter soziale Netzwerke, Wissensgraphen, Empfehlungssysteme und sogar Biowissenschaften.
Unterscheiden sich Kapseln von Kapselnetzwerken?
Beide Begriffe, Kapseln und Kapselnetzwerke, sind mit Deep Learning verbunden, aber sie sind nicht dasselbe. Eine Gruppe von Neuronen, deren Aktivitätsvektoren die Instantiierungsparameter eines bestimmten Elements darstellen, beispielsweise eines Objekts, wird als Kapsel bezeichnet. Kapselnetzwerke sind jedoch Netzwerke, die geografische Informationen und andere wichtige Aspekte abrufen können, um den Datenverlust während des Prozesses von Pooling-Vorgängen zu minimieren.