La formazione di reti neurali (NN) con algoritmi genetici (GA) non è solo fattibile, ci sono alcune aree di nicchia in cui le prestazioni sono abbastanza buone per essere utilizzate frequentemente. Un buon esempio di ciò è Neuroevolution di topologie in aumento o NEAT , che rappresenta un approccio efficace alla generazione di controller in ambienti semplici, come i giochi.
Nel caso più generale, tuttavia, l'approccio non si adatta a reti grandi e profonde con molti parametri da sintonizzare.
Gli algoritmi genetici e altre ricerche globali per i parametri ottimali sono robusti in modi che non lo sono gli algoritmi basati sul gradiente. Ad esempio, è possibile addestrare un NN con attivazioni della funzione Step o qualsiasi altra funzione di attivazione non differenziabile. Hanno punti deboli altrove. Una cosa rilevante nel caso degli GA usati per gli NN è che i parametri di peso sono intercambiabili in alcune combinazioni ma fortemente dipendenti da altre combinazioni. La fusione di due reti neurali ugualmente buone con parametri diversi - cosa che si farebbe in un cross-over in un GA - di solito si tradurrà in una terza rete con scarse prestazioni. Il successo di NEAT è in parte quello di trovare un modo per affrontare tale problema "accrescendo" le connessioni della NN e abbinandole tra reti neurali simili.
Gli approcci basati sul gradiente sono molto più efficienti. In generale, e non solo nel dominio degli NN, se è possibile calcolare il gradiente di una funzione rispetto ai parametri, è possibile trovare i parametri ottimali più rapidamente della maggior parte delle altre tecniche di ottimizzazione. Un gradiente accurato garantisce almeno un piccolo miglioramento da una singola valutazione e la maggior parte degli altri ottimizzatori rientra in un paradigma di generazione e riprova che non può garantire quel tipo di garanzia. La debolezza della tendenza a trovare optima locale non si è rivelata un grosso ostacolo per le funzioni di perdita nelle NN ed è stata affrontata con un certo grado di successo usando estensioni per la discesa del gradiente di base come momentum, RPROP, Adam ecc.
In pratica su una grande rete multistrato, i metodi a gradiente sono probabilmente ordini di grandezza più veloci delle ricerche GA come NEAT per trovare i parametri di rete. Non troverai CNN addestrate a GA che risolvono ImageNet, o persino MNIST, in cui GA ha trovato i pesi di rete senza aiuto. Tuttavia, le GA, o almeno alcune loro varianti, non sono escluse al 100%. Ad esempio, questo blog del 2017 esamina articoli recenti tra cui Evoluzione su larga scala dei classificatori di immagini che esplora l'utilizzo di GA per scoprire gli iperparametri NN che sono un compito importante nell'apprendimento automatico e non molto trattabili utilizzando metodi basati su gradiente.