Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Hyperparameter Tuning

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

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

Распространённые гиперпараметры#

В глубоком обучении для компьютерного зрения параметры, которые чаще всего нужно настраивать, делятся на несколько групп:

  • Оптимизация: Скорость обучения и её расписание, импульс, затухание весов и выбор оптимизатора, например SGD или оптимизатора Adam. Скорость обучения обычно влияет сильнее всего, поэтому её ищут по логарифмической шкале.
  • Длительность обучения и размер пакета: число эпох, длительность разогрева и размер пакета.
  • Аугментация данных: вероятность и интенсивность каждого преобразования, например отражения, масштабирования, изменения цветов и мозаичной аугментации.
  • Веса функции потерь: коэффициенты, уравновешивающие слагаемые составной функции потерь, например потери для рамок и классификации в детекторе.

Методы поиска#

Специалисты исследуют пространство возможных конфигураций с помощью нескольких стратегий:

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

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

Тюнер Ultralytics выполняет этот цикл для обучения YOLO: на каждой итерации выбирается родительская конфигурация из девяти вариантов с наивысшей приспособленностью, мутирует примерно половина из максимум 26 гиперпараметров, связанных со скоростью обучения, коэффициентами функции потерь и аугментацией, а приспособленность при детекции оценивается по mAP50-95. Гиперпараметры для этапа COCO официальных контрольных точек YOLO26 нашли с помощью этого эволюционного поиска.

from ultralytics import YOLO

# Загрузи предварительно обученную модель YOLO26n
model = YOLO("yolo26n.pt")

# Пространство поиска: границы (min, max) для каждого настраиваемого гиперпараметра
search_space = {"lr0": (1e-5, 1e-2), "degrees": (0.0, 45.0)}

# На каждой из 30 итераций обучение длится 10 эпох с новыми мутировавшими значениями
model.tune(data="coco8.yaml", epochs=10, iterations=30, space=search_space, plots=False, save=False, val=False)

Запуск сохраняет best_hyperparameters.yaml, график приспособленности по итерациям и веса лучшей итерации в каталоге tune. model.tune() обучает модель с AdamW, если оптимизатор не указан, поскольку оптимизатор по умолчанию optimizer="auto" перезаписал бы настроенный lr0.

  • Обучение модели: обучение подбирает веса для одного фиксированного набора гиперпараметров с помощью обратного распространения ошибки. Настройка — это внешний цикл, который многократно запускает обучение и сравнивает результаты.
  • Дообучение: несмотря на похожее название, дообучение продолжает обучение весов предварительно обученной модели на новых данных. Для него тоже нужно настраивать гиперпараметры, например уменьшенную скорость обучения и число замороженных слоёв.
  • Поиск нейросетевой архитектуры (NAS): выполняет поиск по структуре сети, например по типам и ширине слоёв, а не по параметрам обучения.
  • Автоматизированное машинное обучение (AutoML): автоматизирует весь процесс, включая выбор модели и предобработку данных; настройка гиперпараметров — один из его компонентов.
  • Переобучение на валидационном наборе: сотни экспериментов по настройке, оцениваемых на одном и том же разбиении валидационных данных, могут случайно подобрать параметры под это разбиение. Поэтому итоговые результаты нужно оценивать на отдельном тестовом наборе, который не использовался при настройке.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения