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):
Véase también
Referencias
- ^ 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 .
- ^ 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.
- ^ 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.
- ^ Hutson, Matthew (11 de enero de 2018). «La inteligencia artificial puede 'evolucionar' para resolver problemas». Science . doi :10.1126/science.aas9715.
- ^ 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.
- ^ 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
- ^ 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
- ^ 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 .
- ^ 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.
- ^ 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.
- ^ 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.
- ^ 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
- ^ 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.
- ^ 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.
- ^ Stanley, Kenneth O.; Bryant, Bobby D.; Miikkulainen, Risto (diciembre de 2005). "Neuroevolución en tiempo real en el videojuego NERO" (PDF) .
- ^ 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.
- ^ 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 ) - ^ 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.
- ^ Rempis, Christian Wilhelm (2012). Neurocontroladores complejos en evolución con neuroevolución interactivamente restringida (tesis).
- ^ 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.
- ^ 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.
- ^ 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.
- ^ 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 .
- ^ 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 .
- ^ 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.
- ^ 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 .
- ^ 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
- ^ 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
- ^ 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
Enlaces externos
- "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 .