Robocikowo>ROBOCIKOWO
Wnioskowanie

ZSL

2008AktywnyOpublikowano: 28 maja 2026Aktualizacja: 28 maja 2026Opublikowany
Paradygmat uczenia / inferencji, w którym model rozpoznaje klasy lub wykonuje zadania bez żadnego oznaczonego przykładu z klasy docelowej, korzystając z transferu z przestrzeni semantycznej lub instrukcji.
Kluczowa innowacja
Wykonywanie predykcji na klasach lub zadaniach, których model nie widział w czasie treningu, poprzez wspólną przestrzeń semantyczną (atrybuty, embedingi tekstowe) lub instrukcje w języku naturalnym — bez ani jednego oznaczonego przykładu z klasy docelowej.
Kategoria
Wnioskowanie
Poziom abstrakcji
Paradygmat
Poziom operacji
InferencjaPo-treningElement architektury
Zastosowania
Klasyfikacja obrazów na klasach niewidzianych w treningu (CLIP, OpenCLIP)Rozpoznawanie rzadkich gatunków / chorób bez ręcznej anotacjiKlasyfikacja intencji w nowych domenach NLUCross-lingual transfer (rozpoznawanie języka, którego model nie widział)Zero-shot tłumaczenie maszynowe (NLLB, mT5)Zero-shot prompting LLM na nowych zadaniach (instrukcja zamiast fine-tuning)Generalizacja do nowych obiektów w robotyce (open-vocabulary detection / manipulacja)

Jak działa

Klasyczne ZSL w wizji: (1) Każdej klasie (zarówno widzianej, jak i niewidzianej) przypisuje się wektor semantyczny a_c ∈ ℝ^d — atrybuty binarne, embeddingi nazwy klasy (Word2Vec, GloVe), albo zdania opisowe. (2) Trenuje się funkcję mapującą f: X → ℝ^d z obrazów na przestrzeń semantyczną, używając tylko klas widzianych S. Najczęściej minimalizuje się stratę kompatybilności (cosine, ranking) między f(x) a a_y dla ground-truth y, albo bezpośrednio uczy klasyfikator atrybutów (DAP/IAP Lamperta). (3) W czasie inferencji dla testowego obrazu x oblicza się f(x) i przypisuje do klasy ĉ = argmax_{c ∈ U} sim(f(x), a_c). Współczesny zero-shot przez CLIP: trener kontrastywny uczy wspólnej przestrzeni embeddingów obrazów i tekstu na ogromnym zbiorze par (Conceptual Captions, LAION, WIT). Klasyfikacja zero-shot to porównanie embeddingu obrazu z embeddingami tekstowych promptów klas — bez fine-tuningu. Zero-shot prompting w LLM: model dostaje instrukcję zadania w naturalnym języku ("Przetłumacz to zdanie na francuski:") i wykonuje je dzięki temu, że pretrening na ogromnym korpusie pokrył podobne wzorce. Brak demonstracji odróżnia zero-shot od few-shot / in-context learning.

Rozwiązany problem

Jak rozpoznawać klasy lub wykonywać zadania, dla których nie da się zebrać oznaczonych danych — bo jest ich za mało (rzadkie gatunki, rzadkie choroby), są dynamicznie powstające (nowe produkty, nowe intencje użytkowników) albo anotacja jest zbyt kosztowna. ZSL transferuje wiedzę z klas/zadań widzianych do niewidzianych przez wspólną reprezentację semantyczną.

Komponenty

Semantic spaceReprezentacja klas niewidzianych

Wspólna przestrzeń wektorów, w której każdą klasę można opisać niezależnie od oznaczonych obrazów — atrybuty, word embeddings, embeddingi opisów tekstowych albo wyjścia kodera tekstowego.

Class semantic vectors a_cSide information dla klas U

Wektor opisujący każdą klasę c — w klasycznym ZSL ręcznie definiowane atrybuty (Animals with Attributes, CUB), w nowoczesnym ZSL embedding promptu typu "a photo of a {class}".

Compatibility / scoring functionPredykcja i strata

Funkcja s(x, c) mierząca dopasowanie wejścia x do klasy c przez podobieństwo w przestrzeni semantycznej (cosine, dot product, ranking) — używana zarówno w treningu, jak i w inferencji.

Visual / input encoderMapowanie wejścia w przestrzeń semantyczną

Sieć kodująca wejście (obraz, audio, tekst) w wektor porównywalny z wektorami semantycznymi klas — ResNet/ViT w CLIP, encoder LLM dla zero-shot NLP.

Implementacja

Pułapki implementacyjne
Data leakage — klasy "niewidziane" obecne w pretreninguKrytyczna

Bardzo częsty błąd w pracach ZSL: klasy U pojawiają się w danych pretreningu (np. ImageNet pretrained backbone, a U ⊂ ImageNet). Wyniki są wtedy zawyżone.

Rozwiązanie:Stosować GBU split (Xian et al. 2017), który gwarantuje brak nakładania klas U z ImageNet. Raportować zarówno seen, jak i unseen accuracy w GZSL.
Bias seen vs unseen w generalized ZSLWysoka

Model trenowany na klasach widzianych ma silne preferencje softmax względem nich; w GZSL niemal wszystko klasyfikuje do S, prawie nic do U.

Rozwiązanie:Calibrated stacking (odjęcie stałej od skorów klas seen), generative ZSL (syntezowanie pseudo-przykładów klas unseen), kalibracja temperatury.
Hubness w przestrzeni embeddingówŚrednia

W wysokowymiarowych przestrzeniach kilka klas staje się "hubami" — najbliższym sąsiadem nieproporcjonalnie wielu zapytań — co degraduje klasyfikację nearest-neighbor.

Rozwiązanie:Normalizacja embeddingów, mutual k-NN, mean-centering, post-hoc rescaling skorów.
Prompt sensitivityŚrednia

W CLIP-style ZSL drobne zmiany szablonu promptu ("a photo of a {class}" vs "{class}") zmieniają accuracy o kilka punktów procentowych.

Rozwiązanie:Prompt ensembling (uśrednianie embeddingów wielu szablonów), prompt learning (CoOp, CoCoOp).
Słaba przestrzeń semantyczna dla rzadkich klasŚrednia

Embedingi nazw klas rzadkich (np. mało popularnych gatunków) są słabo wytrenowane w korpusie tekstowym — ZSL nie potrafi ich dobrze reprezentować.

Rozwiązanie:Stosować opisy słowne zamiast samych nazw (Wikipedia, definicje), atrybuty ręczne lub generowane przez LLM.

Ewolucja

Oryginalny paper · 2008 · AAAI 2008 · Hugo Larochelle
Zero-Data Learning of New Tasks
Hugo Larochelle, Dumitru Erhan, Yoshua Bengio
2008
Larochelle et al. — "Zero-Data Learning of New Tasks"
Punkt przełomowy

Pierwsza eksplicytna formulacja ZSL — uczenie nowych zadań klasyfikacji bez żadnych przykładów docelowej klasy poprzez deskryptory zadania.

2009
Palatucci et al. — semantic output codes; Lampert et al. — DAP/IAP na Animals with Attributes
Punkt przełomowy

Dwie równoległe prace osadzające ZSL w klasyfikacji obrazów z atrybutami semantycznymi; AwA staje się standardowym benchmarkiem.

2013
DeViSE — embeddingi słów jako przestrzeń semantyczna
Punkt przełomowy

Frome et al. (Google) zastępują ręczne atrybuty embeddingami słów Word2Vec, otwierając ZSL na ImageNet skali.

2017
Xian et al. — Generalized ZSL benchmark (GBU)

Standaryzacja ewaluacji ZSL i wprowadzenie protokołu generalized zero-shot, ujawnia silny bias w stronę klas widzianych.

2020
GPT-3 — zero-shot prompting jako uniwersalny mechanizm w NLP
Punkt przełomowy

Brown et al. pokazują, że duże LLM wykonują zadania bez fine-tuningu wyłącznie z instrukcji w prompt — ZSL wychodzi z wizji do mainstreamowego NLP.

2021
CLIP — kontrastywny pretrening obraz-tekst dla zero-shot vision
Punkt przełomowy

Radford et al. (OpenAI) ustanawiają kontrastywny pretrening na 400M par obraz-tekst jako standard zero-shot klasyfikacji; CLIP osiąga konkurencyjne wyniki na ImageNet bez ani jednego oznaczonego przykładu z ImageNet.

2023
Open-vocabulary detection / segmentation / robotics (OWL-ViT, SAM, RT-2)

ZSL rozszerza się z klasyfikacji na detekcję, segmentację, generowanie i sterowanie robotami — open-vocabulary staje się synonimem zero-shot w praktyce.

Hiperparametry (konfigurowalne osie)

Typ przestrzeni semantycznejKrytyczna

Atrybuty ręczne, embeddingi słów (Word2Vec/GloVe), embeddingi tekstowe LLM, opisy z Wikipedii — fundamentalnie wpływa na jakość transferu.

Szablon promptuWysoka

W CLIP-stylu np. "a photo of a {class}" vs "a satellite image of a {class}". Ensemble szablonów (prompt engineering) podnosi accuracy zero-shot o kilka punktów procentowych.

Funkcja kompatybilnościWysoka

Bilinear (DeViSE, ALE), ranking, cosine + temperatura (CLIP). Wpływa na skalowanie z liczbą klas.

Kalibracja seen vs unseen (GZSL)Wysoka

W generalized ZSL kluczowe jest złagodzenie biasu w stronę klas widzianych (calibrated stacking, kalibracja softmax).

Złożoność obliczeniowa

Złożoność czasowa: O(|U| · d) na predykcję (po obliczeniu embeddingu). Złożoność przestrzenna: O(|C| · d).

Paradygmat wykonania

Tryb główny
Gęsty

ZSL nie wprowadza własnego paradygmatu wykonania — dziedziczy go po architekturze hostującej (Transformer dense, MoE conditional itd.). Klasyfikacja przez podobieństwo to gęsta operacja matmul.

Wzorzec aktywacji
Wszystkie ścieżki aktywne

Równoległość

Poziom równoległości
W pełni równoległy

Sama klasyfikacja zero-shot to operacja macierzowa (matmul embeddingu obrazu z bankiem embeddingów klas), idealnie zrównoleglona na GPU. Trening encoderów (np. CLIP) jest masowo równoległy po batchu obraz-tekst.

Zakres
Inferencja

Wymagania sprzętowe

Podstawowe

Klasyfikacja zero-shot to encoder forward + matmul embeddingu z bankiem klas — operacje idealnie pasujące do tensor cores. Pretrening CLIP/SigLIP wymaga klastrów GPU.

Podstawowe

Google trenuje swoje multimodalne foundation models (ALIGN, PaLI, Gemini) na TPU — kontrastywny pretrening dobrze mapuje się na systolic arrays.

Możliwe

Inferencja zero-shot z kwantyzowanym CLIP-em (np. ONNX Runtime, GGML) jest możliwa na CPU AVX2/AVX-512 dla mniejszych modeli (ViT-B).

Dobry fit

Sam algorytm ZSL (porównanie embeddingu z bankiem) jest nieczuły na hardware — koszt determinuje wybór encodera.