No cabe duda que las redes neuronales convolucionadas, aquellas que son de aprendizaje profundo, han sido un enorme éxito en la Inteligencia Artificial y hoy día muchos de los problemas más interesantes se atacan a través de estas técnicas. Sin embargo, Geoffrey Hinton, Sara Sabour y Nicholas Frosst, miembros del “Google’s Brain Team” de Toronto, han publicado una serie de resultados que revelan que podría haber una mejor arquitectura que la ya mencionada, la cual recibe el nombre de “Red de cápsula“.
Ya llevamos tiempo hablando de redes neuronales y éstas han empezado a arrojar resultados a partir de que el hardware ha mejorado considerablemente y las limitaciones de memoria ahora son menores. Quizás el éxito de las redes neuronales actualmente se deba además al interés de los investigadores para que de verdad funcionen.
Si se tiene una red neuronal y un algoritmo para entrenarla vía la propagación hacia atrás en una serie de capas de neuronas, la pregunta sería cómo organizar dichas capas para que las cosas funcionen. El mayor problema es tener redes neuronales que tomen en cuenta las invariancias que son inherentes a los datos. Por ejemplo, si se intenta reconocer a un gato a la mitad de una imagen, e puede reconocer un gato que se mueve hacia la izquierda, derecha, arriba y abajo. La red neuronal toman en cuenta la invariancia de la traslación de la imagen.
Esto es precisamente la parte “convolucional” de la red neuronal: se aplica a un pequeño grupo de neuronas con la misma estructura en toda la imagen. Por supuesto que el grupo convolucional no es sensible a los gatos pero sí a las características de bajo nivel como son líneas y vértices. De hecho, a partir de esto se puede tener una capa con características de alto nivel que eventualmente lleguen a distinguir al gato.
Las redes neuronales convolucionadas son insensibles a las traslaciones y aquí entonces basta con entrenar a la máquina con imágenes de gatos centrados en las fotografías para que puedan reconocer a un gato en cualquier posición en la imagen. Sin embargo, este tipo de redes no maneja automáticamente las rotaciones así como otras distorsiones. Si se quiere que la red neuronal pueda reconocer un gato rotado en un ángulo, hay que entrenar todo de nuevo usando imágenes con gatos rotados a ese ángulo en particular.
Por supuesto, si se puede aprender a reconocer un nuevo objeto se puede reconocer rotado o escalado este o bien, desde diferentes puntos de vista. No se necesita mostrarle miles de imágenes en diferentes perspectivas y ángulos para que esto ocurra.
Por supuesto hay más en una red neuronal convolucionada de lo que hemos hablado aquí y Hinton ha comentado la posibilidad de una nueva idea. De hecho, esa idea la tiene desde hace tiempo, pero es hasta ahora que ha podido ser puesta en práctica.
Es claro que las redes neuronales son solamente un componente de una arquitectura más grande. El cerebro humano no es una sola red neuronal sino un conjunto de redes que hacen cosas especializadas. En los años por venir es probable que se vea a la IA como el tiempo en el que estas redes fueron descubiertas y empezaron a juntarse para crear un sistema que las use.
Un problema de las redes convolucionadas es que quitan mucha información. Por ejemplo, reconocer un rostro como una colección de dos ojos, una boca y una nariz, pero no tienen información sobre la relación entre las partes. Una red de cápsula se diseñó para construir un árbol que reconozca la escena y que lleve la relaciones entre las diferentes partes y ésta es la nueva idea. Permite reconocer un objeto que ha sido sujeto a alguna transformación. La arquitectura es compleja y usa muchas neuronas, pero solamente tiene dos capas convolucionadas y una capa totalmente conectada.
En un artículo publicado por los investigadores, se aclara que hay muchos detalles por considerar. Sin embargo, podemos preguntarnos qué tan bien trabaja este modelo. La respuesta a esto es que no lo hace mejor que una red convolucionada. Es buena al principio y trabaja mejor con imágenes transformadas. El conjunto de prueba fue una serie de dígitos escritos a manos y la razón de error fue de 0.25%, lo cual es muy bueno para una red de tres capas. Sin embargo, cuando se probó la red con los datos con una transformación afín más pequeña, la red de cápsula logró el 79% de precisión, lo cual está por encima de una red tradicional, que solamente logra un 66%.
De nuevo, un buen resultado pero no lo suficientemente bueno aún. Digamos que hay que hacerse todo género de preguntas, las cuales se definen con toda claridad en el mencionado artículo de los investigadores de Google:
“Hay muchas maneras posibles de implementar la idea general de las cápsulas. El propósito de este artículo no es explorar todo el espacio sino simplemente mostrar que algunas implementaciones directas trabajan bien y que la rutina dinámica ayuda”.
Esto significa que habrá que darle seguimiento a esta idea: “La investigación sobre cápsulas es ahora similar a la etapa de la investigación en donde se encuentran las redes neuronales recurrentes para el reconocimiento del habla al inicio de este siglo. Hay razones fundamentales de representación para creer que este es un mejor enfoque, pero probablemente se requiere de afinar muchos detalles antes de que pueda desempeñarse como una tecnología altamente desarrollada. El hecho es que un sistema de cápsulas dado da un desempeño sin paralelo en la segmentación de dígitos y esto bien puede ser un indicativo de la dirección que vale la pena explorar.