Few-shot i Zero-shot
Uczenie na małej liczbie przykładów (Few-shot Learning, FSL) i uczenie bez przykładów (Zero-shot Learning, ZSL) — to paradygmaty uczenia maszynowego ukierunkowane na rozwiązanie problemu niedoboru danych z etykietami. Pozwalają one modelom uczyć się i uogólniać wiedzę na podstawie bardzo ograniczonej ilości informacji, co jest kluczowe dla zastosowania sztucznej inteligencji w rzeczywistych scenariuszach, gdzie gromadzenie dużych zbiorów danych jest niemożliwe lub niecelowe.
Powszechny problem niedoboru danych
Współczesne modele głębokiego uczenia osiągają imponujące wyniki, jednak ich skuteczność z reguły bezpośrednio zależy od ogromnych ilości danych z etykietami. Gromadzenie i adnotowanie takich danych to proces kosztowny, pracochłonny, a niekiedy wręcz niemożliwy. Problem ten, znany jako „głód informacyjny", jest szczególnie dotkliwy w takich dziedzinach jak:
- Diagnostyka rzadkich chorób.
- Specjalistyczna produkcja przemysłowa.
- Robotyka i interakcja z nowymi obiektami.
- Kategoryzacja stale pojawiających się nowych produktów lub tematów.
FSL i ZSL oferują rozwiązanie, przesuwając akcent z „dużych danych" na „inteligentne dane", koncentrując się na efektywnym transferze i uogólnianiu wiedzy.
Uczenie na małej liczbie przykładów (Few-shot Learning)
Few-shot Learning (FSL) — to paradygmat, w którym model uczy się rozpoznawać nowe klasy na podstawie bardzo małej liczby przykładów z etykietami (zazwyczaj od 1 do 5), nazywanych zbiorem podporowym (support set).
Kluczowa idea
Podstawowa idea FSL polega nie tyle na uczeniu cech dla konkretnych klas, ile na opanowaniu procesu uczenia się (learning to learn). Model musi szybko adaptować się do nowych, wcześniej nieznanych zadań, wykorzystując minimalną liczbę przykładów. Osiąga się to dzięki wykorzystaniu uprzednio zdobytej wiedzy oraz strategii adaptacji.
Główne podejścia w FSL
- Meta-uczenie („Uczenie się uczenia"): To dominujący paradygmat w FSL. Model jest trenowany na wielu zróżnicowanych zadaniach, aby nauczyć się skutecznie adaptować do nowych.
- Na podstawie metryk: Modele (np. sieci syjamskie lub prototypowe) uczą się budować przestrzeń embeddingów, w której odległość między wektorami odzwierciedla bliskość semantyczną. Klasyfikacja nowego przykładu odbywa się poprzez porównanie jego embeddingu z embeddingami ze zbioru podporowego.
- Na podstawie optymalizacji: Modele (np. MAML) uczą się znajdować taką inicjalizację parametrów, która pozwala szybko (w kilku krokach gradientowego zejścia) dostroić się do nowego zadania.
- Uczenie w kontekście (In-Context Learning): Wraz z pojawieniem się dużych modeli językowych (LLM) spopularyzowało się podejście, w którym przykłady ze zbioru podporowego są dostarczane modelowi bezpośrednio w prompcie. Model wykonuje „niejawne meta-uczenie" podczas inferencji, adaptując się do zadania bez aktualizacji wag.
Rozszerzone podejścia w FSL
- One-shot Learning: To szczególny przypadek FSL, gdy liczba przykładów dla każdej klasy wynosi jeden (K=1 w notacji „N-way K-shot"). Klasyczne przykłady architektur to Matching Networks i Siamese Networks.
- Metody generatywne i augmentacja danych: FSL aktywnie wykorzystuje modele generatywne (GAN, VAE, modele dyfuzyjne) do syntezy dodatkowych przykładów danych. Pozwala to sztucznie rozszerzyć zbiór podporowy i poprawić jakość klasyfikacji, szczególnie dla rzadkich lub nietypowych klas.
- Transdukcyjne FSL: W odróżnieniu od standardowego (indukcyjnego) podejścia, model podczas adaptacji uwzględnia nie tylko oznaczony zbiór podporowy, ale także całość nieoznaczonych przykładów testowych (zapytań). Pozwala to uchwycić strukturę danych w zapytaniach, np. za pomocą technik propagacji etykiet (label propagation), i zwiększyć stabilność klasyfikacji.
Uczenie bez przykładów (Zero-shot Learning)
Zero-shot Learning (ZSL) — to paradygmat, w którym model jest zdolny do rozpoznawania klas, których ani jednego przykładu nie widział podczas treningu.
Kluczowa idea
Osiąga się to dzięki wykorzystaniu pomocniczej informacji semantycznej, która opisuje zarówno klasy widziane, jak i niewidziane. Model uczy się odwzorowania z przestrzeni cech wejściowych (np. obrazów) na wspólną przestrzeń semantyczną.
Mechanizmy informacji semantycznej
- Atrybuty semantyczne: Klasy są opisywane zestawem atrybutów definiowanych przez człowieka (np. dla klasy „zebra": [ma_pasy, ma_kopyta, jest_ssakiem]).
- Wektorowe reprezentacje słów (Word Embeddings): Nazwy klas lub ich opisy tekstowe są przekształcane w embeddingi za pomocą wstępnie wytrenowanych modeli językowych (np. Word2Vec, BERT).
- Promptowanie w LLM: Wraz z pojawieniem się modeli multimodalnych, takich jak CLIP, ZSL może być realizowany poprzez porównanie embeddingu obrazu z embeddingami tekstowych opisów klas (np. „zdjęcie psa", „zdjęcie kota").
Typy ZSL: Tradycyjny, Uogólniony, Indukcyjny i Transdukcyjny
- Tradycyjny ZSL: Na etapie testowania model musi klasyfikować przykłady wyłącznie z klas niewidzianych.
- Uogólniony ZSL (Generalized ZSL, GZSL): Bardziej realistyczny i złożony scenariusz, w którym model musi klasyfikować przykłady zarówno z klas widzianych, jak i niewidzianych. Wymaga to od modelu nie tylko rozpoznawania nowego, ale i odróżniania go od już znanych klas, zwalczając przy tym tendencję do faworyzowania klas widzianych.
- Indukcyjny ZSL: Standardowe sformułowanie, w którym model jest trenowany wyłącznie na danych i semantycznych opisach klas widzianych, bez jakiegokolwiek dostępu do informacji o klasach niewidzianych.
- Transdukcyjny ZSL: Bardziej zaawansowany schemat, w którym model podczas treningu może wykorzystywać nieoznaczone przykłady z klas niewidzianych. Pozwala to z wyprzedzeniem zaadaptować przestrzeń semantyczną i poprawić końcową jakość.
Podejścia generatywne w ZSL
- Generowanie cech klas niewidzianych: Do rozwiązania problemu faworyzowania klas w GZSL szeroko stosowane są modele generatywne (VAE, GAN). Syntetyzują one nie same obrazy, lecz ich wektory cech (embeddingi) dla klas niewidzianych na podstawie ich opisów semantycznych. Pozwala to zrównoważyć zbiór danych do treningu końcowego klasyfikatora.
Analiza porównawcza i synergia
| Aspekt | Uczenie na małej liczbie przykładów (FSL) | Uczenie bez przykładów (ZSL) |
|---|---|---|
| Główna idea | Nauczyć się szybko adaptować do nowych klas na podstawie kilku przykładów. | Nauczyć się rozpoznawać nowe klasy na podstawie ich opisów semantycznych. |
| Wymagania dotyczące danych dla nowego zadania/klasy | Kilka oznaczonych przykładów (1–5) dla każdej nowej klasy. | Zero oznaczonych przykładów; wymagany jest opis semantyczny. |
| Transfer wiedzy | Uczenie wiedzy proceduralnej („jak się adaptować") lub dobrej przestrzeni cech. | Uczenie relacji semantycznych i atrybutów, transfer wiedzy przez wspólną przestrzeń semantyczną. |
| Typowe przypadki użycia | Szybkie prototypowanie, personalizacja, rozpoznawanie rzadkich obiektów, robotyka. | Wykrywanie nowych gatunków, kategoryzacja pojawiających się tematów, obsługa zupełnie nowych typów produktów. |
Kluczowe niuanse i współczesne tendencje
- Różnica między Zero-shot Learning a Zero-shot Prompting: Ważne jest rozróżnienie tych pojęć. ZSL to architektoniczny paradygmat uczenia maszynowego wymagający specjalnego modelu i informacji semantycznej. Zero-shot Prompting to praktyczna technika prompt engineeringu, w której duży model językowy (np. GPT-4) rozwiązuje zadanie bez przykładów w prompcie, opierając się wyłącznie na swojej wewnętrznej wiedzy.
- Rola rozbudowanego wstępnego treningu: Współczesny sukces FSL i ZSL jest w dużej mierze uwarunkowany potężnymi modelami fundamentalnymi (BERT, CLIP, GPT-4). Ich wstępny trening na ogromnych zbiorach danych tworzy uniwersalny i bogaty semantycznie frontend embeddingów, który stanowi doskonałą podstawę do szybkiej adaptacji i wnioskowania semantycznego w warunkach niedoboru danych.
FSL i ZSL reprezentują różne punkty na spektrum efektywności wykorzystania danych i często są stosowane łącznie. Na przykład ZSL może być użyty do inicjalizacji reprezentacji, które następnie są dostrajane za pomocą FSL, gdy pojawiają się pierwsze przykłady nowej klasy.
Kluczowe ośrodki badawcze i uczestnicy
Badania w obszarze FSL i ZSL są aktywnie prowadzone zarówno w środowiskach akademickich, jak i w laboratoriach przemysłowych.
- Uczelnie: Uniwersytet Stanforda, Uniwersytet Pekiński, Narodowy Uniwersytet Singapuru.
- Laboratoria przemysłowe: Google AI, Meta AI, OpenAI.
Związku z pojawieniem się potężnych modeli fundamentalnych, centrum zainteresowania badań przesunęło się z opracowywania wyspecjalizowanych architektur dla FSL/ZSL na metody efektywnej adaptacji tych modeli.
Literatura
- 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.
Zobacz też
- Duże modele językowe