How to train your ViT? Data, Augmentation, and Regularization in Vision Transformers
PREZENTARE VISION TRANSFORMERS
Ce sunt Vision Transformers?
sunt modele de inteligenta artificiala care aplica tehnici de procesare a limbajului natural (NLP) pentru a interpreta și intelege imagini.
Cum functioneaza?
Patch + Position Embedding + Class Embedding
La intrare, imaginea e impartita intr-o serie de patch-uri de dimensiuni fixe a.i. sa nu se suprapuna (non-overlapping).
Patch-urile sunt aplatizate (flattened) apoi proiectate liniar fiind transformate intr-un spațiu dimensional mai potrivit pentru procesarea ulterioara.
Dupa, la fiecare patch proiectat se adauga informatii despre pozitia in imaginea originala prin adaugarea unui vector unic de pozitionare.
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.
Transformer Encoder: 2 substraturi principale
Multi-head attention: permite fiecarui patch sa interactioneze cu celelalte prin mecanismul de atentie, invatand astfel relatiile si contextul intre diferite parti ale imaginii
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.
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.
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
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.
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.
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.
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ă.
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.
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.
Niciun comentariu:
Trimiteți un comentariu