Version mit drei Sätzen:
Jede Ebene kann eine beliebige Funktion auf die vorherige Ebene anwenden (normalerweise eine lineare Transformation, gefolgt von einer nichtlinearen Quetschung).
Die Aufgabe der ausgeblendeten Ebenen besteht darin, die Eingaben in etwas umzuwandeln, das die Ausgabeebene verwenden kann.
Die Ausgabeebene wandelt die Aktivierungen der ausgeblendeten Ebene in den gewünschten Maßstab für die Ausgabe um.
Als wärst du 5:
Wenn Sie möchten, dass ein Computer Sie darüber informiert, ob ein Bus auf einem Bild zu sehen ist, fällt es dem Computer möglicherweise leichter, wenn er über die richtigen Werkzeuge verfügt.
Ihr Busdetektor kann also aus einem Raddetektor (um Ihnen zu sagen, dass es sich um ein Fahrzeug handelt) und einem Boxdetektor (da der Bus wie eine große Box geformt ist) und einem Größendetektor (um Ihnen zu sagen, dass es zu groß ist, um ein Auto zu sein) bestehen ). Dies sind die drei Elemente Ihrer verborgenen Ebene: Sie sind nicht Teil des Rohbilds, sondern Tools, die Sie zur Identifizierung von Bussen entwickelt haben.
Wenn alle drei Melder eingeschaltet sind (oder wenn sie besonders aktiv sind), besteht eine gute Chance, dass Sie einen Bus vor sich haben.
Neuronale Netze sind nützlich, weil es gute Werkzeuge (wie Backpropagation) gibt, um viele Detektoren zu bauen und zusammenzusetzen.
Als wärst du ein Erwachsener
Ein neuronales Vorwärtskopplungsnetz wendet eine Reihe von Funktionen auf die Daten an. Die genauen Funktionen hängen vom verwendeten neuronalen Netzwerk ab: Am häufigsten berechnen diese Funktionen jeweils eine lineare Transformation der vorherigen Ebene, gefolgt von einer nichtlinearen Quetschung. Manchmal bewirken die Funktionen etwas anderes (wie das Berechnen logischer Funktionen in Ihren Beispielen oder das Mitteln über benachbarte Pixel in einem Bild). Die Rollen der verschiedenen Ebenen könnten also davon abhängen, welche Funktionen berechnet werden, aber ich werde versuchen, sehr allgemein zu sein.
Nennen wir den Eingabevektor , die Aktivierungen für ausgeblendete Ebenen und die Ausgabeaktivierung . Sie haben eine Funktion , die von nach abbildet , und eine andere Funktion , die von nach abbildet . h y f x h g h yXhyfXhghy
Die Aktivierung der verborgenen Schicht ist also und die Ausgabe des Netzwerks ist .g ( f ( x ) )f(x)g(f(x))
Warum haben Sie zwei Funktionen ( und ) anstelle von nur einer?gfg
Wenn der Komplexitätsgrad pro Funktion begrenzt ist, kann Dinge berechnen, die und nicht einzeln können. f gg(f(x))fg
Ein Beispiel mit logischen Funktionen:
Wenn wir zum Beispiel nur zulassen, dass und einfache logische Operatoren wie "AND", "OR" und "NAND" sind, können Sie andere Funktionen wie "XOR" nicht mit nur einer von ihnen berechnen. Andererseits könnten wir "XOR" berechnen, wenn wir bereit wären, diese Funktionen übereinander zu legen:gfg
Funktionen der ersten Schicht:
- Stellen Sie sicher, dass mindestens ein Element "TRUE" ist (mit OR)
- Stellen Sie sicher, dass sie nicht alle "TRUE" sind (mit NAND)
Zweite schicht funktion:
- Stellen Sie sicher, dass beide Kriterien der ersten Ebene erfüllt sind (mit AND).
Die Netzwerkausgabe ist nur das Ergebnis dieser zweiten Funktion. Die erste Schicht wandelt die Eingaben in etwas um, das die zweite Schicht verwenden kann, damit das gesamte Netzwerk XOR ausführen kann.
Ein Beispiel mit Bildern:
Folie 61 aus diesem Vortrag - auch hier als Einzelbild verfügbar - zeigt (auf eine Art und Weise), wonach die verschiedenen verborgenen Ebenen in einem bestimmten neuronalen Netzwerk suchen.
Die erste Ebene sucht nach kurzen Kanten im Bild: Diese sind aus rohen Pixeldaten sehr leicht zu finden, aber für sich genommen nicht sehr nützlich, um Ihnen mitzuteilen, ob Sie ein Gesicht, einen Bus oder einen Elefanten betrachten .
Die nächste Ebene setzt sich aus den Rändern zusammen: Wenn die Ränder der unteren ausgeblendeten Ebene auf eine bestimmte Weise zusammenpassen, schaltet sich möglicherweise einer der Augendetektoren in der Mitte der Spalte ganz links ein. Es wäre schwierig, eine einzelne Ebene zu erstellen, die so gut darin war, aus den Rohpixeln etwas so Spezifisches zu finden: Augendetektoren lassen sich viel einfacher aus Kantendetektoren als aus Rohpixeln zusammensetzen.
Die nächste Schicht setzt die Augendetektoren und die Nasendetektoren zu Gesichtern zusammen. Mit anderen Worten, diese leuchten auf, wenn die Augendetektoren und Nasendetektoren der vorherigen Ebene mit den richtigen Mustern eingeschaltet werden. Diese sind sehr gut für die Suche nach bestimmten Arten von Gesichtern geeignet: Wenn eines oder mehrere von ihnen aufleuchten, sollte Ihre Ausgabeebene melden, dass ein Gesicht vorhanden ist.
Dies ist nützlich, da Gesichtsdetektoren leicht aus Augendetektoren und Nasendetektoren aufgebaut werden können, aber wirklich schwer aus Pixelintensitäten.
Jede Ebene bringt Sie also immer weiter von den Rohpixeln entfernt und näher an Ihr Endziel (z. B. Gesichtserkennung oder Buserkennung).
Antworten auf verschiedene andere Fragen
"Warum sind einige Ebenen in der Eingabeebene mit der verborgenen Ebene verbunden und andere nicht?"
Die getrennten Knoten im Netzwerk werden "Bias" -Knoten genannt. Es ist eine wirklich schöne Erklärung hier . Die kurze Antwort ist, dass sie wie Intercept Terms in der Regression sind.
"Woher kommen die" Augendetektor "-Bilder im Bildbeispiel?"
Ich habe die spezifischen Bilder, mit denen ich verknüpft bin, nicht zweimal überprüft, aber im Allgemeinen zeigen diese Visualisierungen die Menge der Pixel in der Eingabeebene, die die Aktivität des entsprechenden Neurons maximieren. Wenn wir das Neuron also als einen Augendetektor betrachten, ist dies das Bild, das das Neuron als am augenähnlichsten ansieht. Leute finden diese Pixelsätze normalerweise mit einem Optimierungsverfahren (Hill-Climbing-Verfahren).
In diesem Artikel zeigen einige Google-Leute mit einem der weltweit größten neuronalen Netze ein "Gesichtsdetektor" -Neuron und ein "Katzendetektor" -Neuron auf diese Art und Weise sowie eine zweite Art und Weise: Sie zeigen auch die tatsächlichen Bilder , die das aktivieren am stärksten (Abbildung 3, Abbildung 16). Der zweite Ansatz ist schön, weil er zeigt, wie flexibel und nichtlinear das Netzwerk ist - diese "Detektoren" auf hoher Ebene sind für all diese Bilder empfindlich, obwohl sie auf Pixelebene nicht besonders ähnlich aussehen.
Lassen Sie mich wissen, wenn hier etwas unklar ist oder wenn Sie weitere Fragen haben.