Neuroevolución

Forma de inteligencia artificial

La neuroevolución , o neuroevolución , es una forma de inteligencia artificial que utiliza algoritmos evolutivos para generar redes neuronales artificiales (RNA), parámetros y reglas. [1] Se aplica más comúnmente en la vida artificial , los juegos en general [2] y la robótica evolutiva . El principal beneficio es que la neuroevolución se puede aplicar más ampliamente 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 estrategias deseadas. La neuroevolución se usa comúnmente como parte del paradigma de aprendizaje de refuerzo y se puede contrastar con las técnicas convencionales de aprendizaje profundo que utilizan 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 algoritmos que solo desarrollan la fuerza de los pesos de conexión para una topología de red fija (a veces llamados neuroevolución convencional) y algoritmos que desarrollan tanto la topología de la red como sus pesos (llamados TWEANN, por Topology and Weight Evolving Artificial Neural Network algorithms).

Se puede hacer una distinción separada entre los métodos que desarrollan la estructura de las ANN en paralelo a sus parámetros (aquellos que aplican algoritmos evolutivos estándar) y aquellos que los desarrollan por separado (a través de algoritmos meméticos ). [3]

Comparación con el descenso de gradiente

La mayoría de las redes neuronales utilizan el descenso de gradientes en lugar de la neuroevolución. Sin embargo, alrededor de 2017, los investigadores de Uber afirmaron que habían descubierto que los algoritmos de neuroevolución estructural simples eran competitivos con los sofisticados algoritmos de aprendizaje profundo de descenso de gradientes estándar de la industria moderna , en parte porque se descubrió que la neuroevolución tenía menos probabilidades de quedarse estancada 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. [4]

Se puede demostrar que existe una correspondencia entre la neuroevolución y el descenso del gradiente. [5]

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 una red neuronal que se evalúa en alguna tarea para derivar su aptitud .

En los esquemas de codificación directa , el genotipo se corresponde directamente con el 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. [6]

Las codificaciones indirectas se utilizan a menudo para lograr varios objetivos: [6] [7] [8] [9] [10]

  • modularidad y otras regularidades;
  • compresión del fenotipo a un genotipo más pequeño, proporcionando un espacio de búsqueda más pequeño;
  • mapeando el espacio de búsqueda (genoma) al dominio del problema.

Taxonomía de sistemas embriogénicos para codificación indirecta

Tradicionalmente, las codificaciones indirectas que emplean la embriogenia artificial (también conocida como desarrollo artificial ) se han categorizado según el enfoque gramatical frente al enfoque de la química celular . [11] 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 biología a través de la expresión genética. Los sistemas de codificación indirecta a menudo utilizan aspectos de ambos enfoques.

Stanley y Miikkulainen [11] 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 ubicar cualquier sistema embriogénico:

  • Destino de la célula (neurona) : características finales y función 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.
  • Focalización : método por el cual se dirigen las conexiones desde las células de origen a las células de destino. Esto abarca desde la focalización específica (se identifican explícitamente la fuente y el destino) hasta la focalización relativa (por ejemplo, en función de la ubicación de las células entre sí).
  • Heterocronía : cronología y ordenación de los acontecimientos durante la embriogenia. Cuenta el número de mecanismos para cambiar la cronología de los acontecimientos.
  • Canalización : tolerancia del genoma a las mutaciones (fragilidad). Varía desde la necesidad de instrucciones genotípicas precisas hasta una alta tolerancia a las mutaciones imprecisas.
  • Complejización : capacidad del sistema (incluido el algoritmo evolutivo y el mapeo genotipo-fenotipo) de permitir la complejización del genoma (y, por lo tanto, del fenotipo) a lo largo del tiempo. Varía desde permitir solo genomas de tamaño fijo hasta permitir genomas de longitud altamente variable.

Ejemplos

Ejemplos de métodos de neuroevolución (aquellos con codificaciones directas son necesariamente no embriogénicos):

MétodoCodificaciónAlgoritmo evolutivoAspectos evolucionados
Evolución neurogenética por E. Ronald, 1994 [12]DirectoAlgoritmo genéticoPesos de la red
Codificación celular (CE) de F. Gruau, 1994 [8]Indirecto, embrionario (árbol gramatical que utiliza expresiones S )Programación genéticaEstructura y parámetros (simultáneos, complejización)
GNARL de Angeline et al., 1994 [13]DirectoProgramación evolutivaEstructura y parámetros (simultáneos, complejización)
EPNet por Yao y Liu, 1997 [14]DirectoProgramación evolutiva (combinada con retropropagación y recocido simulado )Estructura y parámetros (mixtos, complejización y simplificación)
Neuroevolución de topologías aumentadas (NEAT) de Stanley y Miikkulainen, 2002 [15] [16]DirectoAlgoritmo genético . Rastrea genes con marcas históricas para permitir el cruce entre diferentes topologías y protege la innovación mediante la especiación.Estructura y parámetros
Neuroevolución basada en hipercubos de topologías aumentadas (HyperNEAT) por Stanley, D'Ambrosio, Gauci, 2008 [7]Indirecto, no embriogénico (los patrones espaciales generados por una red productora de patrones compositivos (CPPN) dentro de un hipercubo se interpretan como patrones de conectividad en un espacio de menor dimensión)Algoritmo genético . El algoritmo NEAT (arriba) se utiliza para desarrollar el CPPN.Parámetros, estructura fija (funcionalmente completamente conectada)
Neuroevolución de topologías aumentadas basada en hipercubos de sustrato evolutivo (ES-HyperNEAT) por Risi, Stanley 2012 [10]Indirecto, no embriogénico (los patrones espaciales generados por una red productora de patrones compositivos (CPPN) dentro de un hipercubo se interpretan como patrones de conectividad en un espacio de menor dimensión)Algoritmo genético . El algoritmo NEAT (arriba) se utiliza para desarrollar el CPPN.Parámetros y estructura de la red
Adquisición evolutiva de topologías neuronales (EANT/EANT2) por Kassahun y Sommer, 2005 [17] / Siebel y Sommer, 2007 [18]Directa e indirecta, potencialmente embriogénica (codificación genética común [6] )Programación evolutiva / Estrategias evolutivasEstructura y parámetros (por separado, complejización)
Neuroevolución interactivamente restringida (ICONE) de Rempis, 2012 [19]Directo, incluye máscaras de restricción para restringir la búsqueda a variedades de parámetros/topología específicas.Algoritmo evolutivo . Utiliza máscaras de restricción para reducir drásticamente el espacio de búsqueda mediante la explotación del conocimiento del dominio .Estructura y parámetros (por separado, complejización, interactivos)
Red neuronal Deus Ex (DXNN) de Gene Sher, 2012 [20]Directo/Indirecto, incluye restricciones, ajustes locales y permite la evolución para integrar nuevos sensores y actuadores.Algoritmo memético . Desarrolla la estructura y los parámetros de la red en diferentes escalas de tiempo.Estructura y parámetros (por separado, complejización, interactivos)
Arquitectura Unificada de Neuroevolución con Diversidad de Espectro (SUNA) por Danilo Vasconcellos Vargas, Junichi Murata [21] (Descargar código)Directamente, introduce la Representación Neural Unificada (representación que integra la mayoría de las características de redes neuronales de la literatura).Algoritmo genético con un mecanismo de preservación de la diversidad llamado diversidad de espectro que escala bien con el tamaño de los cromosomas, es independiente de los problemas y se centra más en obtener diversidad de comportamientos/enfoques de alto nivel. Para lograr esta diversidad, se introduce el concepto de espectro cromosómico y se utiliza junto con una población de mapas de novedad.Estructura y parámetros (mixtos, complejización y simplificación)
Modular Agent-Based Evolver (MABE) de Clifford Bohm, Arend Hintze y otros. [22] (Descargar código)Codificación directa o indirecta de redes de Markov , redes neuronales, programación genética y otros controladores personalizables arbitrariamente.Proporciona algoritmos evolutivos, algoritmos de programación genética y permite algoritmos personalizados, junto con la especificación de restricciones arbitrarias.Los aspectos evolutivos incluyen el modelo neuronal y permiten la evolución de la morfología y la selección sexual, entre otros.
Adaptación de la matriz de covarianza con el algoritmo de cuadrícula adaptativa ordenada por hipervolumen (CMA-HAGA) por Shahin Rostami y otros. [23] [24]Directo, incluye una característica de atavismo que permite que los rasgos desaparezcan y reaparezcan en diferentes generaciones.Estrategia de evolución multiobjetivo con articulación de preferencias ( dirección computacional )Estructura, pesos y sesgos.
GACNN presión evolutiva impulsada por Di Biasi et al, [25]DirectoAlgoritmo genético , estrategia de evolución de objetivo único, especializado para redes neuronales convolucionalesEstructura
Fast-DENSER de Assunção et al [26] y otros [27] [28]IndirectoEvolución gramatical (Evolución gramatical dinámica estructurada) [29]Estructura y optimizador utilizados para el entrenamiento

Véase también

Referencias

  1. ^ Stanley, Kenneth O. (13 de julio de 2017). «Neuroevolución: un tipo diferente de aprendizaje profundo». O'Reilly Media . Consultado el 4 de septiembre de 2017 .
  2. ^ Risi, Sebastian; Togelius, Julian (2017). "Neuroevolución en juegos: estado del arte y desafíos abiertos". IEEE Transactions on Computational Intelligence and AI in Games . 9 : 25–41. arXiv : 1410.7326 . doi :10.1109/TCIAIG.2015.2494596. S2CID  11245845.
  3. ^ Togelius, Julian; Schaul, Tom; Schmidhuber, Jürgen; Gomez, Faustino (2008). "Contrarrestar entradas venenosas con neuroevolución memética". Resolución de problemas paralelos a partir de la naturaleza – PPSN X . Apuntes de clase en informática. Vol. 5199. págs. 610–619. doi :10.1007/978-3-540-87700-4_61. ISBN 978-3-540-87699-1.
  4. ^ Hutson, Matthew (11 de enero de 2018). «La inteligencia artificial puede 'evolucionar' para resolver problemas». Science . doi :10.1126/science.aas9715.
  5. ^ Whitelam, Stephen; Selin, Viktor; Park, Sang-Won; Tamblyn, Isaac (2 de noviembre de 2021). "Correspondencia entre la neuroevolución y el descenso del gradiente". Nature Communications . 12 (1): 6317. arXiv : 2008.06643 . Bibcode :2021NatCo..12.6317W. doi :10.1038/s41467-021-26568-2. PMC 8563972 . PMID  34728632. 
  6. ^ abc Kassahun, Yohannes; Sommer, Gerald; Edgington, Mark; Metzen, Jan Hendrik; Kirchner, Frank (2007), "Codificación genética común para codificaciones directas e indirectas de redes", Conferencia sobre computación genética y evolutiva , ACM Press, págs. 1029–1036, CiteSeerX 10.1.1.159.705 
  7. ^ ab Gauci, Stanley (2007), "Generación de redes neuronales a gran escala mediante el descubrimiento de regularidades geométricas" (PDF) , Conferencia sobre computación genética y evolutiva , Nueva York, NY: ACM
  8. ^ ab Gruau, Frédéric; Yo, L'universite Claude Bernard-lyon; Doctorat, Of A. Diplome De; Demongeot, M. Jacques; Cosnard, Examinadores M. Michel; Mazoyer, M. Jacques; Peretto, M. Pierre; Whitley, M. Darell (1994). Síntesis de redes neuronales utilizando codificación celular y el algoritmo genético . CiteSeerX 10.1.1.29.5939 . 
  9. ^ Clune, J.; Stanley, Kenneth O.; Pennock, RT; Ofria, C. (junio de 2011). "Sobre el rendimiento de la codificación indirecta en el continuo de regularidad". 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. 
  10. ^ ab Risi, Sebastian; Stanley, Kenneth O. (octubre de 2012). "Una codificación basada en hipercubos mejorada para desarrollar la ubicación, la densidad y la conectividad de las neuronas". Vida artificial . 18 (4): 331–363. doi : 10.1162/ARTL_a_00071 . PMID  22938563. S2CID  3256786.
  11. ^ ab Stanley, Kenneth O.; Miikkulainen, Risto (abril de 2003). "Una taxonomía para la embriogenia artificial". Vida artificial . 9 (2): 93–130. doi :10.1162/106454603322221487. PMID  12906725. S2CID  2124332.
  12. ^ Ronald, Edmund; Schoenauer, March (1994), "Genetic Lander: Un experimento en control neurogenético preciso", PPSN III 1994 Parallel Programming Solving from Nature , pp. 452–461, CiteSeerX 10.1.1.56.3139 
  13. ^ Angeline, PJ; Saunders, GM; Pollack, JB (enero de 1994). "Un algoritmo evolutivo que construye redes neuronales recurrentes". IEEE Transactions on Neural Networks . 5 (1): 54–65. CiteSeerX 10.1.1.64.1853 . doi :10.1109/72.265960. PMID  18267779. S2CID  44767. 
  14. ^ Yao, X.; Liu, Y. (mayo de 1997). "Un nuevo sistema evolutivo para la evolución de redes neuronales artificiales". IEEE Transactions on Neural Networks . 8 (3): 694–713. doi :10.1109/72.572107. PMID  18255671.
  15. ^ Stanley, Kenneth O.; Bryant, Bobby D.; Miikkulainen, Risto (diciembre de 2005). "Neuroevolución en tiempo real en el videojuego NERO" (PDF) .
  16. ^ Stanley, Kenneth O.; Miikkulainen, Risto (junio de 2002). "Evolución de redes neuronales mediante el aumento de topologías". Computación evolutiva . 10 (2): 99–127. CiteSeerX 10.1.1.638.3910 . doi :10.1162/106365602320169811. PMID  12180173. S2CID  498161. 
  17. ^ Kassahun, Yohannes; Sommer, Gerald (abril de 2005), "Aprendizaje de refuerzo eficiente mediante la adquisición evolutiva de topologías neuronales" (PDF) , 13.º Simposio Europeo sobre Redes Neuronales Artificiales , Brujas, Bélgica, págs. 259-266{{citation}}: Mantenimiento de CS1: falta la ubicación del editor ( enlace )
  18. ^ Siebel, Nils T.; Sommer, Gerald (17 de octubre de 2007). "Aprendizaje de refuerzo evolutivo de redes neuronales artificiales". Revista internacional de sistemas inteligentes híbridos . 4 (3): 171–183. doi :10.3233/his-2007-4304.
  19. ^ Rempis, Christian Wilhelm (2012). Neurocontroladores complejos en evolución con neuroevolución interactivamente restringida (tesis).
  20. ^ Sher, Gene I. (2013). Manual de neuroevolución a través de Erlang . doi :10.1007/978-1-4614-4463-3. ISBN 978-1-4614-4462-6. Número de identificación del sujeto  21777855.
  21. ^ Vargas, Danilo Vasconcellos; Murata, Junichi (2019). "Neuroevolución de espectro diverso con modelos neuronales unificados". IEEE Transactions on Neural Networks and Learning Systems . 28 (8): 1759–1773. arXiv : 1902.06703 . Bibcode :2019arXiv190206703V. doi :10.1109/TNNLS.2016.2551748. PMID  28113564. S2CID  206757620.
  22. ^ Edlund, Jeffrey; Chaumont, Nicolas; Hintze, Arend; Koch, Christof; Tononi, Giulio; Adami, Christoph (2011). "Información integrada aumenta con la aptitud en la evolución de los animats". PLOS Computational Biology . 7 (10): e1002236. arXiv : 1103.1791 . Bibcode :2011PLSCB...7E2236E. doi : 10.1371/journal.pcbi.1002236 . PMC 3197648 . PMID  22028639. 
  23. ^ Rostami, Shahin; Neri, Ferrante (junio de 2017). "Un mecanismo de selección rápido impulsado por hipervolumen para problemas de optimización de múltiples objetivos". Swarm and Evolutionary Computation . 34 : 50–67. doi :10.1016/j.swevo.2016.12.002. hdl : 2086/13102 .
  24. ^ Shenfield, Alex; Rostami, Shahin (2017). "Evolución multiobjetivo de redes neuronales artificiales en problemas de diagnóstico médico multiclase con desequilibrio de clases" (PDF) . Conferencia IEEE de 2017 sobre inteligencia computacional en bioinformática y biología computacional (CIBCB) . pp. 1–8. doi :10.1109/CIBCB.2017.8058553. ISBN . 978-1-4673-8988-4.S2CID22674515  .
  25. ^ Di Biasi, Luigi; De Marco, Fabiola; Auriemma Citarella, Alessia; Barra, Paola; Piotto Piotto, Stefano; Tortora, Genoveffa (2023). "Enfoque híbrido para el diseño de CNNS utilizando algoritmos genéticos para la clasificación del melanoma". En Rousseau, Jean-Jacques; Kapralos, Bill (eds.). Reconocimiento de patrones, visión artificial y procesamiento de imágenes. Talleres y desafíos internacionales ICPR 2022. Apuntes de conferencias en informática. Vol. 13643. Cham: Springer Nature Switzerland. págs. 514–528. doi :10.1007/978-3-031-37660-3_36. ISBN 978-3-031-37660-3.
  26. ^ Assunção, Filipe; Lourenço, Nuño; Ribeiro, Bernardete; Machado, Penousal (junio 2021). "Fast-DENSER: representación estructurada de red evolutiva profunda y rápida". SoftwareX . 14 : 100694. Código Bib : 2021SoftX..1400694A. doi : 10.1016/j.softx.2021.100694. hdl : 10316/100856 .
  27. ^ Vinhas, Adriano; Correia, João; Machado, Penousal (20 de junio de 2024), Hacia la evolución de las redes neuronales profundas mediante el aprendizaje autosupervisado contrastivo, arXiv : 2406.14525 , consultado el 21 de junio de 2024
  28. ^ Cortés, Gabriel; Lourenço, Nuño; Machado, Penousal (2024), Smith, Stephen; Correia, João; Cintrano, Christian (eds.), "Hacia la plausibilidad física en los sistemas de neuroevolución", Aplicaciones de la computación evolutiva , vol. 14635, Cham: Springer Nature Suiza, págs. 76–90, doi :10.1007/978-3-031-56855-8_5, ISBN 978-3-031-56854-1, consultado el 21 de junio de 2024
  29. ^ Lourenço, Nuno; Assunção, Filipe; Pereira, Francisco B.; Costa, Ernesto; Machado, Penousal (2018), Ryan, Conor; O'Neill, Michael; Collins, JJ (eds.), "Evolución gramatical estructurada: un enfoque dinámico", Manual de evolución gramatical , Cham: Springer International Publishing, págs. 137-161, doi :10.1007/978-3-319-78717-6_6, ISBN 978-3-319-78717-6, consultado el 21 de junio de 2024
  • "Evolución 101: Neuroevolución | BEACON". beacon-center.org . Consultado el 14 de enero de 2018 .
  • "Áreas de NNRG - Neuroevolución". nn.cs.utexas.edu . Universidad de Texas . Consultado el 14 de enero de 2018 .(contiene documentos descargables sobre NEAT y aplicaciones)
  • "SharpNEAT Neuroevolution Framework" (Marco de neuroevolución SharpNEAT). sharpneat.sourceforge.net . Consultado el 14 de enero de 2018 .Proyecto de neuroevolución de código abierto maduro implementado en C#/.Net.
  • ANNEvolve es un proyecto de investigación de inteligencia artificial de código abierto (código fuente descargable en C y Python con un tutorial y escritos e ilustraciones diversos)
  • "Nils T Siebel – EANT2 – Aprendizaje por refuerzo evolutivo de redes neuronales". siebel-research.de . Consultado el 14 de enero de 2018 .Página web sobre aprendizaje evolutivo con EANT/EANT2] (información y artículos sobre EANT/EANT2 con aplicaciones al aprendizaje de robots)
  • NERD Toolkit. El kit de herramientas para el desarrollo de la neurodinámica y la robótica evolutiva. Una colección de software libre y de código abierto para diversos experimentos sobre neurocontrol y neuroevolución. Incluye un simulador programable, varios algoritmos de neuroevolución (por ejemplo, ICONE), soporte de clústeres, herramientas de análisis y diseño de redes visuales.
  • "CorticalComputer (Gene)". GitHub . Consultado el 14 de enero de 2018 .Código fuente del sistema neuroevolutivo DXNN.
  • "Página de usuarios de ES-HyperNEAT". eplex.cs.ucf.edu . Consultado el 14 de enero de 2018 .
Obtenido de "https://es.wikipedia.org/w/index.php?title=Neuroevolución&oldid=1236034036"