Underfitting
Узнай, как выявлять и устранять недообучение в машинном обучении. Изучи причины и признаки этого явления, а также способы оптимизации моделей Ultralytics YOLO26 для повышения точности.
Недообучение возникает, когда модель машинного обучения слишком проста или недостаточно мощна, чтобы уловить закономерности и шаблоны, лежащие в основе обучающих данных. Концептуально это аналогично попытке провести прямую линию через точки данных, образующие выраженную кривую: модель не может понять сложность взаимосвязи между входами и выходами. Поскольку модель недостаточно хорошо обучилась на данных, она демонстрирует низкую производительность не только на обучающей выборке, но и на невидимых ранее валидационных данных, что приводит к низкой точности предсказаний. Это явление часто обусловлено высоким смещением в AI, при котором алгоритм делает чрезмерно упрощённые предположения о целевой функции.
Причины и признаки#
К недообучению модели могут привести несколько факторов. Наиболее распространённая причина — использование архитектуры модели, недостаточно сложной для поставленной задачи, например применение линейной регрессии к нелинейным данным. Недостаточная продолжительность обучения, когда модели не предоставляется достаточно эпох для сходимости, также препятствует полноценному обучению. Кроме того, чрезмерная регуляризация — метод, обычно применяемый для предотвращения противоположной проблемы, — может чрезмерно ограничить модель и помешать ей выявить важные признаки.
Инженеры могут выявить недообучение, отслеживая функции потерь во время обучения. Если и ошибка на обучающей выборке, и ошибка на валидационной выборке остаются высокими и существенно не уменьшаются, вероятно, модель недообучается. В отличие от эффективной разработки признаков, которая помогает моделям понимать данные, слишком малое количество признаков также может лишить модель необходимой информации.
Недообучение и переобучение#
Крайне важно отличать недообучение от его противоположности — переобучения. Эти два понятия представляют собой противоположные края компромисса между смещением и дисперсией.
- Недообучение (высокое смещение): модель слишком негибкая. Она плохо работает как на обучающих, так и на тестовых данных, поскольку не выучила базовый сигнал.
- Переобучение (высокая дисперсия): модель слишком гибкая. Она запоминает обучающие данные, включая шум, демонстрируя исключительно высокие результаты во время обучения, но не способна обобщать их на новые примеры.
Поиск «золотой середины» между этими двумя крайностями — главная цель оптимизации модели.
Практические применения#
Понимание недообучения крайне важно для разработки надёжных систем AI в различных отраслях.
- Автономное вождение: в контексте автономных транспортных средств недообученная модель обнаружения объектов может не отличить пешехода от фонарного столба в сложной городской среде. Поскольку модели не хватает параметров для изучения тонких визуальных различий, это ставит под угрозу безопасность AI.
- Медицинская диагностика: при применении анализа медицинских изображений для обнаружения аномалий, таких как опухоли, чрезмерно простая модель может пропустить небольшие или имеющие неправильную форму образования. Если нейронная сеть слишком неглубокая, она не может изучить сложные текстуры, необходимые для высокой чувствительности и специфичности, что приводит к пропущенным диагнозам.
Устранение недообучения с помощью кода#
В компьютерном зрении недообучение часто возникает при использовании варианта модели, слишком малого для сложности задачи (например, при обнаружении небольших объектов на изображениях с дронов высокого разрешения). Следующий пример на Python показывает, как перейти от меньшей модели к более крупной и производительной модели с помощью библиотеки ultralytics, чтобы устранить потенциальное недообучение.
from ultralytics import YOLO
# If 'yolo26n.pt' (Nano) is underfitting and yielding low accuracy,
# upgrade to a model with higher capacity like 'yolo26l.pt' (Large).
model = YOLO("yolo26l.pt")
# Train the larger model.
# Increasing epochs also helps the model converge if it was previously underfitting.
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)Переход на более крупную модель Ultralytics YOLO26 и обеспечение достаточной продолжительности обучения дают системе параметры, необходимые для изучения сложных шаблонов, эффективно снижая недообучение. Чтобы убедиться, что модель больше не недообучается, всегда оценивай её на надёжном тестовом наборе данных. Для управления наборами данных и отслеживания экспериментов с целью раннего выявления недообучения Ultralytics Platform предлагает комплексные инструменты визуализации и анализа.









