Problemet med forsvinningen av gradienten (på engelsk forsvinnende gradientproblem ) er et fenomen som skaper vanskeligheter med å trene dype nevrale nettverk gjennom tilbake-propagering av feilen gjennom stokastisk nedstigning av gradienten . I denne metoden mottar hver parameter i modellen ved hver iterasjon en oppdatering proporsjonal med den partielle deriverte av kostnadsfunksjonen med hensyn til selve parameteren. En av hovedårsakene er tilstedeværelsen av klassiske ikke-lineære aktiveringsfunksjoner, for eksempel den hyperbolske tangenten eller den logistiske funksjonen , som har en gradient ved verdier i intervallet . Siden i tilbake-propageringsalgoritmen blir gradientene på de forskjellige nivåene multiplisert med kjederegelen , reduseres produktet av tall eksponentielt med hensyn til dybden av nettverket. På den annen side, når gradienten til aktiveringsfunksjonene kan anta høye verdier, er et lignende problem som kan oppstå det med eksplosjonen av gradienten.
Bakoverspredningen av feilen tillot å trene nevrale nettverk gjennom overvåket læring, men de første forsøkene hadde begrenset suksess, og i 1991, i sin avhandling, tilskrev Sepp Hochreiter denne vanskeligheten til problemet han kalte "forsvinningen av gradienten" [1] [ 2] , som påvirker både dype fremmatingsnevrale nettverk [3] og rekursive [4] , som fra et læringssynspunkt er ekvivalente med dype nettverk ved at de "rulles ut" med hensyn til tidsretningen med en nivå for hvert tidsintervall. [5]
I et tilbakevendende nevralt nettverk etter passeringer, gjentas multiplikasjoner av en matrise med en vektor for skjulte tilstander: den skjulte utgangsvektoren til laget avhenger av den skjulte utgangen til det forrige laget .
Vi kan forenkle diskusjonen ved ekstremt å neglisjere den ikke-lineære funksjonen , skjevheten og legge merke til at vektmatrisen ( ) alltid er den samme. I dette tilfellet er den endelige utgangen bare:
hvor er den første inngangen til nettverket. Hvis det kan diagonaliseres, er det (på grunn av ) klart at egenverdier mindre enn 1 avtar eksponentielt med dybde n mens egenverdier større enn 1 eksploderer eksponentielt med dybde n. [6]
Problemet kan løses ved hjelp av forskjellige aktiveringsfunksjoner, for eksempel korrigerte funksjoner som ReLU, [7] ved bruk av forskjellige treningsalgoritmer, for eksempel Rprop , som kun avhenger av fortegnet til gradienten og ikke av dens norm, [8] eller ved å bruke metoder som ikke er avhengige av gradienten for optimalisering av parameterne, slik som genetiske algoritmer og partikkelsvermoptimalisering , [9] hvis kostnad imidlertid kan bli uoverkommelig i tilfelle av nettverk med et svært høyt antall parametere.
Sammenlignet med perioden da problemet ble oppdaget, har forsvinningen av gradienten blitt delvis dempet med tiden takket være den betydelige økningen i tilgjengelig datakraft, spesielt takket være overgangen fra CPU til GPGPU for modelltrening , til og med dersom dette ikke i seg selv representerer en effektiv løsning på problemet. [10] [11]
En foreslått metode for å motvirke gradientkansellering i dype nettverk er å trene med en flernivåtilnærming, trene de individuelle lagene separat og deretter sette dem sammen, og bruke back-propagation over hele nettverket for å avgrense treningen. Jürgen Schmidhuber foreslo å trene individuelle nivåer på en uovervåket måte, slik at de lærer en komprimert representasjon av deres innspill. [12] Geoffrey Hinton foreslo i 2006 dype trosnettverk , som modellerer å lære distribusjonen av en representasjon på høyt nivå gjennom flere nivåer av latente variabler . Hvert nivå er modellert av en begrenset Boltzmann-maskin og, når den er trent riktig, garanterer en økning i den nedre grensen for logg sannsynlighet . Når et tilstrekkelig antall nivåer er trent, kan nettverket også brukes som en generativ modell , og få en ny prøve som starter fra verdiene til aktiveringsfunksjonene på det høyeste nivået. [11] Denne modellen er nyttig for utvinning av egenskaper fra høydimensjonale strukturerte data. [1. 3]
Når det gjelder rekursive nevrale nettverk, som også påvirkes av forsvinningen av gradienten, noe som reduserer deres evne til å lære langsiktige relasjoner, ble sektoren revolusjonert i 1997 med introduksjonen, av Sepp Hochreiter og Jürgen Schmidhuber , av den ' lang- korttidsminne (LSTM) arkitektur. [14] I LSTM-nettverk forplanter tilstanden til modellen seg over tid uten å krysse ikke-lineære funksjoner, og forhindrer kansellering eller eksplosjon av gradienten. [15] LSTM-nettverk har oppnådd toppmoderne resultater i mange problemer som er iboende i tidssekvenser, for eksempel håndskriftgjenkjenning eller naturlig språkbehandling. [16] [17]
De gjenværende nevrale nettverkene gjør det mulig å kontrastere forsvinningen av gradienten i veldig dype nettverk, takket være tillegget av snarveisforbindelser som lar en kort sekvens av nivåer lære ikke bare den objektive funksjonen , men dens rest oppnådd ved å trekke fra identitetsfunksjonen. [18] [19]