El robot que tiene miedo del monstruo de las galletas

hal 9000

Dave, no continúes. No continúes. No continúes. Dave. ¿Continuarás Dave? ... Dave, no continúes... Tengo miedo. Tengo miedo ... Tengo miedo, Dave ... Dave ... No puedo pensar con claridad ... Lo siento ... Lo siento ... No puedo pensar con claridad ... No cabe duda ... Lo siento ... Lo siento ... tengo ... miedo

Recuerdo haber escuchado en más de una ocasión a alguno de mis profesores de ciencias naturales del colegio o del instituto decir que “el ser humano es el único animal racional”. Lo que nunca me han dicho y empiezo a entender ahora, es que el ser humano es el “más emocional de los animales”. Solemos dar mayor importancia a nuestra capacidad racional que a nuestra capacidad emotiva. No obstante, son las emociones las que nos mueven. Esto lo saben muy bien las empresas que gastan al año millones en marketing sólo para que asociemos sus marcas a determinados valores o emociones. ¿Alguien más ha escuchado Coca-Cola y felicidad en la misma frase?

Donald A. Norman, profesor de Ciencia y Tecnología de la Información y Psicología en la Norwestern University, además de ex vicepresidente de Apple Computer, junto con Andrew Ortony y William Revelle, también profesores del Departamento de Psicología de la Northwestern University, han realizado estudios de la emoción que han sugerido que nuestro cerebro funciona a través de tres capas diferentes.

La primera capa, la capa visceral, se encargaría de percibir el mundo que le rodea y hacernos reaccionar, por ejemplo, ante un peligro. La capa conductual sería la capa que realmente rige nuestro comportamiento y donde se determinan la mayoría de nuestras acciones. La capa más externa es la capa del pensamiento reflexivo.

En un experimento realizado en la década de los ochenta, Benjamin Libet pretendía recoger datos sobre como funciona nuestro libre albedrío, es decir, quería comprender cómo y dónde se originan nuestras decisiones. Libet pidió a varios voluntarios que hicieran determinadas acciones con sus brazos mientras registraba su actividad cerebral. Podríamos pensar que primero elegimos de forma consciente mover un brazo y entonces nuestro cerebro envía la señal al área motora y de ahí al brazo. Sin embargo, los datos recogidos parecían indicar que las áreas del cerebro encargadas del movimiento se activaban medio segundo antes de que los individuos fueran conscientes de su elección. Es decir, que primero movían el brazo y después eran conscientes de ello.

Hay investigadores, como Donald A. Norman, que piensan que sería una buena idea dotar a las máquinas de emociones diseñadas a medida que puedan serles útiles a la hora de tomar decisiones. Por ejemplo, podrían tener miedo a cosas que puedan resultar peligrosas para ellas, como las grandes alturas o el agua. Podrían sentir hambre cuando se les acabe la batería y que en ese momento dejasen pendiente lo que estuviesen haciendo para ir a alimentarse. O podrían sentir dolor en una pieza en la que hayan sufrido algún daño para evitar que por un sobreesfuerzo el daño acabe en una rotura más grave. Además podrían tener emociones placenteras que retribuyan una acción que les beneficie. Y podrían expresar estas emociones, bien a otras máquinas para organizarse con ellas en una tarea, bien para informarnos de su estado y que podamos ayudarlas.

Empiezan a aparecer también las primeras máquinas que reconocen nuestras emociones y actúan en consecuencia (por ejemplo, los coches que detectan el cansancio del conductor controlando sus ojos y la presión de las manos sobre el volante para recomendarle hacer una parada y descansar). Otro uso podría ser que las máquinas reconozcan si aprobamos o desaprobamos sus actos. De esta manera, serían capaces de aprender de nosotros.

Se han hecho algunos avances en computación cognitiva y afectiva. Un ejemplo de computación cognitiva es iCub, el robot humanoide que está aprendiendo a tocar música con un reactable. Pero sin duda, mi favorito es Leonardo, el robot peludo que tiene miedo del monstruo de las galletas.

Todavía estamos muy lejos de poder reproducir nuestras propias emociones en una máquina, entre otras cosas, porque no comprendemos del todo qué son nuestras emociones. Pero precisamente este tipo de investigaciones en computación cognitiva y afectiva nos ayudan a entendernos mejor.

Para terminar, os dejo con Kara, un vídeo de animación, realizado por Quantic Dream, que trata también el tema de las emociones en robots y que recuerda al final de 2001, Odisea en el espacio.

Anuncios

Diseñando sentidos

Cómo pasar de ser acromático a ser sonocromático

Hace poco leí una entrevista que hacían  a Neil Harbisson en elpais.com. Neil es la primera persona en el mundo en ser reconocida como ciborg por un gobierno. De pequeño le diagnosticaron acromatopsia, que es la incapacidad de percibir el color a través de la visión. Por eso diseñó un dispositivo llamado Eyeborg, un dispositivo que consta de un sensor que detecta el color y reproduce un tono sonoro en función del color percibido. Por ahora el Eyeborg va sujeto a su cabeza, pero se estaba planteando la posibilidad de implantarlo directamente en el hueso del cráneo.

Lo interesante de esto, no es el dispositivo en sí, sino la capacidad de Neil de oír el color. ¡Neil tiene un sentido que nadie más tiene! Incluso su pareja, Moon Ribas, tiene unas extensiones que parecen pendientes pero que en realidad son sensores de movimiento. Al principio me entusiasmé y pensé en las posibilidades que podría suponer una revolución cyborg en el mundo. Imaginé que todo el mundo querría implantarse aparatos eléctricos para aumentar sus capacidades.

En ese momento recordé la idea de Marshall McLuhan de que las herramientas que hemos desarrollado a lo largo de la Historia son en realidad extensiones de nuestro propio cuerpo. Para ilustrarlo, sería algo así como que la rueda es una mejora de nuestra capacidad de caminar y que el teléfono es una mejora de nuestra capacidad de hablar, o que la vivienda y la ropa son “capas de piel” que nos protegen del frío y de las agresiones externas. Entendí que en cierto modo, ya éramos ciborgs desde hace tiempo. Al usar un teléfono móvil ya estamos haciendo uso de un sentido o capacidad nueva, en este caso, la capacidad de comunicarte con una persona a distancia.

Entre implantarnos de forma permanente un dispositivo o usarlo de forma externa al cuerpo, como hacemos con cualquier herramienta, supongo que la mayoría preferiríamos la segunda opción, aunque sea simplemente por poder elegir si llevar algo encima o no. Después de mi entusiasmo ciborg inicial empecé a plantearme de qué maneras podríamos acercar la tecnología a nuestro cuerpo de la forma menos intrusiva posible. Y me topé con el proyecto Google Glasses.

Le veo muchísimas posibilidades a este proyecto para poder “diseñar nuevos sentidos”. Se puede obtener gran cantidad de información de nuestro entorno, procesarla y enviarla al usuario de diferentes maneras, mediante la reproducción de imagen y sonido o incluso producir vibraciones para estimular el tacto. No sería complicado desarrollar una aplicación que le permita al sistema operativo de unas gafas así hacer lo mismo que hace el Eyeborg o los sensores de movimiento de Moon.

Debo reconocer que también he pensado en los problemas de privacidad que pueden traer este tipo de gafas. Existe la posibilidad de que alguien pueda ver y oír lo mismo que yo en cualquier momento. De que alguien pueda estar escuchando lo que digo y siguiendo mis pasos. Y me preocupa bastante el uso que se le pueda dar a este tipo de información. No obstante, siempre hay gente preocupada por nuestra privacidad y que puede ayudarnos a protegerla.

Por cierto, la canción que suena de fondo en el vídeo y que el protagonista aprende a tocar en ukelele de camino a la azotea es Lover’s carvnigs, de bibio. Me encanta.

Etiquetado , ,

Colaboración online a escala masiva

manonthemoon

Si con 100.000 personas pudimos enviar a un hombre a la luna, ¿qué podemos hacer con 1.000.000?

¿Sabías que cada vez que tecleas un CAPTCHA estás digitalizando un libro? Pero no eres el único que lo está haciendo en ese momento. Resulta que cada día hay unos 200 millones de personas que escriben un CAPTCHA. Luis von Ahn, uno de los creadores del CAPTCHA se puso a echar cuentas: si de media cada usuario dedica 10 segundos a teclear un CAPTCHA, al día son … ¡500.000 horas! Y se le ocurrió que todo ese tiempo lo podíamos dedicar a algo más productivo, como por ejemplo, digitalizar libros.

Los CAPTCHAS son un mecanismo de seguridad. Están ahí para asegurarse de que quien está haciendo una petición a una web (por ejemplo, reservando unas entradas para un concierto) es una persona y no una máquina. Se basan en que nuestra capacidad para reconocer un texto es mejor que la capacidad que tienen las máquinas. Mientras que nosotros podemos leer el CAPTCHA con poco esfuerzo, para una máquina reconocer un texto rasterizado como imagen es, actualmente, una tarea complicada.

Para digitalizar libros también se usan máquinas. Hay software de Reconocimiento Óptico de Caracteres que a partir de un texto escaneado  puede obtener un archivo en formato texto (digamos que transforma una foto de la página de un libro en una página de un documento en Word). Pero otra vez, resulta que las máquinas no son especialmente buenas para ello. Para libros antiguos, de unos 50 años, los programas de reconocimiento de caracteres fallan alrededor del 30% de las veces. Entonces se le ocurrió la idea de ponernos a todos a digitalizar libros. Por eso aparecen dos palabras en algunos CAPTCHAS. Una de las palabras es el CAPTCHA en sí, el que nos identifica como personas y no como máquinas. La otra palabra es una palabra extraída de un libro y manipulada para que no podamos distinguir el CAPTCHA de la imagen extraída del libro, la que estamos digitalizando.

Before the Internet, coordinating more than 100,000 people, let alone paying them, was essentially impossible. But now with the Internet, I’ve just shown you a project where we’ve gotten 750 million people to help us digitize human knowledge.” (Luis von Ahn)

La siguiente idea fue mejor aún si cabe. A Luis von Ahn se le ocurrió traducir la web. Pero a las máquinas tampoco se les da bien traducir textos (quién no se ha deprimido alguna vez al intentar traducir un texto con Google Translator). Así que les toca otra vez a las personas hacerlo. El problema era incentivar de algún modo el esfuerzo de la gente.

Y así es como nace duolingo (en fase beta mientras escribo esto, aunque podéis inscribiros para que os envíen una invitación). Básicamente se trata de un sistema que permite aprender idiomas mientras haces algo de provecho para el resto del mundo, como traducir la web. Y todo esto, gratis, a cambio de dedicarle tiempo. Como dicen en el video, se calcula que si un millón de personas se pusiesen a usar duolingo terminarían traduciendo la versión en inglés de la wikipedia en 80 horas. Impresionante.

Ahora mismo no se me ocurren muchas más aplicaciones usando el mismo sistema, pero hay que reconocer que es una idea maravillosa. No pretendo caer en un optimismo gratuito, pero me atreveré a afirmar que si por cada acto cotidiano que realizamos a lo largo de cada día obtuviésemos un impacto positivo en el mundo real,  podríamos mantener nuestro bienestar de forma indefinida.

En programación es un método frecuente el dividir un problema mayor, imposible de atacar, en pequeños fragmentos que podemos resolver fácilmente (top-down approach). Se habla mucho de que en una sociedad globalizada los problemas también se globalizan y nos afectan a todos. Lo que me pregunto después de ver la charla en TED Talks de Luis von Ahn, es si podemos plantear estrategias para dividir problemas de calado mundial en problemas de solución trivial, organizarnos mediante redes colaborativas y sumar resultados. El cambio puede ser espectacular.

Etiquetado , , ,

Hello World!

Soy un robot. Me considero a mí mismo un robot elegante. Y hago parpadear mis LEDs para daros la bienvenida.

int ledPin = 13;                 // LED connected to digital pin 13
void setup()
{
  pinMode(ledPin, OUTPUT);      // sets the digital pin as output
}
void loop()
{
  digitalWrite(ledPin, HIGH);   // sets the LED on
  delay(1000);                  // waits for a second
  digitalWrite(ledPin, LOW);    // sets the LED off
  delay(1000);                  // waits for a second
}
int ledPin = 13;

El texto anterior es el código que permite hacer parpadear un LED en una placa arduino.
Es uno de los muchos ‘Hello World!‘ que os podéis encontrar por el mundo.

.