Anar al contingut

Ret neuronal residual

De L'Enciclopèdia, la wikipedia en valencià
Archiu:ResBlock.png
Un Bloc Residual en una Ret Residual profunda. Ací la conexió residual es bota dos capes.

Una ret neuronal residual (també coneguda com a ret residual, ResNet)[1] és un model d'aprenentage profunt en el que les capes de pesos deprenen funcions residuals en referència a les entrades de les capes. Una ret residual[1] és una ret en conexions de bot que realisen mapages d'identitat, fusionades en les eixides de les capes per adició. Es comporta com una Highway Network (Autopista de l'informació)[2] les portes del qual s'òbrin per mig de pesos de biaix fortament positiu. Açò permet que els models d'aprenentage profunt en decenes o centenars de capes s'entrenen fàcilment i s'aproximen a una major precisió en profundisar. Les conexions de bot d'identitat, a sovint denominades "conexions residuals", també s'utilisen en les rets LSTM (memòria a curt-llarc determini) de 1997,[3] els models de transformador (per eixemple, BERT, models GPT com ChatGPT), el sistema AlphaGo Zero, el sistema AlphaStar i el sistema AlphaFold.

Les rets residuals varen ser desenrollades per Kaiming He, Xiangyu Zhang, Shaoqing Ren i Jian Sun, que varen guanyar el concurs ImageNet 2015.[4][5]

Formulació

[editar | editar còdic]

Antecedents

[editar | editar còdic]

El model AlexNet desenrollat en 2012 per a ImageNet era una ret neuronal convolucional de 8 capes. Les rets neuronals desenrollades en 2014 pel Visual Geometry Group (VGG) de l'Universitat d'Oxford es varen aproximar a una profunditat de 19 capes apilant capes convolucionales de 3 en 3.[6] Pero apilar més capes va provocar una ràpida reducció de la precisió de l'entrenament,[7] lo que es coneix com el problema de la "degradació".[1]

Una ret més profunda no deuria produir una major pèrdua d'entrenament que la seua homòloga menys profunda, si esta ret més profunda pot construir-se per mig de la seua homòloga menys profunda apilada en capes adicionals.[1] Si les capes adicionals poden establir-se com a mapages d'identitat, la ret més profunda representaria la mateixa funció que el homòloga menys profunda. El hipòtesis és que el optimizador no és capaç d'aproximar-se als mapages d'identitat per a les capes parametrizadas.

Aprenentage residual

[editar | editar còdic]

En un model de ret neuronal multicapa, considere una subred en un número determinat (per eixemple, 2 o 3) de capes apilades. Denotem la funció subjacent realisada per esta subred com H(x), a on x és l'entrada a esta subred. L'idea de "aprenentage residual" re-parametriza esta subred i deixa que les capes de paràmetros representen una funció residual F(x):=H(x)x. El resultat y d'esta subred es representa com:y=F(x)+x

Est és també el principi de la computació celular[3] LSTM de 1997 yt+1=F(xt)+xt, que es convertix en y=F(x)+x durant la retropropagaació en el temps.

La funció F(x) sol representar-se per mig de multiplicació de matrius entrellaçada en la funció d'activació i operacions de normalisació (per eixemple, normalisació per lots o normalisació per capes).

Esta subred es denomina "bloc residual".[1] Una ret residual profunda es construïx apilant una série de blocs residuals.

El funcionament de "+ x" en "y=F(x)+x" s'aborda per mig d'una conexió de bot que realisa el mapage d'identitat i conecta l'entrada d'un bloc residual en la seua eixida. Esta conexió sol denominar-se "conexió residual" en treballs posteriors.[8]

Propagació de la senyal

[editar | editar còdic]

L'introducció de mapages d'identitat facilita la propagació de la senyal tant en els trayectes cap a davant com cap a arrere.[9]

Propagació cap a davant

[editar | editar còdic]

Si l'eixida del bloc residual -ésimo és l'entrada al bloc residual (+1)-ésimo (és dir, suponent que no hi ha funció d'activació entre blocs), tenim:[9]

x+1=F(x)+x

Aplicant esta formulació de forma recursiva, per eixemple:

x+2=F(x+1)+x+1=F(x+1)+F(x)+x, tenim:

xL=x+i=lL1F(xi)

A on L és l'índex de qualsevol bloc residual posterior (per eixemple, l'últim bloc) i és l'índex de qualsevol bloc anterior. Esta formulació sugerix que sempre hi ha una senyal que s'envia directament des d'un bloc menys profunt a un bloc més profunt L.

Propagació cap a arrere

[editar | editar còdic]

La formulació de l'aprenentage residual oferix la ventaja afegida de resoldre en certa mida el problema del gradient de fuga. No obstant, és crucial reconéixer que el problema del gradient de fuga no és la causa principal del problema de degradació, ya que ya s'ha abordat per mig de l'us de capes de normalisació. Prenent la derivada sobre xd'acort en la propagació cap a avant anterior, tenim:[9]

x=xLxLx=xL(1+xi=lL1F(xi))=xL+xLxi=lL1F(xi) 

Ací és la funció de pèrdua que deu minimisar-se.

Esta formulació sugerix que el càlcul del gradient d'una capa menys profunda x sempre té un terme xL que s'afig directament. Encara que els gradient de el F(xi) són chicotets, el gradient total x no desapareix gràcies al terme afegit xL.

Relació en les equacions diferencials

[editar | editar còdic]

L'actualisació d'una ret residual pot expressar-se esquemáticament com

hk+1=hk+Δtf(hk,tk,θk),

a on hk representa l'estat de la ret en la capa k i f és la transformació residual parametrizada. Reordenando l'expressió,

hk+1hkΔt=f(hk,tk,θk),

s'obté una forma equivalent a una discretizaació per mig del método de Euler de l'equació diferencial ordinària

dh(t)dt=f(h(t),t,θ).


Esta interpretació relaciona les rets residuals en els sistemes dinàmics i va donar lloc a arquitectura de profunditat contínua, com les equacions diferencials neuronals. En estos models, la successió finita de blocs residuals se substituïx per l'integració numèrica d'una dinàmica contínua parametrizada per una ret neuronal.[10]

La correspondència és una interpretació matemàtica i no implica que qualsevol ret residual siga exactament equivalent a una equació diferencial: una ResNet manté una arquitectura discreta, mentres que una neural ODE definix explícitament una evolució contínua que deu resoldre's per mig d'un integrador numèric.[11]

Vore també

[editar | editar còdic]

Referències

[editar | editar còdic]
  1. 1,0 1,1 1,2 1,3 1,4
  2. 3,0 3,1 Neural Computation.
    1735–1780.doi:10.1162/neco.1997.9.8.1735.
  3. «Imagenet: A large-scale hierarchical image database». scholar.google.com. Consultat el 2023-08-21.
  4. «ILSVRC2015 Results». image-net.org. Consultat el 2023-08-21.
  5. 9,0 9,1 9,2
  6. (2018).Advances in Neural Information Processing Systems.31
  7. (2016).Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.
    770-778.doi:10.1109/CVPR.2016.90.


Referències

[editar | editar còdic]