Interested Article - ML.NET

ML.NET — бесплатная открытая библиотека со средствами машинного обучения для языков программирования C# и F# . Она также поддерживает модели на Python при использовании совместно с NimbusML. Предварительный выпуск ML.NET включал в себя решения для конструирования признаков (например, создания N-грамм ), двоичной и мультиклассовой классификаций, регрессионного анализа . Позже были добавлены дополнительные задачи машинного обучения: выявление аномалий и рекомендательные системы . Глубокое обучение и прочие подходы ожидаются в предстоящих версиях.

История

ML.NET предоставляет разработчикам на платформе .NET возможности аналитики и прогнозирования при помощи модельного машинного обучения. Фреймворк создан на базе .NET Core и .NET Standard, поэтому запускается кроссплатформенно на системах Linux , Windows и macOS . Хотя фреймворк ML.NET появился относительно недавно, его начало было положено в 2002 году проектом Microsoft Research под названием TMSN (Text mining search and navigation), созданным для внутреннего использования в продуктах Microsoft. Позже в 2011 название этого проекта сменили на TLC (The learning code). «ML.NET был получен из библиотеки TLC и во многом превосходит своих предшественников» — сообщает , сотрудник Microsoft Research.

В версии 0.3 была представлена поддержка формата ONNX , а помимо этого — машины факторизации, LightGBM, ансамблевое обучение , LightLDA-преобразование, классификация OVA. Интеграция с TensorFlow возможна, начиная с версии 0.5. Поддержка 32- и 64-разрядных приложений была добавлена в версию 0.7, вдобавок имеющую улучшенную рекомендательную систему с матричной факторизацией. Полная информация о запланированных функциях доступна на странице официального GitHub - репозитория библиотеки.

Первый стабильный релиз фреймворка 1.0 был анонсирован на конференции Build в 2019 году. В нём были реализованы инструмент построения моделей (Model Builder) и автоматизированное машинное обучение (AutoML). В версии 1.3.1 предварительно показано обучение глубокой нейронной сети для TensorFlow, используя привязку данных в C#, и Database Loader, позволяющий обучать модель с помощью баз данных. Предварительная версия 1.4.0 позволила производить оценку моделей на ARM -процессорах и обучать глубокую нейронную сеть средствами графического процессора на Windows и Linux.

Характеристики

Разработчики могут сами тренировать модель машинного обучения или повторно использовать уже существующую и запускать её на любой среде без подключения к интернету. Это означает, что им не требуется опыт в области науки о данных , чтобы работать с фреймворком.

Производительность

Статья Microsoft о машинном обучение на ML.NET продемонстрировала способность библиотеки анализировать тональность текста, используя большие наборы данных и достигая при этом высокой точности. Результаты показали 95 % точности на наборе данных из обзоров Amazon объёмом в 9 гигабайт.

Построитель моделей

ML.NET CLI — интерфейс командной строки , который использует ML.NET AutoML для выполнения обучения моделей и выбора наилучшего алгоритма для данных. ML.NET Model Builder Preview — расширение для Visual Studio , использующее ML.NET CLI и ML.NET AutoML для графического вывода лучшей ML.NET-модели.

Объяснимость моделей

Темы справедливости и объяснимости искусственного интеллекта в последние годы стали предметами разногласий. Основная проблема приложений машинного обучения — эффект чёрного ящика , при котором конечным пользователям и разработчикам не известно, как алгоритм пришёл к тому или иному решению и есть ли предвзятость в наборе данных. В сборку версии 0.8 был включён API для анализа объяснимости моделей, прежде использовавшийся внутри компании Micrososft. Добавлены обобщённые аддитивные модели и функция определения важности признаков.

Когда присутствуют несколько переменных, влияющих на итоговый результат, можно увидеть разбивку каждой из них, а также признаки, оказавшие наибольшее влияние в конечном счёте. Официальная документация показывает, что метрики оценки могут быть выведены в целях отладки. Во время обучения и отладки модели разработчики могут просматривать и изучать фильтруемые данные в реальном времени. Один из инструментов, располагающих описанными функциями, — Visual Studio DataView.

Infer.NET

Компания Microsoft Research анонсировала, что популярный фреймворк машинного обучения Infer.NET, применяемый для исследований в академических учреждениях с 2008 года, был выпущен с открытым исходным кодом и теперь является частью ML.NET. Infer.NET применяет вероятностное программирование, чтобы описывать вероятностные модели, что даёт преимущество интерпретируемости. Позже пространство имён «Infer.NET» было изменено на «Microsoft.ML.Probabilistic».

Поддержка Python

Microsoft известно, что язык программирования Python популярен среди представителей Data Science, поэтому был создан экспериментальный модуль NimbusML. Он позволяет пользователям обучать и эксплуатировать модели машинного обучения в Python. Как и в случае с Infer.NET, исходный код модуля доступен всем.

Машинное обучение в браузере

ML.NET даёт пользователям возможность экспортировать обученные модели в формат ONNX. Это в свою очередь позволяет интегрировать их в различные среды, которые не поддерживают ML.NET. Стало возможным запускать такие модели на клиентской стороне браузера благодаря ONNX.js, клиентскому фреймворку на JavaScript для глубоких моделей обучения в формате ONNX.

Школа изучения ИИ и машинного обучения

Параллельно с выходом предварительной версии ML.NET Microsoft опубликовала бесплатные уроки и курсы на тему искусственного интеллекта, чтобы помочь разработчикам освоить техники, необходимые для взаимодействия с фреймворком.

Примечания

  1. By David Ramel, 05/08/2018. (амер. англ.) . Visual Studio Magazine . Дата обращения: 3 февраля 2022. 28 октября 2021 года.
  2. (амер. англ.) (9 мая 2018). Дата обращения: 3 февраля 2022. 5 марта 2022 года.
  3. (амер. англ.) . .NET Blog (7 августа 2018). Дата обращения: 3 февраля 2022. 3 февраля 2022 года.
  4. (амер. англ.) . Fossbytes (9 мая 2018). Дата обращения: 3 февраля 2022. 27 октября 2021 года.
  5. luisquintanilla. (амер. англ.) . docs.microsoft.com . Дата обращения: 3 февраля 2022. 3 декабря 2021 года.
  6. kexugit. (амер. англ.) . docs.microsoft.com . Дата обращения: 3 февраля 2022. 3 февраля 2022 года.
  7. . — 2022-02-02. 3 февраля 2022 года.
  8. (амер. англ.) . .NET Blog (8 ноября 2018). Дата обращения: 3 февраля 2022. 3 февраля 2022 года.
  9. . — 2022-02-02. 3 февраля 2022 года.
  10. (амер. англ.) . .NET Blog (6 мая 2019). Дата обращения: 3 февраля 2022. 27 октября 2021 года.
  11. . — 2022-02-01. 12 июля 2019 года.
  12. (англ.) . GitHub . Дата обращения: 3 февраля 2022. 3 февраля 2022 года.
  13. Machine Learning at Microsoft with ML .NET // Microsoft & Yandex. — 2019. — doi : . — arXiv : .
  14. . — 2022-01-27. 28 октября 2021 года.
  15. Paul Teich. (англ.) . Forbes . Дата обращения: 3 февраля 2022. 3 февраля 2022 года.
  16. (амер. англ.) . .NET Blog (4 декабря 2018). Дата обращения: 3 февраля 2022. 3 февраля 2022 года.
  17. Richard Speed. (англ.) . www.theregister.com . Дата обращения: 3 февраля 2022. 31 октября 2021 года.
  18. Melisha Dsouza. (амер. англ.) . Packt Hub (8 октября 2018). Дата обращения: 3 февраля 2022. 3 февраля 2022 года.
  19. Will Badr. (англ.) . Medium (26 января 2019). Дата обращения: 3 февраля 2022. 3 февраля 2022 года.
  20. (амер. англ.) . Microsoft AI . Дата обращения: 3 февраля 2022. 3 февраля 2022 года.
  21. natke. (амер. англ.) . docs.microsoft.com . Дата обращения: 3 февраля 2022. 3 февраля 2022 года.
  22. (англ.) . dotnet.github.io . Дата обращения: 3 февраля 2022. 23 января 2022 года.

Литература

  • Jarred Capellman. Hands-On Machine Learning with ML.NET: Getting started with Microsoft ML.NET to implement popular machine learning algorithms in C#. — Packt Publishing, 2020. — ISBN 978-1789801781 .
  • Sudipta, Mukherjee. ML.NET Revealed: Simple Tools for Applying Machine Learning to Your Applications. — Apress, 2020. — ISBN 978-1484265420 .

Ссылки

Источник —

Same as ML.NET