Was kann man aus den Gewichten in einem neuronalen Netzwerk lernen?


8

Ich bin sehr neu in neuronalen Netzen und habe versucht, einige Dinge herauszufinden. Angenommen, Sie stoßen auf ein neuronales Netzwerk mit 100 Eingängen, einer verborgenen Schicht mit 200 Knoten und 32 Ausgängen. Nehmen wir auch an, Sie, der "Entdecker" dieser bestimmten Instanz eines neuronalen Netzwerks, können die Gewichte der einzelnen Neuronen lesen. Was könnten Sie über die Funktion herausfinden?

1) Können Sie feststellen, welcher Algorithmus oder welche Logik im neuronalen Netzwerk enthalten ist? Abgesehen davon, dass alle möglichen Eingaben eingegeben und die von ihr erzeugten Ausgaben untersucht werden.

2) Wenn Sie Informationen über die Verbindung des neuronalen Netzwerks erhalten würden (möglicherweise ist das Netzwerk nicht vollständig verbunden), wäre die Lösung der obigen Frage einfacher?


f(x1,x2,...)=...

Antworten:


7

Es hängt davon ab, ob. Die Gewichte neuronaler Netze können grafisch dargestellt oder visualisiert werden, um einen Einblick zu erhalten. Dies ist besonders nützlich, wenn das neuronale Netzwerk mit visueller Verarbeitung arbeitet. Es ist möglich, "abzuleiten", welche Eingaben auf niedriger Ebene in das neuronale Netzwerk bestimmte Neuronen in höheren Ebenen erzeugen, um "zu feuern", indem rückwärts durch die Gewichte des neuronalen Netzwerks gearbeitet wird - mit anderen Worten, das Problem des Findens / Ableitens der Eingabe auf niedriger Ebene Muster, die bestimmte Neuronen maximal anregen und die Ergebnisse grafisch darstellen. Ein gutes Beispiel dafür ist das jüngste Durchbruchsergebnis von Google in einem selbst trainierten visuellen Netzwerk, das sich selbst organisiert hat, um übergeordnete Muster wie Katzen und menschliche Gesichter usw. zu finden. [1], [2], [3]

Dies wird auch als "Merkmalserkennung" bezeichnet, und es gibt eine mit dem Nobelpreis ausgezeichnete Forschung (Hubel / Weisel 1981), die zeigt, dass echte Gehirnneuronen in unterschiedlichem Maße auf ähnliche Weise funktionieren. In diesem Bereich wird derzeit aktiv an biologischen und künstlichen Systemen geforscht.

Eine andere Möglichkeit zur Analyse neuronaler Netzgewichte besteht darin, zu schließen, welche Faktoren (Eingaben) das neuronale Netzwerk beeinflussen und welche nicht. Angenommen, das neuronale Netz wird zur Vorhersage der Aktienkurse verwendet und hat verschiedene Inputs, die sich auf verschiedene wirtschaftliche Variablen beziehen, wie z. B. BIP, Goldpreise, DJIA (ein Index) und Zinssätze. Nachdem das Netzwerk trainiert wurde (erfolgreich!), Um etwas vorherzusagen (sagen wir zukünftige Preise), kann man bestimmen, wie viel Einfluss jede der Eingabevariablen auf die endgültige Vorhersage hat.

Es kann auch eine Bestimmung der grundlegenden negativen oder positiven Korrelation zwischen Eingabe und Ausgabe vorgenommen werden. Auf diese Weise können neuronale Netze auf eine Weise verwendet werden, die statistischen Techniken wie der Faktoranalyse sehr ähnlich ist .

Die Antwort lautet also "Ja absolut", aber nur in dem Sinne, dass es verschiedene Möglichkeiten gibt, "Algorithmen" in neuronalen Netzen über grafische oder andere "vom Menschen lesbare" Darstellungen zu enthüllen, außer mit der typischen Darstellung von Algorithmen, dh Code. Die Darstellung von Gewichten neuronaler Netze auf lesbare Weise und das Finden neuer nützlicher Darstellungen ist jedoch ein aktives Forschungsgebiet.

[1] Google setzt seine Virtual Brain-Technologie für die Überprüfung der Arbeitstechnologie ein

[2] Google künstliche Gehirn lernt finden Cat Videos Wired

[3] Wie viele Computer zur Identifizierung einer Katze? 16.000 NYT


6

Können Sie feststellen, welcher Algorithmus oder welche Logik im neuronalen Netzwerk enthalten ist? Abgesehen davon, dass alle möglichen Eingaben eingegeben und die von ihr erzeugten Ausgaben untersucht werden.

Nein, ich denke nicht, nicht auf sinnvolle Weise. Dies wäre vergleichbar mit dem Studieren der Bits in jedem einzelnen Byte eines Computerprogramms, um dessen Zweck zu bewerten. Sie benötigen eine Bedeutung , um dies zu bestimmen, und Sie können dies nur erreichen, indem Sie die Ein- und Ausgänge untersuchen oder die tatsächlichen Opcodes auswerten.

Einzelne Neuronengewichte haben keine Bedeutung. Nur wenn diese Gewichte zu einer Antwort kombiniert werden, werden sie bedeutungsvoll.

Sie könnten wahrscheinlich die Trainingsmethode des neuronalen Netzes ermitteln, indem Sie seine Gesamtstruktur und das Muster der relativen Gewichte in der neuronalen Struktur beobachten.


Man kann mehr über ein neuronales Netzwerk lernen, indem man seine Gewichte analysiert, als diese Antwort impliziert; Insbesondere gibt es eine Menge Dinge, die Sie mit Backpropagation tun können, abgesehen von der anfänglichen Schulung des Netzwerks.
Jeremy List
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.