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, dassConvNets
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 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.
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 visualisieren ConvNets
.
Fähigkeit, verschiedene zu verallgemeinernde Transformationen zu handhaben
ConvNets
Verwenden Sie pooling
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 der pooling
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: