ML.NET
Оригинальный автор(ы) | Майкрософт |
---|---|
Разработчик(и) | Фонд .NET |
Первоначальный выпуск | 7 мая 2018 г [1] |
Стабильная версия | 3.0.0 / 28 ноября 2023 г |
Предварительный выпуск | 3.0.0-превью.23511.1 / 14 октября 2023 г |
Репозиторий | github |
Написано в | С# и С++ |
Операционная система | Linux , MacOS , Windows [2] |
Платформа | .NET ядро , .NET Framework |
Тип | машинного обучения Библиотека |
Лицензия | МОЯ лицензия [3] |
Веб-сайт | точка |
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. Позже, примерно в 2011 году, он был переименован в TLC (код обучения). ML.NET произошел от библиотеки TLC и во многом превзошел своего родителя, говорит доктор Джеймс Маккаффри из Microsoft Research. [10]
Разработчики могут обучать модель машинного обучения или повторно использовать существующую модель сторонней организацией и запускать ее в любой среде в автономном режиме. Это означает, что разработчикам не обязательно иметь опыт работы в области науки о данных, чтобы использовать эту платформу. Поддержка с открытым исходным кодом Open Neural Network Exchange ( ONNX ) формата модели глубокого обучения была введена в сборке 0.3 в ML.NET. В выпуск вошли и другие заметные улучшения, такие как машины факторизации, LightGBM , ансамбли, преобразование LightLDA и OVA. [11] Интеграция TensorFlow с ML.NET включена с версии 0.5. В сборке 0.7 была добавлена поддержка приложений x86 и x64, включая расширенные возможности рекомендаций с помощью матричной факторизации. [12] Полный план запланированных функций доступен в официальном репозитории GitHub. [13]
Первая стабильная версия платформы 1.0 была анонсирована на конференции разработчиков Build 2019. Она включала добавление инструмента Model Builder и возможностей AutoML (автоматического машинного обучения). [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. [ нужна ссылка ]
Курс машинного обучения школы искусственного интеллекта [ править ]
Наряду с выпуском предварительной версии ML.NET Microsoft выпустила бесплатные учебные пособия и курсы по искусственному интеллекту, которые помогут разработчикам понять методы, необходимые для работы с платформой. [26] [27] [28]
См. также [ править ]
- scikit-learn
- Accord.NET
- ЛайтГБМ
- Тензорфлоу
- Когнитивный инструментарий Microsoft
- Список программного обеспечения для численного анализа
- Список числовых библиотек для .NET Framework
Ссылки [ править ]
- ^ Анкит Астана (07 мая 2017 г.). «Представляем ML.NET: кроссплатформенную, проверенную среду машинного обучения с открытым исходным кодом» . blogs.msdn.microsoft.com . Проверено 10 мая 2018 г.
- ^ «ML.NET: машинное обучение, созданное для .NET» . Майкрософт . Проверено 11 мая 2018 г.
- ^ у мастера · DotNet/MachineLearning
- ^ Дэвид Рамель (08 мая 2018 г.). «Кроссплатформенная ML.NET с открытым исходным кодом упрощает машинное обучение — журнал Visual Studio» . Журнал Visual Studio . Проверено 10 мая 2018 г.
- ^ Карим Андерсон (9 мая 2017 г.). «Microsoft представляет кроссплатформенную среду машинного обучения ML.NET» . На MSFT . Проверено 10 мая 2018 г.
- ^ Анкит Астана (07 августа 2018 г.). «Анонсируем ML.NET 0.4» . blogs.msdn.microsoft.com . Проверено 8 августа 2018 г.
- ^ Гал Ошри (06 мая 2018 г.). «Примечания к выпуску ML.NET 0.1» . Гитхаб . Проверено 10 мая 2018 г.
- ^ Тивари, Адитья (08 мая 2018 г.). «Microsoft запускает платформу машинного обучения с открытым исходным кодом ML.NET» . Фоссбайты . Проверено 10 мая 2018 г.
Со временем это позволит выполнять другие задачи машинного обучения, такие как обнаружение аномалий, система рекомендаций и другие подходы, такие как глубокое обучение, с использованием преимуществ добавленных библиотек.
- ^ «Задачи машинного обучения в ML.NET» . Майкрософт . Проверено 26 декабря 2018 г.
- ^ Джеймс Маккаффри (19 декабря 2018 г.). «ML.NET: платформа машинного обучения для разработчиков .NET» . Специальный выпуск MSDN Magazine Connect() 2018 г. Проверено 9 января 2019 г.
Несмотря на то, что библиотека ML.NET новая, ее происхождение уходит много лет назад. Вскоре после появления Microsoft .NET Framework в 2002 году компания Microsoft Research начала проект под названием TMSN («текстовый поиск и навигация»), чтобы позволить разработчикам программного обеспечения включать код ML в продукты и технологии Microsoft. Проект оказался очень успешным, и с годами его размеры и использование внутри Microsoft росли. Где-то примерно в 2011 году библиотека была переименована в TLC («код обучения»). TLC широко используется в Microsoft и в настоящее время находится в версии 3.10. Библиотека ML.NET является потомком TLC, в которой удалены специфичные для Microsoft функции. Я использовал обе библиотеки, и во многих отношениях дочерняя версия ML.NET превзошла свою родительскую.
- ^ «Выпуск Microsoft ML.NET v0.3» . Гитхаб . 03.07.2018 . Проверено 3 июля 2018 г.
- ^ Jump up to: Перейти обратно: а б «Анонс ML.NET 0.7 (машинное обучение .NET)» . Майкрософт . 08.11.2018 . Проверено 14 ноября 2018 г.
- ^ «Дорожная карта ML.NET» . Гитхаб . 09 мая 2018 г. Проверено 30 июня 2018 г.
- ^ Jump up to: Перейти обратно: а б «Анонсируем ML.NET 1.0» . Майкрософт . 06 мая 2019 г. Проверено 7 мая 2019 г.
- ^ «SciSharp/TensorFlow.NET» . SciSharp СТЕК. 21 февраля 2020 г.
- ^ «ML.NET 1.4.0-превью2» . Гитхаб . 09.10.2019 . Проверено 9 октября 2019 г.
- ^ Ахмед, Зишан; Амизаде, Саид; Биленко Михаил; Карр, Роган; Чин, Вэй-Шэн; Декель, Яэль; Дюпре, Ксавье; Эксаревский, Вадим; Эрхардт, Эрик; Эсеану, Костин; Филиппи, Сенья; Финли, Том; Госвами, Абхишек; Гувер, Монте; Инглис, Скотт; Интерланди, Маттео; Катценбергер, Шон; Казми, Наджиб; Кривошеев, Глеб; Луференко, Пит; Матанцев Иван; Матусевич, Сергей; Моради, Шахаб; Назиров, Гани; Ормонт, Джастин; Ошри, Гал; Паньони, Артидоро; Пармар, Джигнеш; Рой, Прабхат; и др. (15 мая 2019 г.). «Машинное обучение в Microsoft с ML.NET». Материалы 25-й Международной конференции ACM SIGKDD по обнаружению знаний и интеллектуальному анализу данных . Майкрософт и Яндекс . стр. 2448–2458. arXiv : 1905.05715 . дои : 10.1145/3292500.3330667 . ISBN 9781450362016 . S2CID 53380995 .
- ^ «dotnet/machinelearning-modelbuilder» . Платформа .NET. 17 февраля 2020 г.
- ^ «Искусственный интеллект может усилить предвзятость, облачные гиганты анонсируют инструменты для обеспечения справедливости ИИ» . Форбс . 24 сентября 2018 г. Проверено 5 декабря 2018 г.
- ^ «Что значит открыть черный ящик ИИ» . ПвК . 15 мая 2018 г. Проверено 5 декабря 2018 г.
- ^ Хасти, Тревор Дж. (1 ноября 2017 г.). «Обобщенные аддитивные модели». Статистические модели в S . стр. 249–307. дои : 10.1201/9780203738535-7 . ISBN 9780203738535 .
- ^ «Анонс ML.NET 0.8 — машинное обучение для .NET» . Майкрософт . 04.12.2018 . Проверено 5 декабря 2018 г.
- ^ «Microsoft открывает исходный код искусственного интеллекта Infer.NET как раз к выходным» . Регистр . 05.10.2018 . Проверено 31 октября 2018 г.
- ^ «Microsoft открывает исходный код Infer.NET, своей популярной среды машинного обучения на основе моделей» . Пакет . 08.10.2018 . Проверено 31 октября 2018 г.
- ^ «ML.NET — экспорт моделей Machine Learning.Net в формат ONNX» . Эль Бруно . 11 июля 2018 г. Проверено 9 января 2019 г.
- ^ «Школа ИИ» . Microsoft ИИ . 07.05.2018 . Проверено 29 июня 2018 г.
- ^ «Руководство по ML.NET» . Майкрософт . 07.05.2018 . Проверено 29 июня 2018 г.
- ^ «Руководство пользователя Infer.NET» . Инфер.НЕТ . 05.10.2018 . Проверено 31 октября 2018 г.
Дальнейшее чтение [ править ]
- Капеллман, Джаред (2020). Практическое машинное обучение с помощью ML.NET: начало работы с Microsoft ML.NET для реализации популярных алгоритмов машинного обучения на C# . Пакт Паблишинг. ISBN 978-1789801781 .
- Мукерджи, Судипта (2020). Представление ML.NET: простые инструменты для применения машинного обучения в ваших приложениях . Апресс. ISBN 978-1484265420 .
- Эспозито, Дино; Эспозито, Франческо (2022). Программирование ML.NET . Майкрософт Пресс. ISBN 978-0137383658 .
Внешние ссылки [ править ]
- Программное обеспечение для интеллектуального анализа данных и машинного обучения
- Программное обеспечение для глубокого обучения
- Вероятностные модели
- Вероятностное программное обеспечение
- Бесплатное статистическое программное обеспечение
- .NET-программное обеспечение
- Бесплатное программное обеспечение, написанное на C Sharp.
- Бесплатное программное обеспечение, написанное на C++.
- бесплатное программное обеспечение Майкрософт
- Искусственный интеллект с открытым исходным кодом
- Программное обеспечение, использующее лицензию MIT
- программное обеспечение 2018 года