O treinamento de redes neurais (NNs) com algoritmos genéticos (GAs) não é apenas viável, existem algumas áreas de nicho em que o desempenho é bom o suficiente para ser usado com freqüência. Um bom exemplo disso é a Neuroevolução de topologias aumentadas ou NEAT , uma abordagem bem-sucedida para gerar controladores em ambientes simples, como jogos.
No caso mais geral, porém, a abordagem não se adapta bem a redes grandes e profundas com muitos parâmetros a serem ajustados.
Os algoritmos genéticos e outras pesquisas globais por parâmetros ideais são robustos de uma maneira que os algoritmos baseados em gradiente não são. Por exemplo, você pode treinar um NN com ativações da função step ou qualquer outra função de ativação não diferenciável. Eles têm fraquezas em outros lugares. Uma coisa relevante no caso dos GAs usados para RNs é que os parâmetros de peso são intercambiáveis em algumas combinações, mas fortemente co-dependentes em outras combinações. A fusão de duas redes neurais igualmente boas com parâmetros diferentes - o que você faria no cruzamento em um GA - normalmente resultará em uma terceira rede com desempenho ruim. O sucesso da NEAT é parcialmente encontrar uma maneira de resolver esse problema "aumentando" as conexões da NN e combinando-as entre redes neurais semelhantes.
As abordagens baseadas em gradiente são muito mais eficientes. Em geral, e não apenas no domínio de NNs, se você puder calcular o gradiente de uma função com relação aos parâmetros, poderá encontrar parâmetros ideais mais rapidamente do que a maioria das outras técnicas de otimização. Um gradiente preciso garante pelo menos uma pequena melhoria de uma única avaliação, e a maioria dos outros otimizadores se enquadra em um paradigma de geração e repetição que não pode oferecer esse tipo de garantia. A fraqueza de tentar encontrar ótimas locais acabou não sendo um grande obstáculo para as funções de perda em NNs, e foi enfrentada com algum grau de sucesso usando extensões para a descida básica do gradiente, como momento, RPROP, Adam etc.
Na prática, em uma grande rede de várias camadas, os métodos de gradiente são ordens de magnitude provavelmente mais rápidas que as pesquisas no GA, como a NEAT, para encontrar parâmetros de rede. Você não encontrará CNNs treinadas pelo GA que resolvam o ImageNet, ou mesmo o MNIST, onde o GA encontrou os pesos da rede sem ajuda. No entanto, os AGs, ou pelo menos algumas variantes deles, não são 100% descartados. Por exemplo, este blog de 2017 analisa artigos recentes, incluindo Evolução em Grande Escala de Classificadores de Imagem, que explora o uso de GAs para descobrir hiperparâmetros NN, uma tarefa importante no aprendizado de máquina e não muito tratável usando métodos baseados em gradiente.