Es ist wahr, dass es schwer zu verstehen ist, was ein neuronales Netzwerk lernt, aber an dieser Front wurde viel gearbeitet. Wir können uns definitiv ein Bild davon machen, wonach unser Netzwerk sucht.
Betrachten wir den Fall eines Faltungsnetzes für Bilder. Wir haben die Interpretation für unsere erste Ebene, dass wir Filter über das Bild schieben , also entspricht unsere erste verborgene Ebene der Übereinstimmung zwischen kleinen Teilen des Bildes und unseren verschiedenen Filtern. Wir können diese Filter visualisieren, um zu sehen, was unsere erste Darstellungsebene ist:K
Dieses Bild zeigt die erste Ebene von Filtern aus einem AlexNet und stammt aus diesem wunderbaren Tutorial: http://cs231n.github.io/understanding-cnn/ . Dies lässt uns die erste verborgene Ebene so interpretieren, dass wir lernen, das aus rohen Pixeln bestehende Bild als Tensor darzustellen, wobei jede Koordinate die Übereinstimmung eines Filters mit einem kleinen Bereich des Bildes ist. Die nächste Ebene arbeitet dann mit diesen Filteraktivierungen.
⎡⎣⎢0101- 41010⎤⎦⎥.
0
Dieser Aufsatz von Erhan et al. (2009) stimmt dem zu: Sie sagen, dass erste Visualisierungen mit versteckten Ebenen üblich sind (und das war bereits 2009), aber die Visualisierung der tieferen Ebenen ist der schwierige Teil. Aus diesem Papier:
Das wichtigste experimentelle Ergebnis dieser Untersuchung ist sehr überraschend: Die Reaktion einer internen Einheit auf Eingabebilder als Funktion im Bildraum erscheint unimodal, oder zumindest, dass das Maximum für alle getesteten zufälligen Initialisierungen zuverlässig und konsistent gefunden wird . Dies ist interessant, da es relativ einfach ist, diesen dominanten Modus zu finden, und seine Anzeige dann eine gute Charakterisierung dessen liefert, was das Gerät tut.
Chris Olah et al ( https://distill.pub/2017/feature-visualization/ ) bauen darauf auf und diskutieren, wie Sie im Allgemeinen (1) Bilder generieren können, die zu großen Aktivierungen führen, um einen Eindruck von dem Netzwerk zu bekommen schaut nach; oder (2) nehmen Sie tatsächliche Eingabebilder auf und sehen Sie, wie verschiedene Teile des Bildes das Netzwerk aktivieren. Dieser Beitrag konzentriert sich auf (1).
In der folgenden Abbildung aus dem verlinkten Artikel von Olah et al. Diskutieren die Autoren die verschiedenen Aspekte des Netzwerks, die Sie einsehen können. Das Bild ganz links zeigt das Ergebnis der Optimierung der Aktivierung eines bestimmten Neurons über den Eingabebildraum usw.
Ich würde es wärmstens empfehlen, diesen Artikel in seiner Gesamtheit zu lesen, wenn Sie ein tieferes Verständnis davon haben möchten, und wenn Sie seine Referenzen lesen, sollten Sie einen guten Überblick darüber haben, was damit gemacht wurde.
Das galt natürlich nur für Bilder, in denen wir als Menschen die Eingaben verstehen können. Wenn Sie mit etwas arbeiten, das schwerer zu interpretieren ist, wie z. B. einem großen Vektor von Zahlen, können Sie möglicherweise keine so coolen Visualisierungen erstellen, aber im Prinzip können Sie diese Techniken dennoch in Betracht ziehen, um die verschiedenen Neuronen, Schichten usw. zu bewerten .