Few‑shot learning
Few‑shot learning (z ang. „uczenie się z niewielką liczbą przykładów”) to poddziedzina uczenia maszynowego oraz sztucznej inteligencji, której celem jest opracowanie modeli zdolnych do prawidłowego wykonywania zadań po zobaczeniu jedynie kilku (czasem nawet jednego) przykładów treningowych. W przeciwieństwie do tradycyjnych metod, które wymagają dużych zbiorów danych, few‑shot learning stawia przed algorytmem wyzwanie ogólnienia wiedzy nabytej na jednych danych na zupełnie nowe klasy lub zadania.
Historia i kontekst
Pierwsze koncepcje few‑shot learning pojawiły się w latach 2000‑2005 w ramach badań nad meta‑uczeniem i transfer learning. Rozwój tej dziedziny przyspieszył wraz z pojawieniem się głębokich sieci neuronowych oraz technik takich jak siatki konwolucyjne (CNN) i transformery, które umożliwiły efektywne wyodrębnianie reprezentacji przy ograniczonej liczbie danych.
Podstawowe pojęcia
- Support set – zbiór kilku przykładów (zazwyczaj od 1 do kilkudziesięciu) używany do „nauki” nowego zadania.
- Query set – zestaw przykładów, na których model jest testowany po przetworzeniu support set.
- N‑way K‑shot – scenariusz, w którym model musi rozróżnić pomiędzy N klasami, mając po K przykładów każdej klasy w support set. Przykładowo, 5‑way 1‑shot oznacza pięć klas i po jednym przykładzie na klasę.
Główne podejścia
W literaturze wyróżnia się kilka głównych metod rozwiązywania problemu few‑shot learning:
- Metody oparte na podobieństwie – np. sieci bliźniacze (Siamese Networks) oraz Matching Networks, które klasyfikują nowe przykłady na podstawie odległości w przestrzeni cech.
- Meta‑uczenie – algorytmy takie jak Model‑Agnostic Meta‑Learning (MAML) lub Prototypical Networks, które uczą się, jak szybko się uczyć, optymalizując parametry w celu minimalizacji błędu przy małej liczbie przykładów.
- Transfer learning – wykorzystanie modeli wytrenowanych na dużych zbiorach (np. ImageNet) i ich dalsze dostosowanie do nowych zadań przy użyciu kilku przykładów.
- Generatywne modele danych – np. sieci generatywne przeciwstawne (GAN) lub autokodery wariacyjne (VAE), które syntetyzują dodatkowe przykłady treningowe, zwiększając efektywną wielkość support set.
Zastosowania
Techniki few‑shot learning znajdują zastosowanie w wielu dziedzinach, w których zbieranie dużych zbiorów danych jest kosztowne lub niemożliwe:
- Rozpoznawanie obrazów – klasyfikacja rzadkich gatunków zwierząt, rozpoznawanie defektów w produkcji.
- Przetwarzanie języka naturalnego – klasyfikacja nowych intencji w systemach dialogowych, rozpoznawanie nowych nazw własnych.
- Biologia i medycyna – analiza rzadkich chorób, wykrywanie nowych mutacji genetycznych.
- Robotyka – adaptacja zachowań robota do nowych środowisk po kilku demonstracjach.
Wyzwania i perspektywy
Mimo licznych sukcesów, few‑shot learning nadal stoi przed istotnymi problemami:
- Wrażliwość na jakość i reprezentatywność przykładów w support set.
- Trudności w skalowaniu metod do bardzo dużych liczebności klas (N‑way) przy jednoczesnym zachowaniu niskiego kosztu obliczeniowego.
- Problem „negative transfer”, czyli sytuacji, w której przenoszona wiedza degraduje wydajność na nowym zadaniu.
Obecne badania koncentrują się na lepszej integracji uczenia przez wzmocnienie, rozwijaniu modeli rozpoznawania wzorców o zdolnościach samodzielnego generowania danych oraz na tworzeniu bardziej efektywnych architektur transformer‑opartych, które potrafią uczyć się przy bardzo ograniczonych zasobach.
Powiązane pojęcia
Więcej informacji można znaleźć w następujących artykułach encyklopedycznych: