Connect with us

AI 101

Co to jest uczenie z niewielką ilością przykładów?

mm

Uczenie z niewielką ilością przykładów odnosi się do różnych algorytmów i technik stosowanych w celu opracowania modelu sztucznej inteligencji przy użyciu bardzo małej ilości danych szkoleniowych. Uczenie z niewielką ilością przykładów dąży do umożliwienia modelowi sztucznej inteligencji rozpoznawania i klasyfikowania nowych danych po ekspozycji na stosunkowo niewiele przykładów szkoleniowych. Szkolenie z niewielką ilością przykładów stoi w opozycji do tradycyjnych metod szkolenia modeli machine learning, gdzie zwykle używa się dużej ilości danych szkoleniowych. Uczenie z niewielką ilością przykładów jest głównie stosowane w dziedzinie widzenia komputerowego.

Aby rozwijać lepsze zrozumienie uczenia z niewielką ilością przykładów, przyjrzyjmy się temu pojęciu bardziej szczegółowo. Zbadamy motywy i pojęcia za uczeniem z niewielką ilością przykładów, zapoznamy się z różnymi typami uczenia z niewielką ilością przykładów i omówimy niektóre modele stosowane w uczeniu z niewielką ilością przykładów na poziomie ogólnym. Na końcu przyjrzyjmy się niektórym zastosowaniom uczenia z niewielką ilością przykładów.

Co to jest uczenie z niewielką ilością przykładów?

„Uczenie z niewielką ilością przykładów” opisuje praktykę szkolenia modelu machine learning z minimalną ilością danych. Zwykle modele machine learning są szkolone na dużych ilościach danych, im więcej, tym lepiej. Jednak uczenie z niewielką ilością przykładów jest ważnym pojęciem machine learning z kilku powodów.

Jednym z powodów stosowania uczenia z niewielką ilością przykładów jest to, że może ono dramatycznie zmniejszyć ilość danych potrzebnych do szkolenia modelu machine learning, co zmniejsza czas potrzebny do oznaczenia dużych zbiorów danych. Podobnie, uczenie z niewielką ilością przykładów redukuje potrzebę dodawania konkretnych cech dla różnych zadań podczas korzystania z wspólnego zbioru danych do tworzenia różnych próbek. Uczenie z niewielką ilością przykładów może idealnie sprawić, że modele będą bardziej odpornymi i zdolnymi do rozpoznawania obiektów na podstawie mniejszej ilości danych, tworząc bardziej ogólne modele w przeciwieństwie do wyspecjalizowanych modeli, które są normą.

Uczenie z niewielką ilością przykładów jest najczęściej stosowane w dziedzinie widzenia komputerowego, ponieważ natura problemów widzenia komputerowego wymaga albo dużych ilości danych, albo elastycznego modelu.

Podkategorie

Wyrażenie „uczenie z niewielką ilością przykładów” jest tak naprawdę tylko jednym typem uczenia przy użyciu bardzo niewielu przykładów szkoleniowych. Ponieważ używasz tylko „kilku” przykładów szkoleniowych, istnieją podkategorie uczenia z niewielką ilością przykładów, które również obejmują szkolenie z minimalną ilością danych. „Uczenie jednopunktowe” to inny typ szkolenia modelu, który obejmuje nauczanie modelu rozpoznawania obiektu po zobaczeniu tylko jednego obrazu tego obiektu. Ogólne taktyki stosowane w uczeniu jednopunktowym i uczeniu z niewielką ilością przykładów są takie same. Bądźcie świadomi, że termin „uczenie z niewielką ilością przykładów” może być używany jako określenie ogólne, aby opisać każdą sytuację, w której model jest szkolony z bardzo małą ilością danych.

Podejścia do uczenia z niewielką ilością przykładów

Większość podejść do uczenia z niewielką ilością przykładów może zmieścić się w jednej z trzech kategorii: podejścia na poziomie danych, podejścia na poziomie parametrów i podejścia oparte na metrykach.

Podejścia na poziomie danych

Podejścia na poziomie danych do uczenia z niewielką ilością przykładów są bardzo proste w koncepcji. Aby szkolić model, gdy nie masz wystarczającej ilości danych szkoleniowych, możesz po prostu uzyskać więcej danych szkoleniowych. Istnieją różne techniki, które data scientist może wykorzystać do zwiększenia ilości danych szkoleniowych.

Podobne dane szkoleniowe mogą wspierać dokładne dane docelowe, na których szkolisz klasyfikator. Na przykład, jeśli szkolisz klasyfikator do rozpoznawania konkretnych rodzajów psów, ale brakuje ci wielu obrazów konkretnego gatunku, który chcesz sklasyfikować, możesz uwzględnić wiele obrazów psów, co pomoże klasyfikatorowi określić ogólne cechy, które tworzą psa.

Wzmocnienie danych może tworzyć więcej danych szkoleniowych dla klasyfikatora. Zwykle obejmuje to stosowanie transformacji do istniejących danych szkoleniowych, takich jak obracanie istniejących obrazów, aby klasyfikator mógł wyeksaminować obrazy z różnych kątów. GAN-y mogą być również stosowane do generowania nowych przykładów szkoleniowych na podstawie tego, czego nauczą się z kilku autentycznych przykładów danych szkoleniowych.

Podejścia na poziomie parametrów

Metauczenie

Jednym z podejść na poziomie parametrów do uczenia z niewielką ilością przykładów jest stosowanie techniki zwanej „metauczeniem”. Metauczenie obejmuje nauczanie modelu, jak się uczyć, które cechy są ważne w zadaniu machine learning. Może to być osiągnięte poprzez stworzenie metody regulacji, w jaki sposób przestrzeń parametrów modelu jest eksplorowana.

Metauczenie wykorzystuje dwa różne modele: model nauczyciela i model ucznia. Model nauczyciela i model ucznia. Model nauczyciela uczy się, jak ujmować przestrzeń parametrów, podczas gdy model ucznia uczy się, jak rozpoznawać i klasyfikować rzeczywiste elementy w zbiorze danych. Innymi słowy, model nauczyciela uczy się, jak optymalizować model, podczas gdy model ucznia uczy się, jak klasyfikować. Dane wyjściowe modelu nauczyciela są stosowane do szkolenia modelu ucznia, pokazując modelowi uczniowi, jak negocjować dużą przestrzeń parametrów, która wynika z zbyt małej ilości danych szkoleniowych. Stąd „meta” w metauczeniu.

Jednym z głównych problemów z modelem uczenia z niewielką ilością przykładów jest to, że może on łatwo nadmiernie dopasować dane szkoleniowe, ponieważ często mają one wysokowymiarowe przestrzenie. Ograniczenie przestrzeni parametrów modelu rozwiązuje ten problem, a chociaż może to być osiągnięte poprzez zastosowanie technik regularyzacji i wybór odpowiednich funkcji straty, użycie algorytmu nauczyciela może dramatycznie poprawić wydajność modelu z niewielką ilością przykładów.

Model klasyfikatora uczenia z niewielką ilością przykładów (model ucznia) będzie starał się uogólniać na podstawie małej ilości danych szkoleniowych, które otrzymuje, a jego dokładność może się poprawić z modelem nauczyciela, który kieruje nim przez wysokowymiarową przestrzeń parametrów. Ta ogólna architektura jest określana jako „gradientowy” metauczony.

Cały proces szkolenia gradientowego metauczona jest następujący:

  1. Utwórz model bazowy (model nauczyciela)
  2. Szkol model bazowy na zbiorze wsparcia
  3. Pozwól modelowi bazowemu zwrócić predykcje dla zbioru zapytań
  4. Szkol metauczona (model ucznia) na stratę pochodzącą z błędu klasyfikacji

Wariacje metauczenia

Model-Agnostic Meta-learning to metoda stosowana do uzupełnienia podstawowej techniki gradientowego metauczenia, o której mówiliśmy powyżej.

Jak wspomnieliśmy powyżej, gradientowy metauczony wykorzystuje wcześniejsze doświadczenie zdobyte przez model nauczyciela, aby dostosować się i dostarczyć bardziej dokładne predykcje dla małej ilości danych szkoleniowych. Jednak rozpoczęcie od losowo zainicjowanych parametrów oznacza, że model może nadal potencjalnie nadmiernie dopasować dane. Aby uniknąć tego, „Model-agnostic” metauczony jest tworzony przez ograniczenie wpływu modelu nauczyciela/modelu bazowego. Zamiast szkolić model ucznia bezpośrednio na stratę dla predykcji wykonanych przez model nauczyciela, model ucznia jest szkolony na stratę dla własnych predykcji.

Dla każdego epizodu szkolenia modelu agnostycznego metauczenia:

  1. Utwórz kopię bieżącego modelu metauczona.
  2. Kopię szkol z pomocą modelu bazowego/modelu nauczyciela.
  3. Kopia zwraca predykcje dla danych szkoleniowych.
  4. Obliczona strata jest stosowana do aktualizacji metauczona.

Uczenie oparte na metrykach

Podejścia oparte na metrykach do projektowania modelu uczenia z niewielką ilością przykładów zwykle obejmują użycie podstawowych miar odległości w celu porównania próbek w zbiorze danych. Algorytmy uczenia opartego na metrykach, takie jak odległość kosinusowa, są stosowane do klasyfikacji próbek zapytań na podstawie ich podobieństwa do próbek wsparcia. Dla klasyfikatora obrazu oznaczałoby to po prostu klasyfikowanie obrazów na podstawie podobieństwa powierzchniowych cech. Po wybraniu zbioru wsparcia obrazów i przekształceniu go w wektor osadzania, to samo robione jest ze zbiorem zapytań, a następnie wartości dla dwóch wektorów są porównywane, a klasyfikator wybiera klasę, która ma najbliższe wartości do wektorowego zbioru zapytań.

Bardziej zaawansowane rozwiązanie oparte na metrykach to „sieć prototypowa”. Sieci prototypowe grupują punkty danych razem, łącząc modele grupowania z klasyfikacją opartą na metrykach opisaną powyżej. Jak w grupowaniu k-means, obliczane są centra klastrów dla klas w zbiorach wsparcia i zapytań. Następnie stosowana jest metryka odległości euklidesowej w celu określenia różnicy między zbiorem zapytań a centrami zbioru wsparcia, przypisując zbiór zapytań do klasy wsparcia, która jest bliżej.

Większość innych podejść do uczenia z niewielką ilością przykładów to po prostu wariacje na temat podstawowych technik opisanych powyżej.

Zastosowania uczenia z niewielką ilością przykładów

Uczenie z niewielką ilością przykładów ma zastosowania w wielu różnych subdziedzinach nauki o danych, takich jak widzenie komputerowe, przetwarzanie języka naturalnego, robotyka, opieka zdrowotna i przetwarzanie sygnałów.

Zastosowania uczenia z niewielką ilością przykładów w przestrzeni widzenia komputerowego obejmują wydajne rozpoznawanie znaków, klasyfikację obrazów, rozpoznawanie obiektów, śledzenie obiektów, predykcję ruchu i lokalizację działań. Zastosowania przetwarzania języka naturalnego dla uczenia z niewielką ilością przykładów obejmują tłumaczenie, uzupełnianie zdań, klasyfikację intencji użytkownika, analizę sentymentu i klasyfikację tekstu z wieloma etykietami. Uczenie z niewielką ilością przykładów może być stosowane w dziedzinie robotyki, aby pomóc robotom uczyć się o zadaniach z tylko kilku demonstracji, pozwalając robotom uczyć się, jak wykonywać czynności, poruszać się i nawigować w świecie wokół nich. Odkrywanie leków z niewielką ilością przykładów to pojawiająca się dziedzina sztucznej inteligencji w opiece zdrowotnej. Wreszcie, uczenie z niewielką ilością przykładów ma zastosowania w przetwarzaniu sygnałów akustycznych, które jest procesem analizy danych dźwiękowych, pozwalając systemom sztucznej inteligencji klonować głosy na podstawie tylko kilku próbek użytkownika lub konwersji głosu z jednego użytkownika na innego.

Blogger i programista ze specjalnościami w Machine Learning i Deep Learning tematy. Daniel liczy, że pomoże innym wykorzystać moc sztucznej inteligencji dla dobra społecznego.