taló Què és la retropropagació? - Unite.AI
Connecteu-vos amb nosaltres
Classe magistral d'IA:

IA 101

Què és la retropropagació?

mm
actualitzat on

Què és la retropropagació?

Els sistemes d'aprenentatge profund són capaços d'aprendre patrons extremadament complexos, i ho aconsegueixen ajustant els seus pesos. Com s'ajusten exactament els pesos d'una xarxa neuronal profunda? S'ajusten a través un procés anomenat retropropagació. Sense la retropropagació, les xarxes neuronals profundes no podrien dur a terme tasques com ara el reconeixement d'imatges i la interpretació del llenguatge natural. Entendre com funciona la retropropagació és fonamental per entendre les xarxes neuronals profundes en general, així que parlem de la retropropagació i veiem com s'utilitza el procés per ajustar els pesos d'una xarxa.

La retropropagació pot ser difícil d'entendre i els càlculs utilitzats per dur a terme la retropropagació poden ser força complexos. Aquest article s'esforçarà per oferir-vos una comprensió intuïtiva de la retropropagació, utilitzant poc en matemàtiques complexes. Tanmateix, cal una mica de discussió sobre les matemàtiques darrere de la retropropagació.

L'objectiu de la retropropagació

Comencem per definir l'objectiu de la retropropagació. Els pesos d'una xarxa neuronal profunda són la força de les connexions entre unitats d'una xarxa neuronal. Quan s'estableix la xarxa neuronal es fan suposicions sobre com es connecten les unitats d'una capa a les capes unides amb ella. A mesura que les dades es mouen per la xarxa neuronal, es calculen els pesos i es fan suposicions. Quan les dades arriben a la capa final de la xarxa, es fa una predicció sobre com es relacionen les característiques amb les classes del conjunt de dades. La diferència entre els valors predits i els valors reals és la pèrdua/error i l'objectiu de la retropropagació és reduir la pèrdua. Això s'aconsegueix ajustant els pesos de la xarxa, fent que els supòsits s'assemblin més a les relacions reals entre les característiques d'entrada.

Entrenant una xarxa neuronal profunda

Abans de la retropropagació es pot fer en a xarxa neural, s'ha de dur a terme el passi d'entrenament regular/forward d'una xarxa neuronal. Quan es crea una xarxa neuronal, s'inicialitza un conjunt de pesos. El valor dels pesos es veurà alterat a mesura que s'entrenen la xarxa. El pas d'entrenament cap endavant d'una xarxa neuronal es pot concebre com tres passos discrets: activació de neurones, transferència de neurones i propagació cap endavant.

Quan entrenen una xarxa neuronal profunda, hem de fer ús de múltiples funcions matemàtiques. Les neurones d'una xarxa neuronal profunda estan formades per les dades entrants i una funció d'activació, que determina el valor necessari per activar el node. El valor d'activació d'una neurona es calcula amb diversos components, sent una suma ponderada de les entrades. Els pesos i els valors d'entrada depenen de l'índex dels nodes que s'utilitzen per calcular l'activació. Cal tenir en compte un altre número a l'hora de calcular el valor d'activació, un valor de biaix. Els valors de biaix no fluctuen, de manera que no es multipliquen juntament amb el pes i les entrades, només s'afegeixen. Tot això significa que es podria utilitzar l'equació següent per calcular el valor d'activació:

Activació = suma (pes * entrada) + biaix

Després d'activar la neurona, s'utilitza una funció d'activació per determinar quina serà la sortida de la sortida real de la neurona. Les diferents funcions d'activació són òptimes per a diferents tasques d'aprenentatge, però les funcions d'activació que s'utilitzen habitualment inclouen la funció sigmoide, la funció Tanh i la funció ReLU.

Una vegada que es calculen les sortides de la neurona executant el valor d'activació a través de la funció d'activació desitjada, es fa la propagació cap endavant. La propagació cap endavant és només agafar les sortides d'una capa i convertir-les en les entrades de la següent capa. A continuació, les noves entrades s'utilitzen per calcular les noves funcions d'activació i la sortida d'aquesta operació es transmet a la capa següent. Aquest procés continua fins al final de la xarxa neuronal.

Retropropagació a la xarxa

El procés de retropropagació pren les decisions finals de la passada d'entrenament d'un model i, a continuació, determina els errors en aquestes decisions. Els errors es calculen contrastant les sortides/decisions de la xarxa i les sortides esperades/desitjades de la xarxa.

Un cop calculats els errors en les decisions de la xarxa, aquesta informació es retropropaga a través de la xarxa i els paràmetres de la xarxa es modifiquen al llarg del camí. El mètode que s'utilitza per actualitzar els pesos de la xarxa es basa en el càlcul, concretament, es basa en la regla de la cadena. Tanmateix, no és necessari entendre el càlcul per entendre la idea de la retropropagació. Només cal saber que quan es proporciona un valor de sortida des d'una neurona, el pendent del valor de sortida es calcula amb una funció de transferència, produint una sortida derivada. Quan es fa la retropropagació, l'error d'una neurona específica es calcula d'acord amb el següent fórmula:

error = (expected_output – actual_output) * pendent del valor de sortida de la neurona

Quan es treballa sobre les neurones de la capa de sortida, el valor de classe s'utilitza com a valor esperat. Després de calcular l'error, l'error s'utilitza com a entrada per a les neurones de la capa oculta, el que significa que l'error d'aquesta capa oculta són els errors ponderats de les neurones que es troben a la capa de sortida. Els càlculs d'error viatgen cap enrere a través de la xarxa al llarg de la xarxa de pesos.

Després de calcular els errors de la xarxa, s'han d'actualitzar els pesos de la xarxa. Com s'ha esmentat, calcular l'error implica determinar el pendent del valor de sortida. Després de calcular el pendent, es pot utilitzar un procés conegut com a descens de pendent per ajustar els pesos a la xarxa. Un desnivell és un pendent, l'angle/desnivell del qual es pot mesurar. El pendent es calcula traçant "y over" o la "ascensió" sobre el "run". En el cas de la xarxa neuronal i la taxa d'error, la “y” és l'error calculat, mentre que la “x” són els paràmetres de la xarxa. Els paràmetres de la xarxa tenen una relació amb els valors d'error calculats i, a mesura que s'ajusten els pesos de la xarxa, l'error augmenta o disminueix.

El "descens del gradient" és el procés d'actualització dels pesos perquè la taxa d'error disminueixi. La retropropagació s'utilitza per predir la relació entre els paràmetres de la xarxa neuronal i la taxa d'error, que configura la xarxa per al descens del gradient. L'entrenament d'una xarxa amb descens de gradient implicava calcular els pesos mitjançant la propagació cap endavant, propagar l'error enrere i, després, actualitzar els pesos de la xarxa.

Blogger i programador amb especialitats en Aprenentatge automàtic i Aprenentatge profund temes. Daniel espera ajudar els altres a utilitzar el poder de la IA per al bé social.