Forsvinner gradientproblem - Vanishing gradient problem
| Del av en serie om |
|
Maskinlæring og data mining |
|---|
I maskinlæring oppstår det forsvinnende gradientproblemet når man trener kunstige nevrale nettverk med gradientbaserte læringsmetoder og tilbakepropagering . I slike metoder mottar hver av nevrale nettverks vekter en oppdatering som er proporsjonal med den delvise derivaten av feilfunksjonen med hensyn til nåværende vekt i hver iterasjon av trening. Problemet er at i noen tilfeller vil gradienten være forsvinnende liten og effektivt forhindre at vekten endrer verdien. I verste fall kan dette stoppe det neurale nettverket helt fra videre opplæring. Som et eksempel på problemårsaken har tradisjonelle aktiveringsfunksjoner som den hyperbolske tangensfunksjonen gradienter i området (0,1] , og backpropagering beregner gradienter med kjederegelen . Dette har effekten av å multiplisere n av disse små tallene for å beregne gradienter av de tidlige lagene i et n -lagers nettverk, noe som betyr at gradienten (feilsignal) synker eksponentielt med n mens de tidlige lagene trener veldig sakte.
Tilbake-forplantning tillot forskere å trene overvåket dype kunstige nevrale nettverk fra bunnen av, først med liten suksess. Hochreiter 's diplom avhandling av 1991 formelt identifisert årsaken til denne feilen i den 'forsvinnende gradient problem', som ikke bare påvirker mange lags feedforward-nettverk , men også tilbakevendende nettverk . Sistnevnte blir trent ved å utfolde dem i veldig dype feedforward -nettverk, hvor et nytt lag blir opprettet for hvert gangstrinn i en inngangssekvens behandlet av nettverket. (Kombinasjonen av utfoldelse og tilbakepropagering kalles backpropagering gjennom tid .)
Når aktiveringsfunksjoner brukes hvis derivater kan ta større verdier, risikerer man å støte på det relaterte eksploderende gradientproblemet .
Ekstremt forenklet illustrasjon i tilbakevendende nevrale nett
I et tilbakevendende nevrale nettverk etter trinn er det gjentatte multiplikasjoner av en matrise med en vektor for de skjulte tilstandene: Den skjulte utgangsvektoren til laget er avhengig av den skjulte utgangen til det forrige laget . Vi kan forenkle diskusjonen ekstremt ved å ignorere den ikke -lineære funksjonen , skjevheten og merke at vektmatrisen ( ) alltid er den samme. I dette tilfellet er den siste utgangen bare: hvor er den første inngangen til nettverket. Hvis den kan diagonaliseres, er (på grunn av ) det klart at egenverdiene mindre enn 1 forfaller eksponentielt med dybden n mens egenverdiene større enn 1 eksploderer eksponentielt med dybden n.
Løsninger
Hierarki på flere nivåer
For å overvinne dette problemet ble det foreslått flere metoder. Det ene er Jürgen Schmidhubers multinivåhierarki av nettverk (1992) forhåndsutdannet ett nivå om gangen gjennom uovervåket læring , finjustert gjennom tilbakepropagering . Her lærer hvert nivå en komprimert representasjon av observasjonene som mates til neste nivå.
Relatert tilnærming
Lignende ideer har blitt brukt i feed-forward nevrale nettverk for uoppsøkt forhåndstrening for å strukturere et nevrale nettverk, slik at den først lærer generelt nyttige funksjonsdetektorer . Deretter blir nettverket opplært videre av overvåket tilbakepropagering for å klassifisere merkede data. Den dype tro nettverksmodellen av Hinton et al. (2006) innebærer å lære fordelingen av en representasjon på høyt nivå ved å bruke påfølgende lag med binære eller real-verdsatte latente variabler . Den bruker en begrenset Boltzmann -maskin til å modellere hvert nye lag med funksjoner på høyere nivå. Hvert nytt lag garanterer en økning på den nedre grensen for logg sannsynligheten for dataene, og forbedrer dermed modellen, hvis den trent riktig. Når tilstrekkelig mange lag har blitt lært, kan den dype arkitekturen brukes som en generativ modell ved å reprodusere dataene når prøvetaking av modellen (en "forfedre pass") fra funksjonene på øverste nivå er aktivert. Hinton rapporterer at modellene hans er effektive funksjonsekstraktorer over høydimensjonale, strukturerte data.
Langtidshukommelse
En annen teknikk som er spesielt brukt for tilbakevendende nevrale nettverk er Long Short-term Memory (LSTM) -nettverket fra 1997 av Hochreiter & Schmidhuber . I 2009 demonstrerte dype flerdimensjonale LSTM -nettverk kraften i dyplæring med mange ikke -lineære lag, ved å vinne tre ICDAR 2009 -konkurranser i tilkoblet håndskriftgjenkjenning , uten noen forhåndskunnskap om de tre forskjellige språkene som skal læres.
Raskere maskinvare
Maskinvareutvikling har medført at datakraften (spesielt levert av GPUer ) fra 1991 til 2015 har økt rundt en million ganger, noe som gjør standard tilbakepropagering mulig for nettverk flere lag dypere enn da forsvinnende gradientproblemet ble gjenkjent. Schmidhuber bemerker at dette "i utgangspunktet er det som vinner mange av bildegjenkjenningskonkurransene nå", men at det "egentlig ikke overvinner problemet på en grunnleggende måte" siden de originale modellene som taklet det forsvinnende gradientproblemet av Hinton og andre ble trent i en Xeon -prosessor , ikke GPUer.
Resterende nettverk
En av de nyeste og mest effektive måtene å løse det forsvinnende gradientproblemet er med resterende nevrale nettverk , eller ResNets (ikke å forveksle med tilbakevendende nevrale nettverk). ResNets refererer til nevrale nettverk der hoppetilkoblinger eller gjenværende tilkoblinger er en del av nettverksarkitekturen. Disse hoppetilkoblingene lar gradientinformasjon passere gjennom lagene, ved å lage "motorveier" med informasjon, der utdataene fra et tidligere lag/aktivering legges til utgangen til et dypere lag. Dette gjør at informasjon fra de tidligere delene av nettverket kan overføres til de dypere delene av nettverket, noe som bidrar til å opprettholde signalutbredelse selv i dypere nettverk. Hopp over tilkoblinger er en kritisk komponent i det som tillot vellykket trening av dypere nevrale nettverk.
ResNets ga lavere treningsfeil (og testfeil) enn sine grunnere kolleger ved å gjeninnføre utdata fra grunnere lag i nettverket for å kompensere for forsvinnende data. Vær oppmerksom på at ResNets er et ensemble av relativt grunne garn og ikke løser det forsvinnende gradientproblemet ved å bevare gradientflyt gjennom hele dybden av nettverket - de unngår heller problemet ved å konstruere ensembler for mange korte nettverk sammen. (Ensemble etter konstruksjon)
Andre aktiveringsfunksjoner
Likerettere som Relu lider mindre av den forsvinnende gradienten problem, fordi de bare mette i én retning.
Annen
Behnke stolte bare på tegnet på gradienten ( Rprop ) da han trente sin nevrale abstraksjonspyramide for å løse problemer som gjenoppbygging av bilder og ansiktslokalisering.
Nevrale nettverk kan også optimaliseres ved å bruke en universell søkealgoritme på vekten av nevrale nettverk, f.eks. Tilfeldig gjetning eller mer systematisk genetisk algoritme . Denne tilnærmingen er ikke basert på gradient og unngår det forsvinnende gradientproblemet.
Se også
Referanser