La neuroevolución es una forma de inteligencia artificial que utiliza algoritmos evolutivos para generar redes neuronales artificiales (RNA), parámetros y reglas.Stanley, Kenneth O. (2017-07-13). "Neuroevolution: A different kind of deep learning". O'Reilly Media. Consultado 2017-09-04. Se aplica más comúnmente en la vida artificial, los juegos en generalRisi, Sebastian; Togelius, Julian (2017). "Neuroevolution in Games: State of the Art and Open Challenges". IEEE Transactions on Computational Intelligence and AI in Games. 9: 25–41. arXiv:1410.7326. doi:10.1109/TCIAIG.2015.2494596. S2CID 11245845. y la robótica evolutiva. La principal ventaja es que la neuroevolución se puede aplicar de forma más amplia que los algoritmos de aprendizaje supervisado, que requieren un programa de pares de entrada-salida correctos. Por el contrario, la neuroevolución solo requiere una medida del rendimiento de una red en una tarea. Por ejemplo, el resultado de un juego (es decir, si un jugador ganó o perdió) se puede medir fácilmente sin proporcionar ejemplos etiquetados de las estrategias deseadas. La neuroevolución se utiliza comúnmente como parte del paradigma del aprendizaje por refuerzo, y se puede contrastar con las técnicas convencionales de aprendizaje profundo que utilizan la retropropagación (descenso de gradiente en una red neuronal) con una topología fija.

Características Se han definido muchos algoritmos de neuroevolución. Una distinción común es entre los algoritmos que solo evolucionan la fuerza de los pesos de conexión para una topología de red fija (a veces llamada neuroevolución convencional) y los algoritmos que evolucionan tanto la topología de la red como sus pesos (llamados TWEANN, por algoritmos de redes neuronales artificiales con evolución de topología y peso).

Se puede hacer una distinción separada entre los métodos que evolucionan la estructura de las ANN en paralelo a sus parámetros (los que aplican algoritmos evolutivos estándar) y los que las desarrollan por separado (a través de algoritmos meméticos).Togelius, Julian; Schaul, Tom; Schmidhuber, Jürgen; Gomez, Faustino (2008). "Countering Poisonous Inputs with Memetic Neuroevolution". Parallel Problem Solving from Nature – PPSN X. Lecture Notes in Computer Science. Vol. 5199. pp. 610–619. doi:10.1007/978-3-540-87700-4_61. .

Comparación con el descenso de gradiente La mayoría de las redes neuronales utilizan el descenso de gradiente en lugar de la neuroevolución. Sin embargo, alrededor de 2017, investigadores de Uber afirmaron que habían descubierto que los algoritmos simples de neuroevolución estructural eran competitivos con los sofisticados algoritmos de aprendizaje profundo de descenso de gradiente estándar de la industria moderna, en parte porque se descubrió que la neuroevolución era menos propensa a quedarse atascada en mínimos locales. En Science, el periodista Matthew Hutson especuló que parte de la razón por la que la neuroevolución está teniendo éxito donde antes había fracasado se debe al aumento de la potencia computacional disponible en la década de 2010.Hutson, Matthew (11/01/2018). "Artificial intelligence can 'evolve' to solve problems". Science. doi:10.1126/science.aas9715.

Se puede demostrar que existe una correspondencia entre la neuroevolución y el descenso de gradiente.Whitelam, Stephen; Selin, Viktor; Park, Sang-Won; Tamblyn, Isaac (2/11/2021). "Correspondence between neuroevolution and gradient descent". Nature Communications. 12 (1): 6317. arXiv:2008.06643. Bibcode:2021NatCo..12.6317W. doi:10.1038/s41467-021-26568-2. PMC 8563972. PMID 34728632.

Codificación directa e indirecta Los algoritmos evolutivos operan sobre una población de genotipos (también denominados genomas). En la neuroevolución, un genotipo se asigna a un fenotipo de red neuronal que se evalúa en alguna tarea para derivar su aptitud.

En los esquemas de codificación directa, el genotipo se asigna directamente al fenotipo. Es decir, cada neurona y conexión de la red neuronal se especifica directa y explícitamente en el genotipo. Por el contrario, en los esquemas de codificación indirecta, el genotipo especifica indirectamente cómo debe generarse esa red.Kassahun, Yohannes; Sommer, Gerald; Edgington, Mark; Metzen, Jan Hendrik; Kirchner, Frank (2007), "Common genetic encoding for both direct and indirect encodings of networks", Genetic and Evolutionary Computation Conference, ACM Press, pp. 1029–1036, CiteSeerX 10.1.1.159.70

Las codificaciones indirectas se utilizan a menudo para lograr varios objetivos:Gauci, Stanley (2007), "Generating Large-Scale Neural Networks Through Discovering Geometric Regularities" (PDF), Genetic and Evolutionary Computation Conference, New York, NY: ACMGruau, Frédéric; I, L'universite Claude Bernard-lyon; Doctorat, Of A. Diplome De; Demongeot, M. Jacques; Cosnard, Examinators M. Michel; Mazoyer, M. Jacques; Peretto, M. Pierre; Whitley, M. Darell (1994). Neural Network Synthesis Using Cellular Encoding And The Genetic Algorithm. CiteSeerX 10.1.1.29.5939Clune, J.; Stanley, Kenneth O.; Pennock, R. T.; Ofria, C. (June 2011). "On the Performance of Indirect Encoding Across the Continuum of Regularity". IEEE Transactions on Evolutionary Computation. 15 (3): 346–367. CiteSeerX 10.1.1.375.6731. doi:10.1109/TEVC.2010.2104157. ISSN 1089-778X. S2CID 3008628.Risi, Sebastian; Stanley, Kenneth O. (October 2012). "An Enhanced Hypercube-Based Encoding for Evolving the Placement, Density, and Connectivity of Neurons". Artificial Life. 18 (4): 331–363. doi:10.1162/ARTL_a_00071. PMID 22938563. S2CID 3256786.

modularidad y otras regularidades; compresión del fenotipo a un genotipo más pequeño, lo que proporciona un espacio de búsqueda más reducido; asignación del espacio de búsqueda (genoma) al dominio del problema.

Taxonomía de los sistemas embriogénicos para la codificación indirecta Tradicionalmente, las codificaciones indirectas que emplean la embriogénesis artificial (también conocida como desarrollo artificial) se han clasificado según un enfoque gramatical frente a un enfoque de química celular.Stanley, Kenneth O.; Miikkulainen, Risto (Abril 2003). "A Taxonomy for Artificial Embryogeny". Artificial Life. 9 (2): 93–130. doi:10.1162/106454603322221487. PMID 12906725. S2CID 2124332. El primero desarrolla conjuntos de reglas en forma de sistemas de reescritura gramatical. El segundo intenta imitar cómo surgen las estructuras físicas en la biología a través de la expresión génica. Los sistemas de codificación indirecta suelen utilizar aspectos de ambos enfoques.

Stanley y Miikkulainen proponen una taxonomía para los sistemas embriogénicos que pretende reflejar sus propiedades subyacentes. La taxonomía identifica cinco dimensiones continuas, a lo largo de las cuales se puede situar cualquier sistema embriogénico:

Destino celular (neuronal): las características y la función finales de la célula en el fenotipo maduro. Esta dimensión cuenta el número de métodos utilizados para determinar el destino de una célula. Direccionamiento: el método por el cual las conexiones se dirigen desde las células de origen a las células de destino. Esto abarca desde el direccionamiento específico (el origen y el destino se identifican explícitamente) hasta el direccionamiento relativo (por ejemplo, basado en la ubicación de las células entre sí). Heterochronía: el momento y el orden de los eventos durante la embriogénesis. Cuenta el número de mecanismos para cambiar el momento de los eventos. Canalización: la tolerancia del genoma a las mutaciones (fragilidad). Va desde la necesidad de instrucciones genotípicas precisas hasta una alta tolerancia a las mutaciones imprecisas. Complejización: la capacidad del sistema (incluido el algoritmo evolutivo y la correspondencia entre genotipo y fenotipo) para permitir la complejización del genoma (y, por lo tanto, del fenotipo) a lo largo del tiempo. Va desde permitir solo genomas de tamaño fijo hasta permitir genomas de longitud muy variable.

Ejemplos Ejemplos de métodos de neuroevolución (los que tienen codificaciones directas son necesariamente no embriogénicos):