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.
Вижте също
- Големи езикови модели