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

Few-Shot Learning

Обучение на малом числе примеров (FSL) распознаёт новые классы по нескольким размеченным примерам с помощью метрического обучения, метаобучения, дообучения или промптинга.

Обучение на малом числе примеров (FSL) — это задача обучения новой задаче, чаще всего распознаванию новых классов, всего по нескольким размеченным примерам каждого класса — обычно от 1 до 10. Для стандартного обучения с учителем нужны сотни или тысячи размеченных изображений каждого класса, сбор которых обходится дорого или невозможен для редких дефектов, редких заболеваний или продукта, появившегося только вчера. Методы обучения на малом числе примеров сокращают этот разрыв за счёт ранее полученных знаний: модель, предварительно обученная на большом объёме похожих данных, уже формирует признаки, хорошо разделяющие новые классы, поэтому для их определения достаточно нескольких примеров. Та же идея применяется в языковых моделях: несколько примеров в промпте помогают модели выполнить новую задачу без обучения.

Задачи N-way K-shot#

Задачи обучения на малом числе примеров описывают форматом N-way K-shot: N новых классов, по K размеченных примеров на каждый. Эти примеры образуют опорную выборку, а качество модели оценивают по тому, как она размечает отдельную тестовую выборку примеров из тех же N классов. Таким образом, задача 5-way 1-shot даёт модели по одному примеру каждого из пяти незнакомых ей классов и просит распределить по ним новые изображения. Обучение по одному примеру — это случай K = 1, а обучение без примеров — K = 0, когда классы описывают словами или атрибутами, а не примерами. В исследовательских бенчмарках качество проверяют на классах, исключённых из обучающей выборки, например на Omniglot с 1 623 рукописными символами из 50 алфавитов и miniImageNet со 100 классами ImageNet, по 600 изображений в каждом.

Подходы к обучению на малом числе примеров#

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

Другие подходы адаптируют веса модели или её входные данные:

  • Метаобучение: Модель обучают на тысячах небольших смоделированных задач из базовых классов, чтобы она научилась адаптироваться. Метаобучение без привязки к модели (MAML) учится находить начальные веса, которые хорошо адаптируются к новой задаче после нескольких шагов градиентного спуска на её опорной выборке.
  • Перенос знаний и дообучение: предварительно обучи бэкбон на большом наборе данных, а затем обучай на поддерживающей выборке только новую классификационную голову или всю сеть с низким темпом обучения. Этот простой базовый подход конкурирует со специализированными методами метаобучения на стандартных бенчмарках с малым числом примеров, а линейное зондирование крупных предобученных моделей остаётся надёжным базовым методом.
  • Промптинг фундаментальных моделей: Большие языковые модели выполняют новые задачи по нескольким примерам в промпте без обновления весов. Эту способность GPT-3 продемонстрировала более чем на двух десятках языковых бенчмарков. Модели компьютерного зрения используют визуальные промпты, например рамки вокруг примеров, таким же образом.

Обнаружение объектов по визуальным промптам с малым числом примеров#

Обнаружение добавляет к задаче обучения на малом числе примеров локализацию: модель должна находить каждый экземпляр класса, на котором её не обучали. YOLO26 также лежит в основе YOLOE-26 — варианта с открытым словарём, визуальный кодировщик промптов которого преобразует примеры с рамками в эмбеддинг класса, а затем без обучения обнаруживает и сегментирует соответствующие объекты на новых изображениях. Рамки с одинаковым ID класса объединяются в один промпт, поэтому два примера одного класса образуют опорную выборку 2-shot. В этом примере опорная выборка состоит из двух людей на одном изображении, а поиск выполняется на другом:

import numpy as np
from ultralytics import YOLOE
from ultralytics.models.yolo.yoloe import YOLOEVPSegPredictor

# Контрольная точка YOLOE-26, принимающая визуальные промпты
model = YOLOE("yoloe-26s-seg.pt")

# Опорная выборка: две рамки с примерами одного класса (люди) на исходном изображении
boxes = np.array([[221.52, 405.8, 344.98, 857.54], [669.47, 392.19, 809.72, 877.04]])
support = {"bboxes": boxes, "cls": np.array([0, 0])}

# Запрос: найти объекты, похожие на примеры, на другом изображении без обучения
results = model.predict(
    "https://ultralytics.com/images/zidane.jpg",
    refer_image="https://ultralytics.com/images/bus.jpg",
    visual_prompts=support,
    predictor=YOLOEVPSegPredictor,
)
result = results[0]
result.save(filename="few_shot_result.jpg")

Визуальные промпты группируют примеры без указания их названий, поэтому найденные объекты в результатах получают метки object0, object1 и так далее — по одной метке на каждый ID класса.

Примеры применения в реальных условиях#

  • Контроль качества на производстве: Новый тип дефекта, например трещина в недавно появившейся детали, может встретиться всего несколько раз до того, как инспекторы захотят отслеживать его. Обнаружение по малому числу примеров или поиск аномалий позволяет добавить такой дефект без сбора большого нового набора данных.
  • Медицинская визуализация: Для редких заболеваний есть лишь небольшое количество размеченных снимков, поэтому модели анализа медицинских изображений адаптируют предварительно обученные признаки к новым находкам по небольшому набору случаев, размеченных экспертами.
  • Розничная торговля и робототехника: Магазины постоянно добавляют новые товары, а роботы встречают новые объекты. Нескольких эталонных фотографий достаточно, чтобы система распознавала каждый объект на полке или в захвате.
  • Перенос обучения: Общий подход, при котором знания из одной задачи повторно используют в другой. Обучение на малом числе примеров — это крайний случай нехватки данных, а перенос обучения — самый распространённый инструмент для него.
  • Метаобучение: Стратегия обучения, основанная на принципе «учиться учиться», и один из нескольких способов решать задачи с малым числом примеров. Обучение на малом числе примеров — это название самой постановки задачи.
  • Промптинг с малым числом примеров: Адаптирует замороженную модель во время инференса с помощью примеров во входных данных, тогда как тонкая настройка на малом числе примеров меняет веса модели, используя те же несколько примеров.

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

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

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

Узнай, как 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. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

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

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