En enero, Zuckerberg anunció que, como proyecto personal para 2016, construiría una especie de mayordomo inteligente para su hogar, capaz de controlar cada elemento de la casa. Finalmente, lo ha conseguido y se llama Jarvis, en honor al sistema de inteligencia artificial (IA) de las películas de Iron Man.
Jarvis: el reto de Zuckerberg para 2016
Al comienzo de cada año, Zuckerberg elige un reto que llevar a cabo a lo largo de ese año. El año pasado, por ejemplo, fue leer un libro cada mes; y en años anteriores, se propuso cosas tan diversas como programar a diario (2012), aprender chino mandarín (2010) o conocer a alguien nuevo cada día.
Este año, para evitar el sedentarismo al que le llevó su reto del año anterior, eligió dos:
1. Un reto intelectual: crear un sencillo sistema de IA capaz de controlar los distintos elementos de su hogar utilizando las herramientas de Facebook.
2. Un reto físico: correr 365 millas (unos 587 km) antes de finalizar 2016.
Esta semana Zuckerberg ha anunciado que ha conseguido completar los dos, aunque obviamente el que más interés ha despertado es Jarvis, su asistente personal para el hogar basado en IA.
En qué consiste Jarvis
Jarvis es un sistema de inteligencia artificial con el que Zuckerberg puede comunicarse por voz o texto a través de su teléfono móvil o de su ordenador y que no solo es capaz de controlar los diferentes elementos de su hogar y gestionar la seguridad de la red, sino que también tiene sentido del humor y es capaz de aprender sobre la marcha.
Para desarrollarlo ha utilizado:
- Diversas técnicas de inteligencia artificial (IA), como el procesamiento del lenguaje natural, el reconocimiento de imágenes y de voz y el aprendizaje por refuerzo.
- Y lenguajes de programación como Python, PHP y Objective C.
El resultado es similar a los asistentes de Amazon o Google, pero mejor, en el sentido de que el sistema de IA de Zuckerberg es capaz de controlar también electrodomésticos que no vienen con conexión a Internet y es posible hablar con él o darle indicaciones aunque no estemos en casa, dado que funciona en el móvil.
“Mi reto personal para 2016 fue construir un sencillo sistema de IA para gestionar mi casa, al estilo de Jarvis en Iron Man”, señala Zuckerberg.
“Mi objetivo era conocer la situación actual de la inteligencia artificial, dónde estamos muy por delante de lo que la gente cree y dónde nos queda todavía un largo camino por recorrer”.
“Estos desafíos siempre me han llevado a aprender más de lo que esperaba y este, en concreto, me ha ayudado a comprender mejor toda la tecnología interna que utilizan los ingenieros de Facebook, además de proporcionarme una visión completa de la domótica”.
Qué es capaz de hacer Jarvis
A petición de Zuckerberg o su mujer, Priscilla, Jarvis puede entre otras cosas:
- Encender o apagar las luces.
- Subir o bajar la temperatura ambiente.
- Controlar la televisión.
- Poner música personalizada para cada usuario: Jarvis es capaz de reconocer la voz de la persona que ha realizado al petición y reproducir una música seleccionada especialmente en función de sus gustos.
- Controlar algunos electrodomésticos del hogar: por ejemplo, para hacer unas tostadas.
- Entretener a Max (la hija de Zuckerberg).
Además, es capaz de:
- Vigilar a Max y advertir a Zuckerberg o su mujer si sucede algo en la habitación de la niña que requiera su atención.
- Reconocer sinónimos y aprender vocabulario nuevo.
- Familiarizarse con los gustos y patrones de comportamiento habituales de los diferentes miembros de la familia para proporcionarles respuestas y soluciones personalizadas.
- Abrir automáticamente la puerta de casa dependiendo de quién trate de entrar: gracias a una cámara instalada en la puerta de la casa, Jarvis utiliza el sistema de reconocimiento facial de Facebook para detectar cuándo hay una persona persona en la puerta y averiguar quién es. Una vez identificada la persona:
- Si es Zuckerberg o su mujer les da acceso directamente.
- Si se trata de otra persona, comprueba en una lista si la están esperando o no y, en caso afirmativo, abre la puerta y anuncia su llegada. Esto, según Zuckerberg, es especialmente útil si todavía estamos cocinando y empiezan a llegar los invitados.
Principal dificultad: la comunicación entre dispositivos
Según Zuckerberg crear a Jarvis ha sido mucho más fácil de lo que esperaba y le ha llevado incluso menos tiempo que completar las 365 millas de su otro reto; en total, unas 100 horas.
Sin embargo, este reto le ha permitido identificar un gran problema a la hora de desarrollar un sistema de IA para el hogar: la comunicación entre dispositivos.
1. Los dispositivos utilizan diferentes lenguajes y protocolos
La principal dificultad no estaba en desarrollar el sistema de IA en sí, sino encontrar el modo de comunicarse con cada uno de los aparatos de su hogar, dado que dado que todos ellos hablaban lenguajes distintos y utilizaban diferentes protocolos.
- Iluminación, termostato y puertas: sistema Cetron.
- Música: sistema Sonos con Spotify.
- Televisión: Samsung.
- Vigilancia de Max: cámara Nest.
- Etc.
Para poder dar órdenes a estos dispositivos Zuckerberg tuvo que recurrir a la ingeniería inversa.
2. Algunos dispositivos ni siquiera están conectados a Internet, ni tienen un software que controlar, como la tostadora
La solución en este caso fue la instalación de unos interruptores de alimentación con conexión a Internet que permiten encender o apagar el dispositivo de forma remota.
Sin embargo, no siempre es suficiente.
Zuckerberg quería que Jarvis pudiera preparar automáticamente unas tostadas. Para eso se le ocurrió dejar las tostadas insertadas en el tostador, de forma que solo fuera necesario encender la tostadora en el momento deseado.
El interruptor mencionado resolvía la dificultad de encender y apagar la tostadora a distancia a una hora concreta, pero entonces Zuckerberg se encontró con otro problema:
3. Muchos dispositivos no están diseñados para funcionar sin intervención humana
En el caso de la tostadora, por ejemplo, no encontró ningún modelo actual que permitiera bajar el resorte para insertar las tostadas con la tostadora apagada, por lo que, sorprendentemente, tuvo que recurrir a un modelo antiguo, de los años 50.
También se dio cuenta de que para conectar otros dispositivos, como un dispensador de comida para mascotas, harían falta modificaciones de hardware.
Proceso de desarrollo de Jarvis
Una vez conseguido comunicarse con los diferentes dispositivos, el siguiente paso fue la construcción del sistema de IA que diera las ordenes.
Para ello, Zuckerberg recurrió a las API de inteligencia artificial de Facebook: lenguaje natural, detección y reconocimiento de imágenes, reconocimiento de voz y aprendizaje por refuerzo.
Primero, construyó un chatbot para comunicarse con Jarvis mediante mensajes de texto a través de Facebook Messenger.
Y, a continuación, desarrolló una app para iOS que escucha constantemente y utilizó una API de reconocimiento de voz para convertir a texto las palabras captadas por la aplicación.
De este modo es posible comunicarse con Jarvis tanto por escrito como por voz.
Para Zuckerberg, lo más sorprendente fue darse cuenta de que utilizaba más el modo texto que el de voz, especialmente para no molestar a los que se encuentran a su alrededor.
“Si estoy haciendo algo relacionado con ellos, como poner música para todos, entonces hablar está bien, pero la mayoría de las veces el texto parece más apropiado. Del mismo modo, cuando Jarvis se comunica conmigo, prefiero que lo haga por mensaje de texto que por voz. La voz puede ser molesta o inoportuna y el texto te da más control para verlo cuando quieras. Incluso cuando hablo con Jarvis, si estoy usando mi teléfono, a menudo prefiero que me escriba o me muestre su respuesta.”
Una vez completado el código de Jarvis empezaron las pruebas. Entonces, se dio cuenta de que necesitaba poder aprender sinónimos y comprender el contexto. Por ejemplo:
- No todos lo miembros de la familia utilizan el mismo vocabulario para referirse a las mismas cosas. Zuckerberg llama al salón “living room”, mientras que Priscilla le llama “family room”. Si uno u otro le piden Jarvis que encienda las luces del salón, el sistema de IA debe ser capaz de entender que se refieren a la misma habitación, aunque estén pronunciando distintas palabras.
- Las mismas palabras no siempre significan lo mismo, según quién las pronuncie. “Enciende las luces de mi estudio”, dependiendo de que lo pida Zuckerberg o Priscilla se riere a una habitación diferente.
Jarvis fue aprendiendo mediante un sistema de feedback negativo y positivo. Cuanto más contexto y experiencia previa tiene el sistema, más inteligente se vuelve.
También utiliza cámaras y el sistema de detección de caras y reconocimiento facial de Facebook para:
- Saber en qué habitación se encuentra la persona que habla y poder, así, actuar adecuadamente, cuando solo se le indica “Enciende la luz” o “Pon música”, sin especificar en qué habitación.
- Detectar cuándo despierta Max.
Jarvis en acción
En este vídeo se puede ver cómo Zuckerberg interactúa facilmente con Jarvis en su casa (vídeo en inglés):
Principales conclusiones de cara a futuros sistemas de IA
Para que un asistente como Jarvis pueda controlarlo todo en un hogar, necesitamos:
- Más dispositivos conectados.
- APIs y estándares comunes para que los dispositivos puedan hablar entre ellos.
- Dispositivos diseñados específicamente para funcionar sin intervención humana.
Los futuros productos de IA deberán:
- Tener una interfaz de mensajería privada, además de la habitual interfaz de voz.
- Acompañarnos a todas partes, en lugar de estar solo en casa.
- Ser capaces de aprender por sí solos.
Próximos pasos de Jarvis
A corto plazo:
- Crear una aplicación para Android.
- Colocar más terminales de voz en las distintas habitaciones de la casa.
- Conectarlo con más dispositivos del hogar.
A largo plazo:
- Mejorar sus habilidades de aprendizaje para que sea capaz de aprender nuevas habilidades por sí solo, sin que un humano le enseñe.
- Buscar el modo de que pueda llegar a más gente: Actualmente, el código de Jarvis es demasiado específico para el hogar de Zuckerberg, sus electrodomésticos y su red. Según él, habría que construir una capa que abstraiga la funcionalidad de automatización del hogar. Entonces se podría liberar ese código o podría dar pie a un nuevo producto comercial.
“En cierto modo, la IA está más cerca y más lejos de lo que imaginamos. Está más cerca de poder hacer cosas más poderosas de lo que la mayoría de la gente espera: conducir coches, curar enfermedades, descubrir planetas o entender los medios de comunicación. Cada una tendrá un gran impacto en el mundo, pero todavía estamos averiguando qué es la inteligencia real.
En general, este ha sido un gran reto. Estos retos suelen enseñarme más de lo que esperaba al principio. Este año pensé que aprendería sobre IA, pero también aprendí sobre domótica y sobre la tecnología interna de Facebook. Por eso estos desafíos son tan interesantes. […] Espero compartir el desafío del próximo año en unas pocas semanas”.
Fuente: Facebook
Seguir leyendo: