La formation de réseaux neuronaux (NN) avec des algorithmes génétiques (AG) n'est pas seulement faisable, il existe des domaines de niche où les performances sont suffisamment bonnes pour être utilisées fréquemment. Un bon exemple de ceci est Neuroevolution des topologies augmentantes ou NEAT , qui est une approche réussie pour générer des contrôleurs dans des environnements simples, tels que les jeux.
Dans le cas plus général cependant, l'approche ne s'adapte pas bien aux grands réseaux profonds avec de nombreux paramètres à régler.
Les algorithmes génétiques et autres recherches globales pour les paramètres optimaux sont robustes comme les algorithmes basés sur le gradient ne le sont pas. Par exemple, vous pouvez entraîner un NN avec des activations de fonction pas à pas ou toute autre fonction d'activation non différenciable. Ils ont des faiblesses ailleurs. Une chose pertinente dans le cas des AG utilisés pour les NN est que les paramètres de poids sont interchangeables dans certaines combinaisons mais fortement dépendants dans d'autres combinaisons. La fusion de deux réseaux neuronaux tout aussi bons avec des paramètres différents - que vous feriez en croisement dans un GA - se traduira généralement par un troisième réseau avec de mauvaises performances. Le succès de NEAT est en partie de trouver un moyen de résoudre ce problème en «développant» les connexions du NN et en les faisant correspondre entre des réseaux de neurones similaires.
Les approches basées sur les gradients sont beaucoup plus efficaces. En général, et pas seulement dans le domaine des NN, si vous pouvez calculer le gradient d'une fonction par rapport aux paramètres, vous pouvez trouver des paramètres optimaux plus rapidement que la plupart des autres techniques d'optimisation. Un gradient précis garantit au moins une petite amélioration par rapport à une seule évaluation, et la plupart des autres optimiseurs tombent dans un paradigme de génération et de nouvelle tentative qui ne peut pas fournir ce type de garantie. La faiblesse de la tendance à trouver des optima locaux ne s'est pas avérée être un obstacle majeur pour les fonctions de perte dans les NN, et a été abordée avec un certain succès en utilisant des extensions à la descente de gradient de base telles que l'élan, le RPROP, Adam, etc.
Dans la pratique sur un grand réseau multicouche, les méthodes de gradient sont probablement des ordres de grandeur plus rapides que les recherches GA telles que NEAT pour trouver des paramètres de réseau. Vous ne trouverez aucun CNN formé par GA qui résout ImageNet, ou même MNIST, où l'AG a trouvé les poids du réseau sans aide. Cependant, les AG, ou du moins certaines variantes d'entre eux, ne sont pas exclus à 100%. Par exemple, ce blog de 2017 passe en revue des articles récents, y compris l' évolution à grande échelle des classificateurs d'images, qui explore l'utilisation des AG pour découvrir les hyperparamètres NN, ce qui est une tâche importante dans l'apprentissage automatique et peu exploitable à l'aide de méthodes basées sur un gradient.