Neuroevolución explicada para expertos


La neuroevolución es un enfoque en el que se utilizan algoritmos evolutivos para optimizar redes neuronales en cuanto a su topología y ponderación.

Formalmente, una población P_t de redes en la generación t se transforma mediante operadores de selección S, operadores de mutación M y recombinación R:

P_{t+1} = R(M(S(P_t)))

Cada individuo i ∈ P_t se evalúa mediante una función de aptitud f(i), que mide el rendimiento de la red en la tarea objetivo.

La neuroevolución incluye métodos como NEAT, que expande incrementamente topologías de redes mientras optimiza pesos, así como CPPNs (Redes Composicionales Productoras de Patrones) para desarrollar estructuras complejas.

Estos métodos permiten diseñar de forma adaptativa tanto la arquitectura como los parámetros de las redes neuronales, lo que es especialmente ventajoso en problemas con objetivos no diferenciables o entornos dinámicos.


Definición:
«La neuroevolución es la aplicación de algoritmos evolutivos para la optimización simultánea de la estructura y los parámetros de redes neuronales, basada en una evaluación de aptitud de su rendimiento.»


Fuente:
Stanley, K. O., & Miikkulainen, R. (2002). Evolving Neural Networks through Augmenting Topologies. Evolutionary Computation, 10(2), 99-127.