La inteligencia artificial de los dispositivos tontos

google now

Revisando la crónica del ARM Research Summit (EN) celebrado el mes pasado en Cambridge, me ha gustado mucho encontrarme las declaraciones de Pete Warden, investigador de TensorFlow en Google, sobre la importancia de centrar esfuerzos en crear una inteligencia artificial “tonta”:

“Lo que quiero es un chip de 50 céntimos que haga reconocimiento de voz de forma sencilla y que funcione durante un año con una pila de botón. Aún no estamos ahí, pero realmente creo que incluso se podría hacer con la tecnología actual que tenemos”.

La sentencia no es para nada baladí. A día de hoy cada vez más dispositivos ofrecen asistencia basada en la inteligencia artificial. Una en la que precisamente Google es clara referencia en la industria. Pero en todos los casos esa inteligencia viene dada por arquitecturas basadas en la histórica cliente/servidor. Tanto las redes neuronales como el aprendizaje profundo, las teorías de los agentes múltiples y el resto de elementos que conforman la suite de herramientas del científico de datos, seguimos dependiendo de un dispositivo que hace una llamada a unos servidores donde se analizan los inputs y se devuelven las salidas.

Y eso requiere conectividad y potencia, cosa que como bien sabe, rema a contracorriente del precio final.

Si, de pronto, alguien encuentra la manera de incluir esa suerte de “inteligencia artificial básica” en dispositivos de bajo rendimiento, se abre la veda a que muchos de los productos que tengamos alrededor ofrezcan mayor contextualidad y flexibilidad sin que por ello tengamos que ver mermada nuestra privacidad, ya que serían capaces ellos mismos de comprender acciones concretas y dar los resultados oportunos sin precisar comunicación y soporte de servidores de terceros.

Dispositivos que incluso, como señala el bueno de Warren, podrían ser de usar y tirar, al no depender ya de baterías al uso (un coste superior) y ser suficiente con las pilas tradicionales, como ocurre, por ejemplo, con algunos sensores y beacons que ya hay en el mercado.

Un acercamiento a las inteligencias artificiales “tontas”

Ahora bien, ¿cómo se podría materializar todo esto?

Por supuesto estamos hablando de una IA limitada. Ya no se trata de que la máquina intente comprender qué queremos decir en cualquier supuesto, sino justo lo contrario: que el usuario conozca un puñado de comandos estratégicos que son los que permiten interaccionar con la máquina. La complejidad entonces se reduce, ya que el sistema de reconocimiento de voz únicamente debe estar atento a X series de frecuencias, desechando el resto.

El equipo de Warden ha estado trabajando en un sistema capaz de tomar el clip de audio, dividirlo en fragmentos más pequeños y calcular la frecuencia de cada uno. Con ello genera unos diagramas de frecuencia en 2-D, y aplicando los algoritmos, que en este caso son de tipo visual, se identifica la firma buscada.

Es decir, que son capaces de transformar el sonido en una imagen, para luego buscar en esa imagen una cadena de frecuencia específica que haga saltar la acción oportuna, por ejemplo, “apágate” o “reproduce”.

Según contaba el investigador, han conseguido pasar de ocho millones de cálculos, con un 89% de precisión, a 750.000 cálculos con un 85% de precisión. El cambio, por tanto, es verdaderamente llamativo, ya que con ello pasamos de unos requisitos relativamente altos (el hardware por ejemplo de un dispositivo móvil actual) a otro en el que los requisitos podrían estar solventados con un hardware más modesto (como puede ser el de una raspberry).

Queda por supuesto mucho trabajo por hacer, pero asegura que con un poco más de optimización, se podría llegar en poco tiempo a que algo así corriera en chips aún menos exigentes como los que podemos encontrar en una placa de Arduino.

Y ahí está el tema, ya que para ello es necesario realizar muchos sacrificios.

Por ejemplo, han reducido tantísimo el número de operaciones necesarias precisamente acotando los algoritmos para que estos reconozcan únicamente una serie limitada de imágenes. Algo que, por cierto, ya hace Android con el ya clásico “Ok, Google”, pese a que después tenga que tirar de los servidores en la nube para solventar el resto de peticiones.

Como pega, para variar, está en que hablamos de un ecosistema que en vez de adaptarse al usuario requiere que éste haga lo propio con su interfaz. Nada nuevo bajo el sol (llevamos décadas en la informática de consumo aceptando las interfaces impuestas por la máquina), pero que tendrá que competir en un escenario donde sin limitaciones de presupuesto y potencia, las inteligencias artificiales asistidas por la nube claramente van a ofrecer mayores funcionalidades.

Y donde, para colmo, el beneficio de privacidad y seguridad de estas IAs “tontas” seguirá lamentablemente sin estar convenientemente valorado por el usuario final.

Aún así es, bajo mi humilde opinión, una manera inteligente de trasladar la “inteligencia asistencial” de los productos de electrónica de consumo… a muchísimos más productos de consumo tradicional sin apenas aumentar el precio de los mismos. E incluso abre la veda a aplicaciones mucho más específicas en el resto de industrias, como pueden ser sensores aislados en vehículos (y por ende, no hackeables) que puedan reconocer patrones de ruido asociados a riesgos futuros (fallo de los frenos, ruptura del eje…) o, por qué no, pulseras cuantificadoras capaces de mostrar alertas en pacientes con problemas cardiovasculares que operen bajo cualquier circunstancia, y no solo a medio fuelle cuando no tienen acceso a conectividad.

En definitiva, un pasito más para democratizar la inteligencia artificial que espero que no caiga en saco roto. Por aquí tiene acceso al código fuente del proyecto (EN), que como la mayoría de proyectos de TensorFlow se libera bajo una licencia open para que sea la comunidad quienes puedan probar y sugerir entre todos mejoras.