¿Cómo soñaría un robot? No lo sabemos, pero para contestar esta peculiar pregunta, más propia de la ciencia ficción, podemos hacernos una la idea con las imágenes de la investigación de Google y sus redes neuronales.
¿Como soñaría un robot? Si alguna vez os lo habéis preguntado probablemente os encontréis entre los más fervientes amantes de la ciencia ficción. Pero no penséis que es una cuestión ridícula. Los sueños son un elemento íntimamente relacionado con los seres con capacidades cognitivas. Así que al escuchar a los ingenieros de software de google hablar de "cómo sueñan" sus redes neuronales, lo mínimo que puede ocurrir es que se despierte nuestra curiosidad. Si además podemos ilustrarlo en imágenes, ya no tenemos excusa para no prestar atención.
Redes neuronales, ¿qué son?
Las redes neuronales son un sistema de procesamiento de información que simula el aprendizaje animal mediante el uso de "neuronas" artificiales. Es decir, son sistemas capaces de aprender imitando el paso de información a través de una red de unidades de proceso, que trabajan la información en paralelo, y terminan dando un resultado a un problema. Se llaman redes neuronales porque imitan, de una manera muy sencilla, el sistema que tienen las neuronas de nuestro cerebro de procesar la información. Eso sí, hay que tener muy en cuenta que las diferencias son notables. Pero es un comienzo. Los sistemas de redes neuronales permiten el procesado de datos muchísimo más complejos. Es más, permite escalar, es decir agrandar, la cantidad de información con la que se puede trabajar hasta puntos inimaginables. Por otro lado, las redes neuronales tienen una serie de características que las diferencias de otros tipos de procesamiento de información.
En primer lugar, aprenden. Son capaces de adquirir información y utilizarla para mejorar su modo de funcionamiento. Imitan la manera de reorganización informativa cerebral, se auto-organizan (sin que tenga que hacerlo nadie por ellas) y son muy dinámicas, tolerando y ajustando los errores por sí solas. Las redes neuronales son una maravilla de la informática, estadística e ingeniería, capaces de trabajar con información de una manera nunca vista. Aunque todavía ni se acercan a las redes neuronales naturales, su capacidad es increíble. Precisamente, Google emplea este sistema para impulsar su tecnología de búsqueda y clasificación. Especialmente en temas de reconocimiento vocal e imágenes, donde las redes neuronales son empleadas para detectar y clasificar un mundo lleno de matices.
Así sueña una red neuronal
Las redes neuronales diseñadas por Google para trabajar imágenes emplean varios puntos de entrada de información, la cual pasa por varias capas llegando, finalmente, a una "capa de salida". Por ejemplo, se le muestran diversas fotos de puentes y la red detecta los detalles, formas y matices que contienen las fotos. Al final, la red neuronal "comprende" lo que es un puente, así que cuando busquemos "Puente", nos mostrará imágenes que se ajusten a lo que ha aprendido. El problema, como explican algunos de los ingenieros detrás de estas redes, es que algunos algoritmos funcionan mejor que otros. Pero no se sabe por qué. Muchas veces el problema se reduce a hacer pruebas hasta dar con el resultado adecuado. Pero esto es laborioso y poco "científico". Así que para estudiar cómo funcionan las redes neuronales lo que intentan es, básicamente, analizar cómo aprenden dichas redes para desentrañar su funcionamiento.
Imagen iterativa obtenida por las redes neuronales de Google. Michael Tyka/ Google
Para ello, lo que han hecho es revertir el proceso. En vez de detectar, se les pide a las redes neuronales que "dibujen" lo que han aprendido. Así, al decirles "Puente" y darles la oportunidad de confeccionar imágenes, éstas irán confeccionando una imagen a partir de la información aprendida. Estas imágenes son lo que los ingenieros de Google llaman "sueños". Y no es para menos, porque las redes dibujan cosas verdaderamente increíbles. Uno de los objetivos principales de la investigación es conseguir saber qué se procesa en cada capa. Normalmente, las redes neuronales poseen entre 10 y 30 capas de procesamiento. Hasta la red más sencilla es capaz de hacer análisis (más o menos precisos). Pero lo que hace cada una o por qué se organiza así la información, aunque cueste decirlo, es un misterio.
Imagen iterativa obtenida por las redes neuronales de Google. Michael Tyka/ Google
Imagen iterativa obtenida por las redes neuronales de Google. Michael Tyka/ Google
Imagen iterativa obtenida por las redes neuronales de Google. Michael Tyka/ Google
Imagen iterativa obtenida por las redes neuronales de Google. Michael Tyka/ Google
Imagen iterativa obtenida por las redes neuronales de Google. Michael Tyka/ Google
Imagen iterativa obtenida por las redes neuronales de Google. Michael Tyka/ Google
Imagen iterativa obtenida por las redes neuronales de Google. Michael Tyka/ Google
anterior siguiente
Parece que las capas más bajas detectan patrones, líneas y direcciones, mientras que las capas superiores, las últimas, son capaces de jugar con información más compleja. Una propiedad muy interesante es la costumbre que tienen estas redes, cuando se les pregunta de manera adecuada, de hacer pareidolia. Es decir, identificar formas vagas con objetos concretos como ver rostros, animales y cosas. Cuanto más reiterativo es el procesamiento, la red detecta cada vez más el objeto, convirtiendo su análisis en una imagen real (y completamente distinta de la original). Lo más impresionante es que no hace falta partir de imágenes reales para que las redes detecten formas. Dejar a las redes neuronales trabajar a su libre albedrío implica la aparición de imágenes increíbles. Los ingenieros detrás de estas redes neuronales están bastante emocionados con los resultados que están obteniendo. Y no es para menos, ya que ¿quién sabe que puertas estamos abriendo? ¿o lo que habrá detrás? En cualquier caso, parece que estamos un poco más cerca de saber en qué sueñan los robots.
Continúar leyendo...