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?
machine-learning
neural-network
deep-learning
convnet
cnn
Preiset den Herrn
quelle
quelle
Antworten:
Eigentlich denke ich, dass die Frage ein bisschen weit geht! Sowieso.
Grundlegendes zu Faltungsnetzen
Was in gelernt wird,
ConvNets
versucht, 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, dass
ConvNets
Lernen 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.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 a
ConvNet
. 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.CNNs
sollte ü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 visualisierenConvNets
.Fähigkeit, verschiedene zu verallgemeinernde Transformationen zu handhaben
ConvNets
Verwenden Siepooling
Layer 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 Pooling
zB versucht zu untersuchen, ob ein spezielles Merkmal in einer speziellen Region existiert oder nicht. Die Idee derpooling
Ebenen 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.CNNs
von 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:
ConvNets
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
ConvNets basieren auf den Antworten von ncasas und horaceT und sind aus folgenden Gründen sehr effizient:
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.
quelle