Salut! O nouă modalitate de a antrena rețele neuronale: bazată pe o rearanjare a vechilor idei AI combinate cu "save scumming" din jocurile video. Este o modalitate de a forța un "kick" care poate salva anumite tipuri de modele (mai ales topologii mici sau exotice) când sunt blocate. Orb. Evoluțional. Presiune.
Eu îi spun "Frustrare": e ca și cum ai reporni un joc video salvat și ai încerca din nou lupta cu șeful. Cum? Ia o epocă a Ultimului Bun Cunoscut (LKG), ATUNCI ucizi un neuron. Apoi reantrenează-te. Spre deosebire de Dropout, daunele nu sunt zgomote tranzitorii în timpul loturilor. Stricăm modelul DUPĂ ce se îmbunătățește.
În Frustrare (Ablație Persistentă [Stocastică]), daunele sunt o groapă care trebuie evitată și umplută în același timp în următoarea epocă. 2 strategii: elimină toate greutățile (ca într-un strat ascuns) pentru un neuron sau doar pentru cele care intră (ca pentru un logit de ieșire).
Am testat cu topologii simple de rețea MLP, variind de la milioane de parametri la sute, catalogând "antrenabilitatea" lor pe baza lățimii (# neuronilor) versus adâncime (# a straturilor). PSA a salvat câteva modele pe care Dropout & Weight Decay nu le-a putut: un regim haotic (cu albastru).
Acest lucru funcționează chiar și în designuri defecte unde problema gradientului de dispariție face ca backpropagarea să fie inutilă. (Ceea ce, când nu ai conexiuni de sărituri, nu înseamnă chiar atât de multe straturi!) De asemenea, poți shard damage-ul și antrena mai multe LKG-uri corupte simultan pe diferite GPU-uri.
Lucrarea reflectă prima dovadă de concept și da, întreaga idee are *o mulțime* de limitări. Mai ales cât de risipitor computațional este clichet-ul sau că era pe setul de date MNIST (o jucărie) și nu pe ImageNet. Dar vești bune! Testele timpurii ResMLP arată rezultate promițătoare!
Am încercat să fim minuțioși. Am testat 98 de topologii, multe dintre ele cu configurații de potrivire a parametrilor (dimensiuni diferite, același număr de parame rezultat). Am măsurat 3 tehnici diferite de PSA împotriva a 3 controale, fiecare având peste 10 studii. Un total de 5.880 de studii. Reproductibile.
Chiar și în condiții în care Problema Gradientului de Dispariție ar fi trebuit să facă antrenamentul imposibil (cum ar fi într-un MLP simplu de 18x18), PSA a reușit să se antreneze atacând logiturile de ieșire pe MNIST. Nu mă crezi? Încearcă și vezi!
Sunt o mulțime de momente "aha" faine aici. Ține cont că niciuna dintre ideile de bază nu este nouă. Le-am aranjat pur și simplu într-un mod nou pentru a încerca ceva care este cu adevărat fezabil doar acum, având în vedere că plăcile video sunt atât de puternice.
Lucrări viitoare: • Reproducerea testelor originale pe ResMLP, CNN și Transformers (ResMLP corectează VGP, dar pentru topologii patologice se pare că PSA încă ajută) • Încercarea pe ImageNet < costisitoare, dar aceasta este dovada reală de care avem nevoie.
Observaţii: • Eliminarea aceluiași logit de ieșire creează constant modele "anti-experți", iar când te uiți la matricile lor de confuzie, poți vedea dislexie în acțiune (kill 2 și clasificarea se deplasează la 5, 7 și 8) • Nu trebuie să ne limităm la atacuri stocastice
De ce este atât de valoros? • Dacă funcționează pe seturi de date mai mari și arhitecturi moderne de modele, sper să fie un instrument valoros în construirea Modelelor Mici de Limbaj (SLM-uri).
GitHub cu hârtia și codul aici:
1,53K