Problema del gradient minvant

De testwiki
Salta a la navegació Salta a la cerca
Diagrama de bifurcació de la xarxa recurrent d'una neurona. L'eix horitzontal és b i l'eix vertical és x. La corba negra és el conjunt d'equilibris estables i inestables. Observeu que el sistema presenta histèresi i es pot utilitzar com a memòria d'un bit.

En l'aprenentatge automàtic, el problema del gradient minvant es troba quan s'entrenen xarxes neuronals artificials amb mètodes d'aprenentatge basats en gradients i retropropagació. En aquests mètodes, durant cada iteració d'entrenament, cadascun dels pesos de les xarxes neuronals rep una actualització proporcional a la derivada parcial de la funció d'error respecte al pes actual.[1] El problema és que, en alguns casos, el gradient serà molt petit, evitant efectivament que el pes canviï el seu valor.[1] En el pitjor dels casos, això pot impedir completament la formació continuada de la xarxa neuronal.[1] Com a exemple de la causa del problema, les funcions d'activació tradicionals com la funció tangent hiperbòlica tenen gradients en el rang (0,1], i la retropropagació calcula gradients per la regla de la cadena. Això té l'efecte de multiplicar Plantilla:Mvar d'aquests petits nombres per calcular els gradients de les primeres capes en una xarxa de Plantilla:Mvar capes, el que significa que el gradient (senyal d'error) disminueix exponencialment amb Plantilla:Mvar mentre que les primeres capes s'entrenen molt lentament.

La retropropagació va permetre als investigadors entrenar xarxes neuronals artificials profundes supervisades des de zero, inicialment amb poc èxit. La tesi de diploma de Hochreiter de 1991 va identificar formalment la raó d'aquest fracàs en el "problema del gradient de fuga",[2][3] que no només afecta les xarxes feedforward de moltes capes,[4] sinó també les xarxes recurrents. Aquests últims s'entrenen desplegant-los en xarxes de feedforward molt profundes, on es crea una nova capa per a cada pas de temps d'una seqüència d'entrada processada per la xarxa. (La combinació de desplegament i retropropagació s'anomena retropropagació a través del temps).

Quan s'utilitzen funcions d'activació les derivades de les quals poden prendre valors més grans, es corre el risc de trobar-se amb el problema de gradient explosiu relacionat.

Solucions

Per solucionar aquest problema, es van proposar diversos mètodes.

Normalització de lots

La normalització per lots és un mètode estàndard per resoldre els problemes de gradient d'explosió i de desaparició.[5][6]

Retall de degradat

[7] recomana retallar la norma de θL per ϵ:g={θLif θL<ϵ,ϵθLθLaltrament.on ϵ és l'hiperparàmetre "llindar", la norma màxima que es permet assolir el gradient. Simplement retalla cada entrada de θL per separat per ϵ funciona també a la pràctica.

Jerarquia multinivell

Un és la jerarquia de xarxes multinivell de Jürgen Schmidhuber (1992) entrenada prèviament un nivell a la vegada mitjançant un aprenentatge no supervisat, afinat mitjançant la retropropagació. Aquí cada nivell aprèn una representació comprimida de les observacions que s'alimenta al següent nivell.

Memòria a curt termini

Una altra tècnica especialment utilitzada per a xarxes neuronals recurrents és la xarxa de memòria a curt termini (LSTM) de 1997 per Hochreiter & Schmidhuber.[8]

Maquinari més ràpid

Els avenços del maquinari han fet que des del 1991 fins al 2015, la potència de l'ordinador (especialment la que ofereixen les GPU) s'hagi multiplicat al voltant d'un milió de vegades,

Xarxes residuals

Una de les maneres més noves i efectives de resoldre el problema del gradient de desaparició és amb xarxes neuronals residuals, o ResNets (que no s'ha de confondre amb les xarxes neuronals recurrents).

Altres funcions d'activació

Els rectificadors com ReLU pateixen menys el problema del gradient de desaparició, perquè només saturen en una direcció.[9]

Referències

Plantilla:Referències