Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Transfer Learning

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

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

Как работает трансферное обучение#

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

Процесс состоит из двух этапов:

  1. Предобучение: Модель учится извлекать общие представления на большом бенчмарк-датасете, например ImageNet, COCO или Objects365, и получает набор предварительно обученных весов.
  2. Адаптация: Выходные слои, например классификатор или голова детекции, заменяют или изменяют для новых классов и обучают на целевом датасете. При извлечении признаков предварительно обученные слои замораживают и обучают только новые слои. При дообучении обновляются также некоторые или все предварительно обученные слои, обычно с меньшей скоростью обучения.

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

Перенос обучения для детекции объектов#

Модели обнаружения почти всегда обучают методом переноса обучения: официальные контрольные точки YOLO26 предварительно обучали на Objects365 в течение 150 эпох, прежде чем дообучать на COCO, как описано в рецепте обучения YOLO26. Если вызвать train() для загруженной контрольной точки с новым набором данных, будут перенесены все совместимые веса. Если число классов меняется, строки выходного слоя, относящиеся к классам, сбрасываются, кроме строк для совпадающих названий классов. Также поддерживается аргумент freeze, который фиксирует ранние слои и особенно полезен для небольших наборов данных.

from ultralytics import YOLO

# Загрузи веса YOLO26n, предварительно обученные на 80 классах COCO
model = YOLO("yolo26n.pt")

# Адаптируй модель к новому датасету с одним классом; freeze=10 фиксирует первые 10 слоев
results = model.train(data="medical-pills.yaml", epochs=20, freeze=10)

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

  • Дообучение: Один из способов переноса обучения, при котором веса предварительно обученной модели продолжают обновляться на новых данных. Другой основной способ — извлечение признаков с замороженной основной сетью.
  • Адаптация домена: Форма переноса обучения, при которой задача остается прежней, но распределение данных меняется, например при переходе от дневных изображений к ночным; целевых меток при этом часто мало или нет вовсе.
  • Обучение с нулевым количеством примеров и обучение на малом количестве примеров: Позволяют работать с новыми классами без размеченных примеров или всего с несколькими примерами, полагаясь на общие знания предварительно обученной модели вместо полноценного этапа адаптации.
  • Параметрически эффективное дообучение (PEFT): Адаптирует очень большие предварительно обученные модели, обучая небольшой набор добавленных или выбранных параметров, например матриц LoRA, пока исходные веса остаются замороженными.
  • Катастрофическое забывание: Потеря навыков, полученных при решении исходной задачи, когда модель дообучают на новых данных. Этого эффекта можно ограничить, добавив в новый обучающий набор часть изображений исходных классов или заморозив больше слоев.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

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

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

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

Компьютерное зрение в робототехнике

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

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

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

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

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

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

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