Para la mayoría de las empresas, machine learning parece estar a la altura de la ciencia espacial, parece caro y requiere talento. Y, si está apuntando a construir otro sistema de recomendación de Netflix, realmente lo es.
Pero la tendencia de hacer todo como un servicio también ha afectado a esta esfera sofisticada. Puede poner en marcha una iniciativa de LD sin una gran inversión, lo que sería el movimiento correcto si usted es nuevo en la ciencia de datos y solo quiere tomar el control.
Una de las historias más inspiradoras de ML es la de un granjero japonés que decidió clasificar los pepinos automáticamente para ayudar a sus padres en esta operación minuciosa.
A diferencia de las historias que abundan sobre grandes empresas, el tipo no tenía experiencia en aprendizaje automático ni un gran presupuesto. Pero logró familiarizarse con TensorFlow y empleó un aprendizaje profundo para reconocer diferentes clases de pepinos.
Al utilizar los servicios en la nube de aprendizaje automático, puede comenzar a construir sus primeros modelos de trabajo, obteniendo valiosas perspectivas de las predicciones con un equipo relativamente pequeño.
Ahora echemos un vistazo a las mejores plataformas de aprendizaje automático del mercado y consideremos algunas de las decisiones de infraestructura que deben tomarse.
¿Qué es Machine Learning as a Service?
Machine Learning as a Service (MLaaS) es una definición general de varias plataformas basadas en la nube que cubren la mayoría de los problemas de infraestructura.
Como el preprocesamiento de datos, la capacitación de modelos y la evaluación de modelos, con predicciones adicionales. Los resultados de la predicción se pueden combinar con su infraestructura de TI interna a través de las API REST.
Los servicios de Amazon Machine Learning, Azure Machine Learning, Google Cloud AI e IBM Watson son cuatro servicios líderes en la nube Machine learning as a Service (MLaaS) que permiten una rápida implementación y entrenamiento de modelos.
Estos deben considerarse primero si reúne un equipo de ciencia de datos de cosecha propia con los ingenieros de software disponibles. Eche un vistazo a la estructura de nuestro equipo de ciencia de datos para tener una mejor idea de la distribución de roles.
En este artículo, primero daremos una descripción general de las principales plataformas de machine learning como un servicio de Amazon Machine Learning, Google, Microsoft e IBM. Y lo seguiremos comparando las API de machine learning que admiten estos proveedores.
Tenga en cuenta que esta descripción general no pretende proporcionar instrucciones exhaustivas sobre cuándo y cómo usar estas plataformas, sino más bien qué buscar antes de comenzar a leer su documentación.
Servicios de machine learning para tareas personalizadas de análisis predictivo.
Si está en el mercado de la automatización y la interfaz de arrastrar y soltar, primero verifique Microsoft ML Studio. En términos de plataformas para modelado personalizado, los cuatro proveedores anteriores sugieren productos similares
Analítica predictiva con Amazon Machine Learning
Los servicios de Amazon Machine Learning están disponibles en dos niveles: análisis predictivo con Amazon Machine Learning y la herramienta SageMaker para científicos de datos.
Amazon Machine Learning para análisis predictivo es una de las soluciones más automatizadas del mercado y la mejor opción para operaciones sensibles a plazos.
El servicio puede cargar datos de múltiples fuentes, incluidos Amazon RDS, Amazon Redshift, archivos CSV, etc.
Todas las operaciones de preprocesamiento de datos se realizan automáticamente: el servicio identifica qué campos son categóricos y cuáles son numéricos, y no le pide a un usuario que lo haga. Elija los métodos de procesamiento adicional de datos (reducción de dimensionalidad y blanqueamiento).
Las capacidades de predicción de Amazon Machine Learning están limitadas a tres opciones: clasificación binaria, clasificación multiclase y regresión . Dicho esto, este servicio de Amazon Machine Learning no admite ningún método de aprendizaje no supervisado, y el usuario debe seleccionar una variable objetivo para etiquetarla en un conjunto de capacitación.
Además, un usuario no está obligado a conocer ningún método de aprendizaje automático, ya que Amazon los elige automáticamente después de ver los datos proporcionados.
Este alto nivel de automatización actúa como una ventaja y una desventaja para el uso de Amazon Machine Learning. Si necesita una solución totalmente automatizada pero limitada, el servicio puede satisfacer sus expectativas. Si no, hay SageMaker.
Amazon SageMaker y servicios basados en frameworks
SageMaker es un entorno de aprendizaje automático que se supone que simplifica el trabajo de otros científicos de datos al proporcionar herramientas para la construcción e implementación rápida de modelos.
Por ejemplo, proporciona Jupyter , un cuaderno de creación, para simplificar la exploración y el análisis de datos sin problemas de administración del servidor.
Amazon Machine Learning también tiene algoritmos integrados que están optimizados para grandes conjuntos de datos y cómputos en sistemas distribuidos.
Éstos incluyen:
-
Aprendizaje lineal
Es un método supervisado para clasificación y regresión
-
Las máquinas de factorización
Son para clasificación y regresión diseñadas para conjuntos de datos dispersos
-
XGBoost
Es un algoritmo de árboles reforzado supervisado que aumenta la precisión de la predicción en la clasificación, regresión y clasificación al combinar las predicciones de algoritmos más simples
-
La clasificación de imágenes
Se basa en ResNet , que también se puede aplicar para el aprendizaje por transferencia
-
Seq2seq
Es un algoritmo supervisado para predecir secuencias (por ejemplo, traducir oraciones, convertir cadenas de palabras en otras más cortas como resumen, etc.)
-
K-means
Es un método de aprendizaje no supervisado para tareas de clustering
-
El análisis de componentes principales
Se utiliza para la reducción de la dimensionalidad.
-
La asignación de Dirichlet latente
Es un método no supervisado que se utiliza para encontrar categorías en documentos
-
El modelo de tema neuronal (NTM)
Es un método no supervisado que explora documentos, revela las palabras de mayor rango y define los temas (los usuarios no pueden predefinir los temas, pero pueden establecer el número esperado de ellos)
-
La predicción DeepAR
Es un algoritmo de aprendizaje supervisado que se utiliza para pronosticar series temporales que emplean redes neuronales recurrentes (RNN)
-
BlazingText
Es un algoritmo de procesamiento de lenguaje natural (NLP) construido sobre la base de Word2vec , que le permite asignar palabras en grandes colecciones de textos con representaciones vectoriales
-
Random Cut Forest
Es un algoritmo no supervisado de detección de anomalías capaz de asignar puntuaciones de anomalías a cada punto de datos
Los métodos incorporados de SageMaker se entrecruzan en gran medida con las API de ML que sugiere Amazon Machine Learning, pero aquí les permite a los científicos de datos jugar con ellos y usar sus propios conjuntos de datos.
Si no desea usarlos, puede agregar sus propios métodos y ejecutar modelos a través de SageMaker aprovechando sus características de implementación. O se puede integrar con SageMaker TensorFlow, Keras , Gluon , Caffe2 , antorcha , MXNet , y otras bibliotecas de aprendizaje automático .
En general, los servicios de Amazon Machine Learning brindan suficiente libertad tanto para los científicos de datos experimentados como para aquellos que solo necesitan hacer las cosas sin profundizar en las preparaciones de datos y el modelado.
Esta sería una opción sólida para las empresas que ya utilizan los servicios de nube de Amazon y no planean hacer la transición a otro proveedor de nube.
Microsoft Azure Machine Learning Studio
La plataforma de aprendizaje de Azure Machine apunta a establecer un campo de juego poderoso tanto para los recién llegados como para los científicos de datos con experiencia. La lista de productos de aprendizaje automático de Microsoft es similar a la de Amazon Machine Learning, pero Azure, a partir de hoy, parece ser más flexible en términos de algoritmos listos para usar.
Los servicios de Azure se pueden dividir en dos categorías principales: Azure Machine Learning Studio y Bot Service. Averigüemos qué hay debajo del capó de Azure ML Studio. Volveremos a Bot Service en la sección dedicada a herramientas y API específicas.
ML Studio
Es el principal paquete de Machine learning as a Service (MLaaS) a mirar. Casi todas las operaciones en Azure ML Studio deben completarse con una interfaz gráfica de arrastrar y soltar. Esto incluye exploración de datos, preprocesamiento, selección de métodos y validación de resultados de modelado.
Acercarse al aprendizaje automático con Azure implica una curva de aprendizaje. Pero eventualmente lleva a una comprensión más profunda de todas las técnicas principales en el campo.
La interfaz gráfica de Azure ML visualiza cada paso dentro del flujo de trabajo y es compatible con los recién llegados. Quizás el principal beneficio de usar Azure es la variedad de algoritmos disponibles para jugar.
Studio admite alrededor de 100 métodos que abordan la clasificación (binario + multiclase), detección de anomalías , regresión, recomendación y análisis de texto. Vale la pena mencionar que la plataforma tiene un algoritmo de clustering (K-means).
Otra gran parte de Azure ML es Cortana Intelligence Gallery . Es una colección de soluciones de aprendizaje automático proporcionadas por la comunidad para ser exploradas y reutilizadas por científicos de datos. El producto Azure es una herramienta poderosa para comenzar con machine learning e introducir sus capacidades a los nuevos empleados.
Servicios de machine learning de Microsoft Azure
En septiembre de 2017, Microsoft presentó un nuevo conjunto de productos enfocados en ML que recibieron el nombre de sombrilla de Azure Machine Learning Services .
El lanzamiento ha sido responsable de cierta confusión en la comunidad de desarrolladores de Azure, ya que obligó a los ingenieros a elegir entre las dos plataformas diferentes que no pueden integrarse de forma cruzada.
Entonces, le pedimos a Matt Winkler , un administrador de programas de grupo de Microsoft. Que trabaja con productos de Azure AI para que nos brinde información sobre su plataforma:
“Azure ML Services es nuestra infraestructura de próxima generación para crear y desplegar modelos a escala, utilizando cualquier herramienta o marco.”
Azure ML Services proporciona administración de ciclo de vida de extremo a extremo, realiza un seguimiento de todos sus experimentos en todo su equipo. Almacena código, configuración, configuración de parámetros y detalles de entorno para facilitar la clasificación, búsqueda y replicación de cualquier experimento realizado por Tu equipo.
Una vez que tenga un modelo que le guste, puede encapsularlo fácilmente en un contenedor e implementarlo en dispositivos Azure, locales o IOT. Y es fácil de escalar y administrar, ya que es “solo otro contenedor” que se ejecuta en Kubernetes.
Azure ML Services hace que sea fácil comenzar localmente, en un editor de Python o en una libreta de su elección, y luego calcular fácilmente en Azure y escalar / ampliar cuando lo necesite “, dice Matt.
Básicamente, los servicios sugieren un entorno de soporte para construir modelos, experimentar con ellos y usar una amplia variedad de componentes y marcos de código abierto.
A diferencia de ML Studio, no tiene métodos integrados y requiere ingeniería de modelos personalizados. La plataforma está dirigida a científicos de datos más experimentados para operarla.
Y si tiene el equipo adecuado, ML Services ofrece un potente conjunto de herramientas para administrar experimentos de Machine Learning.
Usar marcos populares como TensorFlow, scikit-learn, etc. (que no está disponible con ML Studio), e implementar modelos en producción en un tercero -Servicio de fiesta como Docker.
Echemos un vistazo más de cerca a lo que sugiere la plataforma de servicios de Machine Learning.
Paquetes de Python.
Estos paquetes propietarios tienen bibliotecas y funciones que apuntan a cuatro grupos principales de tareas: visión por computadora, pronóstico, análisis de texto y aceleración de hardware.
Experimentación.
Con cualquier marco y herramientas de Python, los ingenieros pueden construir diferentes modelos, compararlos, configurar el proyecto a una configuración histórica específica y continuar el desarrollo desde cualquier momento de la historia.
Gestión de modelos.
La herramienta proporciona un entorno para alojar, versionar, administrar y monitorear modelos que se ejecutan en dispositivos de Azure, locales o incluso dispositivos Edge.
Banco de trabajo.
Este producto es un entorno de línea de comando y escritorio conveniente con paneles y herramientas de evaluación para rastrear el desarrollo del modelo.
Visual Studio Tools para la IA.
Básicamente, esta extensión agrega herramientas al IDE de VS para trabajar con el aprendizaje profundo y otros productos de AI.
Si aún no sabe si debe seguir con Azure ML Studio o ML Services, Matt Winkler sugiere: “ Consideramos que son dos capacidades diferentes del mismo servicio, Azure Machine Learning, que atienden a diferentes tipos de clientes.
Las personas más nuevas en el espacio de Machine Learning, y las que no están familiarizadas con la codificación (analistas, personal de datos, etc.) adoran la comodidad de Azure ML Studio.
Mientras que los científicos de datos profesionales y los desarrolladores de IA que se sienten cómodos con Python prefieren las capacidades de los servicios de Azure ML. ”
API de predicción de Google
Google proporciona servicios de inteligencia artificial en dos niveles: un motor de aprendizaje automático para científicos expertos en datos y la API de Predicción de Google altamente automatizada. Desafortunadamente, la API de Predicción de Google ha quedado en desuso recientemente y Google se retiró el 30 de abril de 2018.
La API de predicción se parecía a Amazon Machine Learning.
Su enfoque minimalista se redujo a la solución de dos problemas principales:
La clasificación (tanto binaria como multiclase ) y la regresión. Los modelos entrenados se podrían implementar a través de la interfaz de la API REST.
Google no revela exactamente qué algoritmos se utilizaron para dibujar predicciones y no permitió a los ingenieros personalizar los modelos. Por otro lado, el entorno de Google fue la mejor opción para ejecutar machine learning en plazos ajustados y el lanzamiento temprano de la iniciativa Machine Learning.
Pero parece que el producto no era tan popular como Google esperaba. Es una pena que aquellos que estaban usando la API de Predicción tengan que “recrear los modelos existentes” usando otras plataformas como lo sugieren las preguntas frecuentes sobre el final de la vida útil .
Entonces, ¿qué viene en su lugar?
Google está probando Cloud AutoML . El producto está actualmente en alfa, por lo que ni siquiera tiene documentación aún. Las primeras piezas de información afirman que AutoML permitirá que las personas sin experiencia en ciencia de datos entrenen modelos de sus datos de manera automatizada. El primer producto que se lanzará será AutoML Vision, capaz de construir modelos personalizados de reconocimiento de imagen. A largo plazo, Google espera cubrir incluso más áreas.
Google Cloud Machine Learning Engine
La alta automatización de la API de predicción estaba disponible a un costo de flexibilidad. Google ML Engine es el opuesto directo. Está dirigido a científicos de datos experimentados, es muy flexible y sugiere el uso de infraestructura en la nube con TensorFlow como un controlador de aprendizaje automático. Además, Google está probando una serie de otros marcos populares como XGBoost, scikit-leran y Keras. Entonces, ML Engine es bastante similar a SageMaker en principio.
TensorFlow es otro producto de Google, que es una biblioteca de código abierto de aprendizaje automático de varias herramientas de ciencia de datos en lugar de Machine Learning as a Service (MLaaS).
No tiene una interfaz visual y la curva de aprendizaje para TensorFlow sería bastante pronunciada.
Sin embargo, la biblioteca también está dirigida a ingenieros de software que planean la transición a la ciencia de datos. Google TensorFlow es bastante potente, pero está dirigido principalmente a tareas de redes neuronales profundas.
Básicamente, la combinación de TensorFlow y el servicio Google Cloud sugiere soluciones de infraestructura como servicio y plataforma como servicio según el modelo de tres niveles de servicios en la nube. Hablamos sobre este concepto en nuestro documento técnico sobre la transformación digital . Echa un vistazo, si no estás familiarizado con él.
IBM Watson Machine Learning Studio
IBM sugiere una plataforma de aprendizaje de una sola máquina tanto para científicos de datos experimentados como para recién llegados a la esfera.
Técnicamente, el sistema ofrece dos enfoques: automatizado y manual, para profesionales expertos. Similar a una API de Predicción de Google en desuso o a Amazon Machine Learning aún en funcionamiento.
Watson Studio tiene un creador de modelos que trae a la mente un procesamiento de datos totalmente automatizado y una interfaz de construcción de modelos que requiere poca o ninguna capacitación para comenzar a procesar datos, preparar modelos e implementarlos en producción.
La parte automatizada puede resolver tres tipos principales de tareas: clasificación binaria, clasificación multiclase y regresión. Puede elegir un enfoque totalmente automatizado o seleccionar manualmente el método de LD que se utilizará.
Actualmente, IBM tiene diez métodos para cubrir estos tres grupos de tareas:
- Regresión logística
- Clasificador de
- Árboles de decisión
- Bosque al azar
- Árboles potenciado gradiente
- Ingenuo bayes
- Regresión lineal
- Regresor de:
- Árbol de decisión
- Bosques al azar
- Árbol potenciado gradiente
- Regresión isotónica
Por otra parte, IBM ofrece un flujo de trabajo de capacitación en redes neuronales profundas con una interfaz de editor de flujo similar a la utilizada en Azure ML Studio.
Si está buscando capacidades avanzadas; IBM ML tiene cuadernos como Jupiter para programar modelos manualmente utilizando marcos populares como TensorFlow, scikit-learn, PyTorch y otros.
Para concluir con las plataformas de Machine learning as a Service (MLaaS). Parece que Azure tiene actualmente el conjunto de herramientas más versátil en el mercado de Machine learning as a Service (MLaaS).
Cubre la mayoría de las tareas relacionadas con el LD. Proporciona dos productos distintos para crear modelos personalizados y tiene un conjunto sólido de API para aquellos que no quieren atacar la ciencia de datos con sus propias manos.
API de Amazon Machine Learning, Microsoft, Google y comparación de IBM
Además de las plataformas completas, puede usar API de alto nivel. Estos son los servicios con modelos capacitados bajo el capó en los que puede ingresar sus datos y obtener resultados. Las API no requieren experiencia en aprendizaje automático. Actualmente, las API de estos cuatro proveedores se pueden dividir en tres grandes grupos:
1) Reconocimiento de texto, traducción y análisis textual.
2) Imagen + reconocimiento de video y análisis relacionados.
3) otro, que incluye servicios específicos no categorizados
Microsoft sugiere la lista más rica de características. Sin embargo, los más críticos están disponibles de todos los proveedores.
API de procesamiento de voz y texto: Amazon
Amazon proporciona múltiples API que apuntan a tareas populares dentro del análisis de texto. Estos también son altamente automatizados en términos de aprendizaje automático y solo necesitan una integración adecuada para funcionar.
Amazon Lex .
La API de Lex se crea para incrustar chatbots en sus aplicaciones, ya que contiene capacidades de reconocimiento de voz automático (ASR) y procesamiento de lenguaje natural (NLP).
Estos se basan en modelos de aprendizaje profundo. La API puede reconocer texto escrito y hablado y la interfaz Lex le permite conectar las entradas reconocidas a varias soluciones de back-end. Obviamente, Amazon fomenta el uso de suentorno de nube Lambda .
Entonces, antes de suscribirte a Lex, familiarízate también con Lambda. Además de las aplicaciones independientes, Lex actualmente admite la implementación de chatbots para Facebook Messenger, Slack y Twilio.
Amazon Transcribe .
Si bien Lex es una herramienta compleja orientada al chatbot. Transcribe se crea únicamente para reconocer texto hablado.
La herramienta puede reconocer varios altavoces y funciona con audio de telefonía de baja calidad. Esto hace que la API sea una solución de referencia para la catalogación de archivos de audio o un buen soporte para el análisis de texto adicional de los datos del centro de llamadas.
Amazon Polly .
El servicio de Polly es una especie de revés de Lex. Convierte el texto en voz, lo que permitirá a tus chatbots responder con voz.
Sin embargo, no va a componer el texto, solo hace que el texto suene casi humano. Si alguna vez has probado a Alexa, tienes la idea.
Actualmente, soporta voces femeninas y masculinas para 25 idiomas , principalmente en inglés y en Europa occidental. Algunos idiomas tienen múltiples voces femeninas y masculinas.
Por lo que incluso hay una variedad para elegir. Como Lex, Polly se recomienda para su uso con Lambda.
Amazon Comprender .
Comprender es otro conjunto de API de NLP que, a diferencia de Lex y Transcribe, apunta a diferentes tareas de análisis de texto. Actualmente, Comprehend soporta:
- Extracción de entidades (reconociendo nombres, fechas, organizaciones, etc.)
- Detección de frases clave
- Reconocimiento de idioma
- Análisis de sentimiento (qué tan positivo, neutral o negativo es un texto)
- Modelado de temas (definiendo temas dominantes mediante el análisis de palabras clave)
Este servicio lo ayudará a analizar las respuestas de las redes sociales, los comentarios y otros datos textuales importantes que no son susceptibles de análisis manual.
Por ejemplo, la combinación de Comprehender y Transcribe lo ayudará a analizar el sentimiento en su servicio al cliente impulsado por la telefonía.
Amazon traduce. Como su nombre lo indica, el servicio de traducción traduce textos. Amazon afirma que utiliza redes neuronales que, en comparación con los enfoques de traducción basados en reglas, proporcionan una mejor calidad de traducción.
Desafortunadamente, la versión actual admite la traducción de solo seis idiomas al inglés y del inglés a esos seis. Los idiomas son árabe, chino, francés, alemán, portugués y español.
API de procesamiento de voz y texto: Servicios cognitivos de Microsoft Azure
Al igual que Amazon, Microsoft sugiere API de alto nivel, Servicios cognitivos , que pueden integrarse con su infraestructura y realizar tareas sin necesidad de experiencia en ciencia de datos.
Habla.
El conjunto de voz contiene cuatro API que aplican diferentes tipos de técnicas de procesamiento de lenguaje natural (NLP) para el reconocimiento de voz natural y otras operaciones:
- Traductor Speech API
- Bing Speech API para convertir texto en voz y voz en texto
- Altavoz de reconocimiento API para tareas de verificación de voz
- Custom Speech Service para aplicar las capacidades de NLP de Azure utilizando datos y modelos propios
Idioma.
El grupo de idiomas de las API se centra en el análisis textual similar a Amazon Comprender:
- Language Understanding Intelligent Service (LUIS) es una API que analiza las intenciones en el texto para ser reconocidas como comandos (por ejemplo, “ejecutar la aplicación de YouTube” o “encender las luces de la sala de estar”)
- API de análisis de texto para el análisis de opiniones y la definición de temas
- Bing Spell Check
- Traductor de texto API
- Modelo de lenguaje web API que estima las probabilidades de combinaciones de palabras y admite el autocompletado de palabras
- La API de análisis lingüístico utilizada para la separación de oraciones, etiquetar las partes del discurso y dividir los textos en frases etiquetadas
API de procesamiento de voz y texto: Google Cloud ML Services
Si bien este conjunto de API se cruza principalmente con lo que sugieren Amazon y Microsoft Azure, tiene algunas cosas interesantes y únicas que ver.
Dialogflow .
Con varios chatbots superando las tendencias actuales, Google también tiene algo que ofrecer. Dialogflow se basa en las tecnologías de la PNL y tiene como objetivo definir los intentos en el texto e interpretar lo que una persona quiere. La API se puede ajustar y personalizar para los propósitos necesarios utilizando Java, Node.js y Python.
API de lenguaje natural en la nube .
Este es casi idéntico en sus características principales para Comprender por Amazon y Language por Microsoft.
- Definiendo entidades en texto.
- Reconociendo el sentimiento
- Analizando estructuras de sintaxis.
- Categorización de temas (por ejemplo, comida, noticias, electrónica, etc.)
API de voz en la nube .
Este servicio reconoce el habla natural, y quizás su principal beneficio en comparación con API similares es la abundancia de idiomas que admite Google. Actualmente, su vocabulario trabaja con más de 110 idiomas globales y variantes de ellos. También tiene algunas características adicionales:
- Las sugerencias de palabras permiten personalizar el reconocimiento a contextos específicos y palabras que se pueden pronunciar (por ejemplo, para una mejor comprensión de la jerga local o de la industria)
- Filtrar contenido inapropiado
- Manejo de audio ruidoso
API de traducción en la nube .
Básicamente, puede utilizar esta API para emplear Google Translate en sus productos. Este incluye más de cien idiomas y detección automática de idiomas.
API de procesamiento de voz y texto: IBM Watson
IBM también compite por el mercado de API. Echemos un vistazo a su conjunto de interfaces.
Discurso al texto.
Actualmente, IBM ofrece reconocimiento de voz para 9 idiomas, incluidos japonés, portugués y árabe.
La API puede reconocer varios oradores, detectar palabras clave y manejar audio con pérdida. Una característica interesante es capturar alternativas de palabras e informarlas.
Por ejemplo, si el sistema encuentra la palabra “Boston “, puede suponer que puede haber una alternativa” Austin “. Al analizar su hipótesis, la API asigna un puntaje de confianza a cada alternativa.
Texto a voz.
Curiosamente, 9 idiomas de texto a voz solo coinciden en parte con los de la API de voz a texto. Si bien ambos productos son compatibles con los idiomas de Europa occidental.
El texto a voz carece de coreano y chino. Inglés, alemán y español le permiten elegir entre voces masculinas y femeninas; El resto de los idiomas vienen solo con voces femeninas. Esto está en línea con la tendencia a hacer que los asistentes de voz suenen principalmente femeninos.
Traductor de idiomas.
La API admite 21 idiomas para la traducción desde y hacia el inglés. Además, puede agregar modelos personalizados y ampliar la cobertura de idioma.
Clasificador de lenguaje natural.
A diferencia de la mayoría de las API mencionadas, el clasificador de IBM no se puede usar sin su propio conjunto de datos. Básicamente, la herramienta le permite entrenar modelos utilizando sus propios datos comerciales y luego clasificar los registros entrantes.
Los casos de uso comunes son el etiquetado de productos en comercio electrónico, detección de fraudes, categorización de mensajes, feeds de redes sociales, etc.
Comprensión del lenguaje natural .
El conjunto de características de comprensión del lenguaje en IBM es extenso. Además de la extracción de información estándar como la extracción de palabras clave y entidades con análisis de sintaxis.
La API sugiere una serie de capacidades interesantes que no están disponibles de otros proveedores. Estos incluyen el análisis de metadatos y la búsqueda de relaciones entre entidades.
Además, IBM sugiere un entorno separado para entrenar sus propios modelos para el análisis de texto usando Knowledge Studio .
Perspectivas de la personalidad .
Una API relativamente inusual permite analizar textos y extraer pistas sobre cómo el escritor se involucra con el mundo. Esto básicamente significa que el sistema volverá:
- características de la personalidad (por ejemplo , simpatía, conciencia , extraversión , rango emocional y apertura )
- necesidades (por ejemplo , curiosidad, emoción, desafío )
- valores (por ejemplo, ayudar a otros, lograr el éxito, hedonismo ).
Basándose en estos datos, la API puede inferir preferencias de consumo (por ejemplo , música, aprendizaje, películas ). El caso de uso más común para un sistema de este tipo es el análisis de contenido generado por el usuario para una comercialización precisa del producto.
Analizador de tonos .
El analizador de tonos es una API independiente que se centra en el análisis de sentimientos y está orientada a la investigación en redes sociales y diversos análisis de compromiso del cliente.
No se confunda por su nombre un tanto ambiguo. El analizador cubre solo el texto escrito y no extrae información de los hablados.
Además de texto y voz, Amazon, Microsoft, Google e IBM proporcionan API bastante versátiles para el análisis de imágenes y videos.
El kit de herramientas más versátil para el análisis de imágenes está actualmente disponible en Google Cloud
Mientras que el análisis de imágenes se relaciona estrechamente con las API de video. Muchas herramientas para el análisis de video aún están en desarrollo o versiones beta.
Por ejemplo, Google sugiere un amplio soporte para varias tareas de procesamiento de imágenes. Pero definitivamente carece de funciones de análisis de video ya disponibles en Microsoft y Amazon.
Microsoft parece ser un ganador, aunque aún creemos que Amazon tiene las API de análisis de video más eficientes. Ya que admite la transmisión de videos. Esta característica amplía tangiblemente el espectro de casos de uso. IBM no soporta las API de análisis de video
API de procesamiento de imágenes y videos: Amazon Rekognition
No, no escribimos mal la palabra. La API Rekognition se utiliza para tareas de imagen y, recientemente, de reconocimiento de video. Incluyen:
- Detección y clasificación de objetos (encuentre y detecte diferentes objetos en imágenes y defina cuáles son)
- En los videos, puede detectar actividades como “bailar” o acciones complejas como “extinguir el fuego”
- Reconocimiento de rostros (para detectar rostros y encontrar los que combinan) y análisis facial (este es bastante interesante ya que detecta sonrisas, analiza los ojos e incluso define el sentimiento emocional en los videos)
- Detectar videos inapropiados
- Reconocer a las celebridades en imágenes y videos (para cualquier objetivo que pueda ser)
API de procesamiento de imágenes y video: Servicios cognitivos de Microsoft Azure
El paquete Vision de Microsoft combina seis API que se centran en diferentes tipos de análisis de imágenes, videos y textos.
- Visión por computadora que reconoce objetos, acciones (por ejemplo, caminar), textos escritos y escritos, y define los colores dominantes en las imágenes.
- El moderador de contenido detecta contenido inapropiado en imágenes, textos y videos
- Face API detecta caras, las agrupa, define la edad, las emociones, los géneros, las posturas, las sonrisas y el vello facial.
- Emotion API es otra herramienta de reconocimiento facial que describe expresiones faciales.
- Custom Vision Service admite la creación de modelos de reconocimiento de imagen personalizados utilizando sus propios datos.
- El indexador de videos es una herramienta para encontrar personas en los videos, definir el sentimiento del habla y marcar palabras clave
API de procesamiento de imágenes y video: Google Cloud Services
Cloud vision API .
La herramienta está diseñada para tareas de reconocimiento de imagen y es bastante potente para encontrar atributos de imagen específicos:
- Etiquetar objetos
- Detectar caras y analizar expresiones (sin reconocimiento o identificación específica)
- Encontrar puntos de referencia y describir la escena (por ejemplo, vacaciones, boda, etc.)
- Búsqueda de textos en imágenes e identificación de idiomas.
- Colores dominantes
Cloud Video Intelligence .
La API de reconocimiento de video de Google tiene un desarrollo temprano por lo que carece de muchas funciones disponibles con Amazon Rekognition y Microsoft Cognitive Services.
Actualmente, la API proporciona el siguiente conjunto de herramientas:
- Etiquetar objetos y definir acciones.
- Identificando contenido explícito
- Transcribiendo discurso
Si bien en el nivel de la lista de características, los servicios de AI de Google pueden carecer de algunas capacidades, el poder de las API de Google se encuentra en los vastos conjuntos de datos a los que Google tiene acceso.
Imagen y (no) API de procesamiento de video: IBM Visual Recognition
La API de reconocimiento visual de IBM actualmente no admite el análisis de video, que ya está disponible en otros proveedores (de ahí el título de esta sección). Y el motor de reconocimiento de imágenes sugiere un conjunto básico de características, algo limitado en comparación con lo que ofrecen otros proveedores:
- Reconocimiento:
- de objetos
- facial (la API devuelve edad y género)
- de alimentos (por alguna razón, IBM diseñó un modelo dedicado para alimentos)
- Detección de contenido inapropiado.
- Reconocimiento de texto (esta parte de la API de la API está en versión beta privada, por lo que debe solicitar un acceso por separado)
APIs y herramientas específicas
Aquí, discutiremos ofertas y herramientas de API específicas que provienen de Microsoft y Google. No incluimos Amazon aquí, ya que sus conjuntos de API simplemente coinciden con las categorías mencionadas de análisis de texto y análisis de imagen + video. Sin embargo, algunas de las capacidades de estas API específicas también están presentes en los productos de Amazon.
Marco de Azure Service Bot.
Microsoft ha puesto mucho esfuerzo en proporcionar a sus usuarios un conjunto de herramientas de desarrollo de bot flexibles . Básicamente, el servicio contiene un entorno completo para construir, probar y desplegar bots usando diferentes lenguajes de programación.
Curiosamente, el Servicio Bot no requiere necesariamente enfoques de aprendizaje automático. Como Microsoft proporciona cinco plantillas para bots (básico, formulario, comprensión del lenguaje, proactivo y preguntas y respuestas), solo el tipo de comprensión del lenguaje requiere técnicas avanzadas de inteligencia artificial.
Actualmente, puede usar las tecnologías .NET y Node.js para crear bots con Azure e implementarlos en las siguientes plataformas y servicios:
- Bing
- Cortana
- Skype
- Chat web
- Correo electrónico de Office 365
- GroupMe
- Facebook Messenger
- Flojo
- Kik
- Telegrama
- Twilio
Bing Search de Microsoft .
Microsoft sugiere siete API que se conectan con las funciones básicas de búsqueda de Bing. Incluida la búsqueda automática de sugerencias, noticias, imágenes y videos.
Conocimientos de Microsoft .
Este grupo de APIs combina el análisis de texto con un amplio espectro de tareas únicas:
- Las recomendaciones API permiten la creación de sistemas de recomendación para la personalización de compras.
- El Servicio de exploración del conocimiento le permite escribir consultas naturales para recuperar datos de bases de datos, visualizar datos y completar autocompletadamente
- Entity Linking Intelligence API está diseñado para resaltar nombres y frases que denotan entidades adecuadas (por ejemplo, Age of Exploration) y garantizar la desambiguación
- Academic Knowledge API realiza autocompletado de palabras, encuentra similitudes en documentos tanto en palabras como en conceptos. Y busca patrones de gráficos en documentos
- QnA Maker API se puede usar para hacer coincidir variaciones de preguntas con respuestas para crear chatbots y aplicaciones de atención al cliente
- Custom Decision Service es una herramienta de aprendizaje de refuerzo para personalizar y clasificar diferentes tipos de contenido (por ejemplo, enlaces, anuncios, etc.) según las preferencias del usuario.
Google Cloud Job Discovery .
La API aún se encuentra en el desarrollo inicial, pero pronto podrá redefinir las capacidades de búsqueda de empleo que tenemos hoy. A diferencia de los motores de búsqueda de empleo convencionales que se basan en coincidencias de palabras clave precisas.
Google emplea machine learning para encontrar conexiones relevantes entre descripciones de trabajo muy variadas y evitar la ambigüedad. Por ejemplo, se esfuerza por reducir los rendimientos irrelevantes o demasiado amplios. Como devolver todos los trabajos con la palabra clave “asistente” para la consulta “asistente de ventas”.
¿Cuáles son las características principales de la API?
- Corrección de errores de ortografía en consultas de búsqueda de trabajo
- A juego con el nivel de antigüedad deseado
- Encontrar trabajos relevantes que puedan tener expresiones variadas y la jerga de la industria involucrada (por ejemplo, devolver “barista” para la consulta del “servidor” en lugar de “especialista de la red”; o “especialista de participación” para la consulta “biz dev”)
- Tratar con acrónimos (por ejemplo, devolver “asistente de recursos humanos” para la consulta “HR”)
- Descripciones de ubicación variativa coincidentes
Asistente Watson .
La plataforma de chatbot de Watson (anteriormente Conversación) es bastante famosa entre los ingenieros de AI que se especializan en interfaces de conversación . IBM proporciona una infraestructura completa para construir y desplegar bots capaces de conversar en vivo aprovechando la entidad y el análisis de la intención del usuario en los mensajes.
Los ingenieros pueden usar el soporte incorporado de la implementación de Facebook Messenger y Slack o crear una aplicación cliente para ejecutar el bot allí.
Las cuatro plataformas descritas anteriormente proporcionan una documentación bastante exhaustiva para poner en marcha experimentos de aprendizaje automático e implementar modelos capacitados en una infraestructura corporativa.
También hay una serie de otras soluciones de ML-as-a-Service que provienen de nuevas empresas y que son respetadas por los científicos de datos, como PredicSis y BigML .
Almacenamiento de datos
Encontrar el almacenamiento adecuado para recopilar datos y procesarlos con machine learning ya no es un gran desafío. Suponiendo que los científicos de los datos tengan el conocimiento suficiente para operar soluciones de almacenamiento populares.
En la mayoría de los casos, machine learning requiere esquemas de bases de datos SQL y NoSQL. Que son compatibles con muchas soluciones establecidas y confiables como el Sistema de Archivos Distribuidos de Hadoop (HDFS), Cassandra, Amazon S3 y Redshift.
Para las organizaciones que han usado potentes sistemas de almacenamiento antes de embarcarse en machine learning o, esto no será una barrera.
Si planea trabajar con algún sistema Machine Learning as a Service. La forma más sencilla es elegir el mismo proveedor tanto para el almacenamiento como para machine learning. Ya que esto reducirá el tiempo empleado en configurar una fuente de datos.
Sin embargo, algunas de estas plataformas se pueden integrar fácilmente con otros almacenamientos. Azure ML, por ejemplo, se integra principalmente con otros productos de Microsoft (Azure SQL, Azure Table, Azure Blob).
Pero también es compatible con Hadoop y un puñado de otras opciones de origen de datos.
Estos incluyen la carga directa de datos desde un servidor de escritorio o local. Los desafíos pueden surgir si su flujo de trabajo de aprendizaje automático se diversifica y los datos provienen de múltiples fuentes.
Modelado y computación
Hemos discutido las soluciones de ML-as-a-service que brindan principalmente capacidades de cómputo. Pero si el flujo de trabajo de aprendizaje se realiza internamente, el desafío de la computación llegará tarde o temprano.
Machine Learning en la mayoría de los casos requiere mucha potencia de cálculo. El muestreo de datos (hacer un subconjunto curado) sigue siendo una práctica relevante, independientemente del hecho de que haya llegado la era del big data.
Si bien el prototipado de modelos se puede hacer en una computadora portátil. Entrenar un modelo complejo con un gran conjunto de datos requiere una inversión en hardware más potente.
Lo mismo se aplica al preprocesamiento de datos, que puede tardar días en las máquinas de oficina normales. En un entorno sensible a la fecha límite. Donde a veces los modelos deben modificarse y reentrenarse semanalmente o diariamente, esto simplemente no es una opción.
Existen tres enfoques viables para manejar el procesamiento y mantener un alto rendimiento:
-
Acelerar el hardware.
Si realiza tareas relativamente simples y no aplica sus modelos para big data, use unidades de estado sólido (SSD) para tareas como la preparación de datos o el uso de software de análisis. Las operaciones de computación intensiva se pueden abordar con una o varias unidades de procesamiento gráfico (GPU). Hay varias bibliotecas disponibles para permitir que las GPU procesen modelos escritos incluso con lenguajes de alto nivel como Python.
-
Considere la computación distribuida.
La computación distribuida implica tener múltiples máquinas con tareas divididas entre ellas. Sin embargo, este enfoque no va a funcionar para todas las técnicas de aprendizaje automático.
-
Utilice la computación en la nube para la escalabilidad.
Si sus modelos procesan datos relacionados con el cliente que tienen momentos pico intensivos. Los servicios de computación en la nube permitirán una escalabilidad rápida. Para las compañías a las que se les exige tener sus datos solo en las instalaciones, vale la pena considerar la infraestructura de nube privada.
El siguiente movimiento
Es fácil perderse en la variedad de soluciones disponibles. Difieren en términos de algoritmos, difieren en términos de habilidades requeridas, y eventualmente difieren en tareas.
Esta situación es bastante común para este mercado joven. Ya que incluso las cuatro soluciones líderes de las que hemos hablado no son totalmente competitivas entre sí. Y más que eso, la velocidad del cambio es impresionante.
Existe una alta probabilidad de que te quedes con un proveedor y, de repente, otro implementará algo inesperadamente que se adapte a las necesidades de tu negocio.
El movimiento correcto es articular lo que planea lograr con Machine Learning lo antes posible. No es fácil. Crear un puente entre la ciencia de datos y el valor comercial es complicado si no tiene experiencia en ciencia de datos o dominio.
Nos encontramos con este problema a menudo cuando discutimos aplicaciones de aprendizaje automático con nuestros clientes.
Por lo general, se trata de simplificar el problema general a un solo atributo. Ya sea el pronóstico del precio u otro valor numérico. La clase de un objeto o la segregación de objetos en varios grupos. Una vez que encuentre este atributo, será más sencillo decidir el proveedor y elegir lo que se propone.
Bradford Cross, socio fundador de DCVC, sostiene que ML-as-a-services no es un modelo de negocio viable . Según él, cae en la brecha entre los científicos de datos que van a usar productos de código abierto y los ejecutivos que van a comprar herramientas para resolver tareas en los niveles más altos.
Sin embargo, parece que la industria actualmente está superando sus problemas iniciales y, eventualmente. Veremos que muchas más compañías recurren a ML-as-a-service para evitar costosas adquisiciones de talentos y aún poseen herramientas de datos versátiles.