НазадАвтоматическое машинное обучение : AutoML
Что же такое AutoML?
В последние годы это направление вызывает большой интерес, и сейчас по фокусу внимания его можно сравнить с популярным в свое время глубоким обучением. Появление автоматического машинного обучения на самом деле можно датировать 1976 годом. Существовало небольшое комьюнити по ML, и в 2017 году оно стало набирать популярность, уже через год выйдя за пределы собственно машинного обучения. Теперь о нем говорят в бизнесе, в промышленности и в разных других областях. Правда, в России, к сожалению, не все люди даже из сообщества ML представляют себе, что такое автоматическое машинное обучение. Почему же так получилось?
Ответ прост – спрос на data scientist-ов растет значительно быстрее, чем они успевают выпускаться из ВУЗов и заканчивать курсы. При этом большую часть времени (до 80%) они тратят на то, чтобы выбрать модель, настроить ее и подождать, пока все обсчитается. Все потому, что не существует идеального алгоритма – к сожалению, любой из них обладает ограниченной областью применения, и специалистам по анализу данных приходится для каждой конкретной задачи подбирать тот алгоритм, который будет оптимален, а потом еще и настраивать его. Тут уже многое зависит от квалификации аналитика: чем больше он знает в предметной области и разбирается в алгоритмах, тем более оптимальное решение может подобрать за определенное время. Здесь-то и помогает AutoML. Собственно, AutoML позволяет автоматизировать и ускорить подбор решений и задач машинного обучения.
Давайте сразу определимся: есть два связанных, но отличных друг от друга направления.
Первое: данные представлены в таблице, есть метки, и когда нам нужно их классифицировать, мы выбираем объект из большого списка и настраиваем его гипер-параметры, а заодно можем обработать данные.
Обилие существующих решений
На текущий момент существует огромное число разных библиотек и платформ для автоматического анализа данных, приведем лишь некоторые из них (на самом деле, их сильно больше).
- Run:ai
- Google Cloud AutoML
- Auto-SKLearn
- MLBox
- Auto-Keras
- H2O AutoML
- Amazon Lex
- Azure AutoML
Преимущества AutoML
Построение и применение моделей машинного обучения требует некоторых навыков программирования, предметной экспертизы и математического анализа.
Фреймворки AutoML позволяют:
- автоматизировать обработку сырых данных,
- самостоятельно определить задачу, которую нужно решить,
- выбрать модель машинного обучения,
- оптимизировать гиперпараметры алгоритма обучения,
- решить другие задачи, вплоть до визуализации.
AutoML позволяет уменьшить смещения и дисперсии, которые возникают, когда человек разрабатывает модели машинного обучения, а также, сокращает время, необходимое для разработки и тестирования модели машинного обучения.
Недостатки AutoML
AutoML — это довольно новая концепция в мире машинного обучения. Поэтому важно проявлять осторожность при применении некоторых современных решений.
Любые решения на AutoML являются весьма ресурсоемкими. Как правило, они требуют привлечения облачных вычислений, т.к. время их работы на локальных компьютерах достаточно велико.
Пример задачи с использованием AutoML.
Есть сайт – база статей, в которых нужно осуществлять поиск, причем поиск семантически богатый. Необходимо находить не только точные выражения слов, но и подходящие по смыслу. Плюс большой перечень разных требований, которые тоже нужно учесть.
Решение.
Проиндексировали все документы на основе гибких кластеров похожих слов, потому что так индексация удобнее. Более того, в базе более 100 тысяч документов, и если этого не сделать, то поиск будет бесконечно долгим. Далее, построили векторное представление (надеюсь, все про него слышали) и кластеризацию над векторными представлениями, чтобы позволить себе индексировать.
Как кластеризовать данные? Применили AutoML, чтобы выбрать меры оценки качества кластеризации, а также подобрать алгоритмы и гипер-параметры для кластеризации:
Поисковый движок по статьям
- Задача: разработать поисковый движок по базе статей, поддерживающих сложные запросы, в том числе семантически богатый поиск (на «президент Китая» находить статьи, содержащие упоминание Си Цзиньпиня [генсек ЦК КПК]).
- Индексация документов по кластерам похожих слов. Для построения похожести слов используется их векторное представление. Но как выбрать алгоритм кластеризации, подобрать его параметры и выбрать меру качества?
- Автоматический выбор меры качества кластеризации и алгоритма для кластеризации
Заключение
В целом, AutoML – это очень полезная вещь. Естественно, он не сможет вам придумывать решения по ТЗ. На текущий момент AutoML может быть полезен при решении различных аналитических задач. И может быть, этот инструмент когда-нибудь заменит специалистов в этой области.