Zu einem CNN sind beide Bilder ähnlich, da sie beide ähnliche Elemente enthalten. Quelle. Wie funktionieren CNNs? Die Hauptkomponente eines CNN ist eine Faltungsschicht. Seine Aufgabe ist es, wichtige Merkmale in den Bildpixeln zu erkennen. Ebenen, die tiefer liegen (näher an der Eingabe), lernen, einfache Features wie Kanten und Farbverläufe zu erkennen, während höhere Ebenen einfache Features zu komplexeren Features kombinieren. Schließlich werden dichte Schichten an der Spitze des Netzwerks Merkmale auf sehr hoher Ebene kombinieren und Klassifizierungsvorhersagen erzeugen.
Es ist wichtig zu verstehen, dass Features auf höherer Ebene Features auf niedrigerer Ebene als gewichtete Summe kombinieren: aktivierungen einer vorhergehenden Schicht werden mit den Gewichten des folgenden Schichtneurons multipliziert und addiert, bevor sie an die Aktivierungsnichtlinearität übergeben werden. Nirgendwo in diesem Setup gibt es eine (translatorische und rotatorische) Beziehung zwischen einfacheren Features, die ein Feature auf höherer Ebene bilden. Ein anderer Ansatz zur Lösung dieses Problems besteht darin, maximale Pooling- oder aufeinanderfolgende Faltungsschichten zu verwenden, die die räumliche Größe der durch das Netzwerk fließenden Daten verringern und daher das „Sichtfeld“ der Neuronen der höheren Schicht vergrößern, wodurch sie Merkmale höherer Ordnung in einem größeren Bereich des Eingabebildes erkennen können. Max Pooling ist eine Krücke, mit der Faltungsnetzwerke überraschend gut funktionieren und in vielen Bereichen übermenschliche Leistungen erbringen. Aber lassen Sie sich nicht von seiner Leistung täuschen: Während CNNs besser funktionieren als jedes Modell vor ihnen, verliert Max Pooling dennoch wertvolle Informationen.
Hinton selbst erklärte, dass die Tatsache, dass max Pooling so gut funktioniert, ein großer Fehler und eine Katastrophe ist:
Hinton: „Die in Convolutional Neural Networks verwendete Pooling-Operation ist ein großer Fehler und die Tatsache, dass sie so gut funktioniert, ist eine Katastrophe.“
Natürlich können Sie das maximale Pooling abschaffen und trotzdem gute Ergebnisse mit herkömmlichen CNNs erzielen, aber sie lösen das Schlüsselproblem immer noch nicht:
Die interne Datendarstellung eines faltungsneuralen Netzwerks berücksichtigt keine wichtigen räumlichen Hierarchien zwischen einfachen und komplexen Objekten.
Im obigen Beispiel bedeutet das bloße Vorhandensein von 2 Augen, einem Mund und einer Nase in einem Bild nicht, dass es ein Gesicht gibt.
Hardcoding der 3D-Welt in ein neuronales Netz: Inverse Graphics Approach
Die Computergrafik befasst sich mit der Konstruktion eines visuellen Bildes aus einer internen hierarchischen Darstellung geometrischer Daten. Beachten Sie, dass die Struktur dieser Darstellung die relativen Positionen von Objekten berücksichtigen muss. Diese interne Darstellung wird im Speicher des Computers als Arrays geometrischer Objekte und Matrizen gespeichert, die relative Positionen und Ausrichtungen dieser Objekte darstellen. Dann nimmt eine spezielle Software diese Darstellung und wandelt sie in ein Bild auf dem Bildschirm um. Dies nennt man Rendering.
Computergrafik nimmt interne Darstellung von Objekten und erzeugt ein Bild. Das menschliche Gehirn macht das Gegenteil. Kapselnetzwerke folgen einem ähnlichen Ansatz wie das Gehirn. Quelle. Inspiriert von dieser Idee argumentiert Hinton, dass Gehirne tatsächlich das Gegenteil von Rendering tun. Er nennt es inverse Grafik: aus visuellen Informationen, die von den Augen empfangen werden, dekonstruieren sie eine hierarchische Darstellung der Welt um uns herum und versuchen, sie mit bereits erlernten Mustern und Beziehungen abzugleichen, die im Gehirn gespeichert sind. So geschieht Anerkennung. Und die Schlüsselidee ist, dass die Darstellung von Objekten im Gehirn nicht vom Blickwinkel abhängt.
An dieser Stelle stellt sich also die Frage: Wie modellieren wir diese hierarchischen Beziehungen innerhalb eines neuronalen Netzwerks? Die Antwort kommt von der Computergrafik. In 3D-Grafiken können Beziehungen zwischen 3D-Objekten durch eine sogenannte Pose dargestellt werden, die im Wesentlichen Translation plus Rotation ist.
Hinton argumentiert, dass es für eine korrekte Klassifizierung und Objekterkennung wichtig ist, hierarchische Posebeziehungen zwischen Objektteilen beizubehalten. Dies ist die Schlüsselintuition, die es Ihnen ermöglicht zu verstehen, warum die Kapseltheorie so wichtig ist. Es enthält relative Beziehungen zwischen Objekten und wird numerisch als 4D-Posematrix dargestellt.
Wenn diese Beziehungen in die interne Darstellung von Daten integriert sind, wird es für ein Modell sehr einfach zu verstehen, dass das, was es sieht, nur eine andere Ansicht von etwas ist, das es zuvor gesehen hat. Betrachten Sie das Bild unten. Sie können leicht erkennen, dass dies die Freiheitsstatue ist, obwohl alle Bilder sie aus verschiedenen Blickwinkeln zeigen. Dies liegt daran, dass die Darstellung der Freiheitsstatue in Ihrem Gehirn nicht vom Blickwinkel abhängt. Sie haben wahrscheinlich noch nie diese genauen Bilder davon gesehen, aber Sie wussten immer noch sofort, was es war.