Открыть сервис

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

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

История

Концепция автоматизации машинного обучения начала формироваться в 2010-х годах, когда стало очевидно, что создание высококачественных моделей требует значительных временных затрат и глубоких знаний. Ранние работы были сосредоточены на автоматической настройке гиперпараметров (hyperparameter optimization, HPO). Одним из первых значимых проектов стала библиотека Hyperopt (2013), предложившая алгоритмы байесовской оптимизации для поиска наилучших параметров.

В 2014 году исследователи из Массачусетского технологического института (MIT) представили систему Auto-WEKA, которая автоматизировала выбор модели и настройку гиперпараметров для среды WEKA. В 2015 году компания Google выпустила Cloud AutoML, а затем в 2017 году — AutoML Vision, что сделало AutoML доступным для широкого круга пользователей через облачные сервисы. В 2018 году была опубликована работа по архитектуре Neural Architecture Search (NAS), которая автоматизировала проектирование нейронных сетей.

В 2019 году появилась библиотека AutoGluon от Amazon, а в 2020 году — H2O AutoML, ставшая одной из самых популярных открытых платформ. К началу 2020-х годов AutoML стало стандартным инструментом в индустрии, интегрированным в такие платформы, как Microsoft Azure ML, Google Cloud AI Platform, IBM Watson Studio и open-source библиотеки (TPOT, AutoKeras, FLAML).

Классификация задач AutoML

AutoML решает несколько ключевых задач, которые можно разделить по этапам жизненного цикла модели:

Поиск архитектуры нейронных сетей (Neural Architecture Search, NAS)

NAS — это автоматизация проектирования структуры нейронных сетей. Вместо ручного выбора количества слоёв, типов активаций и связей, NAS использует методы поиска (например, эволюционные алгоритмы, байесовскую оптимизацию) для нахождения оптимальной архитектуры. NAS делится на три подхода:

  • Эволюционные методы: создают популяцию архитектур, мутируют и скрещивают их, отбирая лучшие.
  • Методы на основе градиентов: используют дифференцируемые архитектуры, где веса связей между слоями оптимизируются градиентным спуском.
  • Методы на основе обучения с подкреплением: агент (например, рекуррентная нейронная сеть) генерирует архитектуры, а вознаграждение зависит от качества модели.

Настройка гиперпараметров (Hyperparameter Optimization, HPO)

HPO — это автоматический поиск наилучших значений гиперпараметров модели (например, скорость обучения, количество деревьев в случайном лесе, глубина дерева). Основные методы:

  • Поиск по сетке (Grid Search): перебор всех комбинаций из заданного набора значений. Эффективен при малом числе параметров, но экспоненциально растёт с их увеличением.
  • Случайный поиск (Random Search): случайный выбор значений из заданных распределений. Часто эффективнее полного перебора.
  • Байесовская оптимизация: строит вероятностную модель (например, Gaussian Process) зависимости метрики качества от гиперпараметров и выбирает следующие точки для оценки, балансируя между исследованием и эксплуатацией.
  • Эволюционные алгоритмы: используют популяцию наборов гиперпараметров, отбирая лучшие и создавая новые комбинации.

Автоматический выбор модели (Model Selection)

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

Предобработка и инженерия признаков (Feature Engineering)

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

Ансамблирование моделей (Ensemble Learning)

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

Архитектура и принципы работы

Типичная система AutoML состоит из нескольких компонентов:

  1. Менеджер данных (Data Manager): отвечает за загрузку, проверку и предобработку данных. Он может автоматически определять типы признаков (числовые, категориальные, текстовые) и применять соответствующие преобразования.
  2. Пространство поиска (Search Space): определяет набор возможных моделей, гиперпараметров и архитектур, которые система будет исследовать. Пространство может быть задано вручную или сгенерировано автоматически.
  3. Оптимизатор (Optimizer): реализует алгоритм поиска (например, байесовскую оптимизацию, эволюционный алгоритм) и управляет процессом перебора конфигураций.
  4. Оценщик (Evaluator): оценивает качество каждой конфигурации на валидационных данных. Для ускорения может использоваться ранняя остановка (early stopping), когда обучение прерывается, если модель не улучшается.
  5. Мета-обучение (Meta-Learning): позволяет системе использовать знания, полученные из предыдущих экспериментов, для ускорения поиска на новых задачах. Например, система может запоминать, какие гиперпараметры хорошо работали для похожих наборов данных.

Применение

AutoML широко используется в различных отраслях:

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

Критика и ограничения

Несмотря на успехи, AutoML имеет ряд недостатков:

  • Вычислительная сложность: поиск оптимальной модели может требовать огромных вычислительных ресурсов (часы или дни GPU-времени). Это делает AutoML дорогим для небольших компаний.
  • Чёрный ящик: многие системы AutoML не предоставляют прозрачных объяснений, почему выбрана та или иная модель. Это затрудняет интерпретацию и отладку.
  • Необходимость качественных данных: AutoML не может исправить плохие данные. Если в данных есть систематические ошибки или смещения, модель будет их воспроизводить.
  • Ограниченная гибкость: AutoML часто работает в рамках фиксированного пространства поиска. Для нестандартных задач (например, работа с графовыми данными или временными рядами с особыми паттернами) может потребоваться ручная настройка.
  • Риски переобучения: при неправильной настройке валидации AutoML может подобрать модель, которая хорошо работает на тестовых данных, но плохо обобщается на новые.

Основные платформы и библиотеки

Открытые библиотеки

  • AutoGluon (Amazon): поддерживает табличные, текстовые и изображения. Отличается высокой производительностью и простотой использования.
  • H2O AutoML (H2O.ai): одна из самых популярных платформ для табличных данных. Включает автоматическую предобработку, выбор модели и ансамблирование.
  • TPOT (Tree-based Pipeline Optimization Tool): использует генетические алгоритмы для оптимизации пайплайнов (включая предобработку и модели).
  • AutoKeras: библиотека на основе Keras для автоматизации построения нейронных сетей.
  • FLAML (Microsoft): быстрый и лёгкий AutoML, оптимизированный для ограниченных вычислительных ресурсов.
  • Optuna: библиотека для настройки гиперпараметров, поддерживающая различные методы оптимизации.

Коммерческие облачные сервисы

  • Google Cloud AutoML: предоставляет инструменты для Vision, Natural Language, Tables и Video Intelligence. Позволяет обучать модели без написания кода.
  • Azure Machine Learning AutoML (Microsoft): интегрирован в облачную платформу Azure, поддерживает табличные данные, временные ряды и тексты.
  • Amazon SageMaker Autopilot: автоматизирует создание, обучение и развертывание моделей в AWS.
  • IBM Watson Studio AutoAI: предлагает автоматический выбор модели, настройку гиперпараметров и развертывание.

Интересные факты

  • В 2017 году Google показала, что AutoML может создавать нейронные сети, которые превосходят по качеству архитектуры, разработанные людьми, в задачах классификации изображений (ImageNet).
  • Некоторые системы AutoML, такие как AutoKeras, используют подход «один вызов функции» (fit), что позволяет пользователю с минимальными знаниями построить модель за несколько строк кода.
  • AutoML активно применяется в соревнованиях по машинному обучению (например, Kaggle), где участники используют автоматизированные инструменты для быстрого создания базовых решений.

Источники

  • Hutter, F., Kotthoff, L., & Vanschoren, J. (Eds.). (2019). Automated Machine Learning: Methods, Systems, Challenges. Springer.
  • Feurer, M., Klein, A., Eggensperger, K., et al. (2015). Efficient and Robust Automated Machine Learning. Advances in Neural Information Processing Systems (NeurIPS).
  • Zoph, B., & Le, Q. V. (2017). Neural Architecture Search with Reinforcement Learning. ICLR.
  • AutoGluon: Автоматизированное машинное обучение для табличных, текстовых и изображений. (2020). Amazon.
  • H2O AutoML: Автоматическое машинное обучение. (2020). H2O.ai.
  • FLAML: A Fast and Lightweight AutoML Library. (2021). Microsoft Research.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →