Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

ML.NET - это бесплатная библиотека машинного обучения для языков программирования C # и F # . [4] [5] [6] Он также поддерживает модели Python при использовании вместе с NimbusML. Предварительная версия ML.NET включала преобразования для проектирования функций, такие как создание n-граммов , и обучающихся для обработки двоичной классификации, классификации нескольких классов и задач регрессии. [7] С тех пор были добавлены дополнительные задачи машинного обучения, такие как системы обнаружения аномалий и рекомендаций, а другие подходы, такие как глубокое обучение, будут включены в будущие версии. [8] [9]

Машинное обучение [ править ]

ML.NET предоставляет существующим .NET-разработчикам возможности анализа и прогнозирования машинного обучения на основе моделей. Фреймворк построен на .NET Core и .NET Standard, унаследовав возможность кроссплатформенной работы в Linux , Windows и macOS . Несмотря на то, что структура ML.NET является новой, ее истоки начались в 2002 году как исследовательский проект Microsoft под названием TMSN (поиск и навигация по интеллектуальному тексту) для внутреннего использования в продуктах Microsoft. Позднее он был переименован в TLC (обучающий код) примерно в 2011 году. ML.NET был получен из библиотеки TLC и во многом превзошел своего родителя, говорит доктор Джеймс Маккаффри из Microsoft Research. [10]

Разработчики могут обучать модель машинного обучения или повторно использовать существующую модель третьей стороной и запускать ее в любой среде в автономном режиме. Это означает, что разработчикам не обязательно иметь опыт работы в Data Science, чтобы использовать фреймворк. Поддержка формата модели Deep Learning Open Neural Network Exchange ( ONNX ) с открытым исходным кодом была введена в версии 0.3 в ML.NET. В выпуск включены другие заметные улучшения, такие как машины факторизации, LightGBM , ансамбли, преобразование LightLDA и OVA. [11] Интеграция ML.NET из TensorFlow включена с версии 0.5. В сборку 0.7 была добавлена ​​поддержка приложений x86 и x64, включая расширенные возможности рекомендаций с матричной факторизацией.[12] Полный план запланированных функций доступен в официальном репозитории GitHub. [13]

Первый стабильный выпуск 1.0 фреймворка был анонсирован на Build (конференция разработчиков) 2019. Он включал добавление инструмента Model Builder и возможностей AutoML (Automated Machine Learning). [14] В сборке 1.3.1 представлена ​​предварительная версия обучения глубокой нейронной сети с использованием привязок C # [15] для Tensorflow и загрузчика базы данных, который позволяет обучать модели в базах данных. Предварительная версия 1.4.0 добавила оценку ML.NET на процессорах ARM и обучение глубокой нейронной сети с помощью графических процессоров для Windows и Linux. [16]

Производительность [ править ]

Документ Microsoft о машинном обучении с ML.NET продемонстрировал, что он способен обучать модели анализа настроений с использованием больших наборов данных, достигая при этом высокой точности. Его результаты показали точность 95% в наборе данных обзора Amazon 9 ГБ. [17]

Построитель моделей [ править ]

ML.NET CLI - это интерфейс командной строки, который использует ML.NET AutoML для обучения модели и выбора лучшего алгоритма для данных. Предварительная версия построителя моделей ML.NET [18] - это расширение для Visual Studio, которое использует ML.NET CLI и ML.NET AutoML для вывода наилучшей модели ML.NET с помощью графического интерфейса пользователя . [14]

Объяснимость модели [ править ]

Справедливость и объяснимость ИИ были предметом дискуссий для специалистов по этике ИИ в последние годы. [19] Основной проблемой для приложений машинного обучения является эффект черного ящика, когда конечные пользователи и разработчики приложения не уверены в том, как алгоритм пришел к решению или содержит ли набор данных предвзятость. [20] Сборка 0.8 включала API объяснимости модели, которые использовались внутри Microsoft. Добавлена ​​возможность понимать важность характеристик моделей с добавлением «Общей важности характеристик» и «Обобщенных аддитивных моделей». [21]

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

Infer.NET [ править ]

Microsoft Research объявила, что популярный фреймворк машинного обучения на основе моделей Infer.NET, используемый для исследований в академических учреждениях с 2008 года, был выпущен с открытым исходным кодом и теперь является частью фреймворка ML.NET. [23] Инфраструктура Infer.NET использует вероятностное программирование для описания вероятностных моделей, которое имеет дополнительное преимущество интерпретируемости. С тех пор пространство имен Infer.NET было изменено на Microsoft.ML.Probabilistic в соответствии с пространствами имен ML.NET. [24]

Поддержка NimbusML Python [ править ]

Microsoft признала, что язык программирования Python популярен среди специалистов по данным, поэтому представила NimbusML - экспериментальные привязки Python для ML.NET. Это позволяет пользователям обучать и использовать модели машинного обучения на Python. Он был сделан с открытым исходным кодом, похожим на Infer.NET. [12]

Машинное обучение в браузере [ править ]

ML.NET позволяет пользователям экспортировать обученные модели в формат Open Neural Network Exchange (ONNX). [25] Это дает возможность использовать модели в различных средах, не использующих ML.NET. Эти модели можно было бы запускать на клиентской стороне браузера с помощью ONNX.js, клиентской инфраструктуры javascript для моделей глубокого обучения, созданных в формате Onnx. [26]

Курс машинного обучения в школе AI [ править ]

Наряду с развертыванием предварительной версии ML.NET Microsoft выпустила бесплатные учебные пособия и курсы по ИИ, чтобы помочь разработчикам понять методы, необходимые для работы с фреймворком. [27] [28] [29]

См. Также [ править ]

  • Scikit-Learn
  • Accord.NET
  • NimbusML
  • LightGBM
  • TensorFlow
  • Microsoft Cognitive Toolkit
  • Список программного обеспечения для численного анализа
  • Список числовых библиотек для .NET framework

Ссылки [ править ]

  1. ^ Анкит Астхана (2017-05-07). «Представляем ML.NET: кроссплатформенную, проверенную платформу машинного обучения с открытым исходным кодом» . blogs.msdn.microsoft.com . Проверено 10 мая 2018 .
  2. ^ «ML.NET: Машинное обучение для .NET» . Microsoft . Проверено 11 мая 2018 .
  3. ^ у мастера · DotNet / MachineLearning
  4. ^ Дэвид Рамел (2018-05-08). «Кросс-платформенный ML.NET с открытым исходным кодом упрощает машинное обучение - журнал Visual Studio» . Журнал Visual Studio . Проверено 10 мая 2018 .
  5. ^ Карим Андерсон (2017-05-09). «Microsoft представляет кроссплатформенную платформу машинного обучения ML.NET» . На MSFT . Проверено 10 мая 2018 .
  6. ^ Анкит Астхана (2018-08-07). «Представляем ML.NET 0.4» . blogs.msdn.microsoft.com . Проверено 8 августа 2018 .
  7. ^ Гал Ошри (2018-05-06). «Примечания к выпуску ML.NET 0.1» . GitHub . Проверено 10 мая 2018 .
  8. ^ Тивари, Адитья (2018-05-08). «Microsoft запускает платформу машинного обучения ML.NET с открытым исходным кодом» . Fossbytes . Проверено 10 мая 2018 . Со временем это позволит выполнять другие задачи машинного обучения, такие как обнаружение аномалий, система рекомендаций и другие подходы, такие как глубокое обучение, с использованием преимуществ добавленных библиотек.
  9. ^ «Задачи машинного обучения в ML.NET» . Microsoft . Проверено 26 декабря 2018 года .
  10. ^ Джеймс МакКэффри (2018-12-19). «ML.NET: Платформа машинного обучения для разработчиков .NET» . MSDN Magazine Connect () Специальный выпуск 2018 . Проверено 9 января 2019 .Несмотря на то, что библиотека ML.NET новая, ее происхождение насчитывает много лет. Вскоре после появления Microsoft .NET Framework в 2002 году компания Microsoft Research начала проект под названием TMSN («поиск и навигация по тексту»), чтобы позволить разработчикам программного обеспечения включать код машинного обучения в продукты и технологии Microsoft. Проект был очень успешным, и с годами он увеличивался в размерах и увеличивался внутри корпорации Microsoft. Где-то в 2011 году библиотека была переименована в TLC («обучающий код»). TLC широко используется в Microsoft и в настоящее время находится в версии 3.10. Библиотека ML.NET является потомком TLC, с удаленными функциями Microsoft. Я использовал обе библиотеки, и во многих отношениях дочерний элемент ML.NET превзошел своего родителя.
  11. ^ "Выпуск Microsoft ML.NET v0.3" . Github . 2018-07-03 . Проверено 3 июля 2018 .
  12. ^ a b «Представляем ML.NET 0.7 (.NET для машинного обучения)» . Microsoft . 2018-11-08 . Проверено 14 ноября 2018 .
  13. ^ «Дорожная карта ML.NET» . Github . 2018-05-09 . Проверено 30 июня 2018 .
  14. ^ a b «Объявление о ML.NET 1.0» . Microsoft . 2019-05-06 . Проверено 7 мая 2019 .
  15. ^ "SciSharp / TensorFlow.NET" . СТЕК SciSharp. 21 февраля 2020.
  16. ^ "ML.NET 1.4.0-preview2" . Github . 2019-10-09 . Проверено 9 октября 2019 .
  17. ^ Ахмед, Зишан; Амизаде, Саид; Биленко Михаил; Карр, Роган; Чин, Вэй-Шэн; Декель, Яэль; Дюпре, Ксавье; Эсаревский, Вадим; Эрхард, Эрик; Эсеану, Костин; Филипи, Сенья; Финли, Том; Госвами, Абхишек; Гувер, Монте; Инглис, Скотт; Интерланди, Маттео; Катценбергер, Шон; Казми, Наджиб; Кривошеев, Глеб; Луференко, Пит; Матанцев, Иван; Матусевич, Сергей; Моради, Шахаб; Назиров, Гани; Ормонт, Джастин; Ошри, Гал; Паньони, Артидоро; Пармар, Джигнеш; Рой, Прабхат; и другие. (2019-05-15). «arXiv 1905.05715: Машинное обучение в Microsoft с ML .NET». Microsoft и Яндекс . arXiv : 1905.05715 . DOI : 10.1145 / 3292500.3330667 . S2CID 53380995 . 
  18. ^ "dotnet / machinelearning-modelbuilder" . Платформа .NET. 17 февраля 2020.
  19. ^ «Искусственный интеллект может усилить предвзятость, облачные гиганты объявляют об инструментах для обеспечения справедливости ИИ» . Forbes . 2018-09-24 . Проверено 5 декабря 2018 .
  20. ^ «Что значит открыть черный ящик ИИ» . PwC . 2018-05-15 . Проверено 5 декабря 2018 .
  21. ^ Хэсти, Тревор Дж (1 ноября 2017 г.). «Обобщенные аддитивные модели». Статистические модели в S . С. 249–307. DOI : 10.1201 / 9780203738535-7 . ISBN 9780203738535.
  22. ^ «Объявление ML.NET 0.8 - Машинное обучение для .NET» . Microsoft . 2018-12-04 . Проверено 5 декабря 2018 .
  23. ^ «Microsoft Open-Source Infer.NET AI code как раз к выходным» . Реестр . 2018-10-05 . Проверено 31 октября 2018 .
  24. ^ «Microsoft с открытым исходным кодом Infer.NET, его популярная основанная на моделях структура машинного обучения» . Packt . 2018-10-08 . Проверено 31 октября 2018 .
  25. ^ «ML.NET - Экспорт моделей Machine Learning.Net в формат ONNX» . Эль Бруно . 2018-07-11 . Проверено 9 января 2019 .
  26. ^ «ONNX.js: универсальные модели глубокого обучения в браузере» . Уилл Бадр . 2019-01-08 . Проверено 9 января 2019 .
  27. ^ "Школа AI" . Microsoft AI . 2018-05-07 . Проверено 29 июня 2018 .
  28. ^ "Руководство по ML.NET" . Microsoft . 2018-05-07 . Проверено 29 июня 2018 .
  29. ^ "Руководство пользователя Infer.NET" . Infer.NET . 2018-10-05 . Проверено 31 октября 2018 .

Дальнейшее чтение [ править ]

  • Капельман, Джарред (2020). Практическое машинное обучение с ML.NET: начало работы с Microsoft ML.NET для реализации популярных алгоритмов машинного обучения на C # . Packt Publishing. ISBN 978-1789801781.
  • Мукерджи, Судипта (2020). Раскрытие ML.NET: простые инструменты для применения машинного обучения в ваших приложениях . Апресс. ISBN 978-1484265420.

Внешние ссылки [ править ]

  • Репозиторий GitHub : машинное обучение на GitHub
  • Репозиторий GitHub : NimbusML на GitHub