ML.NET - ML.NET

ML.NET
Mldotnet.svg
Autor (es) original (es) Microsoft
Desarrollador (es) Fundación .NET
Versión inicial 7 de mayo de 2018 ; hace 3 años ( 07/05/2018 )
Lanzamiento estable
1.5.5 / 3 de marzo de 2021 ; hace 7 meses ( 03/03/2021 )
Repositorio github .com / dotnet / aprendizaje automático /
Escrito en C # y C ++
Sistema operativo Linux , macOS , Windows
Plataforma .NET Core ,
.NET Framework
Escribe Biblioteca de aprendizaje automático
Licencia Licencia MIT
Sitio web punto .net / ml

ML.NET es una biblioteca de aprendizaje automático de software gratuito para los lenguajes de programación C # y F # . También admite modelos de Python cuando se usa junto con NimbusML. La versión preliminar de ML.NET incluyó transformaciones para la ingeniería de funciones, como la creación de n-gramas , y estudiantes para manejar la clasificación binaria, la clasificación de clases múltiples y las tareas de regresión. Desde entonces, se han agregado tareas de aprendizaje automático adicionales, como sistemas de recomendación y detección de anomalías, y en versiones futuras se incluirán otros enfoques como el aprendizaje profundo.

Aprendizaje automático

ML.NET ofrece capacidades analíticas y de predicción de Machine Learning basadas en modelos a los desarrolladores de .NET existentes. El marco se basa en .NET Core y .NET Standard heredando la capacidad de ejecutar multiplataforma en Linux , Windows y macOS . Aunque el marco ML.NET es nuevo, sus orígenes comenzaron en 2002 como un proyecto de investigación de Microsoft llamado TMSN (búsqueda y navegación de minería de texto) para su uso interno dentro de los productos de Microsoft. Más tarde se le cambió el nombre a TLC (el código de aprendizaje) alrededor de 2011. ML.NET se derivó de la biblioteca TLC y ha superado en gran medida a su padre, dice el Dr. James McCaffrey, Microsoft Research.

Los desarrolladores pueden entrenar un modelo de aprendizaje automático o reutilizar un modelo existente por un tercero y ejecutarlo en cualquier entorno sin conexión. Esto significa que los desarrolladores no necesitan tener experiencia en ciencia de datos para usar el marco. La compatibilidad con el formato de modelo de aprendizaje profundo de Open Neural Network Exchange ( ONNX ) de código abierto se introdujo a partir de la compilación 0.3 en ML.NET. El lanzamiento incluyó otras mejoras notables como Factorization Machines, LightGBM , Ensembles, LightLDA transform y OVA. La integración ML.NET de TensorFlow está habilitada desde la versión 0.5. Se agregó soporte para aplicaciones x86 y x64 para construir 0.7, incluidas capacidades de recomendación mejoradas con Matrix Factorization. Se ha puesto a disposición una hoja de ruta completa de las funciones planificadas en el repositorio oficial de GitHub.

La primera versión 1.0 estable del marco se anunció en Build (conferencia de desarrolladores) 2019. Incluyó la adición de una herramienta Model Builder y capacidades de AutoML (Automated Machine Learning). La compilación 1.3.1 presentó una vista previa del entrenamiento de redes neuronales profundas utilizando enlaces C # para Tensorflow y un cargador de base de datos que permite el entrenamiento de modelos en bases de datos. La vista previa 1.4.0 agregó puntuación ML.NET en procesadores ARM y entrenamiento de redes neuronales profundas con GPU para Windows y Linux.

Rendimiento

El artículo de Microsoft sobre aprendizaje automático con ML.NET demostró que es capaz de entrenar modelos de análisis de sentimientos utilizando grandes conjuntos de datos mientras logra una alta precisión. Sus resultados mostraron una precisión del 95% en el conjunto de datos de revisión de 9 GB de Amazon.

Constructor de modelos

ML.NET CLI es una interfaz de línea de comandos que utiliza ML.NET AutoML para realizar el entrenamiento del modelo y elegir el mejor algoritmo para los datos. La vista previa de ML.NET Model Builder es una extensión para Visual Studio que usa ML.NET CLI y ML.NET AutoML para generar el mejor modelo ML.NET usando una GUI .

Explicabilidad del modelo

La imparcialidad y la explicabilidad de la IA ha sido un área de debate para los especialistas en ética de la IA en los últimos años. Un problema importante para las aplicaciones de aprendizaje automático es el efecto de caja negra donde los usuarios finales y los desarrolladores de una aplicación no están seguros de cómo un algoritmo tomó una decisión o si el conjunto de datos contiene sesgos. La compilación 0.8 incluía API de explicabilidad del modelo que se habían utilizado internamente en Microsoft. Agregó la capacidad de comprender la importancia de las características de los modelos con la adición de 'Importancia general de las características' y 'Modelos aditivos generalizados'.

Cuando hay varias variables que contribuyen al puntaje general, es posible ver un desglose de cada variable y qué características tuvieron el mayor impacto en el puntaje final. La documentación oficial demuestra que las métricas de puntuación se pueden generar con fines de depuración. Durante el entrenamiento y la depuración de un modelo, los desarrolladores pueden obtener una vista previa e inspeccionar los datos filtrados en vivo. Esto es posible utilizando las herramientas de Visual Studio DataView.

Infer.NET

Microsoft Research anunció que el popular marco de aprendizaje automático basado en modelos Infer.NET que se utiliza para la investigación en instituciones académicas desde 2008 se ha lanzado de código abierto y ahora es parte del marco ML.NET. El marco Infer.NET utiliza programación probabilística para describir modelos probabilísticos que tiene la ventaja adicional de la interpretabilidad. Desde entonces, el espacio de nombres Infer.NET se ha cambiado a Microsoft.ML.Probabilistic coherente con los espacios de nombres ML.NET.

Soporte NimbusML Python

Microsoft reconoció que el lenguaje de programación Python es popular entre los científicos de datos, por lo que ha introducido NimbusML, los enlaces experimentales de Python para ML.NET. Esto permite a los usuarios entrenar y usar modelos de aprendizaje automático en Python. Se hizo de código abierto similar a Infer.NET.

Aprendizaje automático en el navegador

ML.NET permite a los usuarios exportar modelos entrenados al formato Open Neural Network Exchange (ONNX). Esto establece una oportunidad para usar modelos en diferentes entornos que no usan ML.NET. Sería posible ejecutar estos modelos en el lado del cliente de un navegador usando ONNX.js, un marco del lado del cliente de JavaScript para modelos de aprendizaje profundo creados en el formato Onnx.

Curso de aprendizaje automático de la escuela de inteligencia artificial

Junto con el lanzamiento de la vista previa de ML.NET, Microsoft lanzó tutoriales y cursos de IA gratuitos para ayudar a los desarrolladores a comprender las técnicas necesarias para trabajar con el marco.

Ver también

Referencias

Otras lecturas

  • Capellman, Jarred (2020). Aprendizaje automático práctico con ML.NET: Introducción a Microsoft ML.NET para implementar algoritmos populares de aprendizaje automático en C # . Packt Publishing. ISBN 978-1789801781.
  • Mukherjee, Sudipta (2020). ML.NET Revelado: Herramientas simples para aplicar el aprendizaje automático a sus aplicaciones . Presione. ISBN 978-1484265420.

enlaces externos