Szkolenie sieci neuronowych (NN) przy pomocy algorytmów genetycznych (GA) jest nie tylko wykonalne, ale istnieje kilka niszowych obszarów, w których wydajność jest wystarczająco dobra, aby często ją wykorzystywać. Dobrym przykładem tego jest Neuroewolucja rozszerzających się topologii lub NEAT , która jest udanym podejściem do generowania kontrolerów w prostych środowiskach, takich jak gry.
Jednak w bardziej ogólnym przypadku podejście to nie jest dobrze skalowane do dużych, głębokich sieci z wieloma parametrami do dostrojenia.
Algorytmy genetyczne i inne globalne poszukiwania optymalnych parametrów są niezawodne w taki sposób, jak algorytmy gradientowe. Na przykład, możesz trenować NN z aktywacjami funkcji krokowych lub dowolnymi innymi niezróżnicowanymi funkcjami aktywacyjnymi. Mają słabości gdzie indziej. Jedną rzeczą istotną w przypadku GA stosowanych dla NN jest to, że parametry wagowe są wymienne w niektórych kombinacjach, ale silnie współzależne w innych kombinacjach. Scalenie dwóch równie dobrych sieci neuronowych o różnych parametrach - co zrobiłbyś w cross-overie w GA - zwykle spowoduje trzecią sieć o niskiej wydajności. Sukces NEAT polega częściowo na znalezieniu sposobu rozwiązania tego problemu poprzez „zwiększenie” połączeń NN i dopasowanie ich między podobnymi sieciami neuronowymi.
Podejścia oparte na gradiencie są znacznie wydajniejsze. Ogólnie rzecz biorąc, i nie tylko w dziedzinie NN, jeśli można obliczyć gradient funkcji w odniesieniu do parametrów, wówczas można znaleźć parametry optymalne szybciej niż większość innych technik optymalizacji. Dokładny gradient gwarantuje co najmniej niewielką poprawę w stosunku do pojedynczej oceny, a większość innych optymalizatorów popada w paradygmat generowania i ponawiania próby, który nie może dać tego rodzaju gwarancji. Słaba tendencja do znajdowania lokalnych optymów nie okazała się poważną przeszkodą dla funkcji strat w NN i została rozwiązana z pewnym stopniem powodzenia dzięki rozszerzeniom podstawowego spadku gradientu, takim jak pęd, RPROP, Adam itp.
W praktyce w dużej sieci wielowarstwowej metody gradientu są prawdopodobnie o rząd wielkości szybsze niż wyszukiwanie GA, takie jak NEAT w celu znalezienia parametrów sieci. Nie znajdziesz wyszkolonych przez GA sieci CNN, które rozwiązałyby ImageNet, ani nawet MNIST, w których GA samodzielnie ustalił wagi sieci. Jednak GA lub przynajmniej niektóre ich warianty nie są w 100% wykluczone. Na przykład w tym blogu z 2017 r. Dokonano przeglądu najnowszych artykułów, w tym ewolucji klasyfikatorów obrazów na dużą skalę, która bada wykorzystanie GA do odkrywania hiperparametrów NN, co jest ważnym zadaniem w uczeniu maszynowym i niezbyt wykonalnym przy użyciu metod opartych na gradientach.