Hei! En ny måte å trene nevrale nettverk på: basert på en omorganisering av gamle AI-ideer blandet med videospill-«save scumming». Det er en måte å tvinge frem et «spark» som kan redde visse modelltyper (spesielt små eller eksotiske topologier) når de sitter fast. Blind. Evolusjonær. Trykk.
Jeg kaller det «Frustrasjon»: det er som å starte et lagret videospill på nytt og prøve bosskampen på nytt. Hvordan? Ta en Last Known Good (LKG)-epoke, SÅ dreper du et nevron. Så trener du deg på nytt. I motsetning til Dropout er skaden ikke forbigående støy under batchene. Vi bryter modellen ETTER at den har blitt bedre.
I Frustrasjon (vedvarende [stokastisk] ablasjon) er skaden et hull i veien som må unngås og fylles igjen samtidig i neste epoke. 2 strategier: drep alle vektene (som i et skjult lag) for en nevron, eller bare den innkommende (som for en output-logit).
Vi testet med enkle MLP-nettverkstopologier, fra millioner av parametere til hundrevis, og katalogiserte deres "treningsevne" basert på bredde (# nevroner) versus dybde (# av lag). PSA reddet noen modeller som Dropout og Weight Decay ikke klarte: et kaotisk regime (i blått).
Dette fungerer selv i ødelagte design hvor Vanishing Gradient-problemet gjør tilbakepropagasjon ubrukelig. (Som, når du ikke har hopp-tilkoblinger, ikke er så mange lag!) Du kan også sharde skaden og trene flere korrupte LKG-er samtidig på tvers av forskjellige GPU-er.
Artikkelen gjenspeiler det første proof-of-concept, og ja, hele ideen har *mange* begrensninger. Spesielt hvor beregningsmessig sløsing skrallen er, eller at den var på MNIST-datasettet (et leketøy) og ikke ImageNet. Men gode nyheter! Tidlige ResMLP-tester viser lovende resultater!
Vi prøvde å være grundige. Vi testet 98 topologier, mange av dem med parametermatchingskonfigurasjoner (forskjellige dimensjoner, samme resulterende paramtelling). Vi målte 3 forskjellige PSA-teknikker mot 3 kontroller, over 10 forsøk hver. Totalt 5 880 forsøk. Reproduserbare.
Selv under forhold hvor Vanishing Gradient-problemet burde gjort trening umulig (som i en enkel MLP på 18x18), kunne PSA trene ved å angripe output-loggene på MNIST. Tror du meg ikke? Prøv det og se!
Det er massevis av kule små «aha»-øyeblikk her. Husk at ingen av de underliggende ideene er nye. Vi har bare arrangert dem på en ny måte for å prøve noe som egentlig bare er mulig nå som GPU-er er så kraftige.
Fremtidig arbeid: • Reproduksjon av de opprinnelige testene på ResMLP, CNN og Transformers (ResMLP fikser VGP, men for patologiske topologier ser det ut til at PSA fortsatt hjelper) • Å prøve det på ImageNet < kostbart, men dette er det virkelige beviset vi trenger.
Observasjoner: • Å drepe den samme output-loggen skaper konsekvent "anti-ekspert"-modeller, og når du ser på forvirringsmatrisene deres kan du se dysleksi i aksjon (drep 2 og klassifiseringen oversvømmes til 5, 7 og 8) • Vi trenger ikke å holde oss til stokastiske angrep
Hvorfor er dette verdifullt? • Hvis det fungerer på større datasett og moderne modellarkitekturer, håper jeg det kan være et verdifullt verktøy for å bygge Small Language Models (SLM).
GitHub med artikkelen og koden her:
1,53K