Узнайте, как выявлять и устранять недообучение в машинном обучении. Изучите причины, индикаторы и способы оптимизации моделей Ultralytics для повышения точности.
Недостаточная подгонка возникает, когда модель машинного обучения слишком проста или не способна уловить основные тенденции и закономерности в учебных данных. Концептуально это аналогично попытке провести прямую линию через точки данных, образующие четкую кривую; модель не может понять сложность взаимосвязи между входными и выходными данными. Поскольку модель не обучилась эффективно обрабатывать данные, она демонстрирует низкую производительность не только на обучающем наборе, но и на невиданных валидационных данных, что приводит к низкой точности прогнозирования . Это явление часто является результатом высокой погрешности в ИИ, когда алгоритм делает чрезмерно упрощенные предположения о целевой функции.
Несколько факторов могут привести к недообученной модели. Наиболее распространенной причиной является использование архитектуры модели, которая не является достаточно сложной для поставленной задачи, например, применение линейной регрессии к нелинейным данным. Недостаточная продолжительность обучения, когда модели не дается достаточно эпох для сходимости, также препятствует адекватному обучению. Кроме того, чрезмерная регуляризация— техника, обычно используемая для предотвращения противоположной проблемы — может чрезмерно ограничивать модель, мешая ей улавливать важные особенности.
Инженеры могут выявить недообучение, отслеживая функции потерь во время обучения. Если и ошибка обучения , и ошибка валидации остаются высокими и не снижаются значительно, модель, вероятно, недообучена. В отличие от эффективной инженерии признаков, которая помогает моделям понимать данные, предоставление слишком малого количества признаков также может лишить модель необходимой информации.
Очень важно отличать недообучение от его противоположности — переобучения. Эти два понятия представляют собой противоположные крайности компромисса между смещением и дисперсией.
Нахождение «золотой середины» между этими двумя крайностями является основной целью оптимизации модели.
Понимание недообучения имеет жизненно важное значение для разработки надежных систем искусственного интеллекта в различных отраслях.
В компьютерное зрение. Недооценка часто происходит
при использовании варианта модели, который слишком мал для сложности задачи (например, обнаружение небольших объектов на
снимках с дронов с высоким разрешением). Следующее 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 и обеспечив достаточную продолжительность обучения, система получает параметры, необходимые для изучения сложных паттернов, что позволяет эффективно смягчить недообучение. Чтобы убедиться, что ваша модель больше не недообучена, всегда оценивайте ее по надежному тестовому набору данных. Для управления наборами данных и отслеживания экспериментов с целью раннего выявления недообучения Ultralytics предлагает комплексные инструменты для визуализации и анализа.