Übersetzung entmystifizierender Faltungs-Neuronaler Netze .
Faltungs-Neuronale Netze.In den letzten zehn Jahren haben wir erstaunliche und beispiellose Fortschritte in der Bildverarbeitung gesehen. Heutzutage können Computer Objekte in Bildern und Videobildern mit einer Genauigkeit von 98% erkennen, bereits vor einer Person mit 97%. Es waren die Funktionen des menschlichen Gehirns, die Entwickler dazu inspirierten, Erkennungstechniken zu entwickeln und zu verbessern.
Einmal führten Neurologen Experimente an Katzen durch und stellten fest, dass dieselben Teile des Bildes dieselben Teile des Gehirns der Katze aktivieren. Das heißt, wenn die Katze auf den Kreis schaut, wird die Alpha-Zone in ihrem Gehirn aktiviert, und wenn sie auf das Quadrat schaut, wird die Beta-Zone aktiviert. Die Forscher kamen zu dem Schluss, dass es im Gehirn von Tieren Bereiche von Neuronen gibt, die auf bestimmte Eigenschaften des Bildes reagieren. Mit anderen Worten, Tiere nehmen die Umwelt durch die mehrschichtige neuronale Architektur des Gehirns wahr. Und jede Szene, jedes Bild durchläuft einen besonderen Block von Zeichenauswahl und wird erst dann auf die tieferen Strukturen des Gehirns übertragen.
Inspiriert davon haben Mathematiker ein System entwickelt, in dem Gruppen von Neuronen emuliert werden, die mit unterschiedlichen Bildeigenschaften arbeiten und miteinander interagieren, um ein gemeinsames Bild zu bilden.
Eigenschaften abrufen
Die Idee einer Gruppe aktivierter Neuronen, die mit bestimmten Eingabedaten versorgt werden, wurde in einen mathematischen Ausdruck einer mehrdimensionalen Matrix umgewandelt, die die Rolle einer Determinante einer Reihe von Eigenschaften spielt - sie wird als Filter oder Kernel bezeichnet. Jeder dieser Filter sucht nach einer Besonderheit im Bild. Beispielsweise kann es einen Filter geben, um die Grenzen zu bestimmen. Die gefundenen Eigenschaften werden dann auf einen anderen Satz von Filtern übertragen, die übergeordnete Eigenschaften des Bildes bestimmen können, z. B. Augen, Nase usw.
Faltung des Bildes mit Laplace-Filtern zur Bestimmung der Grenzen.Aus mathematischer Sicht führen wir zwischen dem in Form einer Matrix der Pixelintensität dargestellten Eingabebild und dem Filter eine Faltungsoperation durch, die zu einer sogenannten Eigenschaftskarte (Feature-Map) führt. Diese Karte dient als Eingabe für die nächste Filterebene.
Warum eine Faltung?
Faltung ist ein Prozess, bei dem das Netzwerk versucht, das Eingangssignal durch Vergleich mit zuvor bekannten Informationen zu markieren. Wenn das Eingangssignal wie frühere Bilder von Katzen, bereits bekannten Netzwerken, aussieht, wird das Referenzsignal „Katze“ mit dem Eingangssignal minimiert - gemischt -. Das resultierende Signal wird zur nächsten Schicht übertragen. In diesem Fall bedeutet das Eingangssignal eine dreidimensionale Darstellung des Bildes in Form von Intensitäten von RGB-Pixeln, und das Referenzsignal "cat" wird vom Kernel gelernt, Katzen zu erkennen.
Bildfaltungsoperation und Filter. QuelleDie Faltungsoperation hat eine ausgezeichnete Eigenschaft - Übersetzungsinvariante. Dies bedeutet, dass jeder Faltungsfilter einen bestimmten Satz von Eigenschaften widerspiegelt, beispielsweise Augen, Ohren usw., und der Algorithmus für das neuronale Faltungsnetzwerk lernt zu bestimmen, welcher Satz von Eigenschaften der Referenz von beispielsweise einer Katze entspricht. Die Intensität des Ausgangssignals hängt nicht vom Ort der Eigenschaften ab, sondern von deren Vorhandensein. Daher kann die Katze in verschiedenen Posen dargestellt werden, aber der Algorithmus kann sie immer noch erkennen.
Pooling
Nach dem Prinzip des biologischen Gehirns konnten Wissenschaftler einen mathematischen Apparat zur Extraktion von Eigenschaften entwickeln. Nach der Bewertung der Gesamtzahl der Schichten und Eigenschaften, die analysiert werden müssen, um komplexe geometrische Formen zu verfolgen, stellten die Wissenschaftler fest, dass Computer nicht über genügend Speicher verfügen, um alle Daten zu speichern. Darüber hinaus wächst die Menge der erforderlichen Rechenressourcen mit zunehmender Anzahl von Eigenschaften exponentiell. Um dieses Problem zu lösen, wurde eine Pooling-Technik entwickelt. Ihre Idee ist sehr einfach: Wenn ein bestimmter Bereich ausgeprägte Eigenschaften enthält, können wir die Suche nach anderen Eigenschaften in diesem Bereich ablehnen.
Beispiel für das Pooling des Maximalwerts.Der Pooling-Vorgang spart nicht nur Speicher und Verarbeitungsleistung, sondern hilft auch, Bilder von Rauschen zu befreien.
Vollständig verklebte Schicht
Okay, warum sollte ein neuronales Netzwerk nützlich sein, wenn es nur Sätze von Bildeigenschaften definieren kann? Wir müssen ihr irgendwie beibringen, wie man Bilder kategorisiert. Und der traditionelle Ansatz zur Bildung neuronaler Netze wird uns dabei helfen. Insbesondere können Eigenschaftskarten, die auf vorherigen Ebenen erhalten wurden, in einer Ebene gesammelt werden, die allen Beschriftungen, die wir für die Kategorisierung vorbereitet haben, vollständig zugeordnet ist. Diese letzte Schicht weist die Wahrscheinlichkeiten für die Übereinstimmung mit jeder Klasse zu. Und basierend auf diesen endgültigen Wahrscheinlichkeiten können wir das Bild einer Kategorie zuordnen.
Vollständig verklebte Schicht. QuelleEndgültige Architektur
Jetzt müssen nur noch alle vom Netzwerk untersuchten Konzepte in einem einzigen Rahmen zusammengefasst werden - dem Faltungs-Neuronalen Netzwerk (Convolution Neural Network, CNN). CNN besteht aus einer Reihe von Faltungsschichten, die mit Pooling-Schichten kombiniert werden können, um eine Eigenschaftskarte zu generieren, die an vollständig verbundene Schichten übergeben wird, um die Wahrscheinlichkeiten für die Übereinstimmung mit Klassen zu bestimmen. Indem wir die Fehler, die wir bekommen, zurückbringen, können wir dieses neuronale Netzwerk trainieren, um genaue Ergebnisse zu erzielen.
Nachdem wir die funktionalen Perspektiven von CNN verstanden haben, wollen wir uns die Aspekte der Verwendung von CNN genauer ansehen.
Faltungs-Neuronale Netze
Faltungsschicht.Die Faltungsschicht ist der Hauptbaustein von CNN. Jede dieser Ebenen enthält eine Reihe unabhängiger Filter, von denen jede nach ihren eigenen Eigenschaften im eingehenden Bild sucht.
Faltungsoperation. QuelleAus mathematischer Sicht nehmen wir einen Filter fester Größe, überlagern ihn dem Bild und berechnen das Skalarprodukt des Filters und einen Teil des Eingabebildes. Die Ergebnisse der Arbeit werden in die endgültige Eigenschaftskarte eingefügt. Dann verschieben wir den Filter nach rechts und wiederholen den Vorgang, wobei wir auch das Ergebnis der Berechnung zur Eigenschaftskarte hinzufügen. Nach der Faltung des gesamten Bildes mit Hilfe eines Filters erhalten wir eine Eigenschaftskarte, die aus einer Reihe expliziter Zeichen besteht und als Eingabe in die nächste Ebene eingespeist wird.
Schritte
Schritt ist der Betrag des Filterversatzes. In der obigen Abbildung verschieben wir den Filter um den Faktor 1. Manchmal müssen Sie jedoch den Offset vergrößern. Wenn beispielsweise benachbarte Pixel stark miteinander korrelieren (insbesondere in den unteren Schichten), ist es sinnvoll, die Größe der Ausgabe mit dem entsprechenden Schritt zu verringern. Wenn der Schritt jedoch zu groß wird, gehen viele Informationen verloren. Seien Sie also vorsichtig.
Schritt ist 2. Quelle .Polsterung
Polsterung einer Schicht. QuelleEine der Nebenwirkungen des Schrittens ist die stetige Abnahme der Eigenschaftskarte, da immer mehr neue Windungen durchgeführt werden. Dies kann unerwünscht sein, da „Reduzierung“ den Verlust von Informationen bedeutet. Achten Sie zur Verdeutlichung darauf, wie oft der Filter auf die Zelle in der Mitte und in der Ecke angewendet wird. Es stellt sich heraus, dass die Informationen im Mittelteil ohne Grund wichtiger sind als an den Rändern. Um nützliche Informationen aus früheren Ebenen zu extrahieren, können Sie die Matrix mit Ebenen von Nullen umgeben.
Parameterfreigabe
Warum brauchen wir Faltungsnetzwerke, wenn wir bereits gute Deep-Learning-Neuronale Netze haben? Es ist bemerkenswert, dass, wenn wir Deep-Learning-Netzwerke zum Klassifizieren von Bildern verwenden, die Anzahl der Parameter auf jeder Schicht tausendmal größer ist als die des Faltungs-Neuronalen Netzwerks.
Parameter in einem Faltungsnetzwerk teilen.