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

Overfitting

Переобучение возникает, когда модель запоминает обучающие данные, включая шум, и не справляется с новыми данными. Узнай, как его выявить и какие методы помогают его предотвратить.

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

Как распознать переобучение#

Характерный признак — растущий разрыв между результатами на обучающих и валидационных данных. На кривых обучения, построенных по эпохам, ошибка на обучении продолжает снижаться, а ошибка на валидации сначала выходит на плато, а затем растет; валидационные метрики, такие как средняя точность (mAP), перестают улучшаться или ухудшаются. В классическом примере небольшого масштаба к 12 зашумленным точкам, взятым из синусоиды, подгоняют полиномы двух разных степеней:

import numpy as np
from numpy.polynomial import Polynomial

rng = np.random.default_rng(0)

# 12 noisy training points from a sine wave, plus clean test points
x_train = rng.uniform(0, 1, 12)
y_train = np.sin(2 * np.pi * x_train) + rng.normal(0, 0.2, 12)
x_test = np.linspace(0, 1, 200)
y_test = np.sin(2 * np.pi * x_test)

for degree in (3, 9):
    fit = Polynomial.fit(x_train, y_train, degree)
    train_mse = np.mean((fit(x_train) - y_train) ** 2)
    test_mse = np.mean((fit(x_test) - y_test) ** 2)
    print(f"Degree {degree:2d}: train MSE {train_mse:.4f}, test MSE {test_mse:.4f}")

Полином 9-й степени достаточно гибкий, чтобы подстроиться под шум: ошибка на обучении снижается с 0.0356 до 0.0148, но ошибка на тесте вырастает в десять раз — с 0.0182 до 0.1859.

Переобучение и недообучение#

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

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

  • Слишком высокая емкость модели для имеющихся данных: Нейронная сеть с миллионами параметров может просто запомнить несколько сотен изображений.
  • Шумные или неверно размеченные данные: Пропущенные рамки, неправильные классы и выбросы дают модели ошибки для подгонки, которых в реальном мире нет.
  • Слишком долгое обучение: После усвоения полезных закономерностей дополнительные эпохи в основном подгоняют оставшийся шум.
  • Ограниченный набор обучающих данных: Детектор, обученный только на дневных изображениях с одной камеры, может привязаться к фону и освещению этой камеры и не распознавать объекты на новом участке.

Как предотвратить переобучение#

  • Больше и разнообразнее данных: Дополнительные реальные примеры — самое прямое решение, а аугментация данных увеличивает разнообразие за счет отражения, масштабирования, перекрашивания и смешивания существующих изображений.
  • Регуляризация: Затухание весов штрафует большие значения весов, а дропаут случайным образом отключает нейроны во время обучения, не позволяя какой-либо одной характеристике стать незаменимой.
  • Меньшие или предварительно обученные модели: У меньшей модели меньше возможностей для запоминания, а перенос обучения с замороженными ранними слоями сокращает число весов, которые нужно обучить на небольшом наборе данных.
  • Ранняя остановка: Оценка на валидационных данных после каждой эпохи и остановка обучения, когда результат перестает улучшаться, не дают модели продолжать обучение на шуме.
  • Честная оценка: Кросс-валидация дает более надежную оценку ошибки обобщения на небольших наборах данных, а отдельная тестовая выборка выявляет переобучение на валидационных данных при подборе гиперпараметров.

В обучении Ultralytics YOLO ранняя остановка настраивается аргументом patience: запуск завершается, если валидационная метрика качества не улучшается в течение указанного числа эпох (для детекции это mAP50-95), а веса лучшей эпохи сохраняются как best.pt, даже если обучение продолжается до конца.

from ultralytics import YOLO

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

# Разрешить до 100 эпох, но остановить обучение после 20 эпох без улучшения на валидации
results = model.train(data="coco8.yaml", epochs=100, patience=20)

Значение по умолчанию — patience=100; для наборов данных менее чем с 1 000 изображений в рекомендациях по дообучению YOLO26 предлагается epochs=50 с patience=20.

  • Утечка данных: пересечение обучающих и оценочных данных, скрывающее переобучение. Если почти идентичные кадры одного видео попадают и в обучающую, и в валидационную выборки, модель, запомнившая обучающий набор, всё равно хорошо показывает себя на валидации, а проблема обнаруживается только после развёртывания. Разбиение по видео или сценам предотвращает это.
  • Обучение на поверхностных признаках: Модель опирается на ложный признак, например водяной знак или фон, присутствующий и в обучающих, и в валидационных данных. Результаты на валидации выглядят хорошими, но модель не справляется с новыми данными, где этого признака нет.

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

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

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

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

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

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