Few-shot и Zero-shot
Обучение с малым количеством примеров (Few-shot Learning, FSL) и обучение без примеров (Zero-shot Learning, ZSL) — это парадигмы машинного обучения, направленные на решение проблемы нехватки размеченных данных. Они позволяют моделям обучаться и обобщать знания на основе очень ограниченного количества информации, что является ключевым для применения искусственного интеллекта в реальных сценариях, где сбор больших наборов данных невозможен или нецелесообразен.
Повсеместная проблема нехватки данных
Современные модели глубокого обучения демонстрируют впечатляющие результаты, но их эффективность, как правило, напрямую зависит от огромных объёмов размеченных данных. Сбор и аннотирование таких данных — дорогостоящий, трудоёмкий и зачастую невозможный процесс. Эта проблема, известная как «информационный голод», особенно остро стоит в таких областях, как:
- Диагностика редких заболеваний.
- Специализированное промышленное производство.
- Робототехника и взаимодействие с новыми объектами.
- Категоризация постоянно появляющихся новых продуктов или тем.
FSL и ZSL предлагают решение, смещая акцент с «больших данных» на «умные данные», фокусируясь на эффективной передаче и обобщении знаний.
Обучение с малым количеством примеров (Few-shot Learning)
Few-shot Learning (FSL) — это парадигма, в которой модель обучается распознавать новые классы на основе очень небольшого количества размеченных примеров (обычно от 1 до 5), называемых опорным набором (support set).
Ключевая идея
Основная идея FSL — не просто изучить признаки для конкретных классов, а научиться процессу обучения (learning to learn). Модель должна быстро адаптироваться к новым, ранее не знакомым задачам, используя минимальное количество примеров. Это достигается за счёт использования предварительно полученных знаний и стратегий адаптации.
Основные подходы в FSL
- Метаобучение («Обучение обучению»): Это доминирующая парадигма в FSL. Модель обучается на множестве разнообразных задач, чтобы научиться эффективно адаптироваться к новым.
- На основе метрик: Модели (например, сиамские или прототипные сети) учатся строить пространство эмбеддингов, где расстояние между векторами отражает семантическую близость. Классификация нового примера происходит путём сравнения его эмбеддинга с эмбеддингами из опорного набора.
- На основе оптимизации: Модели (например, MAML) учатся находить такую инициализацию параметров, которая позволяет быстро (за несколько шагов градиентного спуска) дообучиться для новой задачи.
- Обучение в контексте (In-Context Learning): С появлением больших языковых моделей (LLM) стал популярен подход, где примеры из опорного набора предоставляются модели непосредственно в промпте. Модель выполняет «неявное метаобучение» во время инференса, адаптируясь к задаче без обновления весов.
Расширенные подходы в FSL
- One-shot Learning: Это частный случай FSL, когда количество примеров для каждого класса равно одному (K=1 в нотации "N-way K-shot"). Классические примеры архитектур — Matching Networks и Siamese Networks.
- Генеративные методы и аугментация данных: FSL активно использует генеративные модели (GAN, VAE, диффузионные модели) для синтеза дополнительных примеров данных. Это позволяет искусственно расширить опорный набор и улучшить качество классификации, особенно для редких или необычных классов.
- Трансдуктивное FSL: В отличие от стандартного (индуктивного) подхода, здесь модель при адаптации учитывает не только размеченный опорный набор, но и всю совокупность неразмеченных тестовых примеров (запросов). Это позволяет уловить структуру данных в запросах, например, с помощью техник распространения меток (label propagation), и повысить устойчивость классификации.
Обучение без примеров (Zero-shot Learning)
Zero-shot Learning (ZSL) — это парадигма, в которой модель способна распознавать классы, ни одного примера которых она не видела на этапе обучения.
Ключевая идея
Это достигается за счёт использования вспомогательной семантической информации, которая описывает как виденные, так и невиданные классы. Модель изучает отображение из пространства входных признаков (например, изображений) в общее семантическое пространство.
Механизмы семантической информации
- Семантические атрибуты: Классы описываются набором человеко-определяемых атрибутов (например, для класса «зебра»: [имеет_полосы, имеет_копыта, является_млекопитающим]).
- Векторные представления слов (Word Embeddings): Названия классов или их текстовые описания преобразуются в эмбеддинги с помощью предварительно обученных языковых моделей (например, Word2Vec, BERT).
- Промптинг в LLM: С появлением мультимодальных моделей, таких как CLIP, ZSL может выполняться путём сравнения эмбеддинга изображения с эмбеддингами текстовых описаний классов (например, «фотография собаки», «фотография кошки»).
Типы ZSL: Традиционный, Обобщенный, Индуктивный и Трансдуктивный
- Традиционный ZSL: На этапе тестирования модель должна классифицировать примеры только из невиданных классов.
- Обобщенный ZSL (Generalized ZSL, GZSL): Более реалистичный и сложный сценарий, где модель должна классифицировать примеры как из виденных, так и из невиданных классов. Это требует от модели не только распознавать новое, но и отличать его от уже знакомого, борясь со смещением в сторону виденных классов.
- Индуктивный ZSL: Стандартная постановка, где модель обучается только на данных и семантических описаниях виденных классов, без какого-либо доступа к информации о невиданных.
- Трансдуктивный ZSL: Более продвинутая схема, где модель во время обучения может использовать неразмеченные примеры из невиданных классов. Это позволяет заранее адаптировать семантическое пространство и улучшить итоговое качество.
Генеративные подходы в ZSL
- Генерация признаков невиданных классов: Для решения проблемы смещения в GZSL широко применяются генеративные модели (VAE, GAN). Они синтезируют не сами изображения, а их признаковые векторы (эмбеддинги) для невиданных классов на основе их семантических описаний. Это позволяет сбалансировать набор данных для обучения финального классификатора.
Сравнительный анализ и синергия
| Аспект | Обучение с малым количеством примеров (FSL) | Обучение без примеров (ZSL) |
|---|---|---|
| Основная идея | Научиться быстро адаптироваться к новым классам на основе нескольких примеров. | Научиться распознавать новые классы на основе их семантических описаний. |
| Требования к данным для новой задачи/класса | Несколько размеченных примеров (1-5) для каждого нового класса. | Ноль размеченных примеров; требуется семантическое описание. |
| Перенос знаний | Изучение процедурных знаний («как адаптироваться») или хорошего пространства признаков. | Изучение семантических отношений и атрибутов, перенос знаний через общее семантическое пространство. |
| Типичные случаи использования | Быстрое прототипирование, персонализация, распознавание редких объектов, робототехника. | Обнаружение новых видов, категоризация возникающих тем, обработка совершенно новых типов продуктов. |
Ключевые нюансы и современные тенденции
- Различие между Zero-shot Learning и Zero-shot Prompting: Важно различать эти понятия. ZSL — это архитектурная парадигма машинного обучения, требующая специальной модели и семантической информации. Zero-shot Prompting — это прикладная техника промпт-инжиниринга, где большая языковая модель (например, GPT-4) решает задачу без примеров в промпте, опираясь исключительно на свои внутренние знания.
- Роль масштабного предварительного обучения: Современный успех FSL и ZSL во многом обусловлен мощными фундаментальными моделями (BERT, CLIP, GPT-4). Их предварительное обучение на огромных массивах данных создает универсальный и богатый на семантику эмбеддинг-фронтенд, который служит отличной основой для быстрой адаптации и семантического вывода в условиях нехватки данных.
FSL и ZSL представляют собой разные точки на спектре эффективности использования данных и часто используются совместно. Например, ZSL может быть использован для инициализации представлений, которые затем дообучаются с помощью FSL, когда появляются первые примеры нового класса.
Ключевые исследовательские институты и участники
Исследования в области FSL и ZSL активно ведутся как в академических кругах, так и в промышленных лабораториях.
- Университеты: Стэнфордский университет, Пекинский университет, Национальный университет Сингапура.
- Промышленные лаборатории: Google AI, Meta AI, OpenAI.
С появлением мощных фундаментальных моделей фокус исследований сместился с разработки специализированных архитектур для FSL/ZSL на методы эффективной адаптации этих моделей.
Литература
- Finn, C. et al. (2017). Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks. arXiv:1703.03400.
- Koch, G. et al. (2015). Siamese Neural Networks for One-Shot Image Recognition. PDF.
- Vinyals, O. et al. (2016). Matching Networks for One Shot Learning. arXiv:1606.04080.
- Snell, J. et al. (2017). Prototypical Networks for Few-Shot Learning. arXiv:1703.05175.
- Sung, F. et al. (2018). Learning to Compare: Relation Network for Few-Shot Learning. arXiv:1711.06025.
- Chen, Y. et al. (2021). Meta-Baseline: Exploring Simple Meta-Learning for Few-Shot Learning. arXiv:2003.04390.
- Wang, Y. et al. (2020). Generalizing from a Few Examples: A Survey on Few-Shot Learning. arXiv:1904.05046.
- Xian, Y. et al. (2018). Zero-Shot Learning — A Comprehensive Evaluation of the State of the Art. arXiv:1707.00600.
- Verma, V. K. et al. (2018). Generalized Zero-Shot Learning via Synthesized Examples. arXiv:1712.03878.
- Radford, A. et al. (2021). Learning Transferable Visual Models from Natural Language Supervision. arXiv:2103.00020.
- Xian, Y. et al. (2019). Zero-Shot Learning via Simultaneous Generating and Learning. arXiv:1910.09446.
- Verma, V. K. et al. (2017). Zero-Shot Learning via Generative Adversarial Training of Class-Conditional Feature Vectors. arXiv:1712.00981.
См. также