Automated Machine Learning (AutoML)
Автоматизированное машинное обучение (AutoML) автоматизирует выбор моделей, настройку гиперпараметров и подготовку признаков. Как работает поиск, какие есть инструменты и как настраивать YOLO.
Автоматизированное машинное обучение (AutoML) — это автоматизация экспериментальной работы методом проб и ошибок при создании модели машинного обучения (ML): подготовка признаков, выбор алгоритма, настройка его гиперпараметров, а иногда и проектирование архитектуры сети или объединение нескольких моделей. Получив набор данных, целевую метрику и бюджет вычислений, система AutoML перебирает возможные конвейеры, оценивает каждый на отложенных данных и возвращает лучший из найденных. В проекте Auto-WEKA суть этой задачи сформулировали как задачу совместного выбора алгоритма и оптимизации гиперпараметров (CASH); эту формулировку позднее использовали такие инструменты, как auto-sklearn. AutoML помогает неспециалистам получать сильные базовые модели, а экспертам экономит время на повторяющихся этапах экспериментов.
Как работает AutoML#
У системы AutoML есть три составляющих. Пространство поиска определяет, что можно менять: от этапов предобработки данных и проектирования признаков до семейства моделей, например линейной регрессии, XGBoost или нейронной сети, а также настроек каждого семейства, например скорости обучения. Стратегия поиска выбирает кандидатов для проверки: это может быть случайный поиск, байесовская оптимизация, моделирующая перспективность разных областей пространства, или эволюционные алгоритмы, изменяющие и комбинирующие удачные конфигурации. На этапе оценки каждый кандидат проверяют на валидационных данных или с помощью кросс-валидации. Многие системы также используют метаобучение на предыдущих наборах данных для начальной настройки поиска, а затем объединяют лучших кандидатов в ансамбль моделей.
Полное обучение каждого кандидата обходится дороже всего, поэтому методы с несколькими уровнями точности сначала дешево обучают множество конфигураций и тратят больше ресурсов только на перспективные. Последовательное сокращение, лежащее в основе Hyperband, повторяет один раунд, пока не останется одна конфигурация:
При большом поиске можно переобучиться на валидационных данных: победитель отчасти оказывается просто самым удачливым среди множества кандидатов. Поэтому итоговую модель оценивают на отдельной тестовой выборке.
Инструменты AutoML#
- AutoGluon: Библиотека с открытым исходным кодом, созданная в Amazon. Она обучает модели разных типов на табличных данных, текстах, изображениях и временных рядах, а затем объединяет их в ансамбль.
- auto-sklearn: Выполняет поиск по конвейерам scikit-learn с помощью байесовской оптимизации, метаобучения и построения ансамблей.
- FLAML: Библиотека Microsoft для недорогого поиска моделей и гиперпараметров на табличных данных.
- Optuna: Платформа для оптимизации гиперпараметров. Ее механизмы отсечения досрочно останавливают бесперспективные испытания; Optuna часто используют как поисковый механизм в пользовательских циклах AutoML.
- Google Cloud AutoML: Управляемый сервис, который теперь входит в Gemini Enterprise Agent Platform и ранее назывался Vertex AI. Он обучает модели классификации изображений, обнаружения объектов и табличных данных без написания кода.
- Amazon SageMaker Autopilot: Сервис AutoML от AWS, интерфейс которого теперь находится в SageMaker Canvas.
Для небольших таблиц базовые модели для табличных данных предлагают другой путь к той же цели: они делают прогнозы по строкам обучающей выборки в контексте, не выполняя поиск для каждого набора данных.
Автоматическая настройка YOLO#
Для моделей компьютерного зрения с фиксированной предварительно обученной архитектурой автоматический поиск обычно нацелен на рецепт обучения. model.tune() в Ultralytics YOLO по умолчанию эволюционно изменяет 26 гиперпараметров обучения, включая скорость обучения, моментум, коэффициенты потерь и интенсивность аугментаций: на каждой итерации изменяются и комбинируются лучшие найденные конфигурации, выполняется короткое обучение и записывается показатель приспособленности. По завершении запуска сохраняется best_hyperparameters.yaml с графиками показателя приспособленности по итерациям. Если передать use_ray=True, поиск будет выполнять Ray Tune.
from ultralytics import YOLO
# Загрузи предварительно обученную модель YOLO26 для настройки
model = YOLO("yolo26n.pt")
# Эволюция гиперпараметров: на каждой итерации изменяются лучшие найденные конфигурации, выполняется обучение и оценивается приспособленность
model.tune(data="coco8.yaml", epochs=30, iterations=10, plots=False, save=False, val=False)AutoML и связанные понятия#
- Настройка гиперпараметров: Оптимизация настроек одной выбранной модели. Обычно AutoML включает ее как один из этапов более широкого поиска, в ходе которого выбирается и сама модель.
- Поиск архитектуры нейронной сети (NAS): Направление AutoML, которое проектирует архитектуры сетей, например типы и количество слоев и связи между ними.
- Перенос обучения: Начинает обучение с предварительно обученной модели, а не с нуля. Системы AutoML часто выполняют поиск по предварительно обученным базовым сетям, поэтому эти подходы дополняют друг друга.
- Операционная деятельность в машинном обучении (MLOps): Охватывает весь жизненный цикл модели, включая развертывание, мониторинг и повторное обучение, и часто использует AutoML как один из этапов конвейера обучения.










