Anpassung des neuronalen Netzwerks

8

Ich habe gelegentlich neuronale Netze (Back Propagation Networks) mit einigen ziemlich komplizierten Datensätzen (Backgammon-Positionen und OCR) trainiert. Dabei scheint es, dass ein Großteil der Arbeit darin besteht, verschiedene Konfigurationen der Netzwerke auszuprobieren, um die optimale Konfiguration für das Lernen zu finden. Oft gibt es einen Kompromiss zwischen kleinen Netzen, die schneller zu verwenden / zu lernen sind, und größeren Netzen, die mehr Wissen darstellen können.

Dann frage ich mich, ob es möglich sein könnte, einige Netzwerke zu erstellen, die sowohl schnell als auch groß sind. Ich denke, dass in einem Netzwerk, in dem nicht jedes Neuron vollständig verbunden ist, die Berechnung schneller sein sollte als in Netzen mit vollständiger Verbindung auf allen Ebenen. Es könnte das Training sein, das erkannt hat, dass bestimmte Eingaben von bestimmten Neuronen nicht benötigt werden, und daher diese Verbindungen entfernt. In gleicher Weise könnte das Training auch das Hinzufügen neuer Neuronen beinhalten, wenn einige Neuronen "überlastet" zu sein scheinen.

Ist das etwas, das mit Erfolg ausprobiert wurde? Gibt es Klassen von Netzwerken mit dieser Art von Verhalten?

Ebbe M. Pedersen
quelle

Antworten:

5

Dies ist in etwa ein offenes Problem, das Gegenstand laufender Forschung mit verschiedenen bekannten Strategien und Heuristiken ist. Ein Schlüsselwort ist „neuronalen Netzwerkarchitektur “. Die grundlegendste Strategie besteht darin, verschiedene Netzwerktopologien zu durchlaufen und für jede neu zu trainieren. Eine andere Strategie besteht darin, mit einem relativ größeren Netzwerk zu beginnen und Verbindungen mit geringem Gewicht zu beschneiden und neu zu trainieren und nach Verbesserungen zu suchen. Vor Jahren wurde dies in mindestens einem Artikel als "Hirnschaden" bezeichnet [2]. Hier sind einige Beispielreferenzen. Es gibt viele andere. Es besteht auch die Möglichkeit, GA- ähnliche Algorithmen zur Bestimmung der Netzwerkstruktur zu verwenden [3]. Hier ist ein Teil der Zusammenfassung von [1]:

Die Verwendung von ANNs erfordert einige kritische Entscheidungen des Benutzers, die die Genauigkeit der resultierenden Klassifizierung beeinträchtigen können. In dieser Studie wird die Bestimmung der optimalen Netzwerkstruktur untersucht, die eines der wichtigsten Attribute eines Netzwerks ist. Die Struktur des Netzwerks wirkt sich direkt auf die Trainingszeit und die Klassifizierungsgenauigkeit aus. Obwohl in der Literatur einige Diskussionen über die Auswirkungen der Netzwerkstruktur auf die Leistung des Netzwerks geführt werden, gibt es keine bestimmte Methode oder einen bestimmten Ansatz zur Bestimmung der besten Struktur. Hier werden Untersuchungen zum Zusammenhang zwischen der Netzwerkstruktur und der Genauigkeit der Klassifizierung unter Verwendung eines MATLAB-Toolkits durchgeführt, um die Vorteile der wissenschaftlichen Visualisierung zu nutzen.

[1] Bestimmung der optimalen Struktur für künstliche neuronale Netze von Taskin Kavzoglu

[2] Optimale Hirnschädigung Le Cun, Denker, Solla

[3] Finden einer optimalen neuronalen Netzwerkarchitektur mithilfe genetischer Algorithmen Britos et al

vzn
quelle
1
+1 Danke vzn. Ich denke, "Hirnschaden" würde Sie schneller denken lassen :) Vielleicht könnte etwas ergeben, wenn es mit einigen zufälligen Mutationen (Hinzufügen neuer Neuronen) und anschließender Iteration mit neuem "Hirnschaden" kombiniert wird. Wie auch immer - ich freue mich darauf, die von Ihnen bereitgestellten Links zu untersuchen.
Ebbe M. Pedersen