Wie hat die Verwendung von evolutionären Algorithmen zum Entwerfen und Trainieren künstlicher neuronaler Netze Vorteile gegenüber der Verwendung herkömmlicher Backpropagation-Algorithmen?
Wie hat die Verwendung von evolutionären Algorithmen zum Entwerfen und Trainieren künstlicher neuronaler Netze Vorteile gegenüber der Verwendung herkömmlicher Backpropagation-Algorithmen?
Im Gegensatz zur Backpropagation erfordern evolutionäre Algorithmen nicht, dass die Zielfunktion in Bezug auf die Parameter, die Sie optimieren möchten, differenziell ist. Infolgedessen können Sie "mehr Dinge" im Netzwerk optimieren, z. B. Aktivierungsfunktionen oder die Anzahl der Schichten, die mit der Standard-Backpropagation nicht möglich wären.
Ein weiterer Vorteil besteht darin, dass Sie durch die Definition der Mutations- und Crossover-Funktionen beeinflussen können, wie der Parametersuchraum untersucht werden soll.
Nach Francks Antwort gibt es möglicherweise bessere Optima (sogar globale Optima), die entgegengesetzt zum Gradienten existieren (möglicherweise in Richtung einiger lokaler Optima). Evolutionäre Algorithmen können die Umgebung durchsuchen, während sich die Rückausbreitung immer in Richtung des Gradienten bewegt. Ohne Garantie (aufgrund ihrer Zufälligkeit) können evolutionäre Algorithmen möglicherweise Lösungen finden, die eine Rückausbreitung einfach nicht kann.