Modele i platformy AI

SEER: Przełom w modelach samouczących się w komputerowym widzeniu

mm
Dodaj Unite.AI do preferowanych źródeł w Google
SEER Framework for Self Supervised Learning

W ciągu ostatniej dekady, sztuczna inteligencja (AI) i uczenie maszynowe (ML) zanotowały ogromny postęp. Dziś są one bardziej dokładne, wydajne i zdolne niż kiedykolwiek wcześniej. Współczesne modele AI i ML mogą bezproblemowo i dokładnie rozpoznawać obiekty na obrazach lub plikach wideo. Ponadto, mogą generować tekst i mowę, która równa się ludzkiej inteligencji.

Modele AI i ML dzisiejszych czasów opierają się w dużej mierze na treningu na danych oznaczonych, które uczą je, jak interpretować blok tekstu, identyfikować obiekty na obrazie lub klatce wideo i wiele innych zadań.

Pomimo ich możliwości, modele AI i ML nie są doskonałe, a naukowcy pracują nad budowaniem modeli, które są w stanie uczyć się z informacji, które otrzymują, a niekoniecznie polegają na danych oznaczonych lub adnotowanych. Ten podejście nazywa się uczeniem samouczącym się, a jest to jeden z najbardziej efektywnych sposobów budowania modeli ML i AI, które mają ” zdrowy rozsądek” lub wiedzę ogólną, aby rozwiązywać problemy, które są poza możliwościami modeli AI dzisiejszych czasów.

Uczenie samouczące się już wykazało swoje rezultaty w przetwarzaniu języka naturalnego, ponieważ pozwoliło deweloperom na trening dużych modeli, które mogą pracować z ogromną ilością danych i doprowadziło do wielu przełomów w dziedzinach wnioskowania językowego, tłumaczenia maszynowego i odpowiedzi na pytania.

Model SEER firmy Facebook (META ) AI ma na celu maksymalizację możliwości uczenia samouczącego się w dziedzinie komputerowego widzenia. SEER lub SElf-supERvised jest modelem samouczącym się w komputerowym widzeniu, który ma ponad miliard parametrów i jest w stanie znajdować wzorce lub uczyć się nawet z losowego zestawu obrazów znalezionych w Internecie bez właściwych adnotacji lub etykiet.

Potrzeba uczenia samouczącego się w komputerowym widzeniu

Adnotacja danych lub adnotacja danych jest etapem przetwarzania wstępnego w rozwoju modeli uczenia maszynowego i sztucznej inteligencji. Proces adnotacji danych identyfikuje surowe dane, takie jak obrazy lub klatki wideo, a następnie dodaje etykiety do danych, aby określić kontekst danych dla modelu. Te etykiety pozwalają modelowi dokonywać dokładnych predykcji na danych.

Jednym z największych przeszkód i wyzwań, z którymi spotykają się deweloperzy, pracując nad modelami komputerowego widzenia, jest znalezienie wysokiej jakości danych adnotowanych. Komputerowe widzenie modele dzisiejszych czasów opierają się na tych oznaczonych lub adnotowanych zestawach danych, aby nauczyć się rozpoznawać obiekty na obrazie.

Adnotacja danych i jej użycie w modelu komputerowego widzenia stwarza następujące wyzwania:

Zarządzanie jakością zestawu danych

Prawdopodobnie największym wyzwaniem stojącym przed deweloperami jest uzyskanie dostępu do wysokiej jakości zestawu danych w sposób ciągły, ponieważ wysokiej jakości zestaw danych z właściwymi etykietami i wyraźnymi obrazami prowadzi do lepszego uczenia się i dokładniejszych modeli. Jednak uzyskanie dostępu do wysokiej jakości zestawu danych w sposób ciągły ma swoje własne wyzwania.

Zarządzanie zasobami ludzkimi

Adnotacja danych często wiąże się z problemami zarządzania zasobami ludzkimi, głównie dlatego, że wymaga dużej liczby pracowników do przetworzenia i oznaczenia dużych ilości nieustrukturyzowanych i nieoznaczonych danych, przy jednoczesnym zapewnieniu jakości. Dlatego dla deweloperów jest niezwykle ważne, aby znaleźć równowagę między jakością a ilością w przypadku adnotacji danych.

Ograniczenia finansowe

Prawdopodobnie największym wyzwaniem jest ograniczenie finansowe, które towarzyszy procesowi adnotacji danych, a koszt adnotacji danych jest często znaczącym procentem całkowitego kosztu projektu.

Jak widać, adnotacja danych jest znaczącym wyzwaniem w rozwoju zaawansowanych modeli komputerowego widzenia, zwłaszcza w przypadku modeli, które mają do czynienia z dużą ilością danych szkoleniowych. Jest to powód, dla którego przemysł komputerowego widzenia potrzebuje uczenia samouczącego się, aby rozwijać zaawansowane i skomplikowane modele komputerowego widzenia, które są w stanie rozwiązywać zadania, które są poza możliwościami obecnych modeli.

Z drugiej strony, istnieje już wiele modeli uczenia samouczącego się, które osiągnęły dobre wyniki w kontrolowanym środowisku, a głównie na zestawie danych ImageNet. Chociaż te modele mogą dobrze radzić sobie, nie spełniają one podstawowego warunku uczenia samouczącego się w komputerowym widzeniu: uczyć się z dowolnego nieograniczonego zestawu danych lub losowego obrazu, a nie tylko z dobrze zdefiniowanego zestawu danych. Kiedy wdrożone idealnie, uczenie samouczące się może pomóc w rozwijaniu bardziej dokładnych i bardziej zdolnych modeli komputerowego widzenia, które są efektywne pod względem kosztów i wykonalne.

SEER lub SElf-supERvised Model: Wprowadzenie

Ostatnie trendy w branży AI i ML wskazują, że podejścia do pre-trenowania modeli, takie jak półsupervised, weakly-supervised i self-supervised learning, mogą znacząco poprawić wyniki dla większości modeli głębokiego uczenia się w zadaniach downstream.

Istnieją dwa kluczowe czynniki, które przyczyniły się do poprawy wyników tych modeli głębokiego uczenia się.

Pre-trenowanie na dużych zestawach danych

Pre-trenowanie na dużych zestawach danych zwykle prowadzi do lepszej dokładności i wyników, ponieważ pozwala modelowi na ekspozycję na szeroki zakres danych. Duży zestaw danych pozwala modelom lepiej zrozumieć wzorce w danych, co ostatecznie prowadzi do lepszych wyników w rzeczywistych scenariuszach.

Niektóre z najlepszych modeli, takie jak model GPT-3 i Wav2vec 2.0, są trenowane na dużych zestawach danych. Model językowy GPT-3 wykorzystuje zestaw danych pre-trenowania z ponad 300 miliardami słów, podczas gdy model Wav2vec 2.0 do rozpoznawania mowy wykorzystuje zestaw danych z ponad 53 tysiącami godzin danych audio.

Modele z dużą pojemnością

Modele z większą liczbą parametrów często dają dokładniejsze wyniki, ponieważ większa liczba parametrów pozwala modelowi na skupienie się tylko na obiektach w danych, które są niezbędne, a nie na zakłóceniach lub szumie w danych.

W przeszłości deweloperzy próbowali trenować modele uczenia samouczącego się na nieoznaczonych lub niekuratoryzowanych danych, ale z mniejszymi zestawami danych, które zawierały tylko kilka milionów obrazów. Czy modele uczenia samouczącego się mogą osiągnąć wysoką dokładność, gdy są trenowane na dużej ilości nieoznaczonych i niekuratoryzowanych danych? To jest pytanie, na które model SEER próbuje odpowiedzieć.

Model SEER jest ramą głębokiego uczenia się, która ma na celu zarejestrowanie obrazów dostępnych w Internecie, niezależnie od kuratoryzowanych lub oznaczonych zestawów danych. Ramy SEER pozwalają deweloperom na trenowanie dużych i skomplikowanych modeli ML na losowych danych bez nadzoru, tzn. model analizuje dane i uczy się wzorców lub informacji samodzielnie, bez żadnego dodatkowego wprowadzenia ręcznego.

Ostatecznym celem modelu SEER jest pomoc w rozwijaniu strategii pre-trenowania, które wykorzystują niekuratoryzowane dane do dostarczania najlepszych wyników w uczeniu transferowym. Ponadto, model SEER ma na celu tworzenie systemów, które mogą ciągle uczyć się z niekończącego się strumienia danych w sposób samouczący się.

Ramy SEER trenują modele o dużej pojemności na miliardach losowych i nieograniczonych obrazów pobranych z Internetu. Modele trenowane na tych obrazach nie polegają na metadanych obrazu ani adnotacjach, aby trenować model lub filtrować dane. W ostatnich czasach uczenie samouczące się wykazało duży potencjał jako trenowanie modeli na niekuratoryzowanych danych, co przyniosło lepsze wyniki w zadaniach downstream w porównaniu z pre-trenowanymi modelami z nadzorem.

SEER Framework i RegNet: Co łączy je?

Aby analizować model SEER, koncentruje się on na architekturze RegNet z ponad 700 milionami parametrów, co odpowiada celom SEER w zakresie uczenia samouczącego się na niekuratoryzowanych danych z dwóch powodów:

  1. Oferują idealną równowagę między wydajnością a efektywnością.
  2. Są bardzo elastyczne i mogą być skalowane w celu dostosowania do liczby parametrów.

SEER Framework: Prace poprzednie z różnych dziedzin

Ramy SEER mają na celu eksplorowanie granic trenowania dużych architektur modeli w niekuratoryzowanych lub nieoznaczonych zestawach danych przy użyciu uczenia samouczącego się, a model szuka inspiracji w pracach poprzednich w tej dziedzinie.

Pre-trenowanie nienadzorowane cech wizualnych

Uczenie samouczące się zostało już zaimplementowane w komputerowym widzeniu przy użyciu metod takich jak autoencodery, dyskryminacja na poziomie instancji lub klastering. W ostatnich czasach metody wykorzystujące uczenie kontrastowe wskazały, że pre-trenowanie modeli przy użyciu uczenia nienadzorowanego dla zadań downstream może przynieść lepsze wyniki niż podejście z nadzorem.

Głównym wnioskiem z uczenia nienadzorowanego cech wizualnych jest to, że tak długo, jak trenujesz na przefiltrowanych danych, etykiety nadzorowane nie są wymagane. Model SEER ma na celu sprawdzenie, czy model może nauczyć się dokładnych reprezentacji, gdy duże architektury modeli są trenowane na dużych ilościach niekuratoryzowanych, nieoznaczonych i losowych obrazów.

Uczenie cech wizualnych w skali

Poprzednie modele skorzystały na pre-trenowaniu modeli na dużych, oznaczonych zestawach danych przy użyciu słabego nadzoru, nadzoru i półnadzoru na milionach przefiltrowanych obrazów. Ponadto, analiza modelu wskazała, że pre-trenowanie modelu na miliardach obrazów często prowadzi do lepszej dokładności w porównaniu z trenowaniem modelu od podstaw.

Ponadto, trenowanie modelu w skali zwykle polega na krokach filtrowania danych, aby sprawić, że obrazy będą odzwierciedlać pożądane pojęcia. Te kroki filtrowania albo wykorzystują predykcje z pre-trenowanego klasyfikatora, albo wykorzystują hashtage, które są często synonimami klas ImageNet. Model SEER działa inaczej, ponieważ ma na celu uczenie cech w dowolnym losowym obrazie, a zatem dane treningowe dla modelu SEER nie są kuratoryzowane, aby dopasować się do określonego zestawu cech lub pojęć.

Skalowanie architektur dla rozpoznawania obrazów

Modele zwykle korzystają na trenowaniu dużych architektur na lepszej jakości cech wizualnych. Jest to niezwykle ważne przy pre-trenowaniu na dużym zestawie danych, ponieważ model o ograniczonej pojemności często niedouczy. Ma to jeszcze większe znaczenie, gdy pre-trenowanie jest wykonywane wraz z uczeniem kontrastowym, ponieważ w takich przypadkach model musi nauczyć się, jak rozróżniać instancje zestawu danych, aby nauczyć się lepszych reprezentacji wizualnych.

Jednak dla rozpoznawania obrazów, skalowanie architektury wymaga o wiele więcej niż tylko zmiana głębokości i szerokości modelu, a zbudowanie skalowalnego modelu o wyższej pojemności wymaga poświęcenia dużej ilości literatury. Model SEER pokazuje korzyści z wykorzystania rodziny modeli RegNets do wdrożenia uczenia samouczącego się w skali.

SEER: Metody i komponenty

Ramy SEER wykorzystują różne metody i komponenty do pre-trenowania modelu w celu nauczenia reprezentacji wizualnych. Niektóre z głównych metod i komponentów wykorzystywanych przez ramy SEER to: RegNet i SwAV. Omówimy te metody i komponenty w ramach SEER.

Uczenie samouczące się z pre-trenowaniem z SwAV

Ramy SEER są pre-trenowane z SwAV, który jest podejściem do uczenia samouczącego się online. SwAV jest metodą klasterowania online, która jest wykorzystywana do trenowania ram convnet bez adnotacji. Ramy SwAV działają poprzez trenowanie osadzania, które produkuje przypisania klasterów w sposób ciągły między różnymi widokami tego samego obrazu. System następnie uczy reprezentacji semantycznych poprzez wydobycie klasterów, które są niezależne od augmentacji danych.

W praktyce ramy SwAV porównują cechy różnych widoków obrazu, wykorzystując ich niezależne przypisania klasterów. Jeśli te przypisania przechwytują te same lub podobne cechy, jest możliwe przewidzenie przypisania jednego obrazu, wykorzystując reprezentację cech innego widoku.

Model SEER rozważa zestaw K klasterów, a każdy z nich jest skojarzony z nauczalnym d-wymiarowym wektorem vk. Dla partii B obrazów, każdy obraz i jest przekształcany w dwa różne widoki: xi1 , i xi2. Widoki są następnie featuryzowane za pomocą convnet, co prowadzi do dwóch zestawów cech: (f11, …, fB2), i (f12, … , fB2). Każdy zestaw cech jest następnie przypisany niezależnie do prototypów klasterów za pomocą rozwiązania transportu optymalnego.

Rozwiązanie transportu optymalnego zapewnia, że cechy są podzielone równomiernie na klastry, co pomaga uniknąć trywialnych rozwiązań, w których wszystkie reprezentacje są mapowane na jeden prototyp. Wynikające przypisanie jest następnie zamieniane między dwiema zestawami: przypisanie klasterów yi1 widoku xi1 musi być przewidziane za pomocą reprezentacji cech xi2 widoku xi2, i odwrotnie.

Wagi prototypów i convnet są następnie trenowane w celu minimalizacji straty dla wszystkich przykładów. Strata przypisania klasterów l jest podstawowo entropią krzyżową między softmaxem iloczynu f a przypisaniem klasterów.

RegNetY: Rodzina modeli wydajnych w skali

Skalowanie pojemności modelu i danych wymaga architektur, które są efektywne nie tylko pod względem pamięci, ale także pod względem czasu wykonywania i RegNets jest rodziną modeli zaprojektowanych specjalnie do tego celu.

Rodzina architektur RegNet jest zdefiniowana przez przestrzeń projektową convnetów z 4 etapami, z których każdy etap zawiera serię identycznych bloków, przy zachowaniu struktury ich bloku, głównie bloku bottleneck z resztą.

Ramy SEER koncentrują się na architekturze RegNetY i dodają Squeeze-and-Excitation do standardowej architektury RegNets w celu poprawy ich wyników. Ponadto, model RegNetY ma 5 parametrów, które pomagają w wyszukiwaniu dobrych instancji z ustaloną liczbą FLOPs, które zużywają rozsądne zasoby. Model SEER ma na celu poprawę swoich wyników poprzez wdrożenie architektury RegNetY bezpośrednio na swoim zadaniu pre-trenowania samouczącego się.

Architektura RegNetY 256GF: Model SEER koncentruje się głównie na architekturze RegNetY 256GF w rodzinie RegNetY, a jego parametry wykorzystują regułę skalowania architektury RegNets. Parametry są opisane poniżej.

Architektura RegNetY 256GF ma 4 etapy z szerokościami etapów (528, 1056, 2904, 7392) i głębokościami etapów (2,7,17,1), co daje ponad 696 milionów parametrów. Podczas trenowania na 512 GPU V100 32GB NVIDIA (NVDA ), każda iteracja trwa około 6125 ms dla partii 8 704 obrazów. Trenowanie modelu na zestawie danych z ponad miliardem obrazów, z partią 8 704 obrazów na ponad 512 GPU, wymaga 114 890 iteracji, a trenowanie trwa około 8 dni.

Optymalizacja i trenowanie w skali

Model SEER proponuje kilka dostosowań, aby trenować metody samouczące się i dostosować te metody do dużej skali. Te metody to:

  1. Harmonogram stopy uczenia.
  2. Zmniejszanie zużycia pamięci na GPU.
  3. Optymalizacja szybkości trenowania.
  4. Pre-trenowanie danych na dużej skali.

Harmonogram stopy uczenia

Model SEER bada możliwość użycia dwóch harmonogramów stopy uczenia: harmonogram stopy uczenia w kształcie fali kosinusoidalnej i harmonogram stopy uczenia stałej.

Harmonogram stopy uczenia w kształcie fali kosinusoidalnej jest używany do porównywania różnych modeli w sposób uczciwy, ponieważ dostosowuje się do liczby aktualizacji. Jednak harmonogram stopy uczenia w kształcie fali kosinusoidalnej nie dostosowuje się do trenowania na dużej skali, głównie dlatego, że waży obrazy inaczej w zależności od tego, kiedy są one widziane podczas trenowania, i używa pełnych aktualizacji do planowania.

Harmonogram stopy uczenia stałej utrzymuje stopę uczenia na stałym poziomie, aż do momentu, gdy strata nie jest malejąca, a następnie stopa uczenia jest dzielona przez 2. Analiza pokazuje, że harmonogram stopy uczenia stałej działa lepiej, ponieważ pozwala na większą elastyczność w trenowaniu. Jednak ponieważ model trenuje tylko na 1 miliardzie obrazów, używa harmonogramu stopy uczenia w kształcie fali kosinusoidalnej do trenowania swojego największego modelu, RegNet 256GF.

Zmniejszanie zużycia pamięci na GPU

Model również ma na celu zmniejszenie ilości GPU potrzebnej podczas okresu trenowania, wykorzystując mieszane precyzje i checkpointing. Model wykorzystuje bibliotekę NVIDIA Apex Library poziomu optymalizacji O1, aby wykonywać operacje takie jak konwolucje i GEMMs w precyzji 16-bitowej. Model również wykorzystuje implementację checkpointingu gradientu PyTorch, która wymienia obliczenia na pamięć.

Ponadto, model również odrzuca wszelkie pośrednie aktywacje utworzone podczas przodu, a podczas tyłu, ponownie oblicza te aktywacje.

Optymalizacja szybkości trenowania

Używanie mieszanej precyzji do optymalizacji zużycia pamięci ma dodatkowe korzyści, ponieważ przyspieszacze korzystają z mniejszego rozmiaru FP16 w porównaniu z FP32. Pomaga to w przyspieszeniu okresu trenowania, poprawiając wąskie gardło pamięci.

Model SEER również synchronizuje warstwę BatchNorm na GPU, tworząc grupy procesów zamiast korzystania z synchronizacji globalnej, co zwykle zajmuje więcej czasu. Wreszcie, loader danych używany w modelu SEER wstępnie pobiera więcej partii treningowych, co prowadzi do większej ilości danych, które są przetwarzane w porównaniu z loaderem danych PyTorch.

Pre-trenowanie danych na dużej skali

Model SEER wykorzystuje ponad miliard obrazów podczas pre-trenowania i rozważa loader danych, który pobiera losowo obrazy bezpośrednio z Internetu i Instagrama. Ponieważ model SEER trenuje te obrazy w środowisku i online, nie stosuje żadnej pre-procesji tych obrazów, ani nie kuratoryzuje ich za pomocą procesów takich jak de-duplikacja lub filtrowanie hashtagów.

Warto zauważyć, że zestaw danych nie jest statyczny, a obrazy w zestawie danych są odświeżane co trzy miesiące. Jednak odświeżanie zestawu danych nie wpływa na wyniki modelu.

Wdrożenie modelu SEER

Model SEER pre-trenuje RegNetY 256GF z SwAV, wykorzystując sześć cropów na obraz, z każdym obrazem o rozdzielczości 2×224 + 4×96. Podczas fazy pre-trenowania model wykorzystuje trójwarstwowy MLP lub wielowarstwowy perceptron z głowicami projekcyjnymi o wymiarach 10444×8192, 8192×8192 i 8192×256.

Zamiast używać warstw BatchNorm w głowicy, model SEER wykorzystuje 16 tysięcy prototypów z temperaturą t ustawioną na 0,1. Parametr regularizacji Sinkhorn jest ustawiony na 0,05, a algorytm jest wykonywany przez 10 iteracji. Model dalej synchronizuje statystyki BatchNorm na GPU i tworzy wiele grup procesów o rozmiarze 64 do synchronizacji.

Ponadto, model wykorzystuje optymizator LARS lub Layer-wise Adaptive Rate Scaling, wygaszanie wag o wartości 10-5, checkpointing aktywacji i optymalizację mieszanej precyzji O1. Model jest następnie trenowany z gradientem stochastycznym, wykorzystując partię 8192 losowych obrazów, rozłożoną na 512 GPU NVIDIA, co daje 16 obrazów na GPU.

Stopa uczenia jest liniowo zwiększana z 0,15 do 9,6 w ciągu pierwszych 8 tysięcy aktualizacji treningowych. Po rozgrzewce model podąża za harmonogramem stopy uczenia w kształcie fali kosinusoidalnej, który maleje do wartości końcowej 0,0096. Ogólnie, model SEER trenuje ponad miliard obrazów przez 122 tysiące iteracji.

Wyniki ramy SEER

Jakość cech wygenerowanych przez podejście pre-trenowania samouczącego się jest badana i analizowana na różnych benchmarkach i zadaniach downstream. Model również rozważa ustawienie o małej liczbie strzałów, które daje ograniczony dostęp do obrazów i ich etykiet do zadań downstream.

Dokształcanie dużych pre-trenowanych modeli

Mierzy jakość modeli pre-trenowanych na losowych danych, przenosząc je na benchmark ImageNet do klasyfikacji obiektów. Wyniki dokształcania dużych pre-trenowanych modeli są określone na podstawie następujących parametrów.

Ustawienia eksperymentalne

Model pre-trenuje 6 architektur RegNet o różnych pojemnościach, a mianowicie RegNetY- {8,16,32,64,128,256}GF, na ponad 1 miliard losowych i publicznych obrazów Instagram z SwAV. Modele są następnie dokształcane w celu klasyfikacji obrazów na ImageNet, który wykorzystuje ponad 1,28 miliona standardowych obrazów treningowych z właściwymi etykietami i ma standardowy zestaw walidacyjny z ponad 50 tysiącami obrazów do oceny.

Model następnie stosuje te same techniki augmentacji danych, co w SwAV, i dokształca przez 35 epok z optymizatorem SGD lub stochastycznym gradientem ze stopą uczenia 0,0125, która jest zmniejszana o czynnik 10 po 30 epokach, z pędem 0,9 i wygaszaniem wag 10-4. Model raportuje dokładność top-1 na zestawie walidacyjnym, wykorzystując centralny crop 224×224.

Porównanie z innymi podejściami pre-trenowania samouczącego się

W poniższej tabeli największy pre-trenowany model w RegNetY-256GF jest porównywany z istniejącymi pre-trenowanymi modelami, które wykorzystują podejście uczenia samouczącego się.

Jak widać, model SEER zwraca dokładność top-1 na poziomie 84,2% na ImageNet i przewyższa SimCLRv2, najlepszy istniejący pre-trenowany model o 1%.

Wpływ pojemności modelu

Pojemność modelu ma znaczący wpływ na wyniki pre-trenowania, a poniższy rysunek porównuje ją z wpływem podczas trenowania od podstaw.

Można wyraźnie zobaczyć, że wynik dokładności top-1 pre-trenowanych modeli jest wyższy niż modeli trenowanych od podstaw, a różnica staje się coraz większa wraz ze wzrostem liczby parametrów. Jest to również widoczne, że chociaż pojemność modelu korzystnie wpływa na oba pre-trenowane i trenowane od podstaw modele, wpływ jest większy na pre-trenowanych modelach przy dużej liczbie parametrów.

Uczenie o małej liczbie strzałów

Uczenie o małej liczbie strzałów odnosi się do oceny wyników modelu SEER w ustawieniu o małej liczbie strzałów, tj. przy użyciu tylko ułamka całkowitego zestawu danych podczas wykonywania zadań downstream.

Ustawienia eksperymentalne

Ramy SEER wykorzystują dwa zestawy danych do uczenia o małej liczbie strzałów, a mianowicie Places205 i ImageNet. Ponadto, model zakłada ograniczony dostęp do zestawu danych podczas transferu uczenia, zarówno pod względem obrazów, jak i ich etykiet. To ustawienie o małej liczbie strzałów jest inne niż ustawienie domyślne używane do uczenia samouczącego się, w którym model ma dostęp do całego zestawu danych, a dostęp do etykiet obrazu jest ograniczony.

Wyniki na zestawie Places205

Poniższy rysunek pokazuje wpływ pre-trenowania modelu na różne części zestawu Places205.

Podejście jest porównywane z pre-trenowaniem modelu na zestawie ImageNet pod nadzorem z tą samą architekturą RegNetY-128 GF. Wyniki porównania są zaskakujące, ponieważ można zobaczyć, że istnieje stabilny zysk około 2,5% w dokładności top-1, niezależnie od części zestawu treningowego dostępnego do dokształcania na zestawie Places205.

Wyniki na ImageNet

Tabela powyżej porównuje podejście modelu SEER z podejściami samouczącymi się i półnadzorowanymi na uczeniu o małej liczbie strzałów. Warto zauważyć, że wszystkie te metody wykorzystują cały zestaw danych ImageNet do pre-trenowania i ograniczają tylko dostęp do etykiet. Z drugiej strony, podejście używane w modelu SEER pozwala mu zobaczyć tylko 1 do 10% zestawu danych.

Jak widać, chociaż sieci widziały więcej obrazów z tego samego rozkładu podczas pre-trenowania, to korzystnie wpływa na te podejścia. Ale co jest imponujące, to fakt, że nawet jeśli model SEER widzi tylko 1 do 10% zestawu danych ImageNet, jest w stanie osiągnąć dokładność top-1 na poziomie około 80%, co jest tylko nieco gorsze od dokładności podejść omówionych w powyższej tabeli.

Wpływ pojemności modelu

Rysunek poniżej omawia wpływ pojemności modelu na uczenie o małej liczbie strzałów: przy 1%, 10% i 100% zestawu danych ImageNet.

Można zobaczyć, że zwiększanie pojemności modelu może poprawić dokładność modelu, gdy dostęp do obrazów i etykiet jest ograniczony.

Przeniesienie na inne benchmarki

Aby dalej ocenić model SEER i przeanalizować jego wyniki, pre-trenowane cechy są przenoszone na inne zadania downstream.

Ocena liniowa klasyfikacji obrazów

Tabela powyżej porównuje cechy z pre-trenowanego RegNetY-256GF i RegNetY128-GF pre-trenowanego na zestawie ImageNet z tą samą architekturą z i bez nadzoru. Aby ocenić jakość cech, model zamyka wagi i wykorzystuje liniowy klasyfikator na górze cech, wykorzystując zestaw treningowy do zadań downstream. Następujące benchmarki są brane pod uwagę w tym procesie: Open-Images (OpIm), iNaturalist (iNat), Places205 (Places) i Pascal VOC (VOC).

Wykrywanie i segmentacja

Rysunek poniżej porównuje pre-trenowane cechy na wykrywanie i segmentację, a także ocenia je.

Ramy SEER trenują model Mask-RCNN na benchmarku COCO z pre-trenowanymi RegNetY-64GF i RegNetY-128GF jako bloki budulcowe. Dla obu architektur, a także zadań downstream, podejście SEER do pre-trenowania samouczącego się przewyższa trenowanie nadzorowane o 1,5 do 2 punktów AP.

Porównanie z pre-trenowaniem słabym

Większość obrazów dostępnych w Internecie ma zwykle opis meta lub tekst alternatywny, opisy lub geolokalizację, które mogą zapewnić przewagę podczas pre-trenowania. Poprzednie prace wskazały, że przewidywanie kuratoryzowanego lub oznaczonego zestawu hashtagów może poprawić jakość przewidywanych cech wizualnych. Jednak ten podejście wymaga filtrowania obrazów i działa najlepiej tylko wtedy, gdy dostępny jest tekstowy metadata.

Rysunek poniżej porównuje pre-trenowanie architektury ResNetXt101-32dx8d na losowych obrazach z tą samą architekturą, trenowaną na oznaczonych obrazach z hashtagami i metadanych, i raportuje dokładność top-1 dla obu.

Można zobaczyć, że chociaż ramy SEER nie wykorzystują metadanych podczas pre-trenowania, ich dokładność jest porównywalna z modelami, które wykorzystują metadane do pre-trenowania.

Studia ablacjne

Studium ablacjne jest przeprowadzane w celu analizy wpływu określonego komponentu na ogólną wydajność modelu. Studium ablacjne jest wykonywane przez usunięcie komponentu z modelu i zrozumienie, jak model działa. Daje to deweloperom krótkie spojrzenie na wpływ tego komponentu na wyniki modelu.

Wpływ architektury modelu

Architektura modelu ma znaczący wpływ na wyniki modelu, zwłaszcza gdy model jest skalowany lub gdy specyfikacje danych pre-trenowania są modyfikowane.

Poniższy rysunek omawia wpływ zmiany architektury na jakość pre-trenowanych cech, ocenianych liniowo na zestawie ImageNet. Pre-trenowane cechy mogą być bezpośrednio zbadane w tym przypadku, ponieważ ocena nie faworyzuje modelu, który zwraca wysoką dokładność, gdy jest trenowany od podstaw na zestawie ImageNet.

Można zobaczyć, że dla architektur ResNeXts i ResNet cechy uzyskane z warstwy przedostatniej działają lepiej z bieżącymi ustawieniami. Z drugiej strony, architektura RegNet przewyższa inne architektury.

Ogólnie można stwierdzić, że zwiększanie pojemności modelu ma pozytywny wpływ na jakość cech, a istnieje logarytmiczny zysk w wynikach modelu.

Skalowanie danych pre-trenowania

Istnieją dwa główne powody, dla których trenowanie modelu na większym zestawie danych może poprawić ogólną jakość cech wizualnych, które model uczy się: więcej unikalnych obrazów i więcej parametrów. Zobaczmy, jak te powody wpływają na wyniki modelu.

Zwiększanie liczby unikalnych obrazów

Poniższy rysunek porównuje dwie różne architektury, RegNet8 i RegNet16, które mają tę samą liczbę parametrów, ale są trenowane na różnej liczbie unikalnych obrazów. Ramy SEER trenują modele przez aktualizacje odpowiadające 1 epoce dla miliarda obrazów lub 32 epoki dla 32 unikalnych obrazów, z jedną półfalą kosinusoidalną harmonogramu stopy uczenia.

Można zobaczyć, że aby model mógł działać dobrze, liczba unikalnych obrazów wprowadzanych do modelu powinna być idealnie większa. W tym przypadku model działa dobrze, gdy jest wprowadzany unikalne obrazy większe niż obrazy w zestawie ImageNet.

Więcej parametrów

Rysunek poniżej wskazuje wyniki modelu, gdy jest trenowany na miliardzie obrazów, wykorzystując architekturę RegNet-128GF. Można zobaczyć, że wyniki modelu są stale poprawiane, gdy zwiększana jest liczba parametrów.

Uczenie samouczące się w komputerowym widzeniu w świecie rzeczywistym

Do tej pory omawialiśmy, jak uczenie samouczące się i model SEER dla komputerowego widzenia działa w teorii. Teraz zobaczmy, jak uczenie samouczące się w komputerowym widzeniu działa w rzeczywistych scenariuszach i dlaczego SEER jest przyszłością uczenia samouczącego się w komputerowym widzeniu.

Model SEER rywalizuje z pracą wykonaną w przetwarzaniu języka naturalnego, gdzie modele o wysokiej jakości wykorzystują tryliony danych i parametrów, połączonych z trylionami słów tekstu podczas pre-trenowania modelu. Wyniki na zadaniach downstream zwykle zwiększają się wraz ze wzrostem liczby danych wejściowych do trenowania modelu, a to samo dotyczy zadań komputerowego widzenia.

Ale wykorzystanie podejść samouczących się do przetwarzania języka naturalnego różni się od wykorzystania podejść samouczących się do komputerowego widzenia. Jest to spowodowane tym, że przy pracy z tekstami, pojęcia semantyczne są zwykle rozdzielane na dyskretne słowa, ale przy pracy z obrazami, model musi zdecydować, który piksel należy do którego pojęcia.

Ponadto, różne obrazy mają różne widoki, a nawet jeśli wiele obrazów ma ten sam obiekt, pojęcie może się znacznie różnić. Na przykład, rozważmy zestaw danych z obrazami kota. Chociaż główny obiekt, kot, jest wspólny dla wszystkich obrazów, pojęcie może się znacznie różnić, ponieważ kot może stać nieruchomo na jednym obrazie, a na innym może bawić się piłką, itd. Ponieważ obrazy często mają różne pojęcia, jest niezwykle ważne, aby model mógł zobaczyć znaczną ilość obrazów, aby zrozumieć różnice wokół tego samego pojęcia.

Skalowanie modelu w sposób udany, aby mógł on działać efektywnie z wysokowymiarowymi i złożonymi danymi obrazowymi, wymaga dwóch komponentów:

  1. Sieci neuronowej lub CNN, która jest wystarczająco duża, aby nauczyć się pojęć wizualnych z bardzo dużego zestawu danych obrazów.
  2. Algorytm, który może nauczyć wzorce z dużej ilości obrazów bez etykiet, adnotacji lub metadanych.

Model SEER ma na celu zastosowanie powyższych komponentów do dziedziny komputerowego widzenia. Model SEER ma na celu wykorzystanie postępów dokonanych przez SwAV, ramę uczenia samouczącego się, która wykorzystuje klasterowanie online, aby pogrupować lub sparować obrazy z równoległymi pojęciami wizualnymi, i wykorzystać te podobieństwa, aby lepiej zidentyfikować wzorce.

Z architekturą SwAV, model SEER jest w stanie uczynić wykorzystanie uczenia samouczącego się w komputerowym widzeniu znacznie bardziej efektywnym i zmniejszyć czas trenowania o 6 razy.

Ponadto, trenowanie modeli w skali, w tym skali, ponad 1 miliard obrazów, wymaga architektury modelu, która jest efektywna nie tylko pod względem czasu wykonywania i pamięci, ale także pod względem dokładności. To jest miejsce, w którym modele RegNets wchodzą w grę, ponieważ są to modele ConvNets, które mogą skalować tryliony parametrów i mogą być optymalizowane zgodnie z potrzebami, aby spełnić ograniczenia pamięci i czasu wykonywania.

Podsumowanie: Przyszłość samoucząca się

Uczenie samouczące się było głównym tematem dyskusji w branży AI i ML przez jakiś czas, ponieważ pozwala modelom AI nauczyć się informacji bezpośrednio z dużej ilości danych dostępnych losowo w Internecie, zamiast polegać na starannie kuratoryzowanych i oznaczonych zestawach danych, których jedynym celem jest trenowanie modeli AI.

Uczenie samouczące się jest kluczowym pojęciem dla przyszłości AI i ML, ponieważ ma potencjał pozwolić deweloperom tworzyć modele AI, które dobrze adaptują się do rzeczywistych scenariuszy i mają wiele zastosowań, a nie tylko jeden konkretny cel, a SEER jest kamieniem milowym we wdrożeniu uczenia samouczącego się w przemyśle komputerowego widzenia.

Model SEER robi pierwszy krok w transformacji przemysłu komputerowego widzenia i zmniejszaniu naszej zależności od oznaczonych zestawów danych. Model SEER ma na celu wyeliminowanie potrzeby adnotowania zestawu danych, co pozwoli deweloperom pracować z różnorodnymi i dużymi ilościami danych. Wdrożenie modelu SEER jest szczególnie przydatne dla deweloperów pracujących nad modelami, które dotyczą obszarów o ograniczonych obrazach lub metadanych, takich jak przemysł medyczny.

Ponadto, wyeliminowanie adnotacji ludzkich pozwoli deweloperom na rozwój i wdrożenie modelu szybciej, co pozwoli im reagować na szybko ewoluujące sytuacje szybciej i z większą dokładnością.

"Inżynier z zawodu, pisarz z serca". Kunal jest technicznym pisarzem z głęboką miłością i zrozumieniem AI i ML, poświęconym uproszczeniu złożonych pojęć w tych dziedzinach poprzez swoje angażujące i informacyjne dokumentacje.