Deep Dream.
Sueños de la IA
Rubén Rodríguez Abril
¿Es posible que dentro de una red neuronal tengan lugar fenómenos parecidos a los sueños y las pareidolias? En este artículo veremos que sí. Y mostraremos con este fin el funcionamiento del algoritmo Deep Dream, explorando sus analogías con fenómenos alucinatorios dentro del cerebro.
Sueños y alucinaciones
Los sistemas nerviosos biológicos, particularmente el cerebro humano, a menudo son capaces de imaginar, ya sea de forma voluntaria o involuntaria, objetos nunca vistos con anterioridad. A lo largo de la historia, mentes de pintores, escritores y mitógrafos han producido imágenes de criaturas fabulosas como sirenas, cíclopes o unicornios. El cerebro del artista crea nuevas interpretaciones del espacio (y a menudo del tiempo) que luego son plasmadas en obras individuales.
Esta generación endógena de nuevos fenómenos visuales o auditivos (lo que solemos llamar ‘imaginación’) es, en la mayoría de los casos, controlada por la mente del individuo. Pero puede también surgir y desarrollarse de una forma completamente involuntaria y espontánea. Es lo que sucede durante los sueños. En casos extremos como la esquizofrenia o los fenómenos alucinatorios, el sujeto ya no es capaz de distinguir las imágenes y sonidos generados por su propia mente de aquellas aferencias reales procedentes del exterior.
Neurobiología de las alucinaciones
A lo largo del último siglo, múltiples fisiólogos del sistema nervioso han realizado investigaciones para determinar la hipotética base neurológica subyacente a sueños y alucinaciones. La mayoría de los estudios coincide en señalar que durante los fenómenos alucinatorios se producen alteraciones en los patrones de excitación y conexión de las neuronas relacionadas con la percepción.
Las áreas de Wernicke y Broca, asociadas con el oído y el habla, parecen tener una mayor activación durante las alucinaciones auditivas. La corteza visual, por su parte, se sobreestimula cuando se trata de alucinaciones de naturaleza óptica. Y entre los pacientes de esquizofrenia que experimentan alucinaciones visuales se ha observado la aparición de hiperconectividad entre las áreas subcorticales que procesan las emociones (amígdala) y las áreas corticales encargadas del procesamiento visual (corteza visual y corteza asociativa).
El procesamiento de la información visual en la corteza tiene lugar en el lóbulo occipital, donde se encuentra la corteza visual, donde van a parar las señales provenientes del ojo (previo paso por el núcleo geniculado lateral). Las conexiones alcanzan primero la corteza visual primaria y después la secundaria. Durante el recorrido, aumenta el nivel de complejidad del procesamiento. A partir de ahí, la información se dirige a los lóbulos parietal y temporal, donde tiene lugar los niveles de comprensión más abstractos, como la identificación de los objetos y su relación en el espacio.
Las conexiones neuronales que se excitan y refuerzan durante las alucinaciones suelen ser de retroalimentación, y proceden de otras partes del cerebro. Por el contrario, las que transportan información procedente de órganos sensoriales (“aferencias”) hacia la corteza cerebral tienden a debilitarse. Así, el estudio A. S. David et al. (1996) constató que la respuesta de la corteza temporal a la estimulación auditiva exógena (como el habla humana) se reducía sensiblemente durante las alucinaciones.
Alucinaciones visuales
En el ámbito visual, durante la percepción de una imagen en condiciones normales las células de la retina transmiten información a las neuronas del núcleo geniculado lateral (NGL). Y éstas a su vez la transfieren sucesivamente a las células de la corteza visual primaria, secundaria y áreas de asociación. Son las células de estas últimas secciones las que se encargan de detectar patrones de cada vez mayor complejidad, extrayendo información semántica de los mismos.
Los impulsos eléctricos suelen fluir, por lo general, desde la retina a aquellas áreas de la corteza que procesan información de bajo nivel (curvas, círculos). Y desde allí a las regiones que tratan información de alto nivel (figuras, símbolos, etc.). Sin embargo, durante las alucinaciones, la hiperconectividad de las neuronas provoca que surjan y se refuercen bucles de retroalimentación dentro del cerebro. Parte de la información visual fluye entonces en sentido contrario: desde áreas encargadas de procesar la información de mayor nivel a otras de menor nivel. La mente construye de este modo endógenamente imágenes coherentes, que son confundidas por el propio cerebro con otras procedentes del exterior.
Alucinaciones en Redes Neuronales
En el ámbito del aprendizaje profundo, el procesamiento de imágenes suele realizarse por redes convolucionales. Por tanto, si queremos imitar los procesos neuronales biológicos, para crear una figura alucinada o inducir una pareidolia en una red debemos generar algún tipo de bucle de retroalimentación dentro de la misma. Debe permitirse pues a las capas de mayor nivel enviar información semántica a las capas más cercanas a la entrada, para que éstas sinteticen la imagen. Durante el proceso de retroalimentación, la red convolucional debe ir agregando rasgos geométricos de cada vez menor nivel a la imagen a medida que la información circula en sentido opuesto. Finalmente se obtiene una nueva imagen en la capa de entrada.
Deep Dream
Los ingenieros Alexander Mordvintsev, Christopher Olah y Mike Tyka propusieron en un artículo del año 2015 un procedimiento para hacer retroceder información a lo largo de una red convolucional, al que denominaron inceptionismo (“incepcionism”). El término hace alusión a los módulos de incepción de GoogLeNet, a los que ya hicimos alusión en el artículo anterior de esta serie. Para implementar el procedimiento, Mordvintsev creó el software DeepDream, cuyo código fuente fue publicado tanto en versión Pytorch como en C.
El procedimiento propone señalar una capa concreta de una red neuronal convolucional. Dentro ella se buscará potenciar todos los patrones que dicha capa detecte, modificando para ello la imagen de entrada. Si escogemos una de las capas más bajas de la red, el procedimiento resaltará los trazos geométricos básicos de la imagen de entrada, como curvas.
Para elaborar esta imagen, el ingeniero de software Günther Noack decidió estimular una capa de bajo nivel de la red convolucional. Como consecuencia de ello, tan sólo patrones geométricos básicos son resaltados en la imagen de entrada. Fuente: Wikipedia.
El mecanismo de retroalimentación en Deep Dream
El algoritmo de Deep Dream se estructura en los siguientes pasos:
Esta imagen ha sido producida por una red VGG16 entrenada mediante ImageNet. La capa seleccionada probablemente está bastante alejada de la entrada, dado que en la “alucinación” aparecen elementos gráficos de alto nivel. La proliferación de rasgos caninos tal vez se deba a la abundancia de imágenes de perros dentro de ImageNet (representan el 12% del total).
– La imagen de entrada se hace pasar por la red de un modo ordinario hasta que la información llegue a la capa señalada.
– Allí se calcula la función de pérdida, que es L2. Se trata de la suma de los cuadrados de los valores de activación de todas las neuronas de la capa.
– Seguidamente se retropropagará el delta de la función de pérdida y las derivadas de salida de las neuronas del modo acostumbrado. Con la particularidad de que no serán los pesos sinápticos de las neuronas los que se modifiquen, sino los valores de activación de las neuronas de la capa de entrada.
– El cálculo de esta modificación se hará multiplicando la tasa de aprendizaje por la derivada de la función de pérdida respecto a los valores de activación de las neuronas de la capa de entrada.
– Se aplicará el algoritmo de ascenso del gradiente, con el objeto de maximizar el valor de la función de pérdida, y las activaciones de la capa convolucional seleccionada.
Actualización de de las funciones de activación
Los pasos descritos en los puntos anteriores se iterarán decenas o incluso centenares de veces.
La ecuación de actualización de las activaciones de la capa de entrada será la siguiente:
donde o_{i} es la activación de la neurona n_{i}, E la función de pérdida y a la tasa de aprendizaje. Nótese el símbolo positivo de a (ascenso del gradiente).
Inducción de pareidolias
En todos estos casos, el algoritmo Deep Dream detecta y potencia pareidolias algorítmicas dentro de la red. Llámase pareidolia a aquella ilusión perceptiva a cuya consecuencia la mente del observador humano cree reconocer objetos y estructuras familiares en imágenes no relacionadas con las mismas. Es célebre el caso de la Cara de Marte del planeta rojo.
El pintor italiano Giuseppe Arcimboldo es famoso por hacer un uso frecuente de pareidolias visuales en la composición de sus cuadros. En ambas imágenes, un conjunto de frutas de otoño o de libros provoca en el espectador la sensación de estar percibiendo una figura humana.
Neurológicamente, durante un fenómeno pareidólico las neuronas encargadas de reconocer el tipo de objeto de que se trate (por ejemplo rostros humanos) se activan ante estímulos visuales o auditivos aleatorios (frutas o libros, en el caso de los cuadros de Arcimboldo). La pareidolia es considerada como una variante de la apofenia, que fue definida por el psiquiatra alemán Klaus Conrad en 1958 como “la visión sin sentido de conexiones, acompañada de la percepción de una importancia anormal”.
Pareidolias en la IA
El esquema incepcionista de Mordvintsev y sus compañeros funciona de un modo parecido al de las ilusiones ópticas del cerebro humano. Así, cuando la capa convolucional seleccionada percibe (“pareidolia”) -aunque sea muy ligeramente- la presencia de un rasgo u objeto, dicha percepción es reforzada modificando la imagen de entrada. Al cabo de centenares de iteraciones del procedimiento, las pareidolias se hacen cada vez más intensas. Hasta que finalmente devienen visibles para el ojo humano.
En todos estos casos se altera el funcionamiento ordinario de la red convolucional. La información, que por lo general sólo puede dirigirse unidireccionalmente hacia la salida, retrocede aquí desde una capa determinada hacia la entrada. Surgen así nuevas conexiones de retroalimentación. Nuevos caminos y flujos de información dentro de la red. De nuevo, no deja de ser llamativo el paralelismo existente con los fenómenos de apofenia, durante los cuales el sistema dopaminérgico del cerebro también produce fenómenos de hiperconectividad entre determinados tipos de neuronas.
Alucinaciones guiadas
Conclusión
El experimento de Deep Dream no sólo visualizó cómo funcionaban los procesos de almacenamiento de información gráfica a lo largo de una red convolucional, sino que también mostró hasta qué punto los patrones visuales, de alto o bajo nivel, podían resaltarse o transferirse de una imagen a otra. Dió pistas acerca de cuáles podían ser los mecanismos neurológicos de los procesos alucinatorio y creativo. Y por último, abrió paso a la posibilidad de que el aprendizaje profundo y las redes neuronales artificiales pudiesen ser utilizadas como herramientas dentro de la creación artística.
Lecturas recomendadas
– Incepcionism: Going Deeper Into Neural. Artículo original de los tres autores.
– Deep Dream en GitHub. Página en GitHub con el código de DeepDream.
– Zimgrod, L.; Garrison, J. R.; Carr, J. y Simons, J. S. (2016). The neural mechanisms of hallucinations: A quantitative meta-analysis of neuroimaging studies.
– A S David et al (1996). Auditory hallucinations inhibit exogenous activation of auditory association cortex.
– Zmigor, Leor et al (2016). The neural mechanisms of hallucinations: A quantitative meta-analysis of neuroimaging studies.
– Ford, Judith M et al (2015). Visual Hallucinations Are Associated With Hyperconnectivity Between the Amygdala and Visual Cortex in People With a Diagnosis of Schizophrenia.