Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас

Что такое переобучение в компьютерном зрении и как его предотвратить?

Абдельрахман Эльгенди

6 мин чтения

13 марта 2025 г.

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

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

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

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

Что такое переобучение?

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

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

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

Когда и почему возникает переобучение?

Переобучение обычно происходит из-за несбалансированных наборов данных, избыточной сложности модели и чрезмерного обучения. Вот основные причины:

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

  • Сложные модели со слишком большим количеством параметров: Глубокие сети с избыточным количеством слоев и нейронов склонны запоминать мелкие детали, а не сосредотачиваться на существенных признаках.

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

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

  • Несогласованные или зашумленные метки: Неправильно размеченные данные приводят к тому, что модель изучает неверные закономерности. Это часто встречается в наборах данных, размеченных вручную.

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

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

Переобучение и недообучение — это две совершенно противоположные проблемы в глубоком обучении.

__wf_reserved_inherit
Рис. 1. Сравнение недообучения, оптимального обучения и переобучения в моделях компьютерного зрения.

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

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

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

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

Вот некоторые признаки, указывающие на переобучение модели:

  • Если точность обучения значительно выше, чем точность валидации, модель, вероятно, переобучается.
  • Увеличение разрыва между потерями при обучении и потерями при валидации — еще один сильный показатель.
  • Модель слишком уверена в неправильных ответах, показывая, что она запомнила детали вместо понимания закономерностей.

Чтобы обеспечить хорошую обобщающую способность модели, ее необходимо протестировать на разнообразных наборах данных, отражающих реальные условия.

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

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

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

Расширение разнообразия данных с помощью аугментации и синтетических данных

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

__wf_reserved_inherit
Рис. 2. Комбинирование реальных и синтетических данных снижает переобучение и повышает точность обнаружения объектов.

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

Синтетические данные полезны, когда трудно получить реальные изображения. Например, модели самоуправляемых автомобилей могут тренироваться на сгенерированных компьютером дорожных сценах, чтобы научиться detect объекты в разных погодных условиях и при разном освещении. Это делает модель более гибкой и надежной, не требуя тысяч реальных изображений.

Оптимизируйте сложность и архитектуру модели

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

Для достижения этой цели одним из подходов является pruning (отсечение), который удаляет избыточные нейроны и связи, делая модель более компактной и эффективной. 

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

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

Применение методов регуляризации

Методы регуляризации предотвращают чрезмерную зависимость моделей от конкретных признаков в обучающих данных. Вот несколько часто используемых методов:

  • Dropout (выпадение) отключает случайные части модели во время обучения, чтобы она научилась распознавать различные закономерности, а не слишком полагалась на несколько признаков.

  • Затухание весов (L2-регуляризация) препятствует экстремальным значениям весов, удерживая сложность модели под контролем.

  • Пакетная нормализация помогает стабилизировать обучение, гарантируя, что модель будет менее чувствительна к изменениям в наборе данных.

Эти методы помогают поддерживать гибкость и адаптируемость модели, снижая риск переобучения и сохраняя при этом точность.

Мониторинг обучения с валидацией и ранней остановкой

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

  • Ранняя остановка: Автоматически завершает обучение, когда модель перестает улучшаться, чтобы она не продолжала изучать ненужные детали.

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

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

Используйте предварительно обученные модели и улучшите маркировку набора данных.

Вместо обучения с нуля используйте предварительно обученные модели, такие как YOLO11 , чтобы уменьшить перебор. YOLO11 обучена на больших наборах данных, что позволяет ей хорошо обобщать данные в различных условиях.

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

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

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

Основные выводы

Переоценка - распространенная проблема в компьютерном зрении. Модель может хорошо работать на обучающих данных, но испытывать трудности при работе с реальными изображениями. Чтобы избежать этого, такие методы, как увеличение объема данных, регуляризация и использование предварительно обученных моделей, таких как YOLO11 , помогают повысить точность и адаптивность.

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

Присоединяйтесь к нашему растущему сообществу! Изучите наш репозиторий на GitHub, чтобы узнать больше об ИИ. Готовы начать свои собственные проекты в области компьютерного зрения? Ознакомьтесь с нашими вариантами лицензирования. Откройте для себя Vision AI в автономном вождении и ИИ в здравоохранении, посетив страницы наших решений!

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

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

Начать бесплатно