La formación de redes neuronales (NN) con algoritmos genéticos (GA) no solo es factible, hay algunas áreas de nicho donde el rendimiento es lo suficientemente bueno como para ser utilizado con frecuencia. Un buen ejemplo de esto es la neuroevolución de topologías de aumento o NEAT , que es un enfoque exitoso para generar controladores en entornos simples, como los juegos.
Sin embargo, en el caso más general, el enfoque no escala bien a redes grandes y profundas con muchos parámetros para sintonizar.
Los algoritmos genéticos y otras búsquedas globales de parámetros óptimos son robustos en formas que los algoritmos basados en gradientes no lo son. Por ejemplo, puede entrenar a un NN con activaciones de funciones escalonadas o cualquier otra función de activación no diferenciable. Tienen debilidades en otros lugares. Una cosa relevante en el caso de las AG utilizadas para las NN es que los parámetros de peso son intercambiables en algunas combinaciones pero muy co-dependientes en otras combinaciones. La fusión de dos redes neuronales igualmente buenas con diferentes parámetros, lo que haría en el cruce en un GA, generalmente dará como resultado una tercera red con bajo rendimiento. El éxito de NEAT se debe en parte a encontrar una manera de abordar ese problema "haciendo crecer" las conexiones de la NN y uniéndolas entre redes neuronales similares.
Los enfoques basados en gradientes son mucho más eficientes. En general, y no solo en el dominio de NN, si puede calcular el gradiente de una función con respecto a los parámetros, puede encontrar los parámetros óptimos más rápido que la mayoría de las otras técnicas de optimización. Un gradiente preciso garantiza al menos una pequeña mejora de una sola evaluación, y la mayoría de los otros optimizadores caen en un paradigma de generar y volver a intentar que no puede ofrecer ese tipo de garantía. La debilidad de tender a encontrar óptimos locales no ha resultado ser un obstáculo importante para las funciones de pérdida en las NN, y se ha abordado con cierto grado de éxito utilizando extensiones para el descenso de gradiente básico como impulso, RPROP, Adam, etc.
En la práctica, en una gran red multicapa, los métodos de gradiente son probablemente órdenes de magnitud más rápidos que las búsquedas de GA, como NEAT para encontrar parámetros de red. No encontrará ninguna CNN entrenada en GA que resuelva ImageNet, o incluso MNIST, donde la GA ha encontrado los pesos de la red sin ayuda. Sin embargo, los GA, o al menos algunas variantes de ellos, no se descartan al 100%. Por ejemplo, este blog de 2017 revisa documentos recientes que incluyen la clasificación a gran escala de clasificadores de imágenes que explora el uso de GA para descubrir hiperparámetros NN, que es una tarea importante en el aprendizaje automático y no es muy manejable utilizando métodos basados en gradientes.