Ich wurde angewiesen, ein neuronales Netzwerk zu implementieren, um Vorhersagen zu machen. Also habe ich einen Feed Forward MultiLayer Perceptron mit einem Backpropagation Algorithmus erstellt und es funktioniert gut. Aber ich muss schneller und schneller Ergebnisse erzielen. Also habe ich über genetischen Algorithmus gedacht, um die Gewichte in der Trainingseinheit zu optimieren.Gewichtsoptimierung eines neuronalen Netzwerks mit Hilfe eines genetischen Algorithmus
Wie schlagen Sie vor, das Chromosom zu kodieren?
Ich habe es bereits als eine Tabelle von Gewichten erstellt zufällig (-100, 100) gemacht, aber es gibt keine außergewöhnlichen Ergebnisse. Ich vermute, dass das Problem darin besteht, dass das Generieren einer zufälligen Tabelle von Gewichtungen den Lösungsraum begrenzt, selbst wenn die Mutationswahrscheinlichkeit hoch ist.
Irgendeine Idee, wie man die Gewichte im Chromosom kodiert, um den genetischen Algorithmus großartig arbeiten zu lassen?
Vielen Dank im Voraus.
Schneller als bei schneller Konvergenz? Verwenden Sie dann die Stapelnormalisierung. –
Die Verwendung eines genetischen Algorithmus erfordert wahrscheinlich mehr Ressourcen (z. B. Zeit und CPU) als nur die Verwendung von Gradientenabstieg oder einen anderen analytischen Lernansatz. Haben Sie versucht, RMSprop oder adagrad zu verwenden? – jorgenkg
Ich habe schon vorher mit sich entwickelnden neuronalen Netzwerken gearbeitet, und ich denke, dass die Darstellung der Netzwerkgewichte als Bitvektor und die anschließende Transformation zwischen den beiden Darstellungen (Bitvektor/Gewichtung) sich als die effizienteste Suchstrategie erwiesen hat. – jorgenkg