Warum funktionieren neuronale Faltungsnetze?


22

Ich habe oft Leute sagen hören, warum faltungsbedingte neuronale Netze immer noch schlecht verstanden werden. Ist bekannt, warum faltungsbedingte neuronale Netze immer komplexer werdende Funktionen erlernen, wenn wir die Schichten hinaufsteigen? Was hat sie dazu veranlasst, einen solchen Stapel von Features zu erstellen, und würde dies auch für andere Arten von tiefen neuronalen Netzen gelten?


Tolle Erklärung von Jeremy Howard in der zweiten Hälfte dieses Videos: youtube.com/watch?v=ACU-T9L4_lI
Dan

2
Ich denke, du missverstehst. Wir verstehen ziemlich gut, warum Convnets als eine Klasse von Algorithmen arbeiten. Andererseits ist es oft sehr schwer zu verstehen, warum ein bestimmtes Modell eine bestimmte Vorhersage getroffen hat. Aus diesem Grund nennen wir sie "Black-Box-Modelle": Ihr Inferenzprozess ist für uns undurchsichtig. Das bedeutet nicht, dass wir uns nicht darüber im Klaren sind, warum sie wirksam sind.
David Marx

Antworten:


19

Eigentlich denke ich, dass die Frage ein bisschen weit geht! Sowieso.

Grundlegendes zu Faltungsnetzen

Was in gelernt wird, ConvNetsversucht, die Kostenfunktion zu minimieren, um die Eingaben in Klassifizierungsaufgaben korrekt zu kategorisieren. Alle Parameter ändernden und gelernten Filter dienen dazu, das genannte Ziel zu erreichen.

Gelernte Funktionen in verschiedenen Ebenen

Sie versuchen, die Kosten zu senken, indem sie in ihren ersten Schichten geringe, manchmal bedeutungslose Merkmale wie horizontale und vertikale Linien lernen und sie dann stapeln, um in ihren letzten Schichten abstrakte Formen zu bilden, die oft bedeutungsvoll sind. Zur Veranschaulichung dieser Abb. 1, die von hier verwendet wurde , kann berücksichtigt werden. Der Eingang ist der Bus und die Grafik zeigt die Aktivierungen, nachdem der Eingang durch verschiedene Filter in der ersten Ebene geleitet wurde. Wie zu sehen ist, wurde der rote Rahmen, der die Aktivierung eines Filters darstellt, dessen Parameter gelernt wurden, für relativ horizontale Kanten aktiviert. Der blaue Rahmen wurde für relativ vertikale Kanten aktiviert. Es ist möglich, dassConvNetsLernen Sie unbekannte Filter kennen, die nützlich sind, und wir, z. B. Computer-Vision-Praktiker, haben nicht festgestellt, dass sie nützlich sein können. Der beste Teil dieser Netze ist, dass sie versuchen, geeignete Filter selbst zu finden, und nicht unsere begrenzten entdeckten Filter verwenden. Sie lernen Filter, um den Betrag der Kostenfunktion zu reduzieren. Wie bereits erwähnt, sind diese Filter nicht unbedingt bekannt.

** Abbildung 1. ** * Niedrigstufige Aktivierungen *

In tieferen Schichten kommen die in früheren Schichten erlernten Merkmale zusammen und bilden Formen, die oft eine Bedeutung haben. In diesem Artikel wurde diskutiert, dass diese Schichten Aktivierungen aufweisen können, die für uns von Bedeutung sind, oder dass die Konzepte, die für uns als Menschen von Bedeutung sind, auf andere Aktivierungen verteilt werden können. In Abb. 2 der grüne rahmen zeigt die aktivaten eines filters in der fünften schicht von aConvNet. Dieser Filter kümmert sich um die Gesichter. Angenommen, der Rote kümmert sich um Haare. Diese haben Bedeutung. Wie zu sehen ist, gibt es andere Aktivierungen, die genau an der Position typischer Gesichter in der Eingabe aktiviert wurden. Der grüne Rahmen ist einer davon. Der blaue Rahmen ist ein weiteres Beispiel dafür. Dementsprechend kann die Abstraktion von Formen durch einen Filter oder durch zahlreiche Filter gelernt werden. Mit anderen Worten, jedes Konzept kann wie das Gesicht und seine Komponenten auf die Filter verteilt werden. In Fällen, in denen die Konzepte auf verschiedene Ebenen verteilt sind, kann es sein, dass jemand sie sich genauer ansieht. Die Informationen werden unter ihnen verteilt, und um zu verstehen, dass alle diese Filter und ihre Aktivierung berücksichtigt werden müssen, obwohl sie so kompliziert erscheinen mögen.

** Abbildung 2. ** * Aktivierungen auf hoher Ebene *

CNNssollte überhaupt nicht als Blackbox angesehen werden. Zeiler et al. Haben in diesem erstaunlichen Artikel die Entwicklung besserer Modelle erörtert, die sich auf Versuch und Irrtum beschränken, wenn Sie nicht verstehen, was in diesen Netzen geschieht. In diesem Artikel wird versucht, die Feature-Maps in zu visualisieren ConvNets.

Fähigkeit, verschiedene zu verallgemeinernde Transformationen zu handhaben

ConvNetsVerwenden Sie poolingLayer nicht nur, um die Anzahl der Parameter zu verringern, sondern auch, um die genaue Position der einzelnen Features nicht zu beeinflussen. Durch ihre Verwendung können die Ebenen auch verschiedene Merkmale lernen, was bedeutet, dass die ersten Ebenen einfache Low-Level-Merkmale wie Kanten oder Bögen lernen und tiefere Ebenen kompliziertere Merkmale wie Augen oder Augenbrauen. Max PoolingzB versucht zu untersuchen, ob ein spezielles Merkmal in einer speziellen Region existiert oder nicht. Die Idee der poolingEbenen ist so nützlich, dass sie nur den Übergang zwischen anderen Transformationen bewältigen kann. Obwohl Filter in verschiedenen Ebenen versuchen, verschiedene Muster zu finden, wird z. B. ein gedrehtes Gesicht mit anderen Ebenen als ein gewöhnliches Gesicht gelernt.CNNsvon dort haben keine eigene Ebene, um andere Transformationen zu behandeln. Um dies zu veranschaulichen, nehmen wir an, dass Sie einfache Gesichter ohne Rotation mit einem minimalen Netz lernen möchten. In diesem Fall kann Ihr Modell das perfekt machen. Angenommen, Sie werden aufgefordert, alle Arten von Gesichtern mit willkürlicher Gesichtsrotation zu lernen. In diesem Fall muss Ihr Modell viel größer sein als das zuvor erlernte Netz. Der Grund ist, dass es Filter geben muss, um diese Rotationen in der Eingabe zu lernen. Leider sind dies nicht alle Transformationen. Ihre Eingabe kann auch verzerrt sein. Diese Fälle machten Max Jaderberg und alle wütend. Sie haben dieses Papier verfasst, um sich mit diesen Problemen zu befassen und unsere Wut als ihre zu beruhigen.

Faltungsneurale Netze funktionieren

Nachdem sie sich auf diese Punkte bezogen haben, funktionieren sie schließlich, weil sie versuchen, Muster in den Eingabedaten zu finden. Sie stapeln sie zu abstrakten Konzepten, indem sie Faltungsschichten bilden. Sie versuchen herauszufinden, ob die Eingabedaten jedes dieser Konzepte enthalten oder nicht, um herauszufinden, zu welcher Klasse die Eingabedaten gehören.

Ich füge einige hilfreiche Links hinzu:


12

ConvNets funktionieren, weil sie die Feature-Lokalität ausnutzen. Sie arbeiten mit unterschiedlichen Granularitäten und können daher hierarchisch übergeordnete Features modellieren . Dank der Pooling-Einheiten sind sie übersetzungsunabhängig. Sie sind per se nicht rotationsinvariant , aber sie konvergieren normalerweise zu Filtern, die gedrehte Versionen derselben Filter sind und daher gedrehte Eingaben unterstützen.

Ich kenne keine andere neuronale Architektur, die von der Feature-Lokalität im gleichen Sinne profitiert wie ConvNets.


1
Ich würde sagen, dass RNNs in ähnlicher Weise wie CNNs davon profitieren und Gewichte über Zeitreihen wiederverwenden. CNNs können auch als nicht unbedingt übersetzungsinvariant, sondern als "dimensionsinvariant" betrachtet werden (obwohl ich nicht sicher bin, ob dies ein korrekter oder anerkannter Begriff ist)
Neil Slater

Danke für deine Antwort. Korrigieren Sie mich, wenn ich in den folgenden Schlussfolgerungen falsch liege: 1. Es scheint, dass wir ConvNets implizit so entworfen haben, dass wir durch Pooling hierarchisch übergeordnete Funktionen erlernen. Es ist kein Zufall, dass Features raffiniert werden. 2. Das Einbeziehen der Domäneninformationen in das Design des eigenen neuronalen Netzwerks kann einen großen Unterschied in der Lerneffizienz bewirken. ConvNets und RNNs versuchen genau das.
Lobe den Herrn

Ihre Aussagen 1 und 2 scheinen mir richtig zu sein.
ncasas

1
Ich denke, Kapselnetzwerke sollen die Lokalität von Features auf ähnliche Weise nutzen
David Marx,

3

Die anderen Komponenten in einem typischen ConvNet sollte man nie vergessen. Die Faltungsfilter erkennen die räumlich invarianten Merkmale wie Kanten und Kreise. Diese Merkmale werden in einer Poolschicht quantifiziert, die der C-Schicht folgt. Schließlich werden sie (normalerweise) mehreren vollständig verbundenen Schichten (fc) zugeführt. Diesen vollständig verbundenen Schichten, die nichts anderes sind als das, was Sie in jedem gewöhnlichen MLP finden, muss Anerkennung gezollt werden.


3

Faltungs-Neuronale Netze funktionieren, weil sie eine gute Erweiterung des Standard-Deep-Learning-Algorithmus darstellen.

Bei unbegrenzten Ressourcen und Geld besteht kein Bedarf an Faltung, da der Standardalgorithmus ebenfalls funktioniert. Faltung ist jedoch effizienter, da sie die Anzahl der Parameter verringert . Die Reduzierung ist möglich, da die Feature-Lokalität genau das ausnutzt, was @ncasas schreibt.


Dies sollte die beste Antwort sein
Jie.Zhou

1

Ist bekannt, warum faltungsbedingte neuronale Netze immer komplexer werdende Funktionen erlernen, wenn wir die Schichten hinaufsteigen?

Das ist reine Mathematik. Letztendlich ist ein neuronales Netzwerk eine große mathematische Funktion. Und je tiefer das Netzwerk ist, desto größer ist die Funktion, die es darstellt. Und mit größer meine ich offensichtlich hochdimensional. Die erlernten Funktionen sind komplexer, da sie das Ergebnis komplexerer Funktionen sind.

Was sie verursacht hat, hat einen solchen Stapel von Funktionen erstellt

Interessanterweise wurden konventionelle neuronale Netze von unserer eigenen Biologie, eigentlich der der Katze, inspiriert. Hubel und Wiesel führten Experimente zum visuellen Kortex von Katzen durch und stellten fest, dass Licht durch Stapel von optischen Feldern wahrgenommen wird. Dies inspirierte die Faltungsschicht und eine tiefere Architektur.


0

ConvNets basieren auf den Antworten von ncasas und horaceT und sind aus folgenden Gründen sehr effizient:

  1. Sie sind für geometrische Transformationen unerlässlich und lernen Features, die immer komplizierter und detaillierter werden. Dank der Faltungsebenen sind sie daher leistungsstarke Extraktoren hierarchischer Features .
  2. Sie kombinieren die extrahierten Features und aggregieren sie auf nicht lineare Weise, um die Ausgabe vorherzusagen. Dank der vollständig verbundenen Layer sind sie daher robuste Klassifizierer .

Wenn Sie mehr über Convnets und die verschiedenen Blöcke erfahren möchten, die sie bilden, sowie über die Intuitionen, die dahinter stehen, finden Sie hier einen Beitrag, den ich kürzlich in meinem persönlichen Blog geschrieben habe.


3
Bitte beachten Sie, dass Sie, wenn Sie für Ihr eigenes Produkt / Blog werben möchten , Ihre Zugehörigkeit in der Antwort offenlegen müssen. Andernfalls wird Ihre Antwort möglicherweise als Spam gekennzeichnet. Wenn Sie nicht mit der Site verbunden sind, empfehle ich Ihnen dies zu sagen, um dies zu verhindern. Bitte lesen Sie Wie man kein Spammer ist
AJ
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.