Modele și platforme AI

SEER: O Breakthrough în Modelele de Viziune Computațională Auto-Supervizate?

mm
Adaugă Unite.AI la sursele tale preferate pe Google
SEER Framework for Self Supervised Learning

În ultimul deceniu, Inteligența Artificială (IA) și Învățarea Automată (IA) au cunoscut progrese uriașe. Astăzi, acestea sunt mai precise, eficiente și capabile decât oricând. Modelele moderne de IA și IA pot recunoaște cu ușurință și precis obiectele din imagini sau fișiere video. În plus, acestea pot genera text și vorbire care se apropie de inteligența umană.

Modelele de IA și IA de astăzi se bazează puternic pe antrenarea pe seturi de date etichetate care le învață cum să interpreteze un bloc de text, să identifice obiecte într-o imagine sau cadru video și multe alte sarcini. 

În ciuda capacităților lor, modelele de IA și IA nu sunt perfecte, iar oamenii de știință lucrează la construirea unor modele care pot învăța din informațiile pe care le primesc, fără a se baza neapărat pe date etichetate sau annotate. Această abordare se numește învățare auto-supervizată, și este una dintre cele mai eficiente metode de a construi modele de IA și IA care au “simțul comun” sau cunoștințe de fond pentru a rezolva probleme care sunt dincolo de capacitățile modelelor de IA de astăzi. 

Învățarea auto-supervizată a arătat deja rezultate în Procesarea Limbajului Natural, deoarece a permis dezvoltatorilor să antreneze modele mari care pot lucra cu o cantitate enormă de date și a condus la numeroase descoperiri în domeniile inferenței limbajului natural, traducerii automate și răspunsului la întrebări. 

Modelul SEER de la Facebook (META ) AI își propune să maximizeze capacitățile învățării auto-supervizate în domeniul viziunii computaționale. SEER sau SElf SupERvised este un model de învățare auto-supervizată de viziune computațională care are peste un miliard de parametri și este capabil să găsească modele sau să învețe chiar și dintr-un grup aleatoriu de imagini găsite pe internet, fără etichete sau annotări corespunzătoare. 

Nevoia de Învățare Auto-Supervizată în Viziunea Computațională

Annotarea datelor sau etichetarea datelor este o etapă de preprocesare în dezvoltarea modelelor de învățare automată și inteligență artificială. Procesul de annotare a datelor identifică datele brute, cum ar fi imagini sau cadre video, și apoi adaugă etichete pe date pentru a specifica contextul datelor pentru model. Aceste etichete permit modelului să facă predicții precise asupra datelor. 

Una dintre cele mai mari provocări și obstacole pe care le întâmpină dezvoltatorii atunci când lucrează la modele de viziune computațională este găsirea unor date annotate de calitate ridicată. Modelele de viziune computațională de astăzi se bazează pe aceste seturi de date etichetate pentru a învăța modelele care le permit să recunoască obiecte în imagine. 

Annotarea datelor și utilizarea acestora în modelul de viziune computațională ridică următoarele provocări:

Administrarea Calității Setului de Date

Probabil cea mai mare provocare cu care se confruntă dezvoltatorii este obținerea unui set de date de calitate ridicată în mod constant, deoarece un set de date de calitate ridicată cu etichete și imagini clare conduce la modele mai bune și mai precise. Cu toate acestea, obținerea unui set de date de calitate ridicată în mod constant are propriile sale provocări. 

Managementul Forței de Muncă

Etichetarea datelor adesea vine cu probleme de management al forței de muncă, în principal pentru că este necesar un număr mare de lucrători pentru a procesa și eticheta cantități mari de date nestructurate și neetichetate, asigurând în același timp calitatea. Prin urmare, este esențial pentru dezvoltatori să găsească un echilibru între calitate și cantitate atunci când vine vorba de etichetarea datelor. 

Restricții Financiare

Probabil cea mai mare provocare este reprezentată de restricțiile financiare care însoțesc procesul de etichetare a datelor, iar adesea costul etichetării datelor este o parte semnificativă a costului total al proiectului. 

Așa cum se poate vedea, annotarea datelor este o provocare majoră în dezvoltarea unor modele avansate de viziune computațională, în special atunci când vine vorba de dezvoltarea unor modele complexe care necesită o cantitate mare de date de antrenare. Este motivul pentru care industria viziunii computaționale are nevoie de învățare auto-supervizată pentru a dezvolta modele complexe și avansate de viziune computațională care pot aborda sarcini care sunt dincolo de capacitățile modelelor de IA de astăzi. 

Cu toate acestea, există deja multe modele de învățare auto-supervizată care au performant bine într-un mediu controlat, și în principal pe setul de date ImageNet. Deși aceste modele ar putea face o treabă bună, ele nu îndeplinesc condiția principală a învățării auto-supervizate în viziunea computațională: învățarea din orice set de date nelimitat sau imagine aleatorie, și nu doar dintr-un set de date bine definit. Atunci când este implementată ideal, învățarea auto-supervizată poate ajuta la dezvoltarea unor modele de viziune computațională mai precise și mai capabile care sunt eficiente din punct de vedere al costurilor și viabile. 

SEER sau SElf-supERvised Model: O Introducere

Tendințele recente din industria IA și ML au indicat că abordările de pre-antrenare a modelului, cum ar fi semi-supervizarea, slaba supervizare și învățarea auto-supervizată, pot îmbunătăți semnificativ performanța pentru majoritatea modelelor de învățare profundă pentru sarcinile downstream. 

Există două factori cheie care au contribuit masiv la creșterea performanței acestor modele de învățare profundă.

Pre-antrenarea pe Seturi de Date Masive

Pre-antrenarea pe seturi de date masive conduce, de obicei, la o mai bună precizie și performanță, deoarece expune modelul la o varietate largă de date. Un set de date mare permite modelului să înțeleagă modelele din date mai bine și, în final, conduce la o performanță mai bună a modelului în scenarii reale. 

Unele dintre cele mai bune modele, cum ar fi modelul de limbaj GPT-3 și modelul Wav2vec 2.0, sunt antrenate pe seturi de date masive. Modelul de limbaj GPT-3 utilizează un set de date de pre-antrenare cu peste 300 de miliarde de cuvinte, în timp ce modelul Wav2vec 2.0 pentru recunoașterea vorbirii utilizează un set de date cu peste 53 de mii de ore de date audio

Modele cu Capacitate Masivă

Modelele cu un număr mai mare de parametri adesea conduc la rezultate precise, deoarece un număr mai mare de parametri permite modelului să se concentreze doar pe obiectele din date care sunt necesare, și nu pe interferența sau zgomotul din date. 

Dezvoltatorii au făcut încercări în trecut de a antrena modele de învățare auto-supervizată pe date neetichetate și necurate, dar cu seturi de date mai mici care conțineau doar câteva milioane de imagini. Dar pot modelele de învățare auto-supervizată să conducă la o precizie ridicată atunci când sunt antrenate pe o cantitate mare de date neetichetate și necurate? Este exact întrebarea la care modelul SEER își propune să răspundă. 

Modelul SEER este un cadru de învățare profundă care își propune să înregistreze imagini disponibile pe internet, independent de seturi de date curate sau etichetate. Cadru SEER permite dezvoltatorilor să antreneze modele de IA și ML mari și complexe pe date aleatorii, fără supraveghere, adică modelul analizează datele și învață modelele sau informațiile pe cont propriu, fără niciun input manual suplimentar. 

Scopul final al modelului SEER este de a ajuta la dezvoltarea strategiilor pentru procesul de pre-antrenare care utilizează date necurate pentru a oferi o performanță de top în învățarea transferului. În plus, modelul SEER își propune să creeze sisteme care pot învăța continuu dintr-un flux nesfârșit de date într-un mod auto-supervizat

Cadru SEER antrenează modele de înaltă capacitate pe miliarde de imagini aleatorii și necurate extrase de pe internet. Modelele antrenate pe aceste imagini nu se bazează pe metadatele imaginilor sau pe etichetele pentru a antrena modelul, sau pentru a filtra datele. În ultima vreme, învățarea auto-supervizată a arătat un potențial ridicat, deoarece antrenarea modelelor pe date necurate a condus la rezultate mai bune atunci când s-a comparat cu modelele pre-antrenate supervizate pentru sarcinile downstream. 

Cadru SEER și RegNet: Care este Conexiunea?

Pentru a analiza modelul SEER, se axează pe arhitectura RegNet cu peste 700 de milioane de parametri, care se aliniază cu obiectivul învățării auto-supervizate a SEER pe date necurate, din două motive principale:

  1. Oferta unui echilibru perfect între performanță și eficiență. 
  2. Sunt foarte flexibile și pot fi utilizate pentru a scala pentru un număr de parametri. 

Cadru SEER: Lucrări Anterioare din Diferite Domenii

Cadru SEER își propune să exploreze limitele antrenării arhitecturilor de modele mari în seturi de date necurate sau neetichetate, utilizând învățarea auto-supervizată, și modelul caută inspirație din lucrările anterioare în domeniu. 

Pre-antrenarea Nesupervizată a Caracteristicilor Vizuale

Învățarea auto-supervizată a fost implementată în viziunea computațională de ceva timp, cu metode care utilizează autoencoder, discriminare la nivel de instanță sau clustering. În ultima vreme, metodele care utilizează învățarea contrastivă au indicat că pre-antrenarea modelelor utilizând învățarea nesupervizată pentru sarcinile downstream poate performa mai bine decât o abordare supervizată. 

Principala concluzie din învățarea nesupervizată a caracteristicilor vizuale este că atâta timp cât se antrenează pe date filtrate, etichetele supervizate nu sunt necesare. Modelul SEER își propune să exploreze dacă modelul poate învăța reprezentări precise atunci când arhitecturi de modele mari sunt antrenate pe o cantitate mare de imagini necurate, neetichetate și aleatorii. 

Învățarea Caracteristicilor Vizuale la Scară

Modelele anterioare au beneficiat de pre-antrenarea pe seturi de date mari, etichetate, utilizând învățarea slab supervizată, învățarea supervizată și semi-supervizată pe milioane de imagini filtrate. În plus, analiza modelului a indicat, de asemenea, că pre-antrenarea modelului pe miliarde de imagini adesea conduce la o precizie mai bună atunci când este comparată cu antrenarea modelului de la zero. 

În plus, antrenarea modelului la scară mare adesea se bazează pe pași de filtrare a datelor pentru a face ca imaginile să corespundă conceptelor țintă. Acești pași de filtrare fie utilizează predicțiile unui clasificator pre-antrenat, fie utilizează hashtag-uri care sunt adesea sinapse ale claselor ImageNet. Modelul SEER funcționează diferit, deoarece își propune să învețe caracteristici în orice imagine aleatorie și, prin urmare, datele de antrenare pentru modelul SEER nu sunt curate pentru a corespunde unui set predefinit de caracteristici sau concepte. 

Scala Arhitecturilor pentru Recunoașterea de Imagini

Modelele adesea beneficiază de antrenarea arhitecturilor mari pe caracteristici vizuale de calitate mai bună. Este esențial să se antreneze arhitecturi mari atunci când se face pre-antrenarea pe un set de date mare, deoarece un model cu o capacitate limitată va adesea subantrena. Acest lucru este și mai important atunci când se face pre-antrenarea împreună cu învățarea contrastivă, deoarece, în astfel de cazuri, modelul trebuie să învețe cum să discrimineze între instanțele setului de date, astfel încât să poată învăța reprezentări vizuale mai bune. 

Cu toate acestea, pentru recunoașterea de imagini, scalarea arhitecturii implică mult mai mult decât doar schimbarea adâncimii și lățimii modelului, și pentru a construi un model eficient la scară, cu o capacitate mai mare, este necesară o literatură dedicată. Modelul SEER arată beneficiile utilizării familiei de modele RegNets pentru implementarea învățării auto-supervizate la scară largă. 

SEER: Metode și Componente Utilizate

Cadru SEER utilizează o varietate de metode și componente pentru a pre-antrena modelul și a învăța reprezentări vizuale. Unele dintre principalele metode și componente utilizate de cadru SEER sunt: RegNet și SwAV. Să discutăm pe scurt metodele și componentele utilizate în cadru SEER. 

Pre-antrenarea Auto-Supervizată cu SwAV

Cadru SEER este pre-antrenat cu SwAV, o abordare de învățare auto-supervizată online. SwAV este o metodă de clustering online care este utilizată pentru a antrena cadre de convoluție fără annotări. 

SwAV funcționează prin antrenarea unei încorporări care produce asignări de cluster consecvente între diferite vedere ale aceleiași imagini. Sistemul învață apoi reprezentări semantice prin extragerea clusterelor care sunt invariante la augmentări de date. 

În practică, cadru SwAV compară caracteristicile diferitelor vedere ale unei imagini prin utilizarea asignărilor de cluster independente. Dacă aceste asignări capturează aceleași sau caracteristici asemănătoare, este posibil să se prevadă asignarea unei imagini utilizând reprezentarea caracteristicilor unei alte vedere. 

Modelul SEER consideră un set de K cluster, și fiecare cluster este asociat cu un vector d-dimensional învățabil vk. Pentru un lot de B imagini, fiecare imagine i este transformată în două vedere diferite: xi1 , și xi2. Vederile sunt apoi caracterizate cu ajutorul unei rețele convolutive, și rezultă în două seturi de caracteristici: (f11, …, fB2), și (f12, … , fB2). Fiecare set de caracteristici este apoi asignat independent la prototipuri de cluster cu ajutorul unui Optimal Transport solver. 

Solverul Optimal Transport asigură că caracteristicile sunt împărțite uniform pe cluster, și ajută la evitarea soluțiilor triviale în care toate reprezentările sunt mapate la un singur prototip. Asignarea rezultată este apoi schimbată între cele două seturi: asignarea de cluster yi1 a vederii xi1 trebuie să fie prevăzută utilizând reprezentarea caracteristicilor vederii xi2, și viceversa. 

Greutățile prototipului și rețeaua convolativă sunt apoi antrenate pentru a minimiza pierderea pentru toate exemplele. Pierderea de previziune a clusterului l este esențialmente entropia cruzată între o softmax a produsului punct a f și asignarea clusterului. 

RegNetY: Familie de Modele Eficiente la Scară

Scala capacității modelului și a datelor necesită arhitecturi care sunt eficiente nu numai în ceea ce privește memoria, ci și în ceea ce privește timpul de rulare și RegNets este o familie de modele proiectate special pentru acest scop. 

Familia de arhitecturi RegNet este definită de un spațiu de proiectare de rețele convolutive cu 4 etape, unde fiecare etapă conține o serie de blocuri identice, asigurându-se că structura blocului rămâne fixă, în principal blocul de cuplare reziduală. 

Cadru SEER se axează pe arhitectura RegNetY și adaugă o Squeeze-and-Excitation la arhitectura RegNets standard, în încercarea de a îmbunătăți performanța. În plus, modelul RegNetY are 5 parametri care ajută la căutarea unor instanțe bune cu un număr fix de FLOPs care consumă resurse rezonabile. Modelul SEER își propune să îmbunătățească rezultatele sale prin implementarea directă a arhitecturii RegNetY pe sarcina sa de pre-antrenare auto-supervizată. 

Arhitectura RegNetY 256GF: Modelul SEER se axează în principal pe arhitectura RegNetY 256GF din familia RegNetY, și parametrii săi utilizează regula de scalare a arhitecturii RegNets. Parametrii sunt descriși astfel. 

Arhitectura RegNetY 256GF are 4 etape cu lățimi de etapă (528, 1056, 2904, 7392) și adâncimi de etapă (2,7,17,1) care adaugă peste 696 de milioane de parametri. Atunci când se antrenează pe 512 GPU-uri NVIDIA V100 32GB, fiecare iterație durează aproximativ 6125ms pentru un lot de 8.704 imagini. Antrenarea modelului pe un set de date cu peste un miliard de imagini, cu un lot de 8.704 imagini pe peste 512 GPU-uri, necesită 114.890 de iterații, și antrenarea durează aproximativ 8 zile. 

Optimizare și Antrenare la Scară

Modelul SEER propune câteva ajustări pentru a antrena metode auto-supervizate și pentru a adapta aceste metode la scară largă. Aceste metode sunt: 

  1. Programul de rată de învățare. 
  2. Reducerea consumului de memorie pe GPU. 
  3. Optimizarea vitezei de antrenare. 
  4. Date de pre-antrenare la scară largă. 

Să discutăm pe scurt acestea. 

Programul de Rată de Învățare

Modelul SEER explorează posibilitatea de a utiliza două programe de rată de învățare: programul de rată de învățare cu undă cosinusoidală, și programul de rată de învățare fixă

Programul de rată de învățare cu undă cosinusoidală este utilizat pentru a compara diferitele modele în mod corect, deoarece se adaptează la numărul de actualizări. Cu toate acestea, programul de rată de învățare cu undă cosinusoidală nu se adaptează la antrenarea la scară largă, în principal pentru că ponderează imaginile în funcție de momentul în care sunt vizualizate în timpul antrenării și utilizează actualizări complete pentru programarea. 

Programul de rată de învățare fixă menține rata de învățare fixă până când pierderea nu crește, și apoi rata de învățare este împărțită la 2. Analiza arată că programul de rată de învățare fixă funcționează mai bine, deoarece are spațiu pentru a face antrenarea mai flexibilă. Cu toate acestea, deoarece modelul se antrenează doar pe 1 miliard de imagini, utilizează programul de rată de învățare cu undă cosinusoidală pentru a antrena cel mai mare model, RegNet 256GF

Reducerea Consumului de Memorii pe GPU

Modelul își propune, de asemenea, să reducă cantitatea de GPU necesară în timpul perioadei de antrenare prin utilizarea preciziei mixte și a checkpoint-ului gradat. Modelul utilizează biblioteca NVIDIA Apex Library cu nivelul de optimizare O1 pentru a efectua operații precum convoluții și GEMMs în precizie de 16 biți. Modelul utilizează, de asemenea, implementarea checkpoint-ului gradientului din PyTorch, care face schimb de calculatoare pentru memorie. 

În plus, modelul aruncă orice activări intermediare efectuate în timpul trecerii înainte și, în timpul trecerii înapoi, recalculază aceste activări. 

Optimizarea Vitezei de Antrenare

Utilizarea preciziei mixte pentru optimizarea consumului de memorie are beneficii suplimentare, deoarece acceleratoarele iau avantajul dimensiunii reduse a FP16 în comparație cu FP32. Acest lucru ajută la accelerarea perioadei de antrenare prin îmbunătățirea bottleneck-ului de bandă de memorie. 

Modelul SEER sincronizează, de asemenea, stratul BatchNorm pe GPU-uri pentru a crea grupuri de procese în loc de a utiliza sincronizarea globală, care de obicei durează mai mult. În final, încărcătorul de date utilizat în modelul SEER pre-încarcă mai multe loturi de antrenare, ceea ce duce la o cantitate mai mare de date care sunt procesate în comparație cu încărcătorul de date din PyTorch. 

Date de Pre-antrenare la Scară Largă

Modelul SEER utilizează peste un miliard de imagini în timpul pre-antrenării și ia în considerare un încărcător de date care eșantionează imagini aleatorii direct de pe internet și Instagram. Deoarece modelul SEER antrenează aceste imagini în sălbăticie și online, nu aplică niciun pre-proces pe aceste imagini, nici nu le curăță utilizând procese precum deduplicarea sau filtrarea hashtag-urilor. 

Este demn de remarcat că setul de date nu este static, și imaginile din setul de date sunt reîmprospătate la fiecare trei luni. Cu toate acestea, reîmprospătarea setului de date nu afectează performanța modelului. 

Implementarea Modelului SEER

Modelul SEER pre-antrenează un RegNetY 256GF cu SwAV, utilizând șase recolte per imagine, cu fiecare imagine având o rezoluție de 2×224 + 4×96. În timpul fazei de pre-antrenare, modelul utilizează un MLP cu trei straturi sau o rețea cu mai multe straturi cu capete de proiecție de dimensiuni 10444×8192, 8192×8192 și 8192×256. 

În loc de a utiliza straturi BatchNorm în cap, modelul SEER utilizează 16 mii de prototipuri cu temperatura t setată la 0,1. Parametrul de regularizare Sinkhorn este setat la 0,05, și efectuează 10 iterații ale algoritmului. Modelul sincronizează, de asemenea, statistici BatchNorm pe GPU și creează numeroase grupuri de procese cu dimensiune 64 pentru sincronizare. 

În plus, modelul utilizează un optimizator LARS sau o scalare adaptivă a ratei de învățare pe strat, o decădere a greutății de 10-5, puncte de control ale gradientului și optimizarea cu precizie mixtă O1. Modelul este apoi antrenat cu gradientul descendent stocastic, utilizând un lot de 8192 imagini aleatorii distribuite pe 512 GPU-uri NVIDIA, ceea ce duce la 16 imagini pe GPU. 

Rata de învățare este crescută liniar de la 0,15 la 9,6 pentru primele 8 mii de actualizări de antrenare. După încălzire, modelul urmează un program de rată de învățare cosinusoidală care scade la o valoare finală de 0,0096. În general, modelul SEER se antrenează pe peste un miliard de imagini pe 122 de mii de iterații. 

Cadru SEER: Rezultate

Calitatea caracteristicilor generate de abordarea de pre-antrenare auto-supervizată este studiată și analizată pe o varietate de benchmark-uri și sarcini downstream. Modelul consideră, de asemenea, o setare cu puține imagini care oferă acces limitat la imagini și etichete pentru sarcinile downstream. 

Reglarea Modelului Pre-antrenat

Se măsoară calitatea modelelor pre-antrenate pe date aleatorii prin transferarea lor la benchmark-ul ImageNet pentru clasificarea obiectelor. Rezultatele pe reglarea modelelor pre-antrenate mari sunt determinate pe următorii parametri. 

Setări Experimentale

Modelul pre-antrenează 6 arhitecturi RegNet cu capacități diferite, și anume RegNetY- {8,16,32,64,128,256}GF, pe peste un miliard de imagini aleatorii și publice de pe Instagram, cu SwAV. Modelele sunt apoi reglate pentru scopul clasificării de imagini pe ImageNet, care utilizează peste 1,28 milioane de imagini de antrenare standard cu etichete și are un set de validare standard cu peste 50 de mii de imagini pentru evaluare. 

Modelul aplică apoi aceleași tehnici de augmentare a datelor ca și în SwAV și se reglează timp de 35 de epoci cu optimizatorul SGD sau gradientul descendent stocastic, cu un lot de 256 și o rată de învățare de 0,0125, care este redusă cu un factor de 10 după 30 de epoci, impuls de 0,9 și decădere a greutății de 10-4. Modelul raportează precizia de sus-1 pe setul de validare, utilizând corpul central de 224×224. 

Compararea cu Alte Abordări de Pre-antrenare Auto-Supervizate

În următorul tabel, cel mai mare model pre-antrenat în RegNetY-256GF este comparat cu modele pre-antrenate existente care utilizează abordarea de învățare auto-supervizată. 

Așa cum se poate vedea, modelul SEER returnează o precizie de sus-1 de 84,2% pe ImageNet și surprinde SimCLRv2, cel mai bun model pre-antrenat existent, cu 1%. 

În plus, următoarea figură compară cadru SEER cu modele de capacități diferite. Așa cum se poate vedea, indiferent de capacitatea modelului, combinarea cadru RegNet cu SwAV conduce la rezultate precise în timpul pre-antrenării. 

Modelul SEER este pre-antrenat pe imagini necurate și aleatorii și are arhitectura RegNet cu metoda de învățare auto-supervizată SwAV. Modelul SEER este comparat cu SimCLRv2 și modelele ViT cu arhitecturi de rețea diferite. În final, modelul este reglat pe setul de date ImageNet, și se raportează precizia de sus-1. 

Impactul Capacității Modelului

Capacitatea modelului are un impact semnificativ asupra performanței modelului în timpul pre-antrenării, și figura de mai jos compară acest lucru cu impactul atunci când se antrenează de la zero. 

Se poate vedea clar că scorul de precizie de sus-1 al modelelor pre-antrenate este mai mare decât al modelelor antrenate de la zero, și diferența devine mai mare pe măsură ce numărul de parametri crește. Este, de asemenea, evident că, deși capacitatea modelului beneficiază atât modelele pre-antrenate, cât și cele antrenate de la zero, impactul este mai mare pe modelele pre-antrenate atunci când se lucrează cu un număr mare de parametri. 

Un motiv posibil pentru care antrenarea unui model de la zero ar putea supraantrena atunci când se antrenează pe setul de date ImageNet este din cauza dimensiunii mici a setului de date.

Învățarea cu Puține Imagini

Învățarea cu puține imagini se referă la evaluarea performanței modelului SEER într-o setare cu puține imagini, adică utilizând doar o fracțiune din datele totale atunci când se efectuează sarcinile downstream. 

Setări Experimentale

Cadru SEER utilizează două seturi de date pentru învățarea cu puține imagini, și anume Places205 și ImageNet. În plus, modelul presupune că are acces limitat la setul de date în timpul transferului de învățare, atât în ceea ce privește imaginile, cât și etichetele lor. Această setare cu acces limitat este diferită de setările implicite utilizate pentru învățarea auto-supervizată, în care modelul are acces la întregul set de date, și doar accesul la etichetele imaginilor este limitat. 

  • Rezultate pe Setul de Date Places205

Figura de mai jos arată impactul pre-antrenării modelului pe diferite porțiuni ale setului de date Places205. 

Abordarea utilizată este comparată cu pre-antrenarea modelului pe setul de date ImageNet sub supraveghere, cu aceeași arhitectură RegNetY-128 GF. Rezultatele din comparație sunt surprinzătoare, deoarece se poate observa că există un câștig stabil de aproximativ 2,5% în precizia de sus-1, indiferent de porțiunea de date de antrenare disponibile pentru reglarea pe setul de date Places205. 

Diferența observată între pre-antrenarea supervizată și cea auto-supervizată poate fi explicată având în vedere diferența în natura datelor de antrenare, deoarece caracteristicile învățate de model de la imagini aleatorii în sălbăticie ar putea fi mai potrivite pentru a clasifica scena. În plus, o distribuție neuniformă a conceptelor subiacente ar putea fi un avantaj pentru pre-antrenarea pe un set de date neechilibrat, cum ar fi Places205. 

Rezultate pe ImageNet

Tabelul de mai sus compară abordarea modelului SEER cu abordările de învățare auto-supervizată și semi-supervizată pe învățarea cu puține imagini. Este demn de remarcat că toate aceste metode utilizează toate cele 1,2 milioane de imagini din setul de date ImageNet pentru pre-antrenare și doar restricționează accesul la etichete. Pe de altă parte, abordarea utilizată în modelul SEER permite modelului să vadă doar 1-10% din setul de date ImageNet. 

Așa cum se poate vedea, deși modelul SEER vede doar 1-10% din setul de date ImageNet, este totuși capabil să atingă o precizie de sus-1 de aproximativ 80%, care este doar puțin sub precizia abordărilor discutate în tabelul de mai sus. 

Impactul Capacității Modelului

Figura de mai jos discută impactul capacității modelului asupra învățării cu puține imagini: la 1%, 10% și 100% din setul de date ImageNet. 

Se poate observa că creșterea capacității modelului poate îmbunătăți precizia modelului, pe măsură ce se reduce accesul la atât imaginile, cât și etichetele din setul de date. 

Transfer la Alte Benchmark-uri

Pentru a evalua modelul SEER în continuare și a analiza performanța sa, caracteristicile pre-antrenate sunt transferate la alte sarcini downstream. 

Evaluarea Liniară a Clasificării de Imagini

Tabelul de mai sus compară caracteristicile de la modelul SEER pre-antrenat RegNetY-256GF și RegNetY128-GF pre-antrenat pe setul de date ImageNet cu aceeași arhitectură, cu și fără supraveghere. Pentru a analiza calitatea caracteristicilor, modelul îngheață greutățile și utilizează un clasificator liniar pe caracteristici, utilizând setul de antrenare pentru sarcinile downstream. Următoarele benchmark-uri sunt luate în considerare pentru acest proces: Open-Images (OpIm), iNaturalist (iNat), Places205 (Places) și Pascal VOC (VOC). 

Detectare și Segmentare

Figura de mai jos compară caracteristicile pre-antrenate pe detectare și segmentare și le evaluează. 

Modelul SEER antrenează un model Mask-RCNN pe benchmark-ul COCO, cu RegNetY-64GF și RegNetY-128GF ca blocuri de construcție. Pentru ambele arhitecturi, precum și pentru sarcinile downstream, abordarea de pre-antrenare auto-supervizată a modelului SEER depășește antrenarea supervizată cu 1,5 până la 2 puncte AP

Compararea cu Pre-antrenarea Slab Supervizată

Majoritatea imaginilor disponibile pe internet au de obicei o meta-descriere sau un text alternativ, sau descrieri, sau geolocazioni care pot oferi avantaje în timpul pre-antrenării. Lucrările anterioare au arătat că predicția unui set de hashtag-uri curate sau etichetate poate îmbunătăți calitatea caracteristicilor vizuale rezultate. Cu toate acestea, această abordare necesită filtrarea imaginilor și funcționează cel mai bine doar atunci când există metadate textuale. 

Figura de mai jos compară pre-antrenarea unei arhitecturi ResNetXt101-32dx8d antrenate pe imagini aleatorii cu aceeași arhitectură antrenată pe imagini etichetate cu hashtag-uri și metadate și raportează precizia de sus-1 pentru ambele. 

Se poate vedea că, deși modelul SEER nu utilizează metadate în timpul pre-antrenării, precizia sa este comparabilă cu modelele care utilizează metadate pentru pre-antrenare. 

Studii de Ablare

O studiu de ablație este efectuat pentru a analiza impactul unui anumit component asupra performanței generale a modelului. Un studiu de ablație este realizat prin înlăturarea componentului din model și înțelegerea modului în care modelul se comportă. Acest lucru oferă dezvoltatorilor o scurtă privire asupra impactului acelui component particular asupra performanței modelului. 

Impactul Arhitecturii Modelului

Arhitectura modelului are un impact semnificativ asupra performanței modelului, în special atunci când modelul este scalat sau când specificațiile datelor de pre-antrenare sunt modificate. 

Figura de mai jos discută impactul modificării arhitecturii asupra calității caracteristicilor pre-antrenate, evaluând setul de date ImageNet în mod liniar. Calitatea caracteristicilor pre-antrenate poate fi analizată direct în acest caz, deoarece evaluarea nu favorizează modelul care returnează o precizie ridicată atunci când este antrenat de la zero pe setul de date ImageNet. 

Se poate observa că, pentru arhitecturile ResNeXts și ResNet, caracteristicile obținute din stratul penultim funcționează mai bine cu setările actuale. Pe de altă parte, arhitectura RegNet depășește celelalte arhitecturi. 

În general, se poate concluziona că creșterea capacității modelului are un impact pozitiv asupra calității caracteristicilor, și există un câștig logaritmic în performanța modelului. 

Scala Datelor de Pre-antrenare

Există două motive principale pentru care antrenarea unui model pe un set de date mai mare poate îmbunătăți calitatea caracteristicilor vizuale pe care le învață modelul: mai multe imagini unice și mai multe parametri. Să aruncăm o privire rapidă asupra modului în care aceste motive afectează performanța modelului. 

Creșterea Numărului de Imagini Unice

Figura de mai sus compară două arhitecturi diferite, RegNet8 și RegNet16, care au același număr de parametri, dar sunt antrenate pe un număr diferit de imagini unice. Cadru SEER antrenează modelele pentru actualizări corespunzătoare unei epoci pentru un miliard de imagini sau 32 de epoci pentru 32 de imagini unice, și cu o undă cosinusoidală de învățare. 

Se poate observa că, pentru a performa bine, numărul de imagini unice care trebuie să fie alimentate modelului ar trebui să fie mai mare. În acest caz, modelul performează bine atunci când este alimentat cu imagini unice mai mari decât cele din setul de date ImageNet. 

Mai Mulți Parametri

Figura de mai jos indică performanța modelului atunci când este antrenat pe peste un miliard de imagini, utilizând arhitectura RegNet-128GF. Se poate observa că performanța modelului crește constant atunci când numărul de parametri este crescut. 

Viziunea Computațională Auto-Supervizată în Lumea Reală

Până acum, am discutat despre modul în care învățarea auto-supervizată și modelul SEER pentru viziunea computațională funcționează în teorie. Acum, să aruncăm o privire asupra modului în care viziunea computațională auto-supervizată funcționează în scenarii reale, și de ce SEER este viitorul învățării auto-supervizate a viziunii computaționale. 

Modelul SEER rivalizează cu lucrările efectuate în industria Procesării Limbajului Natural, unde modele de top de ultimă generație utilizează trilioane de seturi de date și parametri, cuplați cu trilioane de cuvinte de text în timpul pre-antrenării modelului. Performanța pe sarcinile downstream crește, de obicei, odată cu creșterea numărului de date de intrare pentru antrenarea modelului, și același lucru este valabil și pentru sarcinile de viziune computațională. 

Dar utilizarea tehnicilor de învățare auto-supervizate pentru Procesarea Limbajului Natural este diferită de utilizarea învățării auto-supervizate pentru viziunea computațională. Acest lucru se datorează faptului că, atunci când se lucrează cu texte, conceptele semantice sunt de obicei împărțite în cuvinte discrete, dar atunci când se lucrează cu imagini, modelul trebuie să decidă care pixel aparține cui concept. 

În plus, diferite imagini au diferite vedere, și chiar dacă multiple imagini pot avea același obiect, conceptul poate varia semnificativ. De exemplu, considerați un set de date cu imagini de pisici. Deși obiectul principal, pisica, este comun tuturor imaginilor, conceptul poate varia semnificativ, deoarece pisica poate sta nemișcată într-o imagine, în timp ce în următoarea imagine poate juca cu o minge, și așa mai departe. Deoarece imaginile adesea au concepte variate, este esențial ca modelul să vadă o cantitate semnificativă de imagini pentru a înțelege diferențele din jurul aceluiași concept. 

Scala unui model cu succes, astfel încât să funcționeze eficient cu date de înaltă dimensiune și complexe, necesită două componente: 

  1. O rețea convolativă sau o rețea neurală care este suficient de mare pentru a capta și a învăța conceptele vizuale dintr-un set de date de imagini foarte mare.
  2. Un algoritm care poate învăța modele dintr-o cantitate mare de imagini fără etichete, annotări sau metadate. 

Modelul SEER își propune să aplice aceste componente în domeniul viziunii computaționale. Modelul SEER își propune să exploateze progresele realizate de SwAV, o cadră de învățare auto-supervizată care utilizează clusteringul online pentru a grupa sau a perechea imagini cu concepte vizuale paralele, și să utilizeze aceste asemănări pentru a identifica modele mai bune. 

Cu arhitectura SwAV, modelul SEER este capabil să facă utilizarea învățării auto-supervizate în viziunea computațională mult mai eficientă și să reducă timpul de antrenare cu până la 6 ori. 

În plus, antrenarea modelelor la scară largă, în această scară, peste un miliard de imagini, necesită o arhitectură de model care este eficientă nu numai în ceea ce privește timpul de rulare și memoria, ci și în ceea ce privește precizia. Acesta este punctul în care modelele RegNets intră în joc, deoarece acestea sunt rețele convolutive care pot scala trilioane de parametri și pot fi optimizate în funcție de nevoi pentru a se conforma limitărilor de memorie și timp de rulare. 

Concluzie: Un Viitor Auto-Supervizat

Învățarea auto-supervizată a fost un subiect de discuție major în industria IA și ML de ceva timp, deoarece permite modelelor de IA să învețe informații direct dintr-o cantitate mare de date disponibile aleatoriu pe internet, în loc de a se baza pe seturi de date curate și etichetate care au scopul de a antrena modele de IA. 

Învățarea auto-supervizată este un concept vital pentru viitorul IA și ML, deoarece are potențialul de a permite dezvoltatorilor să creeze modele de IA care se adaptează bine la scenarii reale și au multiple cazuri de utilizare, mai degrabă decât având un scop specific, și SEER este o piatră de hotar în implementarea învățării auto-supervizate în industria viziunii computaționale. 

Modelul SEER face primul pas în transformarea industriei viziunii computaționale și reducerea dependenței noastre de seturi de date etichetate. Modelul SEER își propune să elimine nevoia de a annota seturile de date, ceea ce va permite dezvoltatorilor să lucreze cu o cantitate diversă și mare de date. Implementarea SEER este deosebit de utilă pentru dezvoltatorii care lucrează la modele care se ocupă de domenii cu imagini limitate sau metadate, cum ar fi industria medicală. 

În plus, eliminarea annotărilor umane va permite dezvoltatorilor să dezvolte și să implementeze modelul mai rapid, ceea ce va permite, la rândul său, să răspundă la situații care evoluează rapid, mai rapid și cu mai multă precizie. 

Kunal Kejriwal este un inginer backend specializat în Python, PostgreSQL, Redis și infrastructură cloud pe GCP și AWS. Cu trei ani de experiență în construirea și scalarea sistemelor de producție, el scrie despre infrastructura AI, sistemele distribuite și arhitectura din spatele implementării sarcinilor de învățare automată.