Зелёная проверка
Ссылка копируется в буфер обмена

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

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

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

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

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

Что такое оверфиттинг?

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

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

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

Когда и почему происходит оверфиттинг?

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

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

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

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

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

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

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

Оверфиттинг против недофиттинга

Overfitting и underfitting - две совершенно полярные проблемы в глубоком обучении.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Контролируй тренировки с помощью проверки и раннего прекращения

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

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

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

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

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

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

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

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

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

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

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

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

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

Логотип LinkedInЛоготип ТвиттераЛоготип FacebookСимвол копирования-ссылки

Читайте больше в этой категории

Давай вместе построим будущее
искусственного интеллекта!

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