Czym jest Uczenie one-shot (One-shot learning)?
Uczenie one-shot oznacza zdolność modelu sztucznej inteligencji do poprawnego rozpoznania lub klasyfikacji nowej kategorii obiektu po zobaczeniu zaledwie jednego przykładu uczącego. W klasycznych rozwiązaniach potrzeba setek albo tysięcy próbek, aby sieć neuronowa uogólniła wiedzę. One-shot learning stara się skrócić tę drogę do absolutnego minimum, naśladując ludzką intuicję, która często pozwala zapamiętać nowe pojęcie po jednokrotnym zetknięciu.
Historyczne spojrzenie
Początki koncepcji sięgają połowy lat 2000. W 2006 roku Fei-Fei Li wraz z zespołem wprowadzili zbiór danych Omniglot, zaprojektowany specjalnie do testowania zdolności uczenia na pojedynczym przykładzie. Kolejne lata przyniosły rozwój metod bazujących na funkcjach podobieństwa, a w 2015 roku badacze z Google DeepMind przedstawili sieci pamięciowe Matching Networks. Od tego czasu one-shot learning stał się aktywnym nurtem w badaniach nad efektywnym wykorzystaniem danych.
Jak dokładnie działa Uczenie one-shot (One-shot learning)
Fundamentem jest tak zwane uczenie oparte na podobieństwie. Zamiast klasycznej warstwy softmax działającej na zbiorze statycznych wag, model najpierw koduje przykład wzorcowy i próbkę testową we wspólnej przestrzeni cech. Następnie oblicza odległość lub stopień zgodności między wektorami. Najczęściej stosuje się architekturę bliźniaczą (Siamese Network), w której dwie identyczne podsieci dzielą parametry i równolegle przetwarzają obrazy, dźwięki lub teksty. Wynikowy dystans kosinusowy lub euklidesowy określa, czy próbka należy do znanej kategorii. Alternatywą są sieci relacyjne typu Prototypical Networks, które uczą się wektorów prototypowych dla każdej klasy, a nowy przykład przyporządkowują do najbliższego prototypu.
Zastosowania w praktyce
Technika znajduje zastosowanie tam, gdzie nowych danych jest niewiele lub ich zdobycie bywa kosztowne. Systemy rozpoznawania twarzy w zabezpieczeniach biometrycznych mogą dodać profil użytkownika po jednym zdjęciu referencyjnym. W medycynie obrazy rzadkich chorób są ograniczone, dlatego modele one-shot usprawniają diagnozowanie zmian skórnych czy wczesnych guzów. Analogiczne korzyści obserwuje się w robotyce, gdzie manipulator uczy się chwytania nowego przedmiotu na podstawie jednorazowego nagrania demonstracyjnego.
Zalety i ograniczenia
Największą zaletą jest oszczędność danych oraz czasu etykietowania, co znacząco obniża koszty wdrożeń. Modele tego typu łatwiej przenoszą wiedzę między zadaniami i dobrze radzą sobie z klasami pojawiającymi się dopiero po uruchomieniu systemu. Należy jednak pamiętać, że skuteczność one-shot learning zależy od jakości wstępnego kodera cech, zazwyczaj trenowanego na dużych zbiorach. Metody bywają wrażliwe na szum w pojedynczym przykładzie, a ich wydajność maleje, gdy kategorie różnią się subtelnie, jak w przypadku gatunków botanicznych o zbliżonym wyglądzie.
Na co uważać?
Projektując system one-shot, warto zwrócić uwagę na zbalansowanie klas w fazie walidacji, ponieważ dominacja popularnych kategorii może maskować spadek skuteczności w klasach rzadkich. Konieczne jest również zabezpieczenie przed atakami typu spoofing w biometrii, gdyż model akceptuje nowe kategorie po pojedynczej próbce. Dobrym zwyczajem pozostaje augmentacja danych wejściowych oraz weryfikacja przykładu referencyjnego przez człowieka.
Dodatkowe źródła
Szerzej o uczeniu one-shot można przeczytać w artykule „Matching Networks for One Shot Learning” dostępnym na arXiv. Praktyczne zastosowania w rozpoznawaniu obrazów omawia opracowanie „Siamese Neural Networks for One-shot Image Recognition” autorstwa G. Koch, dostępne tutaj. Wprowadzenie do zbioru Omniglot znajduje się na stronie Wikipedia.


