AutoML
AutoML (автоматическое машинное обучение, от англ. Automated Machine Learning) — это процесс автоматизации полного цикла применения машинного обучения к реальным задачам, включая выбор модели, настройку гиперпараметров, инжиниринг признаков и подготовку данных. AutoML позволяет специалистам, не обладающим глубокими знаниями в области машинного обучения, создавать эффективные модели, а также ускоряет работу экспертов, сокращая время на рутинные операции.
История
Концепция автоматизации машинного обучения возникла в конце 2000-х годов как ответ на растущую сложность и трудоёмкость процесса создания моделей. Первые работы были сосредоточены на автоматическом подборе гиперпараметров (Hyperparameter Optimization, HPO). В 2010-х годах, с развитием библиотек вроде scikit-learn и TensorFlow, появились первые инструменты, автоматизирующие выбор алгоритмов и предобработку данных.
Значительный прорыв произошёл в 2014 году, когда команда из Университета Торонто (включая Джеффри Хинтона) представила систему Auto-WEKA, которая автоматизировала выбор классификатора и настройку гиперпараметров для платформы WEKA. В 2015 году стартап H2O.ai выпустил H2O AutoML, ставший одним из первых коммерческих решений. В 2017 году Google представил Cloud AutoML, а Microsoft — Azure Automated ML, что сделало AutoML доступным для широкого круга пользователей через облачные платформы.
В 2020-х годах AutoML стало стандартной функцией многих платформ, включая Amazon SageMaker, DataRobot, Alteryx и open-source библиотеки, такие как AutoGluon (Amazon) и MLJAR. Развитие AutoML также связано с ростом популярности нейросетевого поиска архитектуры (Neural Architecture Search, NAS), который автоматизирует проектирование глубоких нейронных сетей.
Классификация
AutoML можно разделить на несколько категорий в зависимости от решаемых задач:
По этапам автоматизации
- Автоматический выбор модели (Model Selection) — поиск наилучшего алгоритма (например, Random Forest, XGBoost, нейронная сеть) для конкретного набора данных.
- Автоматическая настройка гиперпараметров (Hyperparameter Optimization, HPO) — подбор параметров модели (например, скорость обучения, глубина дерева) с помощью методов вроде байесовской оптимизации, случайного поиска или эволюционных алгоритмов.
- Автоматический инжиниринг признаков (Feature Engineering) — генерация, отбор и преобразование признаков (например, создание полиномиальных признаков, кодирование категориальных переменных).
- Автоматический поиск архитектуры нейросетей (Neural Architecture Search, NAS) — автоматическое проектирование структуры нейронной сети (количество слоёв, типы слоёв, функции активации).
- Полный цикл (End-to-End AutoML) — объединение всех этапов: от загрузки данных до развёртывания модели.
По типу решаемых задач
- Классификация и регрессия — стандартные задачи с учителем.
- Кластеризация и снижение размерности — задачи без учителя.
- Временные ряды — прогнозирование значений на основе временных зависимостей.
- Обработка текста и изображений — специализированные AutoML-решения для NLP и компьютерного зрения (например, Google AutoML Vision).
Основные методы и алгоритмы
AutoML использует ряд методов для эффективного поиска оптимальных решений:
Поиск гиперпараметров
- Случайный поиск (Random Search) — простой метод, перебирающий случайные комбинации параметров. Часто эффективнее полного перебора.
- Байесовская оптимизация — использует вероятностные модели (например, Gaussian Processes) для выбора наиболее перспективных комбинаций, минимизируя количество экспериментов.
- Эволюционные алгоритмы — имитируют естественный отбор, «скрещивая» и «мутируя» наборы параметров.
- Метод градиентного спуска — применяется для дифференцируемых гиперпараметров (например, в нейронных сетях).
Поиск архитектуры нейросетей (NAS)
- Рекуррентные нейросети (RNN-based) — используют RNN для генерации архитектур, которые затем оцениваются.
- Эволюционные методы — эволюция архитектур через мутации и скрещивание.
- Одноразовые модели (One-shot models) — обучают одну гигантскую сеть, из которой затем извлекают подархитектуры (например, DARTS).
Автоматический инжиниринг признаков
- Featuretools — библиотека для автоматического создания признаков на основе реляционных данных.
- Deep Feature Synthesis — метод, генерирующий признаки с помощью операций (сумма, среднее, максимум) над связанными таблицами.
- AutoFeat — open-source библиотека для автоматического инжиниринга признаков.
Применение
AutoML находит применение в различных отраслях:
- Банки и финансы — кредитный скоринг, обнаружение мошенничества, прогнозирование курсов валют.
- Здравоохранение — диагностика заболеваний по медицинским изображениям, прогнозирование исходов лечения.
- Ритейл — прогнозирование спроса, персонализация рекомендаций, управление запасами.
- Промышленность — предиктивное обслуживание оборудования, контроль качества.
- Маркетинг — сегментация клиентов, анализ тональности текстов, оптимизация рекламных кампаний.
Инструменты и платформы
Коммерческие
- Google Cloud AutoML — облачный сервис, поддерживающий классификацию, регрессию, обработку текста, изображений и видео. Позволяет создавать модели без написания кода.
- Azure Automated ML (Microsoft) — встроен в платформу Azure Machine Learning, поддерживает автоматизацию полного цикла, включая выбор модели, настройку гиперпараметров и развёртывание.
- Amazon SageMaker Autopilot — автоматически создаёт, обучает и настраивает модели на основе данных, загруженных в SageMaker.
- DataRobot — платформа, ориентированная на бизнес-пользователей, автоматизирующая весь процесс от данных до внедрения.
- H2O AutoML — open-source и коммерческая версия, поддерживает множество алгоритмов, включая градиентный бустинг и нейронные сети.
Open-source
- AutoGluon (Amazon) — библиотека для автоматизации машинного обучения, поддерживающая табличные данные, текст и изображения.
- MLJAR — open-source AutoML-фреймворк, ориентированный на табличные данные, с поддержкой множества моделей и методов оптимизации.
- TPOT — библиотека, использующая генетические алгоритмы для автоматического поиска пайплайнов машинного обучения.
- Auto-sklearn — расширение scikit-learn, автоматизирующее выбор модели, предобработку и настройку гиперпараметров с помощью байесовской оптимизации.
Критика и ограничения
Несмотря на преимущества, AutoML имеет ряд недостатков:
- Вычислительная сложность — автоматический поиск требует значительных вычислительных ресурсов, особенно для NAS и больших наборов данных.
- Чёрный ящик — автоматически созданные модели часто сложнее интерпретировать, что затрудняет их внедрение в регулируемых отраслях (например, в медицине или финансах).
- Ограниченная креативность — AutoML может не найти нестандартные решения, которые опытный специалист мог бы предложить на основе интуиции.
- Зависимость от данных — качество модели напрямую зависит от качества и репрезентативности входных данных; AutoML не может компенсировать систематические ошибки в данных.
- Риск переобучения — при неправильной настройке метрик и валидации AutoML может подобрать модель, переобученную на тестовых данных.
Интересные факты
- Первая система AutoML, Auto-WEKA, была разработана в 2013 году и выиграла несколько соревнований по автоматизации машинного обучения.
- В 2020 году Google представил AutoML Tables, который позволял строить модели на табличных данных без написания кода, используя только интерфейс.
- Некоторые AutoML-системы, такие как AutoGluon, способны достигать результатов, сопоставимых с лучшими моделями, созданными вручную, на многих стандартных наборах данных.
- В 2022 году исследователи из MIT разработали систему AutoML, которая может автоматически генерировать объяснения для своих решений, повышая интерпретируемость.
Источники
- 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.
- Olson, R. S., & Moore, J. H. (2016). TPOT: A Tree-based Pipeline Optimization Tool for Automating Machine Learning. JMLR.
- Google Cloud AutoML Documentation (2023). Overview of AutoML.
- Microsoft Azure Documentation (2023). Automated Machine Learning.
- Amazon SageMaker Documentation (2023). Autopilot.
- Erickson, N., Mueller, J., Shirkov, A., et al. (2020). AutoGluon-Tabular: Robust and Accurate AutoML for Structured Data. arXiv:2003.06505.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →