---
title: "Few-shot и Zero-shot"
source: "https://systems-analysis.info/int/Few-shot_%D0%B8_Zero-shot"
wiki: "systems-analysis.info/int"
article: "Few-shot_и_Zero-shot"
language: "bg"
categories:
  - "Category:Bulgarian"
  - "Category:Large language models"
  - "Category:Machine learning"
  - "Category:Prompt engineering"
revision_id: 2166
wiki_created_at: 2026-09-06T22:59:34Z
wiki_modified_at: 2026-09-06T22:59:34Z
downloaded_at: 2026-09-07T22:49:37Z
---

# 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. Моделът се обучава върху множество разнообразни задачи, за да се научи ефективно да се адаптира към нови.
  - **На базата на метрики:** Моделите (например сиамски или прототипни мрежи) се учат да изграждат пространство на embedding-и, където разстоянието между векторите отразява семантичната близост. Класификацията на нов пример се извършва чрез сравнение на неговия embedding с embedding-ите от опорния набор.
  - **На базата на оптимизация:** Моделите (например MAML) се учат да намират такава инициализация на параметрите, която позволява бързо (за няколко стъпки на градиентно спускане) да се дообучат за нова задача.
- **Обучение в контекст (In-Context Learning):** С появата на големи езикови модели (LLM) стана популярен подходът, при който примерите от опорния набор се предоставят на модела директно в prompt-а. Моделът извършва „неявно мета-обучение" по време на inference, адаптирайки се към задачата без актуализиране на теглата.

### Разширени подходи в 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):** Имената на класовете или техните текстови описания се преобразуват в embedding-и с помощта на предварително обучени езикови модели (например Word2Vec, BERT).
- **Промптинг в LLM:** С появата на мултимодални модели като CLIP, ZSL може да се изпълнява чрез сравняване на embedding-а на изображение с embedding-ите на текстови описания на класове (например „снимка на куче", „снимка на котка").

### Типове ZSL: Традиционен, Обобщен, Индуктивен и Трансдуктивен

- **Традиционен ZSL:** По време на тестване моделът трябва да класифицира примери само от невидени класове.
- **Обобщен ZSL (Generalized ZSL, GZSL):** По-реалистичен и сложен сценарий, при който моделът трябва да класифицира примери както от видени, така и от невидени класове. Това изисква от модела не само да разпознава новото, но и да го отличава от вече познатото, преодолявайки отклонението към видените класове.
- **Индуктивен ZSL:** Стандартна постановка, при която моделът се обучава само върху данни и семантични описания на видените класове, без никакъв достъп до информация за невидените.
- **Трансдуктивен ZSL:** По-напреднала схема, при която моделът по време на обучението може да използва неанотирани примери от невидените класове. Това позволява предварително адаптиране на семантичното пространство и подобряване на крайното качество.

### Генеративни подходи в ZSL

- **Генериране на признаци на невидени класове:** За решаване на проблема с отклонението в GZSL широко се прилагат генеративни модели (VAE, GAN). Те синтезират не самите изображения, а техните признакови вектори (embedding-и) за невидените класове въз основа на техните семантични описания. Това позволява балансиране на набора от данни за обучение на финалния класификатор.

## Сравнителен анализ и синергия

| Аспект                                     | Обучение с малко примери (FSL)                                                              | Обучение без примери (ZSL)                                                                             |
|--------------------------------------------|---------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|
| Основна идея                               | Да се научи бърза адаптация към нови класове въз основа на няколко примера.                 | Да се научи разпознаване на нови класове въз основа на техните семантични описания.                    |
| Изисквания към данните за нова задача/клас | Няколко анотирани примера (1–5) за всеки нов клас.                                          | Нула анотирани примера; изисква се семантично описание.                                                |
| Прехвърляне на знания                      | Изучаване на процедурни знания („как да се адаптира") или добро пространство на признаците. | Изучаване на семантични отношения и атрибути, прехвърляне на знания чрез общо семантично пространство. |
| Типични случаи на използване               | Бързо прототипиране, персонализация, разпознаване на редки обекти, роботика.                | Откриване на нови видове, категоризация на възникващи теми, обработка на напълно нови типове продукти. |

Сравнение на парадигми за обучение с ограничени данни

### Ключови нюанси и съвременни тенденции

- **Разлика между Zero-shot Learning и Zero-shot Prompting:** Важно е да се разграничават тези понятия. ZSL е архитектурна парадигма на машинното обучение, изискваща специализиран модел и семантична информация. Zero-shot Prompting е приложна техника на prompt engineering, при която голям езиков модел (например GPT-4) решава задачата без примери в prompt-а, разчитайки единствено на своите вътрешни знания.
- **Ролята на мащабното предварително обучение:** Съвременният успех на FSL и ZSL до голяма степен се дължи на мощни фундаментални модели (BERT, CLIP, GPT-4). Тяхното предварително обучение върху огромни масиви от данни създава универсален и семантично богат embedding frontend, който служи като отлична основа за бърза адаптация и семантично извеждане в условия на недостиг на данни.

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.

## Вижте също

- Големи езикови модели
