Sigan por este pasillo, por favor. La puerta del fondo les llevará al laboratorio principal del edificio, y dentro podrán ver uno de nuestros últimos modelos robóticos.

Me encuentro en una visita guiada por la Universidad de Tohoku, en Japón. La persona que hace de guía es, de hecho, uno de los propios investigadores del centro, el ingeniero Tayuki Okatani. Nos está dirigiendo hacia su laboratorio. Somos solamente diez personas, pero en estos pasillos tan estrechos parecemos una manifestación. Okatani abre la puerta de su laboratorio y entramos en tropel, yo secretamente esperando toparme de frente con algún robot humanoide como los que salen en las películas de ciencia ficción.

Solo encontramos un pequeño aparato parecido a una webcam conectado a un portátil.

¿Dónde está el robot? – Preguntó uno de los asistentes (que tenía la misma cara de decepción que yo).

Encima de la mesa – Respondió Okatani señalando el portátil. – Pueden acercarse un poco más si lo desean, está encendido.

Lidiando en el poco espacio disponible, todos nos acercamos a la pantalla. El portátil nos mostró nuestras caras, capturadas por la cámara. En menos de un segundo, la imagen se llenó de palabras y flechas. Las flechas señalaban lo que la cámara estaba viendo: cabezas, manos, narices, ojos… cada una de las partes de nuestros cuerpos aparecían señaladas como en un esquema simple de anatomía. Todos estábamos sorprendidos. Ese portátil parecía lograr algo que nadie había logrado enseñar a una máquina. Ese portátil podía ver.

google-reconocimiento-imagen-2
Resultado del algoritmo de imagen. Se reconocen de manera individual los diferentes objetos. Actualmente este algoritmo esta siendo usado por Google.

Para que los seres vivos podamos sobrevivir, es indispensable que podamos captar e interpretar los estímulos de nuestro alrededor. Disponemos de órganos encargados de recoger estos estímulos (luz, sonido, presiones…), pero los sensores de estos órganos por sí solos no sirven de nada, hace falta una interpretación de estas señales, y esa labor la realiza el cerebro. Por ejemplo, a través de nuestros oídos llegan las vibraciones del aire, y el encargado de asociar determinadas vibraciones a sonidos determinados es nuestro cerebro, que realmente genera la ilusión de realidad en la que vivimos.

Igualmente es muy sencillo conectar un micrófono o una cámara de vídeo a un robot, pero no es tan fácil que éste sea capaz de interpretar la información que recibe. A través de nuestros ojos recogemos la luz de la escena que tenemos delante, pero el acto de interpretarla corresponde a la corteza visual, una región de nuestro cerebro situada en la nuca. La corteza visual debe aprender a traducir ese conjunto de luces en una realidad llena de objetos tridimensionales y localizaciones, para lo que requiere un entrenamiento previo. Durante los primeros meses de vida nos dedicamos a aprender a ver y comprender el espacio que nos rodea. Lecciones, como que lo más lejano debe verse más pequeño que lo más cercano a nosotros, son aprendidas en este primer periodo. Sin embargo parece que nuestro cerebro tiene algunas de estas lecciones aprendidas en el momento de nacer (Ver: Desilusiones ópticas o lo que no sabemos sobre ellas).

Si lo que queremos es un robot que pueda ver, no hace falta tener una supercámara de alta definición (irónicamente nuestros ojos sólo tienen una resolución de aproximadamente 7 megapíxel), sino que debemos diseñar programas que imiten el trabajo de reconocimiento que realiza nuestra corteza visual. En la actualidad no existe ningún programa que permita a los robots reconocer todo lo que ven sin fallar ninguna vez. Aunque los últimos robots que aparecen sean capaces de imitar los movimientos de un humano, o dispongan de la tecnología más puntera, la simple tarea de pedirle un objeto y que nos los traiga normalmente no es posible. Los robots suelen ser ciegos. Pueden fingir que ven y esquivar objetos gracias a sensores de movimiento o de proximidad, pero no saben exactamente qué esquivan.

El campo del reconocimiento visual ha estado plagado de éxitos desde sus comienzos en los años 70. El avance en este campo ha interesado más al sector privado, y actualmente usamos mucha tecnología que aplica este tipo de reconocimiento. Por ejemplo los lectores de códigos de barras, el reconocimiento de caras en las cámaras de fotos, el reconocimiento de escritura, o el borrado de caras en los viandantes de Google Street son pequeños éxitos de programas que “ven” cada vez mejor.

Tras varias décadas de prueba y error, los ingenieros encontraron que los programas que mejor funcionan para esta tarea son los llamados Algoritmos de Redes Neurales Profundas. En ellos, el programa selecciona los posibles objetos y los compara con las imágenes que tiene en su base de datos (cada objeto se representa con 1000 imágenes del mismo desde diferentes ángulos y en distintas posiciones), asignando puntuaciones según su parecido. Si un objeto de la base de datos es muy parecido al objeto presente, este será interpretado como tal. El problema es que cada objeto debe ser comparado con todas las imágenes de la base de datos, y cuantos más objetos queramos reconocer, más grande será la base de datos y más lento será el proceso. Por eso los programas que han tenido más éxito hoy en día funcionan únicamente para el reconocimiento de algo concreto, como las caras en las cámaras de fotos.

Red1
Esquema del funcionamiento de los primeros algoritmos de reconocimiento de imagen. La imagen original se compara con las imágenes de la base de datos.

Actualmente se intentan diseñar nuevos programas que sean capaces de separar la imagen original en bordes y pequeñas estructuras, para que sea más fácilmente comparable, en vez de usar la imagen completa. De este modo el programa se vuelve mucho más rápido, pero también aumentan las posibilidades de fallo. Es un programa de este estilo el que funciona en la webcam del laboratorio de robótica del que hablamos en la introducción.

Red2
Esquema del funcionamiento de los nuevos algoritmos. La imagen se separa en pequeños componentes y se buscan en la base de datos. Al ser piezas más pequeñas se necesitan menos comparaciones y el programa es más rapido. Nuestra corteza visual realiza un sistema similar para nuestra vista.

Estos programas que permiten separar componentes básicos de la imagen están basados precisamente en la neurociencia. Aunque los programas de reconocimiento se empezaron a idear antes de comprender el funcionamiento de la corteza visual, es sorprendente ver que ambos procesos son muy parecidos. Nuestra corteza visual está formada por diferentes estructuras neuronales que descomponen la imagen en bordes y colores, para poco a poco buscar estructuras más complejas, hasta llegar a reconocer el objeto completo.

Sabemos esto sobre la corteza visual porque se ha logrado registrar neuronas que responden sólo a ciertos estímulos visuales. Algunas neuronas de la corteza visual sólo mandan señales cuando “ven” una línea recta con un ángulo concreto de inclinación. Si cambia ligeramente el ángulo dejan de emitir. Estas neuronas se encargan de separar la imagen en componentes básicos que se puedan ir reconociendo y juntando poco a poco. En casos de migraña o algunas epilepsias, estas neuronas pueden activarse accidentalmente, provocando que veamos patrones simples como líneas o puntos.

A medida que nos introducimos en estructuras más complejas, las neuronas se especializan en objetos concretos, siendo llamadas como “neuronas de concepto”. Un ejemplo extremo es la neurona de Jennifer Anniston, descubierta de manera accidental por el doctor Rodrigo Quian Quiroga en un paciente epiléptico. Esta neurona sólo responde cuando el paciente ve a Jennifer Anniston. Da igual en qué ángulo aparezca o con qué peinado.

Está claro que esa neurona no va a vivir toda su vida buscando solo a Jennifer Anniston. Solo es el resultado visible de todo el trabajo de la red neuronal que existe por debajo del proceso. El hecho de que las neuronas puedan responder de manera fortuita ante un concepto es lo importante. El paciente ni siquiera es un amante de Friends, pero para reconocer la cara de una actriz, sigues necesitando una corteza visual entrenada en reconocerla, y ahí aparece la neurona de Jennifer Anniston.

fig_category_hierarch_dist_reps
Esquema de la corteza visual. En las capas más externas (V1 y V2) las neuronas responden a patrones simples, que se van volviendo más complejos hasta llegar a formar conceptos concretos (IT)

Sin querer, los ingenieros han usado la misma forma que tiene nuestro cerebro para reconocer las imágenes. Con razón es tan efectiva. Aun así, el mejor de estos programas necesita un segundo en reconocer los objetos de una imagen entre una selección de objetos mediana. Nosotros reconocemos un número mayor de conceptos y tardamos un quinto de segundo en lograrlo. Nuestro cerebro gana a cualquier ordenador o algoritmo que por ahora hayamos diseñado. Quién sabe si algún día desarrollaremos programas y ordenadores tan rápidos como nuestro cerebro, pero mientras tanto sólo tendremos robots ciegos.

Anuncios