miercuri, 17 aprilie 2024

Convolutional Neural Networks for Sentence Classification

 

 

1. Introducere

În ultimii ani, modelele de învățare profundă au atins rezultate remarcabile în domenii precum viziunea computerizată și recunoașterea vocală. Aceste tehnologii au început să fie aplicate și în procesarea limbajului natural (NLP), unde reprezentarea vectorială a cuvintelor a jucat un rol crucial. Modelele de rețele neurale convoluționale (CNN) au demonstrat eficiența lor în diverse sarcini NLP, beneficiind de pe urma vectorilor de cuvinte pre-antrenați pentru a clasifica texte la nivel de propoziție. Acest eseu își propune să prezinte cum un model simplu de CNN, fără ajustări complexe ale hiperparametrilor și utilizând vectori statici, poate obține rezultate excelente în diverse benchmark-uri.


2. Model

2.1 Prezentarea generală și arhitectura modelului

Arhitectura modelului reprezintă o variație a CNN-ului original propus de Collobert și colaboratorii săi (2011). Fiecare cuvânt dintr-o propoziție este reprezentat caunde indică poziția cuvântului în propoziție. Fiecărui cuvânt îi corespunde un vector de dimensiune k.


O propoziție de lungime este reprezentată ca o concatenare:


Componenta principală a modelului este stratul convoluțional, unde mai multe filtre de dimensiuni diferite ale ferestrei sunt aplicate vectorilor de cuvinte concatenați.


O operație de convoluție implică un filtruaplicat unei ferestre de cuvinte pentru a produce un nou feature. De exemplu, feature-uleste generat din fereastra de cuvint
 astfel:

Acest filtru este aplicat fiecărei ferestre posibile de cuvintepentru a crea ceea ce se numește un map de features:

 

Map-ul de features este supus apoi unei operații de max-over-time pooling, selectând valoarea maxim    ca feature reprezentativ pentru acest filtru.

Ideea este de a capta cel mai important feature, cel cu valoarea cea mai mare, pentru fiecare map de features.

 

Modelul utilizează mai multe filtre (cu dimensiuni variabile ale ferestrei) pentru a obține mai multe features. Aceste features formează penultimul strat și sunt transmise mai departe la stratul conectat softmax, al carui output este distribuția probabilităților pe categoriile existente.

 

Într-una dintre variantele modelului, sunt utilizate două canale separate de vectori de cuvinte - unul static și unul ajustat în timpul antrenamentului prin backpropagation. Fiecare filtru este aplicat ambelor canale, iar ieșirile lor sunt combinate, permițând modelului să valorifice atât reprezentările de cuvinte preformate, cât și cele ajustate dinamic. 




2.2 Tehnici de regularizare

Pentru a îmbunătăți capacitatea de generalizare a modelului și pentru a preveni fenomenul de „overfitting”, sunt folosite două tehnici principale de regularizare:

 

·         Dropout: În timpul trecerilor înainte și înapoi ale instruirii, dropout stabilește aleatoriu o proporție p de neuroni din penultimul strat (imediat înainte de stratul de ieșire) la zero. Acest proces simulează o „abandonare” temporară a acestor neuroni din rețea, reducând astfel șansa de a se baza pe o singură caracteristică.

 

·         Constrângerea normei L2: În plus față de dropout, se aplică o constrângere a normei L2 ponderilor. După fiecare pas de coborâre a gradientului, dacă norma L2 a vectorului de ponderi w depășește un prag specificat s, vectorul este redimensionat astfel încât norma L2 să fie egală cu s. Această constrângere garantează că nicio pondere individuală nu devine disproporționat de mare, ceea ce ar putea duce la o supraadaptare la datele de antrenare.


3. Seturi de date și configurarea experimentală

Modelul este evaluat folosind mai multe seturi de date de referință, care sunt concepute pentru a testa capacitatea sa de a înțelege diferite tipuri de text:

 

·         MR (recenzii de filme): Acest set de date conține recenzii de filme formate dintr-o singura propozitie, pe care modelul le clasifică ca fiind pozitive sau negative.

·         SST-1 (Stanford Sentiment Treebank): O extensie a setului de date MR cu categorii mai detaliate (foarte pozitiv, pozitiv, neutru, negativ, foarte negativ) și include impartiri predefinite pentru training, dezvoltare și testare.

·         SST-2: Similar cu SST-1, dar exclude recenziile neutre și simplifică categoriile la doar pozitive sau negative.

·         Subj (Subiectivitate): Se compune din propoziții etichetate ca subiective sau obiective, modelul fiind provocat sa eticheteze o propozitie ca obiectiva sau subiectiva

·         TREC (Clasificarea întrebărilor): Un set de date în care sarcina este de a clasifica întrebările în șase tipuri, cum ar fi întrebări despre persoane, locații sau date numerice.

·         CR (Customer Reviews): Prezintă recenzii ale diverselor produse, cum ar fi aparate foto și playere MP3, cu obiectivul de a determina dacă recenziile sunt pozitive sau negative.

·         MPQA: O colecție de documente adnotate în funcție de polaritatea opiniilor, care este utilizată pentru a identifica sentimentul exprimat în text.


3.1 Hiperparametri și Antrenament

Pentru toate seturile de date utilizate:

·         Se folosesc unități liniare rectificate (ReLU) ca funcții de activare.

·         Filtre de dimensiuni 3, 4, 5, fiecare cu câte 100 de hărți de caracteristici (feature maps).

·         Rata de dropout este de 0.5.

·         Constrângerea L2 este setată la 3.

·         Dimensiunea lotului de mini-batch este de 50.

Pentru seturile de date fără un set standard de dezvoltare, 10% din datele de antrenament sunt selectate aleatoriu ca set de dezvoltare. Antrenamentul este realizat prin descendentă gradient stochastică pe loturi amestecate, folosind regula de actualizare Adadelta.

3.2 Vectori de Cuvinte Pre-antrenați

Inițializarea vectorilor de cuvinte cu cei obținuți dintr-un model lingvistic neuronal nesupervizat este o metodă populară pentru îmbunătățirea performanței în absența unui set mare de antrenament supervizat. S-au folosit vectori word2vec disponibili public, antrenați pe 100 de miliarde de cuvinte de la Google News. Vectorii au o dimensionalitate de 300 și au fost antrenați folosind arhitectura bag-of-words continuă. Cuvintele care nu sunt prezente în setul de vectori pre-antrenați sunt inițializați aleatoriu.

3.3 Variantele Modelului

A fost experimentat cu mai multe variante ale modelului:

·         CNN-rand: Modelul de bază, unde toate cuvintele sunt inițializate aleator și apoi modificate în timpul antrenamentului.

·         CNN-staticUn model cu vectori pre-antrenați din word2vec. Toate cuvintele, inclusiv cele necunoscute inițializate aleator, sunt păstrate statice și doar ceilalti parametri ai modelului sunt învățați.

·         CNN-non-static: Similar cu CNN-static, dar vectorii pre-antrenați sunt fine-tuned pentru fiecare task.

CNN-multichannel: Modelul folosește două tipuri de vectori de cuvinte: un set rămâne fix, iar celălalt este ajustat în timpul antrenamentului. Ajustările se fac doar pentru unul dintre seturi, permițând modelului să învețe caracteristici specifice, menținând în același timp informațiile generale ale cuvintelor. Ambele canale sunt initializate cu word2vec.


4. Rezultate

Studiul compară performanța unui model de bază de rețea neurală convoluțională (CNN), unde cuvintele sunt inițializate aleatoriu (CNN-rand), cu alte metode avansate. Rezultatele sunt prezentate în tabelul 2. Se observă că modelul simplu cu vectori statici (CNN-static) a avut performanțe remarcabile, comparabile cu cele ale unor modele de învățare profundă mai complexe. Aceasta sugerează eficacitatea vectorilor pre-antrenați ca extractor de caracteristici "universale", utilizabili pe diferite seturi de date. Finisarea vectorilor pentru sarcini specifice (CNN-non-static) a adus îmbunătățiri suplimentare.

 

4.1 Modele Multicanal vs. Canal Unic

În cazul arhitecturilor multicanal versus cele cu canal unic, s-a sperat că modelul multicanal va preveni supra-antrenarea prin menținerea apropiată a valorilor învățate de valorile originale ale vectorilor. Cu toate acestea, rezultatele au fost mixte, indicând nevoia de a perfecționa procesul de finisare. S-a propus menținerea unui canal unic, dar cu adăugarea de dimensiuni care pot fi ajustate în timpul antrenamentului, pentru a combina beneficiile ambelor abordări.



4.2 Reprezentări Statice vs. Non-statice

Modelul multicanal a permis finisarea canalului non-static pentru a-l face mai specific pentru sarcina dată. De exemplu, în modelul non-static, relația dintre cuvinte ca "good" și "bad" s-a modificat în urma antrenamentului, reflectând mai bine subtilitățile de sentiment în contextul dat. De asemenea, finisarea a permis învățarea unor reprezentări mai semnificative pentru tokenii neincluși inițial în setul de vectori pre-antrenați, cum ar fi semnele de exclamație și virgulele.


5. Concluzie

Studiul actual subliniază eficiența utilizării vectorilor de cuvinte pre-antrenați în clasificarea propozițiilor folosind CNN-uri. Modelul simplu de CNN testat a performant remarcabil fără ajustări extensive ale hiperparametrilor, ceea ce reiterează importanța pre-antrenării nesupravegheate a vectorilor de cuvinte în deep learning pentru NLP. Aceste descoperiri contribuie la literatura existentă și deschid noi direcții pentru explorarea modurilor în care pre-antrenarea poate servi ca un instrument valoros în îmbunătățirea performanței modelelor de procesare a limbajului natural.














Utilizarea Șahului ca Mediu Experimental pentru Monitorizarea Stării în Modelele de Limbaj

Introducere


Modelele de tip transformer reprezintă o clasă de modele de învățare automată cu aplicabilitate în prelucrarea limbajului natural. Aceste modele se bazează pe un mecanism puternic numit atenție totală, care permite captarea relațiilor complexe între diferitele elemente de intrare. În esență, generarea în modelele de tip transformer se realizează token cu token, iar fiecare token este luat în considerare în contextul tuturor datelor anterioare. Acest lucru poate conduce la o creștere semnificativă a complexității și a costului computațional, deoarece baza de cunoștințe a modelului crește odată cu adăugarea fiecărui token.


Deși modelele de tip transformer sunt remarcabile în capacitatea lor de a înțelege și a genera limbaj natural, acestea prezintă și unele provocări. Fiind modele self-supervised, straturile ascunse ale transformerelor pot avea o natură de tip "black box", ceea ce face dificilă înțelegerea procesului de luare a deciziilor și interpretarea rezultatelor.


Mecanismul de atenție în modelele de tip transformer asigură că există asocieri semnificative între tokenuri în funcție de relevanța lor în context. Cu toate acestea, determinarea unui "world state" sau a stării complete a lumii într-un anumit moment poate fi o provocare.


În acest context, jocul de șah se dovedește a fi o metodă excelentă pentru testarea performanței și a limitărilor modelelor de tip transformer. Datorită mediului stabil și determinist pe care îl oferă, jocul de șah permite evaluarea precisă a capacitații modelelor de a captura și de a reproduce starea lumii subiacente, ceea ce îi face un test adecvat pentru evaluarea performanței acestor modele.


Reprezentarea miscarilor si antrenarea modelelor de limbaj pe jocul de sah


Pentru reprezentarea miscarilor este folosita notația Universal Chess Interface (UCI). Aceasta combină pătratul de start și pătratul de destinație pentru a reprezenta o mișcare. De exemplu, mișcarea din figura urmatoare este reprezentată ca f1b5 în UCI, unde f1 indică pătratul de start și b5 denotă pătratul de destinație. 



Pentru antrenarea modelelor de limbaj, tokenizăm mai întâi jocurile reprezentate în notația UCI folosind un tokenizer simplu bazat pe expresii regulate, care consideră un simbol de pătrat de bord, cum ar fi b1, ca un singur token. Acest lucru ne oferă un vocabular de 77 de tipuri de tokenuri, care include cele 64 de pătrate, simbolurile tipurilor de piese și alte simboluri speciale (vedeți Tabelul 1). De exemplu, secvența de mișcări “e2e4 e7e5 g1f3” este tokenizată în “e2, e4, e7, e5, g1, f3”. Apoi, antrenăm un model de limbaj autoregresiv pe aceste secvențe de mișcări, folosind obiectivul standard de maximum likelihood.

Una dintre proprietățile atractive ale unui model de limbaj antrenat pe jocuri de șah reprezentate în notația UCI este că notația în sine ne permite să sondăm abilitățile de urmărire a stării ale modelului antrenat.


De exemplu, putem considera promptul “e2e4 e7e5 g1f3 b8c6 d2d4 h7h6 f1”, unde secvența de mișcări subliniată duce la starea tablei de șah de mai sus. 


Urmarirea starilor pieselor prin Randomly Annotated Piece type (RAP)


“Randomly Annotated Piece type” (RAP),constituie o strategie care îmbunătățește abilitatea modelelor de limbaj de a urmări starea pieselor pe tabla de șah. În loc să prezică doar pătratul de sfârșit al unei mișcări, RAP permite modelului să prezică unde se află o piesă într-un moment dat. Acest lucru se realizează prin includerea aleatorie a tipurilor de piese în notația mișcărilor în timpul antrenamentului, cu o probabilitate fixă p.


De exemplu, un prompt precum “e2e4 e7e5 g1f3 b8c6 d2d4 h7h6 N” ar trebui să genereze o poziție de start validă pentru un cal de culoarea corectă. În timpul testării, se include doar tipul de piesă pentru prompt, nu și pentru mișcările din istoric. Astfel, RAP permite modelului să prezică unde crede că se află fiecare piesă, dat fiind un prefix al istoricului jocului.

Paragraful menționează, de asemenea, o variantă “oracle” a RAP, unde tipurile de piese sunt adăugate atât în timpul antrenamentului, cât și în timpul testării. Această notație este denumită “UCI + AP”, unde AP reprezintă “always piece type”.

În final, se discută despre cum adăugarea RAP reprezintă o schimbare de distribuție între antrenament și inferență, dar se presupune că aceasta poate ajuta modelul să învețe să urmărească piesele, oferind o supraveghere suplimentară care, la rândul său, poate îmbunătăți performanța modelării limbajului. În timpul inferenței, modelul este utilizat pentru a face predicții pe un nou set de date, care poate avea o distribuție diferită de setul de date de antrenament. Aceasta este schimbarea de distribuție între antrenament și inferență.

În contextul nostru, adăugarea RAP (Randomly Annotated Piece type) reprezintă o schimbare de distribuție între antrenament și inferență, deoarece în timpul antrenamentului, tipurile de piese sunt incluse aleatoriu în notația mișcărilor cu o probabilitate fixă p, dar în timpul inferenței, acestea nu sunt incluse. Cu toate acestea, se presupune că adăugarea RAP poate ajuta modelul să învețe să urmărească piesele, oferind o supraveghere suplimentară care, la rândul său, poate îmbunătăți performanța modelării limbajului.


Sarcini de sondare a stării sablei, de sredicție a sătratului de sfârșit / inceput


În sarcinile de sondare a stării tablei, modelul primește un prefix al unui joc și un token de prompt, iar evaluarea se bazează pe probabilitatea celui mai mare token următor dat de model în acest context.


Sarcinile cu pătratul de sfârșit testează capacitatea modelului de a prezice pătratul de sfârșit al unei mișcări, dat fiind prefixul unui joc și pătratul de start al următoarei mișcări. Există două variante ale acestei sarcini: End-Actual, unde modelului i se face o solicitare cu pătratul de start al piesei care urmeaza a fi mutate și End-Other, unde modelul este solicitat cu pătratul de start al oricărei piese de pe tabla care poate fi mutată legal.

Sarcinile cu pătratul de start testează capacitatea modelului de a prezice unde se află în prezent un anumit tip de piesă pe tabla de șah. Variantele acestei sarcini sunt Start-Actual, unde modelului i se face o solicitare cu tipul de piesă care se mișcă în continuare în joc, și Start-Other, unde modelul este solicitat cu tipul de piesă al oricărei piese de pe tabla care poate fi mutată legal.

Evaluarea pentru aceste sarcini se face în termeni de Exact Movement Accuracy (ExM) și Legal Move Accuracy (LgM), precum și R-Precision pentru LgM, care este Precision@R unde R este numărul total de pătrate de sfârșit sau de start legale. Acuratețea ExM este similară cu evaluarea tipică a modelelor de limbaj pe datele de limbaj natural, în timp ce LgM este mai puțin stringentă și se concentrează doar pe testarea înțelegerii de către model a regulilor de șah și a stării tablei."



In contextul prefixului “e2e4 e7e5 g1f3 b8c6 d2d4 h7h6”, rezultatele asteptate pentru evaluarile prezentate mai sus se gasesc in urmatoarea tabela:


Arhitecturi folosite si masurarea acuratetii


GPT2:  Utilizează atenția completă pentru a acoperi întreaga istorie a jocului si este folosit ca standard in acest studiu, avand rezultatele cele mai bune cand vine vorba de acuratete. 

Celelalte arhitecturi au fost incercate pentru a se observa daca pot acoperi deficitele pe care GPT2 le are.


GPT2 (w = 50): Acest model este o variantă a modelului GPT2 care limitează atenția la ultimele 50 de token-uri din istoricul jocului. Rezultatele obținute cu acest model au fost mai slabe decât cele ale modelului de bază GPT2, în special pentru seturile mici și medii de date.


Reformer și Performer: Acestea sunt două arhitecturi de transformer propuse recent. Reformer înlocuiește "atenția completă" cu o atenție bazată pe hashing local-sensibil, în timp ce Performer aproximează "atenția completă" cu caracteristici aleatoare. Rezultatele arată că Performer în general depășește Reformerul, cu excepția setărilor de date mici. Totuși, niciuna dintre aceste arhitecturi nu depășește semnificativ performanțele modelului GPT2 (w = 50), cu excepția Performerului în setările de date de dimensiuni medii.


LSTM: Un alt model investigat a fost LSTM, care se bazează pe rețele recurente. Acesta nu utilizează atenția pentru a lua în considerare întreaga istorie a jocului. Rezultatele au arătat că performanța LSTM-ului a fost mai slabă decât cea a modelelor bazate pe transformer.

Concluzii

Astfel, jocul de șah este propus ca un teren de testare pentru evaluarea modului în care modelele de limbaj captează starea lumii subiacente. Rezultatele arată că modelele de limbaj de tip transformer pot urmări starea tablei de șah atunci când li se oferă suficiente date, dar cu date limitate, furnizarea accesului la informațiile despre starea tablei în timpul antrenamentului poate duce la îmbunătățiri consistente.


Implicațiile mai largi pentru procesarea limbajului natural sunt că transformatorii sunt robusti la schimbările de tip RAP în distribuția de intrare și că pentru performanțe ridicate, modelele necesită acces la întregul context, precum și seturi mari de antrenament. Lucrările viitoare pot utiliza aceste descoperiri pentru a introduce starea lumii, sau mai specific, rezultatul analizatorilor lingvistici, cum ar fi coreferința, prin token-uri de tip RAP în timpul pre-antrenării și al finisării transformatorilor.


Aceste token-uri de tip RAP pot fi, de asemenea, utilizate pentru depanarea/diagnosticarea înțelegerii unui model, în mod similar cu sarcinile de predicție a pătratului de pornire. A doua descoperire implică faptul că evaluarea propusă poate ghida căutarea de noi arhitecturi de transformatori care sunt adepti în înțelegerea textelor lungi și care pot învăța din seturi mici de antrenament. Cadrul propus permite sondarea și înțelegerea noilor arhitecturi care abordează aceste provocări.


Articol folosit: Chess as a Testbed for Language Model State Tracking


joi, 4 aprilie 2024

 How to train your ViT? Data, Augmentation, and Regularization in Vision Transformers 


PREZENTARE VISION TRANSFORMERS


  1. Ce sunt Vision Transformers? 

  • sunt modele de inteligenta artificiala care aplica tehnici de procesare a limbajului natural (NLP) pentru a interpreta și intelege imagini.



  1. Cum functioneaza?

  1. Patch + Position Embedding + Class Embedding

    1. La intrare, imaginea e impartita intr-o serie de patch-uri de dimensiuni fixe a.i. sa nu se suprapuna (non-overlapping). 

    2. Patch-urile sunt aplatizate (flattened) apoi proiectate liniar fiind transformate intr-un spațiu dimensional mai potrivit pentru procesarea ulterioara. 

    3. Dupa, la fiecare patch proiectat se adauga informatii despre pozitia in imaginea originala prin adaugarea unui vector unic de pozitionare.

    4. Se adauga un embedding al clasei pentru a retine informatii despre intreaga imagine in timpul procesarii, care va fi actualizat pe parcursul training-ului pentru a ajuta la clasificarea finala a imaginii. 




  1. Transformer Encoder: 2 substraturi principale

    1. Multi-head attention: permite fiecarui patch sa interactioneze cu celelalte prin mecanismul de atentie, invatand astfel relatiile si contextul intre diferite parti ale imaginii

    2. MLP (Multi-Layer perceptron): Dupa mecanismul de atentie, urmeaza un strat de normalizare = Norm (normalizarea de strat va standardiza activarile astfel incat sa aiba o medie de zero si o deviatie standard de unu) si apoi un MLP care poate invata combinatii non-liniare ale caracteristicilor. 


  1. MLP head: dupa ce toate transformer encoders au procesat informatiile, token-ul de clasa (care acum a acumulat informatii despre intreaga imagine) este trecut printr-un strat clasificator MLP final.


  1. Predictia clasei: MLP head produce un vector de scoruri pentru fiecare clasa posibila iar scorul cel mai mare indica predictia modelului pentru clasa imaginii de intrare.


—-------------------------------------------------------------------------------------------------------------


LUCRAREA PROPRIU-ZISA

  1. Introducere  

Studiul "How to train your ViT? Data, Augmentation, and Regularization in Vision Transformers" realizat de Andreas Steiner și colaboratorii săi, publicat în Transactions on Machine Learning Research în Iunie 2022, explorează în profunzime aspectele legate de antrenarea Vision Transformers  (ViT) pentru clasificarea imaginilor, detectarea obiectelor și segmentarea semantică a imaginilor.   

VIT este o alternativa competitiva pentru CNN (Convolutional Neural Networks) in aria computer vision.


  1. Scopul studiului

 Secțiunea "Domeniul studiului" diferă abordările privind eficiența computațională și cea a datelor din perspectiva costurilor de pre-antrenament, costurilor de fine-tuning și adaptare și costurilor de desfășurare. Studiul pune accent pe importanța costurilor de fine-tuning și a celor de desfășurare, comparativ cu costurile pre-antrenamentului, pentru majoritatea aplicațiilor practice. Se evidențiază ideea că, în multe cazuri, costul de obținere a unui model pre-antrenat este neglijabil sau eficient amortizat de rulările ulterioare de adaptare, concentrându-se astfel pe timpul și calculul necesar pentru a găsi o strategie bună de adaptare sau pentru antrenarea de la zero a unui model specific sarcinii. Mai mult, se discută despre perspectiva extremă conform căreia costul de antrenament nu este crucial și tot ceea ce contează este costul final de inferență al modelului antrenat, care va amortiza toate celelalte costuri, aceasta fiind deosebit de adevărat pentru desfășurările la scară largă unde se așteaptă ca un model vizual să fie utilizat de un număr masiv de ori. 



  1. Configuratia experimentala 

Utilizând un singur cod sursă în JAX/Flax pe TPUs pentru antrenare și transferul învățării, precum și măsurători de viteză de inferență realizate pe GPU-uri V100, cercetarea asigură o consistență și reproductibilitate a rezultatelor. Datele sunt accesate prin biblioteca TensorFlow Datasets, garantând uniformitatea și conformitatea cu standardele.


Pentru pre-antrenare, sunt folosite două seturi de date de imagine la scară largă: ILSVRC-2012 (ImageNet-1k) și ImageNet-21k, acesta din urmă conținând aproximativ 14 milioane de imagini cu circa 21.000 de categorii distincte de obiecte. De asemenea, se utilizează ImageNetV2 pentru evaluare. Pentru evaluarea transferului învățării, sunt folosite patru seturi de date populare de viziune computerizată din benchmark-ul VTAB, acoperind clasificarea imaginilor naturale și cele capturate cu echipamente specializate, precum și sarcini geometrice.


Configurațiile modelelor sunt detaliate, incluzând variantele de Vision Transformer (ViT) și modele hibride ResNet+ViT, oferind o gamă largă de capacități. Se discută, de asemenea, strategiile de regularizare și augmentare a datelor, procedurile de pre-antrenare și fine-tuning, ilustrând complexitatea și rigurozitatea metodelor de antrenament testate în studiu. 



  1. Rezultate

DATA AUGMENTATION: 

  • = procesul de generare artificiala a unor noi date din date existente pentru a antrena modele de invatare automata a.i. sa se evite overfitting-ul ( = potrivirea “prea buna” cu setul de date de antrenament care duce la pierderea capacitatii de a generaliza pentru date noi ).

  • foloseste o combinatie a doua tehnici: Mixup si RandAugment 

    • Mixup: Mixup este o metodă de augmentare a datelor care creează imagini virtuale și etichete prin combinarea liniară a două imagini și a etichetelor lor.


  • RandAugment: RandAugment este o tehnică de augmentare a datelor care aplică aleatoriu o serie de transformări (cum ar fi rotirea, decuparea, inversarea culorilor) imaginilor din setul de antrenament, fără a necesita ajustarea hiperparametrilor specifici fiecărei transformări. Scopul este de a genera noi variante ale imaginilor existente pentru a ajuta modelul să învețe caracteristici mai robuste și să generalizeze mai bine pe date nevăzute. RandAugment simplifică procesul de augmentare a datelor eliminând necesitatea de a optimiza manual intensitatea și tipurile de transformări aplicate, ceea ce îl face un instrument puternic și flexibil pentru îmbunătățirea performanței modelelor de viziune computerizată.




DATA REGULARIZATION:

  • = ajustarea dinamica a complexitatii modelului in faza de antrenament


  • tehnici folosite: stochastic depth, dropout


  • Stochastic Depth este o tehnică de regularizare concepută pentru a îmbunătăți antrenarea rețelelor neuronale adânci prin reducerea temporară a complexității modelului în timpul antrenamentului. Principiul de bază constă în "întreruperea" aleatorie a unor straturi din rețea în timpul antrenamentului, făcând astfel ca adâncimea efectivă a rețelei să varieze la fiecare propagare înainte (forward pass). În timpul testării, toate straturile sunt utilizate, dar ieșirile sunt scalate corespunzător pentru a compensa absența întreruperilor. Această tehnică ajută la prevenirea supraînvățării și facilitează antrenarea rețelelor mai adânci prin atenuarea problemei dispariției gradientului, fără a crește costurile computaționale în timpul inferenței.


  • Dropout este o altă tehnică populară de regularizare utilizată pentru a preveni supraînvățarea în rețelele neuronale. Metoda constă în "dezactivarea" aleatorie a unor neuroni (sau unități) din rețea în timpul antrenamentului, ceea ce înseamnă că aceștia sunt temporar ignorați împreună cu conexiunile lor în timpul unei propagări înainte și în timpul actualizării gradientului. Prin eliminarea aleatorie a unor părți ale rețelei, Dropout forțează rețeaua să învețe reprezentări mai robuste și mai puțin dependente de neuroni specifici, îmbunătățind astfel capacitatea de generalizare a modelului. La inferență, toți neuroni sunt utilizați, dar ieșirile lor sunt scalate cu probabilitatea de păstrare pentru a menține un nivel consistent al activării.



Principalele constatări includ următoarele aspecte:


Combinând augmentarea datelor și regularizarea modelului (AugReg) cu un buget computațional crescut, se pot obține modele cu performanțe comparabile cu cele antrenate pe seturi de date mult mai mari. Aceasta demonstrează capacitatea de a compensa dimensiunile mai mici ale seturilor de date prin tehnici avansate de augmentare și regularizare, precum și prin utilizarea eficientă a resurselor computaționale.


Transferul învățării este considerat a fi o opțiune mai bună comparativ cu antrenarea de la zero, mai ales pentru seturi de date de dimensiuni medii. 


Antrenarea pe seturi de date mai mari duce la modele mai generice, capabile să performeze bine pe o gamă largă de sarcini. 


Între augmentarea datelor și regularizare, augmentarea datelor este în general preferată. 


Se sugerează utilizarea modelelor pre-antrenate pe seturi de date mai ample, subliniind că acuratețea validării pe setul de date ImageNet-1k poate fi un indicator nereprezentativ al calității modelului atunci când acesta este pre-antrenat pe ImageNet-21k.


O descoperire interesantă a fost că modelele cu dimensiunea patch-ului mai mare (de exemplu /32) au performanțe semnificativ mai bune decât variantele mai "subțiri" ale modelului (de exemplu varianta "Tiny"), pentru o viteză de inferență similară.


  1. Recomandari

Recomandările principale includ:


Se recomandă utilizarea de modele pre-antrenate pe seturi de date mai variate și mai mari, cum ar fi ImageNet-21k, pentru a asigura aplicabilitatea și performanța îmbunătățită în sarcinile de transfer învățare.


Aplicarea augmentării datelor și a regularizării: Augmentarea datelor și regularizarea modelelor pot simula antrenarea pe seturi de date de dimensiuni mai mari. Aceste tehnici, atunci când sunt aplicate corect, pot îmbunătăți semnificativ performanța modelelor pe seturi de date de dimensiuni medii, cum ar fi ImageNet-1k, și chiar pe cele mai mari, precum ImageNet-21k. 


  1. Concluzie

Principalele contribuții ale acestui studiu includ:


Identificarea setărilor și strategiilor eficiente pentru antrenarea modelelor ViT, care pot fi adaptate și optimizate în funcție de resursele disponibile și de specificul sarcinii de viziune computerizată.


Demonstrarea că, în ciuda complexității peisajului de antrenament, există tehnici precum augmentarea datelor și transferul învățării care oferă căi eficiente pentru îmbunătățirea performanței modelelor ViT, chiar și în condiții de date sau resurse limitate.


Sublinierea importanței selectării inteligente a seturilor de date pentru pre-antrenare, a tehnicii de augmentare și regularizare, precum și a selecției atente a modelelor pre-antrenate pentru sarcinile de transfer învățare, pentru a maximiza eficacitatea și eficiența antrenării.




Lascu Florina, Moise Alexandra, Szekrenyes Benjamin

Convolutional Neural Networks for Sentence Classification

    1.  Introducere În ultimii ani, modelele de învățare profundă au atins rezultate remarcabile în domenii precum viziunea computerizată și...