211service.com
En ny måte å bygge små nevrale nettverk på kan skape kraftig AI på telefonen din
MS. TECH Ms. Tech
Nevrale nettverk er kjerneprogramvaren for dyp læring. Selv om de er så utbredt, er de imidlertid veldig dårlig forstått. Forskere har observert deres fremvoksende egenskaper uten egentlig å forstå Hvorfor de jobber slik de gjør.
Nå a nytt papir fra MIT har tatt et stort skritt mot å svare på dette spørsmålet. Og i prosessen har forskerne gjort en enkel, men dramatisk oppdagelse: Vi har brukt nevrale nettverk som er langt større enn vi egentlig trenger. I noen tilfeller er de 10 – til og med 100 – ganger større, så opplæring av dem koster oss størrelsesordener mer tid og beregningskraft enn nødvendig.
Sagt på en annen måte, innenfor hvert nevrale nettverk eksisterer det et langt mindre nettverk som kan trenes til å oppnå samme ytelse som sin overdimensjonerte forelder. Dette er ikke bare spennende nyheter for AI-forskere. Funnet har potensial til å låse opp nye applikasjoner – noen av dem kan vi ennå ikke forstå – som kan forbedre hverdagen vår. Mer om det senere.
Men først, la oss dykke inn i hvordan nevrale nettverk fungerer for å forstå hvorfor dette er mulig.

Et diagram av et nevralt nettverk som lærer å gjenkjenne en løve. JEFF CLUNE/SKJERMBILDE
Hvordan nevrale nettverk fungerer
Du har kanskje sett nevrale nettverk avbildet i diagrammer som det ovenfor: de er sammensatt av stablede lag med enkle beregningsnoder som er koblet sammen for å beregne mønstre i data.
Forbindelsene er det som er viktig. Før et nevralt nettverk trenes, blir disse forbindelsene tildelt tilfeldige verdier mellom 0 og 1 som representerer deres intensitet. (Dette kalles initialiseringsprosessen.) Mens nettverket mates med en serie med f.eks. dyrebilder under trening, justerer og justerer det disse intensitetene – på en måte som hjernen din styrker eller svekker forskjellige nevronforbindelser når du samler erfaring og kunnskap. Etter trening brukes de endelige tilkoblingsintensitetene i evighet for å gjenkjenne dyr på nye bilder.
Mens mekanikken til nevrale nettverk er godt forstått, har grunnen til at de fungerer slik de gjør forblitt et mysterium. Gjennom mye eksperimentering har forskere imidlertid observert to egenskaper ved nevrale nettverk som har vist seg nyttige.
Observasjon #1. Når et nettverk initialiseres før treningsprosessen, er det alltid en viss sannsynlighet for at de tilfeldig tildelte tilkoblingsstyrkene ender opp i en utrenbar konfigurasjon. Med andre ord, uansett hvor mange dyrebilder du mater det nevrale nettverket, vil det ikke oppnå en anstendig ytelse, og du må bare reinitialisere det til en ny konfigurasjon. Jo større nettverket er (jo flere lag og noder det har), jo mindre sannsynlig er det. Mens et lite nevralt nettverk kan trenes i bare én av fem initialiseringer, kan et større nettverk trenes i fire av fem. En gang til, Hvorfor dette hadde vært et mysterium, men det er grunnen til at forskere vanligvis bruker veldig store nettverk for sine dyplæringsoppgaver. De ønsker å øke sjansene for å oppnå en vellykket modell.
Observasjon #2. Konsekvensen er at et nevralt nettverk vanligvis starter større enn det trenger å være. Når den er ferdig med treningen, forblir vanligvis bare en brøkdel av forbindelsene sterke, mens de andre ender opp ganske svake – så svake at du faktisk kan slette, eller beskjære, dem uten å påvirke nettverkets ytelse.
I mange år nå har forskere utnyttet denne andre observasjonen til å krympe nettverkene deres etter opplæring for å redusere tiden og beregningskostnadene som er involvert i å drive dem. Men ingen trodde det var mulig å krympe nettverkene deres før opplæring. Det ble antatt at man måtte starte med et overdimensjonert nettverk og opplæringsprosessen måtte gå sin gang for å skille de aktuelle forbindelsene fra de irrelevante.
Jonathan Frankle, MIT PhD-studenten som var medforfatter av papiret, stilte spørsmål ved denne antakelsen. Hvis du trenger langt færre forbindelser enn det du startet med, sier han, hvorfor kan vi ikke bare trene det mindre nettverket uten de ekstra forbindelsene? Det viser seg at du kan.

Michael Carbin (til venstre) og Jonathan Frankle (til høyre), forfatterne av avisen. Jason Dorfman, MIT CSAIL
Lottokuponghypotesen
Oppdagelsen avhenger av realiteten at de tilfeldige forbindelsesstyrkene som tildeles under initialisering, faktisk ikke er tilfeldige i konsekvensene: de disponerer forskjellige deler av nettverket til å mislykkes eller lykkes før trening i det hele tatt skjer. Sagt på en annen måte, den første konfigurasjonen påvirker hvilken endelig konfigurasjon nettverket kommer til.
Ved å fokusere på denne ideen fant forskerne at hvis du beskjærer et overdimensjonert nettverk etter trening, kan du faktisk gjenbruke det resulterende mindre nettverket for å trene på nye data og bevare høy ytelse - så lenge du tilbakestiller hver tilkobling i dette reduserte nettverket tilbake til dens opprinnelige styrke.
Fra dette funnet foreslår Frankle og hans medforfatter Michael Carbin, en assisterende professor ved MIT, det de kaller loddhypotesen. Når du tilfeldig initialiserer et nevralt nettverks tilkoblingsstyrker, er det nesten som å kjøpe en pose med lodd. I vesken din håper du at det er en vinnende billett – det vil si en innledende konfigurasjon som vil være enkel å trene og resultere i en vellykket modell.
Dette forklarer også hvorfor observasjon #1 stemmer. Å starte med et større nettverk er som å kjøpe flere lodd. Du øker ikke mengden kraft du kaster på dyplæringsproblemet ditt; du øker ganske enkelt sannsynligheten for at du vil ha en vinnende konfigurasjon. Når du har funnet den vinnende konfigurasjonen, bør du kunne bruke den igjen og igjen, i stedet for å fortsette å spille lotteriet på nytt.
Neste skritt
Dette reiser mange spørsmål. Først, hvordan finner du vinnerloddet? I papiret deres tok Frankle og Carbin en brutal tilnærming til å trene og beskjære et overdimensjonert nettverk med ett datasett for å trekke ut vinnerloddet for et annet datasett. I teorien burde det være mye mer effektive måter å finne – eller til og med designe – en vinnende konfigurasjon på fra starten av.
For det andre, hva er treningsgrensene for en vinnende konfigurasjon? Antagelig vil forskjellige typer data og forskjellige dyplæringsoppgaver kreve forskjellige konfigurasjoner.
For det tredje, hva er det minste mulige nevrale nettverket du kan komme unna med samtidig som du oppnår høy ytelse? Frankle fant ut at gjennom en iterativ trenings- og beskjæringsprosess var han i stand til konsekvent å redusere startnettverket til mellom 10 % og 20 % av dets opprinnelige størrelse. Men han tror det er en sjanse for at den blir enda mindre.
Allerede har mange forskerteam innen AI-miljøet begynt å utføre oppfølgingsarbeid. En forsker ved Princeton nylig ertet resultatene av et kommende papir som tar for seg det andre spørsmålet. Et team hos Uber publiserte også en nytt papir på flere eksperimenter som undersøkte naturen til de metaforiske lodd. Mest overraskende fant de ut at når en vinnende konfigurasjon er funnet, oppnår den allerede betydelig bedre ytelse enn det originale utrente overdimensjonerte nettverket før hvilken som helst trening. Med andre ord, det å beskjære et nettverk for å trekke ut en vinnende konfigurasjon er i seg selv en viktig treningsmetode.
Nevrale nettverk nirvana
Frankle forestiller seg en fremtid der forskningsmiljøet vil ha en åpen kildekodedatabase over alle de forskjellige konfigurasjonene de har funnet, med beskrivelser for hvilke oppgaver de er gode for. Han kaller spøkefullt dette nevrale nettverket nirvana. Han mener det vil dramatisk akselerere og demokratisere AI-forskningen ved å senke kostnadene og hastigheten på trening, og ved å la folk uten gigantiske dataservere gjøre dette arbeidet direkte på små bærbare datamaskiner eller til og med mobiltelefoner.
Det kan også endre arten til AI-applikasjoner. Hvis du kan trene et nevralt nettverk lokalt på en enhet i stedet for i skyen, kan du forbedre hastigheten på treningsprosessen og sikkerheten til dataene. Tenk deg for eksempel en maskinlæringsbasert medisinsk enhet som kan forbedre seg selv gjennom bruk uten å måtte sende pasientdata til Googles eller Amazons servere.
Vi støter hele tiden på kanten av hva vi kan trene, sier Jason Yosinski, et grunnleggende medlem av Uber AI Labs som var medforfatter av oppfølgingsavisen Uber, noe som betyr de største nettverkene du kan passe på en GPU eller det lengste vi kan tåler å vente før vi får et resultat tilbake. Hvis forskere kunne finne ut hvordan de kunne identifisere vinnende konfigurasjoner fra starten av, ville det redusere størrelsen på nevrale nettverk med en faktor på 10, til og med 100. Mulighetene ville øke dramatisk, og åpne en ny verden av potensielle bruksområder.