Llegamos a ustedes gracias a:



Reportajes y análisis

Cómo es que el aprendizaje automático llegó a Microsoft

Microsoft aprendizaje automático

[27/04/2015] En la conferencia sobre Big Data, Strata, Microsoft presentó a Azure Machine Learning para los desarrolladores. ¿Esto puede sonar a una sorpresa? ¿Microsoft? ¿No es acaso el aprendizaje automático provincia de Google, Facebook o de innumerables emprendimientos?

En verdad, Microsoft ha construido silenciosamente su experiencia de aprendizaje automático durante décadas, transformando descubrimientos académicos en la funcionalidad del producto a lo largo del camino. No muchas empresas pueden igualar el profundo banco de talentos de Microsoft.

El aprendizaje automático -conseguir que un sistema se enseñe a sí mismo de entre una gran cantidad de datos en lugar de simplemente seguir reglas preestablecidas- en realidad alimenta el software que Microsoft utiliza todos los días. El aprendizaje automático se ha infiltrado en los productos de Microsoft desde Bing, Office, Windows 8 e incluso los juegos de Xbox. Su carrito de batalla podría ser el futurista Traductor Skype, que se encargará de las conversaciones de voz de dos vías en diferentes idiomas.

Ahora, con el aprendizaje automático disponible en la nube Azure, los desarrolladores pueden crear capacidades de aprendizaje en sus propias aplicaciones: recomendaciones, análisis de sentimiento, detección de fraudes, predicción de fallas, y más.

La idea de la nueva oferta de Azure es democratizar el aprendizaje automático, por lo que ya no tendrá que contratar a alguien con un doctorado para poder utilizar un algoritmo de aprendizaje automático. Eso podría "sacar a big data de la desilusión", sugiere Joseph Sirosh, vicepresidente corporativo de Microsoft para la gestión de la información y el aprendizaje automático, que dirige el nuevo servicio Azure, "dejar de mirar en el espejo retrovisor con inteligencia de negocios para realmente ser capaz de predecir y generar pronósticos en los que puede actuar".

Sirosh sueña en grande, y sugiere que el potencial va mucho más allá de la previsión y las predicciones, hasta el punto que "cada aplicación móvil ahora puede ser inteligente y cada sensor IoT puede enviar datos a la nube y pedirle a las API que lo doten de inteligencia". Si eso parece demasiado optimista, vale la pena mirar lo importante que es el aprendizaje automático para los propios productos de Microsoft.

El aprendizaje automático en todos lados

El aprendizaje automático permite que Clutter en Office 365 determine con exactitud misteriosa qué correo electrónico querrá leer y qué mensajes probablemente quiera ignorar y borrar. Es la forma en que puede abrir los datos de clientes de Salesforce o código de GitHub en el nuevo portal de Microsoft Power BI, e inmediatamente hacer preguntas en lenguaje natural como "ventas de los clientes el último trimestre", para conseguir no solo números, sino un gráfico que pone de relieve lo importante en los datos.

Es la forma en que Office 365 y Azure delata a los hackers que tratan de entrar en las cuentas, cómo Cortana puede reconocer lo que está diciendo, cómo Kinect puede detectar la posición de los dedos o las articulaciones del esqueleto en una imagen infrarroja. Es también el motivo por el cual el teclado en Windows Phone es tan preciso: Los datos obtenidos de miles de personas cuando corrigen errores en sus teléfonos permite que el software adivine qué letra escribirá y que esa tecla sea más grande.

La misma técnica de aprendizaje automático hace que sea más fácil tocar el menú de la derecha en una tableta de Windows con el dedo y ayuda a que OneNote reconozca su escritura. Ejecute una aplicación en Windows 8, y las tres cuartas partes del tiempo se abrirá casi al instante, gracias al aprendizaje automático que le dice al sistema qué aplicaciones cargar previamente en la memoria porque usted las vas a necesitar.

El aprendizaje automático toma enormes cantidades de datos -ya sea un registro del servidor, una corriente de información procedente de los sensores o una enorme colección de imágenes, videos o grabaciones de audio-, y se funde en un sistema que se desempeña mejor en el manejo de situaciones complejas que cualquier algoritmo. La idea tiene alrededor de 50 años, pero a medida que más y más datos estén disponibles, el aprendizaje automático se ha convertido cada vez más útil, y va desde la investigación académica a avances como el reconocimiento de voz.

"Honestamente, no puedo pensar en cualquier desarrollo de producto reciente que involucre a Microsoft en la que no ha estado envuelto el aprendizaje automático", señala el director de investigación de Microsoft, Peter Lee, quien dejó DARPA para dirigir el brazo de investigación de Microsoft. "Todo lo que hacemos ahora es influenciado de una manera u otra por el aprendizaje automático".

Por ejemplo, Microsoft Band, el dispositivo insignia de la nueva plataforma de salud de Microsoft. "Queríamos que el sensor de flujo sanguíneo proporcione lecturas precisas incluso bajo coacción atlética extrema como el remo", explica Lee (el vicepresidente que aprobó el proyecto es un ávido remador). "Es un sensor de muy bajo costo; el aprendizaje automático solo interpreta la lectura del sensor, y hemos encontrado que es el único enfoque práctico para hacerlo."

Décadas en el laboratorio

¿Cómo Microsoft se hizo tan bueno con el aprendizaje automático? Gracias a la división a veces menospreciada, Microsoft Research (MSR). "Algunas de las primeras raíces (de este éxito) se remontan a más de 20 años atrás, con la llegada de gente como Eric Horvitz quien realmente trajo toda la visión del aprendizaje automático a la empresa", anota Lee. "Rápidamente se les ocurrió la idea de aplicar esto a los productos de Microsoft".

Horvitz, quien ahora es director ejecutivo del Redmond Lab de MSR, ha ganado premios de la Asociación para el Avance de la Inteligencia Artificial de la Academia Americana de las Artes y las Ciencias, y recientemente ha financiado un estudio de cien años sobre la inteligencia artificial. Tener a alguien influyente en MSR ayudó a atraer a otros pioneros a medida que el aprendizaje automático se volvió relevante para un campo de investigación tras otro.

"Cuando se estableció el laboratorio en Cambridge hace 15 años, se sumó al impulso, con personas que trabajaron en modelos probabilísticos, como Chris Bishop, que fue atraído por MSR".

Bishop literalmente escribió el libro sobre redes neuronales y el reconocimiento de patrones; su libro de texto hizo que los métodos estadísticos sean comunes en el aprendizaje automático. Él es ahora el jefe científico de investigación en MSR Cambridge, donde dirige el grupo de aprendizaje automático y la percepción detrás de Kinect, la AI en Forza Motorsport, el sistema de clasificación TrueSkill en Xbox, así como algunas de las funciones de búsqueda de Bing y SharePoint.

El equipo también está trabajando en Infer.Net, un conjunto de herramientas de programación probabilística que utiliza descripciones del mundo en lenguaje de la máquina para manejar la incertidumbre, en lugar que cada pregunta tenga los habituales sí/no como respuesta. Eso es lo que usa Clutter para clasificar su bandeja de entrada. El investigador John Winn y sus colegas trabajaron con el equipo de Exchange durante cuatro años en diferentes ideas, hasta encontrar algo que podría "realmente agregar valor y no ser espeluznante, o que atraiga la negatividad que se obtiene a veces cuando se inicia la aplicación del aprendizaje automático al correo electrónico del personal".

"Entonces, a medida que la visión de la computadora comenzó a ser más influenciada por el aprendizaje automático, (atrajimos) un gran número de luminarias en ese campo quienes tenían un pie en el aprendizaje automático y otro en la visión, y personas como Andrew Blake llegaron a ser muy relevantes", explica Lee. (Blake, que ahora dirige el laboratorio de Cambridge, fue pionero en los algoritmos de visión probabilística en Edimburgo y la Universidad de Oxford.)

Unos años más tarde, cuando AT&T cerró los Laboratorios Bell, muchos de los investigadores se unieron a Microsoft. "Las personas que pensaban realmente en las redes neuronales y más métodos estadísticos comenzaron a llegar a la escena", anota Lee. "Eso fue programado con la aparición de la pertinencia de big data; toda esa ola ha sido tremendamente influyente, no solo dentro de Microsoft, sino en toda la industria."

Luego, en el 2009, poco antes de que el propio Lee se uniera a Microsoft, un proyecto que, según bromea podría fácilmente haber sido rechazado como "un intento imprudente de usar redes neuronales en capas para el procesamiento del habla", ayudó a hacer que el aprendizaje automático salga del laboratorio e ingrese a la computación masiva.

"Pude haber dicho que era completamente ridículo, y pude haber sido respaldado por los mejores investigadores", admite Lee. En vez de eso, ese trabajo se convirtió en la base para las múltiples capas de redes neuronales "profundas" que han transformado el reconocimiento de imágenes y voz a través de la industria.

Navegación profunda

El reconocimiento de voz implicaba enseñar a que su computadora reconozca su voz, o que se apegue a algunos comandos simples; ahora significa que usted puede comprar un nuevo teléfono y comenzar a hablar con ella -y Windows 10 traerá eso a su PC.

El reconocimiento de imágenes ha pasado de detectar cuando hay una cara en una fotografía a hacerlo con todo, desde el texto a las señales de tráfico. Las pruebas de referencia de IMAGEnet identifican fotos de un millar de objetos, como el reconocimiento no solo de imágenes de 150 perros diferentes, sino también sus razas. "Hay que distinguir entre el Corgi Gales Pembroke y el Corgi galés de Cardigan, dos razas de perros Corigs, una de los cuales tiene una cola más larga", explica John Platt de MSR.

Este mes, un equipo de investigadores de Microsoft del laboratorio de Beijing anunció que su sistema de aprendizaje profundo fue el primero en vencer a los seres humanos no entrenados en el punto de referencia (casi alcanzando a Google).

Todo gracias a un aprendizaje profundo. Es una de las áreas de más rápido crecimiento en la inteligencia artificial actual; los pioneros del aprendizaje profundo trabajaron antes en Google, Facebook, Baidu -y en Microsoft.

En el 2009, cuando Geoff Hinton de la Universidad de Toronto propuso la creación de una red neuronal que reconozca el habla por la progresiva consolidación de su comprensión de más y más palabras (una versión muy simplificada de una de las técnicas que el cerebro humano utiliza para reconocer patrones en imágenes y sonidos), la mayoría de los investigadores no estaban interesados. En un testimonio de la voluntad del MSR de experimentar, un interno y un estudiante graduado de Hinton obtuvo la aprobación para trabajar con sus investigadores y probar esta red profunda con datos reales.

Sus resultados no solo fueron mejores; sino que fueron 25% más precisos. Una vez que se publicaron, señala Lee, "no solo Microsoft, sino la mayor parte de la industria hizo la transición para utilizarlos".

Llevar el aprendizaje automático a las masas

A medida que Microsoft ofrece sus propias herramientas de aprendizaje automático para los desarrolladores, la compañía puede disfrutar de un mayor reconocimiento por su trabajo pionero. "Tenemos un tesoro de conocimientos y algoritmos y códigos a través de una amplia gama de problemas de máquinas que sería increíblemente poderoso y satisfactorio llevar para un uso más amplio", anota Lee.

Azure Machine Learning es la forma en que Microsoft está tratando de hacer eso. Joseph Sirosh lo llama "la manera más rápida de construir modelos predictivos y desplegarlos. Todo lo que necesita es un navegador Web para iniciar el aprendizaje automático. Permite una simple creación de APIs en la nube con un solo clic y hace que el despliegue sea fácil. Es fácil conectar una página web, es fácil conectar una aplicación móvil. Es por eso que creo que está transformando la forma en cómo se realiza el desarrollo".

El nuevo servicio Azure ML comenzó como una demostración MSR Excel, que enviaba datos a la máquina experimental de aprendizaje automático ejecutada en Azure. Un par de años antes de convertirse en CEO, Satya Nadella se encontró con la demo e inmediatamente vio el potencial de convertirse en un producto para clientes empresariales. Convenció al investigador, Roger Barga, para que se uniera a un equipo dentro de su división nube. "Satya se emocionó, y él me entusiasmó", recuerda Barg.

La idea era combinar las herramientas de aprendizaje automático del equipo de investigación con la experiencia que los equipos de producto de Microsoft habían obtenido mediante la aplicación de algoritmos de aprendizaje automático. Hacer bien el trabajo de aprendizaje automático no solo tiene que ver con un buen algoritmo o incluso con hacerlo actuar a escala. También es necesario que sea coherente. El mismo algoritmo en diferentes paquetes de aprendizaje automático a menudo ofrece diferentes respuestas; utilizar la heurística para encontrar el modelo que mejor se adapte a sus datos requiere mucha experiencia.

Esa experiencia ofrece una ventaja única, anota Barga:.. "Estos algoritmos se han endurecido y probado durante años. Somos capaces de aprovechar esa experiencia para aplicarla de nuevo en Azure ML. Sabemos cuáles son las mejores prácticas, la heurística, lo que debemos hacer para asegurar que esto sea robusto, escalable y tenga un buen desempeño a la hora de entregarlo a los clientes".

Pero Azure ML no se limitó a tomar los algoritmos de aprendizaje automático que MSR ya había entregado sobre los equipos de producto y las pegó en un diseñador visual de pegado y arrastre. Microsoft ha hecho que la funcionalidad esté disponible para los desarrolladores que conocen el lenguaje de programación estadística R y Python, que en conjunto son ampliamente utilizados en el aprendizaje automático académico. Microsoft planea integrar Azure ML estrechamente con Revolution Analytics, el emprendimiento R recientemente adquirido.

Los desarrolladores también pueden diseñar un sistema de aprendizaje automático con la función Azure ML Studio. Esto es popular incluso con los desarrolladores de aprendizaje automático experimentados como el equipo de Mendeley, la red de investigación académica de Elsevier, que construyó un nuevo sistema de recomendación en un tercio del tiempo que les tomaba con otras herramientas. El servicio de comida JJ en el Reino Unido lo utilizó para hacer un carrito de compras predictivo que escoge productos por usted; a los clientes les gusta esta comodidad y el ingreso es del 5%.

Una máquina que se entrena a sí misma

Con el fin de permitir un uso más fácil de múltiples algoritmos de aprendizaje automático, Microsoft necesitaba construir una plataforma adecuada. Eso significaba la creación de un sistema para mover los nuevos algoritmos de investigación hacia la producción; a medida que se desarrollan nuevas técnicas, éstos pueden ser conectados a Azure ML, manteniéndolos actualizados a medida que el aprendizaje automático sigue desarrollándose.

Un problema común con los sistemas más antiguos de aprendizaje automático (y una de las cuestiones que el aprendizaje profundo abordará) es "la decadencia de ML. En otras palabras, pasar mucho tiempo en el entrenamiento de su sistema, y cuando la despliega, funciona por un tiempo -pero se desactualiza y hay que entrenarlo de nuevo. Una forma de evitar ello es mediante la reconversión de su modelo a medida que lo utiliza.

Durante la vista preliminar, los clientes estuvieron muy interesados con la idea de que Microsoft añadiera formación y reciclaje programáticos. "Ellos quieren cargar datos en una API y tener modelos de aprendizaje automático que haga el aprendizaje, así que lo añadimos", explica Sirosh. "Una vez que tenga una API en su lugar, puede seguir con la carga de datos y el modelo se actualizará y mantendrá actualizado en constante aprendizaje".

Eso es lo que eBay utiliza para entrenar a su sistema de traducción acerca de los términos utilizados en la moda femenina. Si está vendiendo bolsos, vestidos, zapatos u otros artículos de moda en eBay, es posible que vea mucho mejores ventas en el extranjero debido a traducciones automáticas más exactas -y está disponible en los 45 idiomas que soporta Azure ML.

Esta semana, Microsoft añadió un nuevo algoritmo de máquina utilizado por Bing Ads que puede manejar grandes cantidades de datos. "Podemos aprender de terabytes de datos", se jacta Sirosh. "No sé si cualquier servicio en la nube le permite aprender en tamaños de terabyte aparte de Azure ML". Eso es útil para grandes big data, donde tiene que mirar a un enorme conjunto de datos para encontrar las señales que le indiquen algo.

Microsoft tiene una serie de servicios que trabajan en conjunto para los escenarios de grandes datos. Puede cargar datos en HD Insight, el servicio en la nube de Microsoft Hadoop, o arrojar datos de páginas web y sensores con Event Hubs, luego, procesar esa corriente de datos con Azure Stream Analytics o con Apache Storm, que ahora soporta Azure.

"Desde ahí, puede llamar a las APIs de aprendizaje de la máquina para detectar anomalías o fraudes", explica Sirosh. "Puede tomar enormes cantidades de datos que utilizan, por ejemplo, HD Insight y utilizarlos destilados con Azure ML para conocer modelos que se pueden implementar en una aplicación. Pero el aprendizaje grande es mucho más que eso. Digamos que el fraude es alto en ciertos códigos postales y no en otros. Hay millones de códigos postales en el mundo. Estas técnicas permiten que tome en cuenta estos patrones; que sea capaz de utilizar información de grano muy fino y sea muy preciso al respecto".

Sirosh claramente cree que su plataforma acelerará la adopción del aprendizaje automático. "Las empresas de hoy contratan científicos de datos quienes dolorosamente construyen sus propias aplicaciones de aprendizaje automático. Con una plataforma como Azure ML, se vuelve muy fácil crear aplicaciones personalizadas... Solo cuando se tiene un conjunto especial de necesidades es que se debe establecer un equipo de científicos de datos para construir una API para usted".

Al entrar en los restaurantes Chilis, puede encontrar una tableta en cada mesa para pedir comida, ver videos, pagar la factura, y dar retroalimentación. El sistema, construido por Ziosk, utiliza HD Insight para realizar un seguimiento de cómo los clientes utilizan las tabletas en 1400 restaurantes -y Azure ML para personalizar lo que ofrece y el contenido que ven. Incluso puede cambiar la interfaz de la tableta en función de cómo la utilizan.

Sirosh piensa que todo el mundo debe construir ese tipo de sistema. "Este es el nacimiento de la nube inteligente en muchos aspectos. Cualquier aplicación que construya ahora debería considerar el uso de los datos generados a partir de la aplicación, o cualquier otro dato que tenga, para crear una mejor experiencia del cliente, con el fin de crear eficiencias que de otra forma no serían aprovechadas".

El futuro del aprendizaje automático de Microsoft

El CEO Satya Nadella denominó al aprendizaje automático -y a big data que lo alimenta- como un desarrollo fundamental en su memorándum para Microsoft en julio pasado. "Miles de millones de sensores, pantallas y dispositivos -en salas de conferencias, salas de estar, ciudades, autos, teléfonos, PCs- están formando una vasta red y flujos de datos que simplemente desaparecer en el fondo de nuestras vidas. Esta potencia de cálculo digitalizará casi todo lo que nos rodea y extraerá experiencias de todos los datos que se generan por la interacción entre las personas y entre personas y máquinas. Estamos pasando de un mundo donde el poder de computación era escaso a un lugar donde ahora es casi ilimitado, y donde el verdadero bien escaso es la atención humana".

Eso suena bastante más alcanzable cuando se habla con Peter Lee acerca de los avances que cree que Microsoft puede hacer en la próxima década.

El año pasado presentó un adelanto sobre un sistema que el aprendizaje automático podría utilizar: la cámara de su teléfono, no solo para reconocer a un perro, sino también para identificar la raza, o decirle si una planta es venenosa. Eses es el proyecto Adam que está tratando de aplicar los principios de escala en la nube para el aprendizaje automático. Normalmente, la máquina de aprendizaje ocurre en un solo sistema que no se puede escalar más allá de un clúster, porque tiene que ser sincrónico; con el proyecto Adam, el aprendizaje puede ser asincrónico, por lo que podría extenderse a lo largo de un centro de datos entero.

El proyecto Adam es solo uno de lo que Lee llama varios "moonshots" del aprendizaje automático -"esfuerzos que son puramente aspiracionales, pero que tienen metas muy concretas, fáciles de evaluar para saber si lo ha hecho o no". Él es muy protector con ellos ("la presión puede ser una gran distracción"), por lo que no voy a nombrar los otros proyectos o decir cuáles son los objetivos -pero son grandes.

"El proyecto Adam realmente pretende ir más allá del discurso y la visión para tener realmente una profunda comprensión del discurso humano. En última instancia, es la siguiente etapa de una verdadera inteligencia artificial en la que realmente entendemos a escala cómo hacer que una máquina entienda lo que los seres humanos están diciendo. Los objetivos no son tan interesantes. Desde el punto de vista científico hay tremendas implicaciones para nuestra comprensión; desde una perspectiva de ingeniería, la escala es realmente deslumbrante, y desde una perspectiva comercial las perspectivas de las aplicaciones son increíblemente tentadoras. Tenemos esfuerzos muy significativos en las bases del habla y la traducción".

Lee es entusiasta y pragmático sobre el potencial de estos grandes proyectos -y los beneficios secundarios "que ya han comenzado a gotear"- de OneDrive (que ahora utiliza aprendizaje automático para etiquetar sus fotografías) a las manifestaciones de Skype Translator (donde las mejoras de rendimiento de las nuevas técnicas han dejado incluso "aturdidos a los investigadores"). Además, hay una plataforma ya hecha en Azure Machine Learning para llevar esas nuevas técnicas a los grupos de productos dentro de Microsoft y los desarrolladores de otros lugares.

"Con estos grandes esfuerzos aspiracionales, siempre hay una parte de mí que alberga cierto escepticismo sobre si alguna vez llegaremos allí", admite Lee. "Algunas de estas cosas son tan fantásticas, pero nunca se sabe. Usted se sorprende. Y como gerente de investigación, me siento cómodo si llegamos allí o no, habrá un enorme número de spin-offs y nuevos conocimientos".

Independientemente de si Microsoft hace más avances fundamentales en inteligencia artificial, lo que aprende acerca del uso de la máquina de aprendizaje aparecerá en todos los productos que usa -incluyendo los que construye usted mismo.

María Branscombe, InfoWorld (EE.UU.)