Arquetipos en la IA
Rubén Rodríguez Abril
¿Son las redes neuronales capaces de construir por sí mismas conceptos abstractos y generales a partir de lo sensible y particular, resultando en aquello que los viejos filósofos denominaban «universales» o «arquetipos»? ¿Tendrían estos existencia objetiva? En este artículo discutiremos sobre ello.
Arquetipos platónicos en la IA
La mente humana se caracteriza por su habilidad de realizar abstracciones y de crear conceptos e ideas generales a partir de los fenómenos particulares observados en el mundo físico. Dicha capacidad de abstracción fue la que permitió la aparición del lenguaje y del pensamiento abstracto hace un millón de años. Y es la que ha posibilitado el desarrollo de las ciencias abstractas y particularmente de las matemáticas en los tres últimos milenios.
Los universales
Los realistas afirmaban plenamente la existencia objetiva de los universales. Y tomaban su inspiración última de las doctrinas platónicas. Platón consideraba que el Cosmos se dividía en dos ámbitos separados: el Mundo Sensible, que es el espacio físico donde se desarrollan los fenómenos percibidos por nuestros sentidos, y el Mundo Inteligible, en el cual residen ideas eternas, como la Bondad o la Belleza y los arquetipos, que son las categorías primigenias a las que pertenecen los objetos existentes en el mundo físico.
Todas las cosas individuales (piedras, estrellas) existentes en el Mundo Sensible participan (en griego μέθεξουσιν) de uno o varios arquetipos residentes en el Mundo Inteligible. Por ejemplo, Bucéfalo, Babieca y Rocinante participan de un mismo arquetipo, que es el concepto abstracto de caballo. Una casa bella participa simultáneamente de las ideas de casa y Belleza. Los arquetipos platónicos así definidos tienen una existencia eterna que trasciende no sólo las cosas particulares, sino también el espacio físico y el tiempo.
Confrontados a las tesis realistas, los filósofos nominalistas, con Guillermo de Ockham y Roscelino de Compiègne a la cabeza, afirmaban que los universales no tenían una existencia objetiva fuera del cerebro humano, y que conceptos como mesa o árbol no eran más que términos creados por la mente para facilitar su comprensión del mundo fenomenológico.
El significado en la IA
El ámbito del Aprendizaje Profundo ciertamente no podía ser inmune a esta discusión acerca de la naturaleza de las entidades abstractas toda vez que existen numerosos ejemplos de redes neuronales capaces de reconocer conceptos generales y procesar información semántica. Podemos citar los casos de las redes clasificadoras, que asignan a cada imagen de entrada una categoría determinada; los sistemas de segmentación semántica, que atribuyen significado genérico a cada uno de los objetos individuales que observan en una imagen; y los generadores de las GANs, capaces de crear rostros humanos a partir de ruido o de dibujar paisajes sobre la base de un mapa de segmentación semántica (como en GauGAN).
En todos estos casos el peso del procesamiento de la información recae en las secciones convolucionales de la red, que son verdaderos mecanismos de compresión y descompresión semántica.
Generación semántica en redes
La aplicación sucesiva de capas de convolución y de disminución de resolución (subsampling, pooling) parece transformar progresivamente la información geométrica/figurativa de una imagen en información conceptual. Así sucede en los sistemas de clasificación de objetos, en los que las capas convolucionales detectan los diferentes rasgos (de alto o bajo nivel) de un objeto. La información obtenida es transmitida a las últimas capas de la red, y son estas últimas, densamente conectadas, son las que realizan finalmente la clasificación.
Si la convolución viene acompañada por procesos de incremento de resolución (upsampling) el efecto es el contrario: la información semántica se convierte en geométrica. Paulatinamente va conformándose una nueva imagen conforme el pulso de información progresa a lo largo de la red. Los rasgos de más bajo nivel se incorporan en las últimas capas de la misma. Es lo que sucede en las generadores de las GANs o en la parte ascendente de la red U-Net.
En los autocodificadores, se dan sucesivamente dos procesos de compresión y descompresión semántica. En el primero, el codificador transforma la imagen de entrada en un vector del espacio latente. Y dicho vector vuelve a ser de nuevo transformado en una imagen por el descodificador.
Visualización de la abstracción
Lo que hace útil a una red neuronal es su capacidad de generalizar, esto es, su habilidad para reconocer objetos que no le habían sido mostrados previamente durante el entrenamiento. Si la red no es capaz de abstraer, y se limita a memorizar los datos de entrenamiento, se dice que tiene problemas de sobreajuste (overfitting). Este fenómeno ha sido objeto de otro artículo en nuestro portal. Aquí nos basta con señalar que la necesidad de prevenir el sobreajuste ha motivado la adopción del principio de dispersión (reducción del número de interconexiones mediante la creación de grupos de neuronas) dentro de las arquitecturas de redes neuronales, del que son manifestaciones el procedimiento de apagado (dropout) y las arquitecturas de convolución (LeNet, AlexNet, VGG16) y de incepción (GoogLeNet).
Una mirada al interior de la red
En todos estos casos, los mapas de las redes convolucionales parecen ser capaces de reconocer patrones a mayor o menor nivel. ¿Pero de qué modo lo hacen? ¿Son capaces las neuronas artificiales individualmente consideradas de reconocer conceptos abstractos, arquetipos platónicos, como monos o caballos? Douglas Hofstadter en su célebre libro Gödel, Escher, Bach se preguntó si tal vez pudieran existir en el cerebro humano neuronas-símbolo capaces de ser excitadas por un concepto concreto, como por ejemplo, las ideas de libro, justicia o castillo. Aunque dicha hipótesis debe ser descartada (toda vez que la neurología moderna indica que la información se almacena en el cerebro siguiendo patrones dispersos), cabría preguntarse por lo que sucede en el ámbito de las redes neuronales artificiales. ¿Existen allí las neuronas-símbolo de las que hablaba Hofstadter?
Visualización de rasgos
Hasta el año 2014, las redes convolucionales se habían considerado como sistemas de caja negra, en los cuales no era posible para un observador exterior interpretar lo que estaba sucediendo dentro de las mismas. Sin embargo el estudio de Zeiler et al del año 2014, que se cita en nuestro artículo sobre AlexNet, mostró que sí era posible detectar qué rasgos concretos eran filtrados por un determinado mapa de características. A partir de entonces, se han ido sucedido esporádicamente proyectos como DeepDream o DeepDraw, que han hecho uso de técnicas de visualización de los rasgos (feature visualization) almacenados en las capas convolucionales de las redes.
Son muy instructivos, a nuestro juicio, los artículos de Audun Øygard y de Olah et al (citados abajo), siquiera por las excelentes ilustraciones que contienen. Ambos trabajos centraron su atención en los módulos de incepción de una red con arquitectura GoogLeNet, entrenada con los datos de ImageNet.
Arquetipos y símbolos
Dentro de una red de clasificación de imágenes (como GoogLeNet o VGG16), lo más parecido a un concepto abstracto (o arquetipo platónico, si se prefiere) son las diferentes categorías representadas por las neuronas de la última capa, la de clasificación. Los niveles de activación (softmax) de cada neurona señalan la probabilidad de que el objeto presentado participe (methexei) de una categoría, de un arquetipo concreto (husky siberiano, lobo gris, oso pardo, etc..).
Para visualizar una categoría, o lo que es lo mismo, para hacer visible el arquetipo, debemos encontrar el conjunto de valores de entrada (píxeles) que maximicen los valores de excitación (en logits) de la neurona asociada a dicho arquetipo. Ello se realiza aplicando el algoritmo de ascenso del gradiente al valor de excitación de la neurona analizada. Las derivadas de esta función se retropropagan hacia la entrada de un modo usual. Y se utilizan, no para actualizar los pesos sinápticos de la red, sino para modificar los valores de activación de las neuronas de la capa de entrada, en un procedimiento muy parecido al que ya señalamos en el artículo de Deep Dream. El proceso debe iterarse cientos, incluso miles de veces.
El algoritmo DeepDraw construye esta imagen típica para la categoría “mono ardilla” de ImageNet.
Jerarquía de rasgos
A menudo, durante el procedimiento de generación de la imagen se acumula ruido. Øygard logra suprimirlo con éxito aplicando tras el fin de cada iteración un procedimiento de difuminación gaussiana (Gaussian blur), que elimina los rasgos de mayores frecuencias. Las técnicas de procesamiento de imágenes (como es la compresión en JPEG) distinguen entre rasgos de baja frecuencia, que suelen coincidir con los rasgos generales de una imagen, y los rasgos de alta frecuencia, que almacenan sus detalles más pequeños así como el ruido.
Esta terminología tiene sus orígenes en el análisis de Fourier, que es toda una gran disciplina a la que evidentemente no nos podemos referir en este artículo. Baste con señalar que la difuminación gaussiana tiende a eliminar los componentes de alta frecuencia, particularmente el ruido. El método de Oygard va progresivamente incrementando el sigma de la operación, de tal manera que primero se incorporan a la imagen rasgos de baja frecuencia, y luego progresivamente, se van agregando frecuencias cada vez más altas. Otros métodos alternativos aplican transformaciones a la imagen (escalado, rotación, etc…) tras cada iteración.
Este GIF animado ha sido construido por medio del algoritmo DeepDraw. La imagen, correspondiente la categoría “perro pastor de Shetland”, se va construyendo progresivamente. Y las frecuencias más altas (que codifican los rasgos de mayor detalle) se incorporan al final.
Rasgos y capas en la red
La técnica que hemos descrito puede ser también utilizada para visualizar el contenido de los mapas de características de capas interiores y de sus neuronas.
Por lo general, conforme nos alejamos de la salida, la información semántica almacenada por los mapas de características es de cada vez menor nivel. Recomendamos encarecidamente al lector visitar este enlace en el que Olah et al nos ofrecen coloridas visualizaciones de la información almacenada por las neuronas de una red GoogLeNet entrenada con ImageNet. Lo que se muestra específicamente son aquellas imágenes de entrada particulares que maximizan y minimizan la excitación de cada neurona concreta.
Mostramos aquí la información almacenada en neuronas de tres de las capas de GoogLeNet. Conforme avanzamos hacia la salida, las unidades responden a rasgos cada vez más generales. Así, la primera fila de imágenes corresponde a unidades de la capa 3b, en las que se aprecian patrones geométricos básicos, como texturas de tejidos. La fila siguiente pertenece a la capa 4b, donde empezamos a intuir imágenes de árboles y rasgos arquitectónicos. Por último, se reproducen imágenes de la capa 4d en la que ya aparecen conceptos más sofisticados como perros, primates, serpientes o comida.
Espacios semánticos
Cada una de las capas internas de una red neuronal artificial puede ser interpretada matemáticamente como un hiperespacio de N dimensiones en el que N neuronas codifican y almacenan información. En este apartado nos referiremos a dos casos particulares: los espacios de características de las redes convolucionales y los espacios latentes de los autocodificadores (autoencoders) y de las GANs.
Espacios de características
Por lo que se refiere al primero de ellos, dentro de una capa convolucional cada neurona es identificada por tres parámetros, que señalan mapa de características (z) en el que se ubica y su posición (x,y) dentro del mismo. Las diferentes posibilidades de configuración de una capa convolucional conforman un espacio de 3N dimensiones, donde N es el número de neuronas de la capa. Este número es a la vez el resultado de multiplicar el número de mapas de características, por la anchura y la longitud de cada uno de ellos. Este hiperespacio recibe el nombre de espacio de rasgos (feature space), aunque nosotros preferiríamos denominarlo espacio de Fukushima, en honor a Kunikiho Fukushima, el creador de las redes neuronales convolucionales.
Espacios latentes
Los espacios latentes, por su parte, son los espacios de configuración de las capas intermedias de los autocodificadores y de la capa inicial de los generadores de los GANs. A partir de ellos, el codificador/generador crea una nueva imagen. En los autoencoders, el vector latente es construido por el codificador a partir de una imagen de entrada (que luego será reconstruida). En las GANs este vector se construye a partir de una corriente de bits (bitstream) de simple entropía y ruido.
Continuidad
Tanto los espacios de características como los espacios latentes son variedades (“estructuras geométricas”) suaves, en los que pequeños cambios de los valores de excitación de las neuronas provocan correlativamente ligeras modificaciones en el significado semántico del estado de red. Y lo hacen de forma continua, tal y como se muestra en la imagen siguiente.
En el extremo izquierdo se reproduce la imagen de entrada correspondiente al grado de excitación máximo de la unidad 476 y al mínimo de la unidad 460, dentro del módulo de incepción 4a. En el extremo derecho, se reproduce el caso contrario. El resto de las imágenes reproducen estados intermedios. Puede observarse cómo la transición entre ambos estados es progresiva y continua.
Relevancia filosófica
A nuestro juicio, y retomando el tema inicial del artículo, el conjunto de todos los espacios de características y latentes de una red neuronal constituye una suerte de “Mundo Inteligible algorítmico”, por medio del cual la máquina recuerda y procesa rasgos abstractos como líneas geométricas, texturas o incluso formas primigenias (arquetipos) de objetos. La discusión sobre el problema de los universales trasciende, por tanto, el ámbito de la mente humana y penetra de lleno en el de las máquinas. “Hoja”, “árbol” y “mesa” ya no pueden ser considerados simples términos lingüísticos, como afirmaban los realistas, sino que son patrones abstractos de existencia objetiva susceptibles de ser procesados por simples autómatas.
En los siguientes artículos haremos referencia a las operaciones matemáticas que pueden realizarse dentro de estos espacios semánticos, y que permiten fenómenos como la “suma de conceptos” o la transferencia neuronal de estilos artísticos.
Lecturas recomendadas
– Øygard; A. M et al. (2015) Visualizing GoogLeNet Classes.
–Feature Visualization: How neural networks build up their understanding of images