Глоссарий

Overfitting

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

Оверфиттинг - это фундаментальное понятие в машинном обучении (МОО), которое возникает, когда модель изучает детали и шумы в обучающих данных до такой степени, что это негативно сказывается на производительности модели при работе с новыми, еще не изученными данными. По сути, модель запоминает обучающий набор вместо того, чтобы изучать основные закономерности. В результате модель достигает высокой точности на данных, на которых она была обучена, но не способна обобщать данные реального мира, что делает ее ненадежной для практического применения. Достижение хорошего обобщения - одна из основных целей разработки ИИ.

Как выявить избыточную подгонку

Переоптимизация обычно выявляется путем мониторинга работы модели как на обучающем наборе данных, так и на отдельном валидационном наборе данных в процессе обучения. Общим признаком перекорректировки является ситуация, когда значение функции потерь для обучающего набора продолжает уменьшаться, а потери для проверяемого набора начинают увеличиваться. Аналогично, если точность обучения продолжает повышаться, а точность проверки достигает плато или ухудшается в течение последующих эпох, модель, скорее всего, перестраивается. Такие инструменты, как TensorBoard, отлично подходят для визуализации этих показателей и ранней диагностики подобных проблем. Платформы вроде Ultralytics HUB также помогают отслеживать эксперименты и оценивать модели для выявления чрезмерной подгонки.

Переоценка против недооценки

Overfitting и underfitting - две распространенные проблемы в машинном обучении, которые представляют собой неспособность модели к обобщению. По сути, это противоположные проблемы.

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

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

Реальные примеры избыточной подгонки

  1. Обнаружение объектов на автономном транспортном средстве: Представьте себе обучение модели Ultralytics YOLO для автономного транспортного средства с использованием набора данных, содержащего только изображения, полученные в солнечное, дневное время. Модель может стать высокоспециализированной в обнаружении пешеходов и автомобилей при ярком освещении, но при этом резко отказаться работать ночью, в дождливую или туманную погоду. Модель чрезмерно подстраивается под конкретные условия освещения и погоды в обучающих данных. Использование разнообразных наборов данных, таких как Argoverse, поможет избежать этого.
  2. Анализ медицинских изображений: Модель CNN обучена обнаруживать опухоли на снимках МРТ, полученных в одной больнице. Модель может случайно научиться ассоциировать специфические артефакты или шумы, возникающие на конкретном аппарате МРТ в этой больнице, с наличием опухоли. При тестировании на снимках, полученных в другой больнице на другом аппарате, ее производительность может значительно снизиться, потому что модель перестроилась на шум исходного обучающего набора, а не на реальные биологические маркеры опухолей. Это критическая проблема в таких областях, как ИИ в здравоохранении.

Как предотвратить избыточную подгонку

Для борьбы с чрезмерной подгонкой и построения более надежных моделей можно использовать несколько методов.

  • Получайте больше данных: Увеличение объема и разнообразия обучающего набора данных - один из самых эффективных способов предотвратить перебор. Большее количество данных помогает модели изучать истинные закономерности, а не шум. Вы можете изучить различные наборы данных Ultralytics, чтобы улучшить свои проекты.
  • Дополнение данных: Это предполагает искусственное расширение обучающего набора данных путем создания модифицированных копий существующих данных. Применяются такие техники, как случайное вращение, масштабирование, обрезка и изменение цвета. В Ultralytics YOLO методы расширения данных встроены для повышения надежности модели.
  • Упростите архитектуру модели: Иногда модель оказывается слишком сложной для данного набора данных. Использование более простой архитектуры с меньшим количеством параметров может предотвратить запоминание данных. Например, выбор более компактного варианта модели, такого как YOLOv8n против YOLOv8x, может быть полезен для небольших наборов данных.
  • Регуляризация: Этот метод добавляет штраф к функции потерь в зависимости от сложности модели, не допуская больших весов модели. Распространенными методами являются регуляризация L1 и L2, о которых вы можете прочитать здесь.
  • Выбывание: Особая форма регуляризации, при которой случайная часть нейронов игнорируется на каждом шаге обучения. Это заставляет сеть обучаться избыточным представлениям и не позволяет какому-либо одному нейрону стать слишком влиятельным. Концепция Dropout подробно описана здесь.
  • Ранняя остановка: Это предполагает отслеживание производительности модели на проверочном множестве и остановку процесса обучения, как только производительность проверки начинает снижаться, даже если производительность обучения продолжает улучшаться. Более подробное объяснение ранней остановки можно найти в Keras.
  • Кросс-валидация: При использовании таких методов, как перекрестная валидация K-Fold, данные разбиваются на несколько подмножеств, и модель обучается и проверяется на разных подмножествах. Это позволяет получить более надежную оценку способности модели к обобщению.
  • Модель Обрезка: Это подразумевает удаление из обучаемой сети параметров или связей, которые оказывают незначительное влияние на ее производительность, что позволяет снизить сложность. Такие компании, как Neural Magic, предлагают инструменты, специализирующиеся на обрезке моделей для эффективного развертывания.

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

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

Присоединяйтесь сейчас
Ссылка копируется в буфер обмена