Neuroevolución

La neuroevolución  es una forma de aprendizaje automático que utiliza algoritmos evolutivos para entrenar una red neuronal . Este enfoque se utiliza en industrias tales como juegos y control de unidades robóticas . En estos casos, basta simplemente con medir el rendimiento de una red neuronal, mientras que es muy difícil o casi imposible implementar el aprendizaje supervisado. Este método de aprendizaje pertenece a la categoría de métodos de aprendizaje por refuerzo .

Características

Existe un gran número de algoritmos neuroevolutivos, que se dividen en dos grupos. El primer grupo incluye algoritmos que producen la evolución de pesos para una topología de red dada , el otro incluye algoritmos que, además de la evolución de pesos, también producen la evolución de la topología de red. Aunque no existen condiciones generalmente aceptadas para hacer distinciones, se acepta que la adición o eliminación de enlaces en la red durante la evolución se denomina complicación o simplificación, respectivamente. Las redes que evolucionan tanto en las conexiones como en la topología se denominan TWEANN (Redes neuronales artificiales con evolución de topología y peso).

Codificación directa e indirecta de redes neuronales

Los algoritmos evolutivos manipulan múltiples genotipos. En neuroevolución , un genotipo  es una representación de una red neuronal. En un esquema de codificación directa, el genotipo es equivalente al fenotipo , las neuronas y las conexiones se especifican directamente en el genotipo. Por el contrario, en el esquema con codificación indirecta en el genotipo, se indican las reglas y estructuras para crear una red neuronal.

La codificación indirecta se utiliza para lograr los siguientes objetivos:

Véase también