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

Early Stopping

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

Ранняя остановка — это метод обучения, при котором итеративный процесс машинного обучения завершается, когда отслеживаемая метрика качества перестаёт улучшаться. Благодаря этому продолжительность обучения определяется качеством на валидации: сокращаются лишние вычисления и ограничивается переобучение. Проще говоря, обучение останавливается, когда дальнейшая практика уже не улучшает способность модели работать с отложенными примерами. За пределами машинного обучения «остановиться раньше» просто означает завершить занятие до запланированного срока.

Как работает ранняя остановка#

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

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

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

Метрики, терпение и лучшие веса#

Правило остановки зависит от нескольких параметров:

  • Отслеживаемая метрика: Потери на валидации измеряют ошибку предсказания и минимизируются; точность на валидации измеряет долю верных предсказаний и максимизируется.
  • Терпение и продолжительность обучения: Терпение задаёт количество проверок без улучшения, которое обучение может выдержать. Эпоха — это один полный проход по обучающему набору данных.
  • Порог улучшения: В Keras он называется min_delta и задаёт минимальное абсолютное изменение, считающееся прогрессом. Параметр restore_best_weights=True восстанавливает веса, соответствующие лучшему отслеживаемому значению.
  • Частота проверок на валидации: PyTorch Lightning считает терпение в проверках на валидации. Если проверять модель каждые десять эпох и установить терпение на уровне трёх, допускаются три проверки без улучшения в течение тридцати эпох после лучшей проверки.

Терпение и пороги улучшения — это гиперпараметры, то есть параметры, выбранные вне процесса обновления весов. Меньшее значение терпения позволяет раньше завершать обучение, если прогресс остановился; большее — дольше ждать окончания временного плато. Период разогрева откладывает начало отслеживания, пока не стабилизируется начальное обучение. Эти параметры взаимодействуют с скоростью обучения, которая определяет размер шагов оптимизации.

Применение и пример для запуска#

Ранняя остановка применяется как в нейронных сетях, так и в деревьях градиентного бустинга. При градиентном бустинге с scikit-learn на каждом этапе добавляется дерево, а остановка на основе валидации определяет число этапов. В примере с набором данных California Housing используется validation_fraction для выделения данных и n_iter_no_change для остановки, когда прогресс на валидации прекращается.

В следующем примере используется встроенный набор данных о диабете из scikit-learn и выводится фактическое число обученных этапов бустинга:

from sklearn.datasets import load_diabetes
from sklearn.ensemble import GradientBoostingRegressor

X, y = load_diabetes(return_X_y=True)

# Reserve an internal validation split and monitor progress.
model = GradientBoostingRegressor(
    n_estimators=1000,
    validation_fraction=0.2,
    n_iter_no_change=10,
    random_state=42,
)
model.fit(X, y)

print(f"Boosting stages fitted: {model.n_estimators_}/1000")

Число обученных этапов показывает, на каком этапе критерий остановки завершил построение деревьев относительно предельного значения в 1 000 этапов.

Ultralytics YOLO применяет раннюю остановку во время обучения модели, в том числе для YOLO26, с помощью аргумента patience, который считает эпохи без улучшения fitness на валидации. Для детекции fitness рассчитывается по mAP50–95, а тренер сохраняет лучший чекпойнт под именем best.pt.

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

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

В Keras restore_best_weights по умолчанию имеет значение False, поэтому при одной лишь активации ранней остановки в модели остаются веса последнего шага.

Explore solutions

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

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

Узнай, как 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. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

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

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