Zero-Shot Learning
Обучение без примеров распознаёт классы без размеченных примеров, сопоставляя входные данные с текстовыми описаниями. Рассматриваются CLIP, детектирование с открытым словарём и ограничения.
Обучение с нулевым числом примеров (ZSL) — способность модели распознавать классы, для которых она не видела ни одного размеченного обучающего примера. Вместо примеров модель получает описание каждого нового класса — например, список атрибутов или, в современных системах, название класса в виде текста — и сопоставляет входные данные с описаниями в общем пространстве эмбеддингов. Обычное обучение с учителем позволяет предсказывать только классы из обучающих меток. Чтобы добавить категорию, нужно собрать и разметить новые данные и переобучить модель. Модель с нулевым числом примеров расширяет список категорий простым добавлением их названий. CLIP от OpenAI, обученный на 400 миллионах пар «изображение — подпись», достиг точности на ImageNet, сопоставимой с исходной ResNet-50, обученной с учителем, не используя ни одного из 1,28 миллиона размеченных обучающих изображений ImageNet.
Как работает обучение с нулевым числом примеров#
Обучение с нулевым числом примеров переносит знания через семантическое пространство, связывающее классы, встречавшиеся в обучении, с классами, не встречавшимися в обучении. Ранние методы описывали каждый класс с помощью заданных человеком атрибутов, например «полосатый», «с копытами» и «обитает на лугах», и обучали модели предсказывать эти атрибуты, чтобы животное, не встречавшееся в обучающих данных, можно было распознать как класс, атрибутам которого оно соответствовало. Визуально-языковые модели заменили заданные вручную атрибуты естественным языком. CLIP обучает энкодер изображений и текстовый энкодер с помощью контрастивного обучения, чтобы соответствующие друг другу изображения и текстовые описания получали похожие эмбеддинги. Для классификации модель формирует эмбеддинг промпта для каждого возможного класса, например «фото зебры», формирует эмбеддинг изображения и выбирает класс с наибольшим косинусным сходством:
Поскольку классификатор формируется из текста во время инференса, список классов может меняться с каждым запросом. Тот же подход применяется к большим языковым моделям (LLM): в этом случае zero-shot prompting означает, что модели дают только инструкцию без готовых примеров, как описано в статье о GPT-3.
Детекция объектов с нулевым числом примеров#
Детекторы с открытым словарём расширяют обучение с нулевым числом примеров от целых изображений до отдельных объектов. Они сравнивают каждый предполагаемый участок изображения с текстовыми эмбеддингами запрошенных классов и поэтому могут находить объекты за пределами фиксированного набора меток — например, конкретный товар в видеоархиве. YOLO-World применяет этот подход в моделях YOLO для работы в реальном времени. Ultralytics YOLOE-26 — версия YOLO26 с открытым словарём: она кодирует каждое название класса, переданное через set_classes(), с помощью текстового энкодера MobileCLIP2 и возвращает рамки и маски сегментации экземпляров для этих классов без переобучения:
from ultralytics import YOLOE
# # Контрольная точка YOLOE-26, принимающая текстовые подсказки
model = YOLOE("yoloe-26s-seg.pt")
# # Укажи классы во время инференса; здесь используются слова, которых нет среди меток COCO
model.set_classes(["city bus", "sneakers", "glasses"])
# # Обнаружь и сегментируй указанные классы
results = model.predict("https://ultralytics.com/images/bus.jpg")
result = results[0]
result.save(filename="zero_shot_result.jpg")Первый вызов set_classes() загружает текстовый энкодер. Для обнаружения объектов термин «zero-shot» означает, что модель не получала размеченных боксов для класса, хотя название класса могло встречаться в данных «изображение—текст», на которых предварительно обучались ее энкодеры. Ultralytics Platform автоматически размечает наборы данных для обнаружения объектов с помощью zero-shot-детекторов и визуально-языковых моделей, а таблица лидеров VLM сравнивает точность обнаружения объектов каждой моделью на реальных изображениях.
Применение#
- Визуальный поиск и модерация: Медиатеки и контент-платформы находят изображения по текстовому запросу или выявляют новые категории контента без обучения отдельного классификатора для каждого запроса.
- Робототехника: Робот, которому поручили принести «синюю кружку», может найти объект класса, на обнаружение которого его не обучали.
- Дикая природа и биоразнообразие: BioCLIP, обученный более чем на 10 миллионах изображений разных форм жизни, классифицирует виды с нулевым числом примеров по их названиям и получил награду за лучшую студенческую статью на CVPR 2024.
- Медицинская визуализация: Модели, обученные на рентгеновских снимках в паре с письменными радиологическими заключениями, могут выявлять признаки, которые никогда не размечались как явные обучающие метки.
Сложности#
Точность модели при классификации без примеров обычно ниже, чем у модели, обученной на размеченных примерах тех же классов, особенно для категорий, различающихся по тонким признакам, или узкоспециализированных категорий, названия которых редко встречаются в веб-текстах. При обобщённом обучении с нулевым числом примеров, когда тестовые изображения могут относиться как к классам, встречавшимся при обучении, так и к классам, не встречавшимся при обучении, модели отдают предпочтение классам, на которых обучались, а исследования на бенчмарках показали, что в таких условиях точность для новых классов резко падает. Результаты также зависят от формулировки, поэтому разработка промптов становится частью классификации без примеров: точность CLIP на ImageNet выросла на 1,3%, когда вместо одного лишь названия класса использовали запрос «фото {label}».
Обучение с нулевым числом примеров и связанные понятия#
- Обучение на малом числе примеров: Позволяет изучать новые классы по нескольким размеченным примерам каждого класса, обычно от 1 до 10. Обучение с нулевым числом примеров — это случай, когда вместо примеров используется описание.
- Обучение по одному примеру: Вариант обучения на малом числе примеров, при котором на каждый класс приходится ровно один размеченный пример; часто используется сопоставление по сходству эмбеддингов.
- Трансферное обучение: Повторное использование предварительно обученной модели для новой задачи, обычно с помощью дообучения на размеченных данных. При обучении с нулевым числом примеров знания переносятся через общее пространство изображений и текста без дополнительного обучения.
- Визуальные подсказки: Целевой объект задаётся примером изображения или рамкой вместо слов. Это удобно для объектов, которые сложно описать, например определённой детали или логотипа.










