Warum werden genetische Algorithmen nicht zur Optimierung neuronaler Netze verwendet?

13

Nach meinem Verständnis sind genetische Algorithmen leistungsstarke Werkzeuge für die Optimierung mehrerer Ziele.

Darüber hinaus ist das Trainieren neuronaler Netze (besonders tiefer Netze) schwierig und mit vielen Problemen verbunden (nicht konvexe Kostenfunktionen - lokale Minima, verschwinden- de und explodierende Gradienten usw.).

Ich bin auch der Meinung, dass konzeptionelles Training eines NN mit GA machbar ist. Ich habe mich gefragt, warum sie nicht in der Praxis verwendet werden. Geht es um Leistung?

cat91
quelle

Antworten:

5

Das Trainieren neuronaler Netze (NNs) mit genetischen Algorithmen (GAs) ist nicht nur machbar, es gibt auch einige Nischenbereiche, in denen die Leistung gut genug ist, um häufig verwendet zu werden. Ein gutes Beispiel hierfür ist Neuroevolution of Augmenting Topologies oder NEAT , ein erfolgreicher Ansatz zur Generierung von Controllern in einfachen Umgebungen wie Spielen.

Im allgemeineren Fall lässt sich der Ansatz jedoch nicht gut auf große, tiefe Netzwerke mit vielen zu optimierenden Parametern skalieren.

Genetische Algorithmen und andere globale Suchvorgänge nach optimalen Parametern sind so robust wie gradientenbasierte Algorithmen nicht. Beispielsweise können Sie einen NN mit Schrittfunktionsaktivierungen oder anderen nicht differenzierbaren Aktivierungsfunktionen trainieren. Sie haben anderswo Schwächen. Eine relevante Sache im Fall von GAs, die für NNs verwendet werden, ist, dass Gewichtsparameter in einigen Kombinationen austauschbar sind, in anderen Kombinationen jedoch stark koabhängig sind. Das Zusammenführen von zwei gleich guten neuronalen Netzen mit unterschiedlichen Parametern - wie Sie es bei einer GA-Überkreuzung tun würden - führt normalerweise zu einem dritten Netz mit schlechter Leistung. Der Erfolg von NEAT besteht teilweise darin, einen Weg zu finden, um dieses Problem zu lösen, indem die Verbindungen des NN "vergrößert" und zwischen ähnlichen neuronalen Netzen abgeglichen werden.

Gradientenbasierte Ansätze sind viel effizienter. Im Allgemeinen und nicht nur im Bereich der NNs können Sie, wenn Sie den Gradienten einer Funktion in Bezug auf Parameter berechnen können, die optimalen Parameter schneller finden als die meisten anderen Optimierungstechniken. Ein genauer Gradient garantiert mindestens eine kleine Verbesserung gegenüber einer einzelnen Bewertung, und die meisten anderen Optimierer fallen in ein Generate-and-Retry-Paradigma, das diese Art von Garantie nicht bieten kann. Die Schwäche der Tendenz, lokale Optima zu finden, stellte sich als kein großes Hindernis für die Verlustfunktionen in NNs heraus und wurde mit einigem Erfolg mit Erweiterungen des grundlegenden Gradientenabfalls wie Impuls, RPROP, Adam usw. angegangen.

In der Praxis sind Gradientenmethoden in einem großen mehrschichtigen Netzwerk wahrscheinlich um Größenordnungen schneller als GA-Suchen wie NEAT zum Auffinden von Netzwerkparametern. Sie werden keine von GA geschulten CNNs finden, die ImageNet oder sogar MNIST lösen, bei denen der GA die Netzwerkgewichte ohne Unterstützung gefunden hat. GAs oder zumindest einige Varianten davon sind jedoch nicht zu 100% ausgeschlossen. In diesem Blog aus dem Jahr 2017 werden zum Beispiel aktuelle Veröffentlichungen wie die groß angelegte Evolution von Bildklassifikatoren besprochen, in denen mithilfe von GAs NN- Hyperparameter ermittelt werden. Dies ist eine wichtige Aufgabe beim maschinellen Lernen und lässt sich mit gradientenbasierten Methoden nicht sehr gut nachvollziehen.

Neil Slater
quelle
1

Tatsächlich hat Google Brain bereits ähnliche Aktionen für Bildklassifizierer durchgeführt

In ihrer Forschung wird Backpropagation verwendet, um Netzwerke zu trainieren, aber sie verwenden genetische Algorithmen, um eine gute Architektur zu finden. Noch etwas zu erwähnen: Um zu ihrem besten Modell zu gelangen, brauchten sie enorm viel Rechenleistung.

Sie veröffentlichten ihre erste Veröffentlichung im Jahr 2017 und bekamen 2018 eine verbesserte Version . Sie können darüber in ihrem Blog-Post lesen

Es gibt eine andere Untersuchung zur Suche nach Netzwerkarchitekturen, die jedoch Bayes-Optimierung anstelle genetischer Algorithmen verwendet

Vadym B.
quelle