Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Настройка гиперпараметров

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

Настройка гиперпараметров - это систематический процесс поиска оптимального набора внешних переменных конфигурации, известных как гиперпараметры, которые управляют обучением модели машинного обучения (ML). В отличие от внутренних внутренних параметров модели, таких как weights and biases , которые изучаются непосредственно из обучающих данных на этапе обучения, гиперпараметры задаются до начала обучения и остаются неизменными на протяжении всего процесса. Этот шаг оптимизации является крайне важен, поскольку настройки по умолчанию нейронной сети по умолчанию редко дают наилучшую возможную производительность для конкретного набора данных. Тонкая настройка этих параметров позволяет специалистам по исследованию данных значительно повысить точность модели, сократить время сходимости. точность модели, сократить время сходимости и предотвратить такие проблемы, как чрезмерная подгонка.

Роль гиперпараметров

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

К общим гиперпараметрам, которые часто подвергаются оптимизации, относятся:

  • Скорость обучения: Часто считается наиболее критичным параметром, он определяет размер шага, который делает алгоритма оптимизации при движении к минимуму функции потерь. Слишком высокая скорость слишком высокая может привести к тому, что модель выйдет за пределы оптимального решения, в то время как слишком низкая скорость приводит к медленному обучению.
  • Размер партии: Определяет количество обучающих примеров, используемых в одной итерации. Настройка этого параметра влияет на стабильность оценки градиента и требования к памяти GPU.
  • Эпохи: количество раз, которое алгоритм обучения Алгоритм обрабатывает весь набор данных. Нахождение правильного баланса помогает избежать недоучета (слишком мало эпох) и чрезмерной подгонки (слишком много эпох).
  • Архитектура сети: Решения относительно количества скрытых слоев, количества нейронов на слой или конкретного типа слоя или конкретного типа активационной функции (например, ReLU, SiLU) также являются также являются архитектурными гиперпараметрами.

Общие методы настройки

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

  • Поиск по сетке: Этот исчерпывающий метод оценивает модель для каждой комбинации алгоритмов и параметров, указанных в сетке. Несмотря на то, что этот метод является тщательным, он он требует больших вычислительных затрат и часто неэффективен для больших наборов параметров.
  • Случайный поиск: Вместо того чтобы тестировать каждой комбинации, эта техника выбирает случайные комбинации гиперпараметров для обучения модели. Исследования показывают, что случайный поиск зачастую более эффективен, чем поиск по сетке, поскольку не все гиперпараметры одинаково важны не все гиперпараметры одинаково важны для производительности модели.
  • Байесовская оптимизация: Это Вероятностный подход, основанный на модели, который строит суррогатную модель целевой функции. Он пытается предсказать какие гиперпараметры дадут наилучшие результаты на основе прошлых оценок, фокусируясь на наиболее перспективных областях пространства поиска.
  • Эволюционные алгоритмы: Этот метод, вдохновленный биологической эволюцией, использует такие механизмы, как мутация и кроссинговер, для эволюции популяции наборов гиперпараметров в течение нескольких поколений. Это основной метод, используемый тюнером Ultralytics для оптимизации таких моделей, как YOLO11.

Настройка гиперпараметров по сравнению с обучением модели

Важно различать настройку и обучение, поскольку они являются разными фазы в жизненном цикле MLOPS:

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

Применение в реальном мире

Эффективно настроенные модели имеют решающее значение для развертывания надежных ИИ-решений в различных отраслях.

Точное земледелие

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

Медицинская диагностика

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

Автоматизированная настройка с помощью Ultralytics

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

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

from ultralytics import YOLO

# Initialize a YOLO11 model (using the 'nano' weight for speed)
model = YOLO("yolo11n.pt")

# Start tuning hyperparameters on the COCO8 dataset
# This will run for 10 epochs per iteration, for a total of 30 iterations
model.tune(data="coco8.yaml", epochs=10, iterations=30, optimizer="AdamW", plots=False)

Для опытных пользователей, управляющих крупномасштабными экспериментами, интеграция со специализированными платформами, такими как Ray Tune или использование Weights & Biases для визуализации может еще больше упростить рабочий процесс настройки. С учетом предстоящих исследований и разработок таких архитектур, как YOLO26, автоматическая настройка остается краеугольным камнем для эффективного достижения современной производительности.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас