📖

Что такое Обучение без примеров?

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

Обучение без примеров (Zero-Shot Learning, ZSL) — это парадигма машинного обучения, в которой модель должна делать точные предсказания для категорий или задач, которые она никогда не видела во время обучения. Вместо того чтобы изучать каждый новый класс по размеченным примерам, модель опирается на дополнительную информацию — такую как описания атрибутов, названия классов или инструкции на естественном языке — чтобы обобщать знания на незнакомые случаи. Этот подход стал центральным в работе современных базовых моделей (foundation models), поскольку позволяет одной модели справляться с тысячами задач без дообучения.

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

Основная идея состоит в том, чтобы выучить общее семантическое пространство, в котором могут быть представлены как виденные, так и невиденные классы. Во время обучения модель сопоставляет размеченные примеры с описательной информацией (например, изображение с меткой «зебра» сопоставляется с текстом «похожее на лошадь животное с чёрно-белыми полосами»). Затем она учится согласовывать две модальности так, чтобы во время инференса немаркированный вход можно было сопоставить с ближайшим текстовым или атрибутивным описанием — включая описания классов, на которых она никогда не обучалась.

Большие языковые и языково-визуальные модели, такие как CLIP, GPT и Gemini, развивают эту идею дальше. Они обучаются на обширных корпусах парных данных «изображение — текст» или «инструкция — ответ», а затем на этапе инференса получают промпт с описанием желаемого результата. Простой пример: получив промпт «Классифицируй этот отзыв как положительный, отрицательный или нейтральный», модель, которая никогда не дообучалась на данных о тональности, всё равно способна дать полезный ответ, поскольку сам язык промпта предоставляет недостающие определения классов. Для более формального изложения см. оригинальную статью Palatucci и др. с NeurIPS 2009, которая помогла определить это направление.

Почему это важно

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

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

Основные типы

  • Классическое ZSL на основе атрибутов: каждый класс описывается созданным вручную вектором атрибутов (например, «имеет крылья», «живёт в воде»), и модель учится предсказывать эти атрибуты для невиденных классов.
  • ZSL на основе эмбеддингов: классы представлены в виде эмбеддингов в общем пространстве (часто полученных из векторов слов или языковых моделей), и новые классы сопоставляются по сходству с предсказанными эмбеддингами входных данных.
  • Генеративное ZSL: генеративная модель синтезирует искусственные признаки для невиденных классов, фактически превращая задачу без примеров в стандартную задачу с учителем.
  • ZSL на основе промптов с базовыми моделями: спецификация задачи передаётся на естественном языке; модель интерпретирует промпт и отвечает без каких-либо обновлений параметров.

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

Часто задаваемые вопросы

What is the difference between zero-shot and few-shot learning?
Zero-shot learning makes predictions for unseen classes with no examples at all, relying on descriptions or prompts. Few-shot learning provides a small number of labeled examples — typically one to ten — so the model can adapt its behavior. Few-shot usually outperforms zero-shot on the same task, at the cost of requiring some labeled data.
Is ChatGPT an example of zero-shot learning?
Yes. When a user gives ChatGPT a task it was never explicitly trained on, such as rewriting text in a specific style or classifying an unusual list, the model is performing zero-shot generalization. It interprets the natural-language instruction and produces a response using only the patterns learned during pre-training.
What are the main limitations of zero-shot learning?
Zero-shot models depend heavily on the quality of the auxiliary descriptions or prompts they receive. They also tend to be less accurate than supervised models when plenty of labeled data is available, and they can be biased toward classes they have seen during training — a problem known as the hubness or bias problem. Domain shift between training and deployment settings can further degrade performance.
How is zero-shot learning evaluated?
Models are typically evaluated on a held-out set of classes that never appear in training, measuring metrics like top-1 or top-5 accuracy against the unseen-class labels. Standard benchmarks include UCF101, ImageNet-21K splits, and a range of text classification and question-answering suites used in NLP research.