Noticias
Trending

Apple se alía con IBM Watson para ampliar las capacidades de CoreML

CoreML, que solo podía ejecutar modelos ya entrenados, ahora será capaz también entrenar modelos y ampliarlos en su conocimiento gracias a la integración de Watson de IBM, tanto online como offline.

Resumen del artículo

  • En un siguiente paso de Apple de la mano de IBM, Watson, la famosa IA, consigue soporte de CoreML y con ello el motor de aprendizaje automático de Apple gana la capacidad de retroalimentar modelos y actualizarlos: aprender de ellos. Analizamos todo esto en un nuestro articulo, así como las posibilidades de los servicios de IBM Cloud en los desarrollos iOS.

IBM y Apple han anunciado un nuevo paso en su asociación como empresas. Dos de las compañías más longevas en el mundo del desarrollo de nuevo encuentran una sinergia que aprovechar, esta vez de la mano del aprendizaje automático. El famoso IBM Watson, una de las IAs más potentes del planeta, pasa a proporcionar capacidades de forma nativa a los dispositivos Apple que pueden llevar mucho más allá el proceso de aprendizaje automático, tanto online como offline.

Pero antes vamos a repasar la evolución del machine learning en plataformas Apple para entender cómo encaja esta nueva pieza y qué nos ofrece.

CoreML, su evolución

CoreML es una de las librerías que más entusiasmo causó en su presentación en la pasada WWDC de 2017 como novedad de iOS 11. Tras mucho tiempo pensando que Apple se estaba quedando atrás en cuanto a proporcionar formas de integrar aprendizaje automático (machine learning) en sus sistemas, por fin llegó la solución.

CoreML

Pero esta solución no dejó de ser agridulce por un motivo claro: la privacidad intrínseca de los sistemas Apple. Es cierto que es genial, por ejemplo, que los algoritmos de aprendizaje automático de Google Photos sean capaces de buscar casi cualquier contexto que le digamos simplemente reconociendo el contenido de nuestras fotos. Pero para poder disfrutar de esa funcionalidad hemos de pagar un precio: nuestra privacidad. Si queremos que el aprendizaje automático de Google reconozca nuestras fotos, nosotros y millones de usuarios del mundo hemos de darle nuestras fotos a Google y con ello, pagar con nuestra privacidad. Pero la aproximación de Apple es diferente, con sus ventajas e inconvenientes, lógicamente.

El lanzamiento de CoreML fue un primer paso que se ha visto ampliado con sucesivas compras y asociaciones por parte de Apple.


Mientras Google soluciona la integración de Machine Learning en sus Android a través de servicios en la nube, lo que evita que el dispositivo tenga que realizar procesos pesados o tener motores neuronales que encarecerían el producto, Apple da toda la potencia a sus dispositivos pero no usa la nube. Todo se hace en cada uno de nuestros iPhone o iPad. Por lo tanto, el enorme hype que generó CoreML en cuanto a la posibilidad de integrar procesos de aprendizaje automático en las apps, se quedó en un pequeño bluf cuando descubrimos que CoreML es “simplemente” un intérprete de modelos entrenados. En sí mismo, no tiene capacidad de ampliar el entrenamiento ni tampoco permite crearlos.

Por lo tanto, lo que en un principio fueron herramientas que permitían convertir los formatos más comunes de modelos entrenados, pasó a ampliarse soportando formatos mucho más extendidos como Apache MXNet y con el tiempo el famoso Tensorflow de Google. De esta forma, CoreML, como formato y capacidad de dispositivos, permitía una total compatibilidad con los formatos y sistemas más extendidos de entrenamiento de modelos para uso de redes neuronales y aplicación de algoritmos de aprendizaje automático o aprendizaje profundo (cuando usamos una combinación de varios algoritmos ML).

Sin embargo, CoreML seguía siendo solo un intérprete de modelos entrenados. Una capa de interfaz en Swift que conecta con los procedimientos en Python que realizan las operaciones pertinentes. Pero eso cambió con la compra de Turi Create, un motor de creación de modelos entrenados que permite crear modelos personalizados con poco o ningún conocimiento de Machine Learning, para nuestras apps.

Turi Create proporcionó una herramienta sencilla y eficiente para crear modelos de aprendizaje basados en CoreML a cualquier usuario.


Turi Create nos permite crear modelos basados en recomendaciones sobre contenido consultado por el usuario, de detección de objetos, clasificación de imágenes, clasificación de actividades, búsquedas de similitud entre imágenes o clasificación de textos. De esta forma, ya no solo es coger modelos ya creados: podemos crear los nuestros. De hecho, esta herramienta es capaz de usar los algoritmos de aprendizaje automático de manera básica, pudiendo acceder a los motores de clasificación de contenidos, regresión, gráficos de análisis, clustering, modelos tópicos o búsqueda de vecinos cercanos. Y otra de las muchas ventajas que tiene Turi Create es que podemos usarlo tanto en Mac, como Linux e incluso Windows 10 (a través del subsistema Linux en Windows).

Watson, el último paso

Y llegamos al último movimiento de Apple. Incorporar a Watson a los servicios de aprendizaje automático de CoreML. ¿Para qué? Para permitir la actualización de los modelos a través de la retroalimentación de su propio feedback. El ciclo es simple: CoreML ejecuta los modelos pre-entrenados por Watson; identifica, analiza y/o recomienda resultados. El feedback que recibe de estos procesos es enviado a los servicios de Watson en la nube de IBM el cual los entrena, prueba y despliega. Por lo tanto, genera un nuevo modelo entrenado que envía a CoreML para actualizar sus capacidades. El círculo perfecto.

CoreML Watson

El primer paso de esta asociación está centrado en el reconocimiento de imágenes. Podemos cargar un modelo pre-entrenado de Watson de reconocimiento, análisis y clasificación de imágenes. Un modelo capaz de reconocer escenas, objetos, caras, colores, comida y otros tipos de contenidos. Y toda la información que nuestra app acumule, incluso sin conexión a internet, será almacenada por CoreML y enviada a Watson cuando sea necesario para actualizar los modelos. Por lo tanto, por fin tenemos un flujo de retroalimentación de los modelos con CoreML.

Obviamente, Watson funciona a través del uso de la nube de IBM. Usando la herramienta IBM Cloud Developer Console for Apple que se ha integrado en IBM Cloud, podemos gestionar todos los servicios en la nube de IBM asociados con el desarrollo para Apple como el reconocimiento de imágenes e incluso incorporar una interfaz de lenguaje natural a nuestra app a través de Watson. Tenerlo como asistente virtual en nuestra app. Además tendremos acceso al resto de servicios como analíticas, autenticación, gestión de datos y no hay que olvidar que IBM Cloud incorpora un runtime de Swift que nos permitiría desplegar apps de lado servidor en la nube de IBM.

IBM Cloud Developer Console for Apple

Novedades muy interesantes, aunque es importante entender, que el re-aprendizaje de CoreML depende exclusivamente de la conexión a los servicios de internet con Watson. Los modelos de este motor de IBM podrán ejecutarse localmente sin conexión en nuestros dispositivos, pero siempre necesitará de una conexión a internet para salir fuera y actualizar los modelos.

Además de usar los modelos pre-entrenados de Watson, podemos usar su capacidad para crear nuestros propios modelos de una forma sencilla, accediendo a un reconocimiento de imágenes personalizado y adaptado a las necesidades de nuestro negocio o app. Todo a través de los servicios IBM Cloud. Usando la herramienta Watson Studio, y como vemos en el vídeo bajo estas líneas, podemos crear modelos entrenados que reconozcan imágenes en función de nuestras necesidades de una forma sencilla y sin tener que programar nada.

Este y otros servicios funcionan en la base de una nueva SDK llamada la Watson Developer Cloud Swift SDK. Sí, una SDK en Swift que nos permite acceder a los servicios de Watson para asistente (AssistantV1), conversación (ConversationV1), descubrimiento a partir de datos (DiscoveryV1), traducción de idiomas (LanguageTranslatorV2), clasificador de lenguaje natural (NaturalLanguageClassifierV1), compresión del lenguaje natural (NaturalLanguageUnderstandingV1), percepción de personalidad (PersonalityInsightsV3), motor de conversión de habla en texto (SpeechToTextV1), de texto a voz (TextToSpeechV1), analizador de tonos e intenciones sobre texto escrito (ToneAnalyzerV3) y reconocedor visual (VisualRecognitionV3).

Podemos probar todo esto en GitHub, donde podemos montar nuestra app de prueba y ver sus posibilidades. Para ello bastará crearnos una cuenta en IBM Cloud (conocida anteriormente como Bluemix) de forma completamente gratuita y aprovechar una cuenta de prueba sin limitación de tiempo y con posibilidades interesantes en los planes Lite que nos permiten probar casi cualquier servicio sin coste alguno.

En IBM Cloud tenemos infinidad de kits de iniciación para integrar con nuestros desarrollos en iOS, no solo los comentados de reconocimiento de imágenes o asistente virtual, también podemos acceder a crear un backend como servicio (MBaaS) para iOS con capacidad de push, analíticas y datos en un modelo NoSQL. Todo eso unido a crear nuestro propio de reconocimiento de imágenes, API de Kitura para servicio de front y backend en nuestra app, analizador de tonos de escritura, información de tiempo integrada con mapas… e incluso cosas tan curiosas como usar un modelo entrenado para calcular el precio del suelo en Marte o un backend para consumir servicios Hyper Protect.

Conclusiones

Lo que está claro es que CoreML era solo un primer paso pero que Apple no puede quedarse atrás en cuanto a aprendizaje automático. Para ello, qué mejor que asociarse con la IA por excelencia de mayor potencia y una de las más conocidas y primeras con que se empezó a trabajar: IBM Watson. Obviamente, Apple entiende que la privacidad es importante, pero cuando esta limita las funcionalidades, tal vez, a elección del propio usuario, ceder un poco de esta es una buena opción para conseguir funcionalidades mucho más avanzadas.

Un nuevo y muy interesante paso en el camino de Apple en el mundo del aprendizaje automático. Un saludo y Good Apple Coding.

Fuente
IBM Watson en Apple
Etiquetas

Julio César Fernández

Analista, consultor y periodista tecnológico, desarrollador, empresario, productor audiovisual, actor de doblaje e ingeniero de vídeo y audio.

Artículos relacionados

Close
Close