(499) 236-8067
Москва, Ленинский пр-т, д.4
support@libermedia.ru
Комплексные решения для библиотек
Главная / Новости / Автоматическое машинное обучение : AutoML

НазадАвтоматическое машинное обучение : AutoML

Что же такое AutoML?


В последние годы это направление вызывает большой интерес, и сейчас по фокусу внимания его можно сравнить с популярным в свое время глубоким обучением. Появление автоматического машинного обучения на самом деле можно датировать 1976 годом. Существовало небольшое комьюнити по ML, и в 2017 году оно стало набирать популярность, уже через год выйдя за пределы собственно машинного обучения. Теперь о нем говорят в бизнесе, в промышленности и в разных других областях. Правда, в России, к сожалению, не все люди даже из сообщества ML представляют себе, что такое автоматическое машинное обучение. Почему же так получилось? 

Ответ прост – спрос на data scientist-ов растет значительно быстрее, чем они успевают выпускаться из ВУЗов и заканчивать курсы. При этом большую часть времени (до 80%) они тратят на то, чтобы выбрать модель, настроить ее и подождать, пока все обсчитается. Все потому, что не существует идеального алгоритма – к сожалению, любой из них обладает ограниченной областью применения, и специалистам по анализу данных приходится для каждой конкретной задачи подбирать тот алгоритм, который будет оптимален, а потом еще и настраивать его. Тут уже многое зависит от квалификации аналитика: чем больше он знает в предметной области и разбирается в алгоритмах, тем более оптимальное решение может подобрать за определенное время. Здесь-то и помогает AutoML. Собственно, AutoML позволяет автоматизировать и ускорить подбор решений и задач машинного обучения.

Давайте сразу определимся: есть два связанных, но отличных друг от друга направления. 

Первое: данные представлены в таблице, есть метки, и когда нам нужно их классифицировать, мы выбираем объект из большого списка и настраиваем его гипер-параметры, а заодно можем обработать данные. 

Второй сценарий – более сложный. Например, изображения, последовательности и те области, где сейчас глубокое обучение является стандартом – здесь задача становится чуть интереснее, поскольку можно придумывать новые архитектуры: их не так-то просто перебрать. Так, «Поиск нейронных архитектур», занимается тем, что подбирает оптимальную сеть и настраивает гипер-параметры, которые позволяют решать ту или иную задачу. При этом AutoML не учитывает семантику данных. Есть и методы, которые позволяют «вынимать» описания данных и использовать их для прогноза, но это лишь способствует повышению универсальной применимости AutoML. Совершенно неважно, откуда пришли данные: газовик ли вы, продавец мороженого или кто-то еще – методы универсальны. При этом AutoML позволяет с одной стороны строить наиболее эффективные решения, подбирая сложные и не самые очевидные даже для специалиста по анализу данных конструкции, с другой – быстрее искать и оптимизировать такие решения. И еще одна неочевидная вещь – AutoML дает возможность ускорить написание кода.

Обилие существующих решений


На текущий момент существует огромное число разных библиотек и платформ для автоматического анализа данных, приведем лишь некоторые из них (на самом деле, их сильно больше).

  • Run:ai
  • Google Cloud AutoML
  • Auto-SKLearn
  • MLBox
  • Auto-Keras
  • H2O AutoML
  • Amazon Lex
  • Azure AutoML
и др.


Есть как открытые, которые реализуют ограниченный функционал, так и проприетарные варианты. Наиболее известным, наверное, является Google AutoML, который не дает вам модель, а обучает ее на ваших данных, позволяя пользоваться за 20 долларов в час. Плюс есть большое количество приличных сценариев, когда базовый функционал дается бесплатно, а вот за более продвинутые компоненты приходится платить.

Преимущества AutoML

Построение и применение моделей машинного обучения требует некоторых навыков программирования, предметной экспертизы и математического анализа.


Фреймворки AutoML позволяют:

  • автоматизировать обработку сырых данных,
  • самостоятельно определить задачу, которую нужно решить,
  • выбрать модель машинного обучения,
  • оптимизировать гиперпараметры алгоритма обучения,
  • решить другие задачи, вплоть до визуализации.


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


Недостатки AutoML


AutoML — это довольно новая концепция в мире машинного обучения. Поэтому важно проявлять осторожность при применении некоторых современных решений.

Любые решения на AutoML являются весьма ресурсоемкими. Как правило, они требуют привлечения облачных вычислений, т.к. время их работы на локальных компьютерах достаточно велико.


Пример задачи с использованием AutoML.


Есть сайт – база статей, в которых нужно осуществлять поиск, причем поиск семантически богатый. Необходимо находить не только точные выражения слов, но и подходящие по смыслу. Плюс большой перечень разных требований, которые тоже нужно учесть. 

Решение.

Проиндексировали все документы на основе гибких кластеров похожих слов, потому что так индексация удобнее. Более того, в базе более 100 тысяч документов, и если этого не сделать, то поиск будет бесконечно долгим. Далее, построили векторное представление (надеюсь, все про него слышали) и кластеризацию над векторными представлениями, чтобы позволить себе индексировать. 
Как кластеризовать данные? Применили AutoML, чтобы выбрать меры оценки качества кластеризации, а также подобрать алгоритмы и гипер-параметры для кластеризации:

Поисковый движок по статьям


  • Задача: разработать поисковый движок по базе статей, поддерживающих сложные запросы, в том числе семантически богатый поиск (на «президент Китая» находить статьи, содержащие упоминание Си Цзиньпиня [генсек ЦК КПК]).
  • Индексация документов по кластерам похожих слов. Для построения похожести слов используется их векторное представление. Но как выбрать алгоритм кластеризации, подобрать его параметры и выбрать меру качества?
  • Автоматический выбор меры качества кластеризации и алгоритма для кластеризации

Заключение


В целом, AutoML – это очень полезная вещь. Естественно, он не сможет вам придумывать решения по ТЗ. На текущий момент AutoML может быть полезен при решении различных аналитических задач. И может быть, этот инструмент когда-нибудь заменит специалистов в этой области.

Источник: https://habr.com/ru/companies/jetinfosystems/articles/485232/