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 con mayor frecuencia en la vida artificial , los juegos en general [ 2 ] y la robótica evolutiva . La principal ventaja es que la neuroevolución puede aplicarse de forma más amplia que los algoritmos de aprendizaje supervisado , que requieren un programa de pares de entrada-salida correctos. En cambio, 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ó) puede medirse fácilmente sin proporcionar ejemplos etiquetados de las estrategias deseadas. La neuroevolución se utiliza comúnmente como parte del paradigma de aprendizaje por refuerzo y puede contrastarse 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 numerosos algoritmos de neuroevolución . Una distinción común radica en diferenciar entre algoritmos que solo modifican la fuerza de los pesos de conexión para una topología de red fija (a veces denominados neuroevolución convencional) y algoritmos que modifican tanto la topología de la red como sus pesos (denominados TWEANN, por sus siglas en inglés, Topology and Weight Evolving Artificial Neural Network algorithms).
Se puede establecer una distinción aparte 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 gradiente en lugar de la neuroevolución. Sin embargo, alrededor de 2017, investigadores de Uber afirmaron haber descubierto que los algoritmos de neuroevolución estructural simple eran competitivos con los sofisticados algoritmos de aprendizaje profundo de descenso de gradiente estándar de la industria , en parte porque se observó que la neuroevolución tenía menos probabilidades de 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 capacidad computacional disponible en la década de 2010. [ 4 ]
Se puede demostrar que existe una correspondencia entre la neuroevolución y el descenso de 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 red neuronal que se evalúa en alguna tarea para determinar 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 de forma directa y explícita en el genotipo. En cambio, en los esquemas de codificación indirecta, el genotipo especifica indirectamente cómo debe generarse dicha 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, lo que proporciona un espacio de búsqueda más reducido;
- mapear el espacio de búsqueda (genoma) al dominio del problema.
Taxonomía de sistemas embriogénicos para la codificación indirecta
Tradicionalmente, las codificaciones indirectas que emplean embriogénesis artificial (también conocida como desarrollo artificial ) se han clasificado según un enfoque gramatical o un enfoque de química celular . [ 11 ] El primero desarrolla conjuntos de reglas en forma de sistemas de reescritura gramatical. El segundo intenta imitar cómo emergen las estructuras físicas en biología mediante la expresión génica. Los sistemas de codificación indirecta suelen utilizar 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 celular (neuronal) : las características finales y la función de la célula en el fenotipo maduro. Esta dimensión contabiliza el número de métodos utilizados para determinar el destino de una célula.
- Orientación : método mediante el cual se dirigen las conexiones desde las células de origen a las células de destino. Esto abarca desde la orientación específica (donde se identifican explícitamente el origen y el destino) hasta la orientación relativa (por ejemplo, basada en la ubicación de las células entre sí).
- Heterocronía : la sincronización y el orden de los eventos durante la embriogénesis. Contabiliza el número de mecanismos que modifican la sincronización de los eventos.
- Canalización : grado de tolerancia del genoma a las mutaciones (fragilidad). Varía desde requerir instrucciones genotípicas precisas hasta una alta tolerancia a mutaciones imprecisas.
- Complejización : capacidad del sistema (incluidos el algoritmo evolutivo y la correspondencia genotipo-fenotipo) para permitir la complejización del genoma (y, por ende, del fenotipo) a lo largo del tiempo. Abarca desde permitir únicamente genomas de tamaño fijo hasta permitir genomas de longitud muy variable.
Ejemplos
Ejemplos de métodos de neuroevolución (aquellos con codificaciones directas son necesariamente no embriogénicos):
Véase también
- Aprendizaje automático automatizado (AutoML)
- Computación evolutiva
- Neuroevolución de Topologías Aumentadas (NEAT)
- HyperNEAT (una versión generativa de NEAT)
- Adquisición Evolutiva de Topologías Neuronales (EANT/EANT2)
Referencias
- ↑ Stanley, Kenneth O. (13 de julio de 2017). "Neuroevolución: un tipo diferente de aprendizaje profundo" . O'Reilly Media . Recuperado 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). «Contrarrestando entradas tóxicas con neuroevolución memética». Resolución de problemas paralelos inspirada en la naturaleza – PPSN X. Notas 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 neuroevolución y descenso de gradiente" . Nature Communications . 12 (1): 6317. arXiv : 2008.06643 . Bibcode : 2021NatCo..12.6317W . doi : 10.1038/ s41467-021-26568-2 . PMC 8563972. PMID 34728632 .
- 1 2 3 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, pp. 1029–1036 , CiteSeerX 10.1.1.159.705
- 1 2 Gauci, Stanley (2007), "Generación de redes neuronales a gran escala mediante el descubrimiento de regularidades geométricas" (PDF) , Conferencia de Computación Genética y Evolutiva , Nueva York, NY: ACM
- 1 2 Gruau, 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.5939 .
- ↑ Clune, J.; Stanley, Kenneth O.; Pennock, RT; Ofria, C. (junio de 2011). "Sobre el rendimiento de la codificación indirecta en todo el continuo de regularidad". IEEE Transactions on Evolutionary Computation . 15 (3): 346– 367. Bibcode : 2011ITEC...15..346C . CiteSeerX 10.1.1.375.6731 . doi : 10.1109/TEVC.2010.2104157 . ISSN 1089-778X . S2CID 3008628 .
- 1 2 Risi, Sebastian; Stanley, Kenneth O. (octubre de 2012). "Una codificación mejorada basada en hipercubos para evolucionar la ubicación, la densidad y la conectividad de las neuronas" . Artificial Life . 18 (4): 331– 363. doi : 10.1162/ARTL_a_00071 . PMID 22938563. S2CID 3256786 .
- 1 2 Stanley, Kenneth O.; Miikkulainen, Risto (abril de 2003). "Una taxonomía para la embriogénesis artificial". Artificial Life . 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. Bibcode : 1994ITNN....5...54A . 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. Bibcode : 1997ITNN....8..694Y . 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 topologías de aumento". Evolutionary Computation . 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 por refuerzo eficiente mediante la adquisición evolutiva de topologías neuronales" (PDF) , XIII Simposio Europeo sobre Redes Neuronales Artificiales , Brujas, Bélgica, págs. 259–266
{{citation}}: CS1 mantenimiento: falta el editor de ubicación ( enlace ) - ↑ Siebel, Nils T.; Sommer, Gerald (17 de octubre de 2007). "Aprendizaje por refuerzo evolutivo de redes neuronales artificiales". International Journal of Hybrid Intelligent Systems . 4 (3): 171– 183. doi : 10.3233/his-2007-4304 .
- ↑ Rempis, Christian Wilhelm (2012). Evolución de neurocontroladores complejos 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. S2CID 21777855 .
- ↑ Vargas, Danilo Vasconcellos; Murata, Junichi (2019). "Neuroevolución con espectro diverso mediante 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). " Integrated Information Increases with Fitness in the Evolution of 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 multiobjetivo". 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) . págs. 1–8 . doi : 10.1109/CIBCB.2017.8058553 . ISBN 978-1-4673-8988-4. S2CID 22674515 .
- ↑ 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 por computadora y procesamiento de imágenes. Talleres y desafíos internacionales de ICPR 2022. Lecture Notes in Computer Science. Vol. 13643. Cham: Springer Nature Switzerland. pp. 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
- ↑ 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 , arXiv : 2401.17733 , doi : 10.1007/978-3-031-56855-8_5 , ISBN 978-3-031-56854-1, consultado el 21 de junio de 2024
{{citation}}: CS1 mantenimiento: parámetro de trabajo con ISBN ( enlace ) - ↑ 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
{{citation}}: CS1 mantenimiento: parámetro de trabajo con ISBN ( enlace )
Enlaces externos
- "Evolución 101: Neuroevolución | BEACON" . beacon-center.org . Consultado el 14 de enero de 2018 .
- "Áreas NNRG - Neuroevolución" . nn.cs.utexas.edu . Universidad de Texas . Consultado el 14 de enero de 2018 .(Incluye documentos descargables sobre NEAT y sus aplicaciones)
- "Marco de Neuroevolución SharpNEAT" . sharpneat.sourceforge.net . Consultado el 14 de enero de 2018 .Proyecto maduro de neuroevolución de código abierto implementado en C#/.Net.
- ANNEvolve es un proyecto de investigación de IA de código abierto (código fuente descargable en C y Python con un tutorial y diversos escritos e ilustraciones).
- "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 robótico).
- NERD Toolkit. Kit de desarrollo de neurodinámica y 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 para clústeres y herramientas visuales para el diseño y análisis de redes neuronales.
- "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 .
- Algoritmos evolutivos y redes neuronales artificiales