Автоматизированное машинное обучение (AutoML)

Если вы начинаете новый проект машинного обучения (ML), у вас может возникнуть вопрос, является ли ручное обучение вашим единственным вариантом создания модели машинного обучения. При ручном обучении вы пишете код с использованием платформы машинного обучения для создания модели. В ходе этого процесса вы выбираете, какие алгоритмы исследовать, и итеративно настраиваете гиперпараметры, чтобы найти правильную модель.

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

Рисунок 1. Простой рабочий процесс машинного обучения.
Рисунок 1. Простой рабочий процесс исследования машинного обучения.

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

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

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

Что такое АвтоМЛ?

AutoML — это процесс автоматизации определенных задач в рабочем процессе машинного обучения. Вы можете думать об AutoML как о наборе инструментов и технологий, которые делают построение моделей машинного обучения более быстрыми и доступными для более широкой группы пользователей. Хотя автоматизация может помочь на протяжении всего рабочего процесса ML, задачи, которые часто связаны с AutoML, включаются в цикл разработки модели, показанный на рисунке 1. Эти повторяющиеся задачи включают в себя:

  • Инженерия данных
    • Особенности инженерии.
    • Выбор функции.
  • Обучение
    • Определение подходящего алгоритма ML.
    • Выбор лучших гиперпараметров.
  • Анализ
    • Оценка метрик, сгенерированных во время обучения, на основе наборов тестовых и проверочных данных.

С AutoML вы можете сосредоточиться на своей проблеме и данных ML, а не на выборе функций, настройке гиперпараметров и выборе правильного алгоритма.