Anteprima
Vedrai una selezione di 4 pagine su 14
Neural networks Pag. 1 Neural networks Pag. 2
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Neural networks Pag. 6
Anteprima di 4 pagg. su 14.
Scarica il documento per vederlo tutto.
Neural networks Pag. 11
1 su 14
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

BACKPROPAGATION ALGORITHM

Una volta definite le funzioni di costo sia per i task di regressione che di

classificazione, è necessario capire come minimizzare queste funzioni.

L’algoritmo di backpropagation è uno dei meccanismi più usati per allenare le reti

neurali. Esso permette di calcolare in modo efficiente il gradiente degli errori

rispetto ai pesi della rete, in modo da andare ad aggiornare il valore di tali pesi al

fine di minimizzare l’errore complessivo della rete.

Tale algoritmo si articola nelle seguenti fasi:

Forward propagation : i dati di input vengono fatti passare attraverso la rete,

calcolando l’output della rete

Calcolo dell’errore : si calcola l’errore usando la funzione di costo associata

Backpropagation dell’errore : si propaga l’errore all’indietro per ciascun strato

della rete, calcolando come ogni pesi contribuisce all’errore complessivo

Aggiornamento dei pesi: si aggiornano i pesi utilizzando un metodo di

ottimizzazione come la discesa del gradiente

NEURAL NETWORKS 6

Per comprendere meglio il funzionamento dell’algoritmo, consideriamo la

seguente rete neurale:

e inoltre per rendere i calcoli più semplici e facile da comprendere consideriamo

come funzione di costo la seguente funzione:

NEURAL NETWORKS 7

La prima cosa da fare è calcolare il gradiente per tutti i vari pesi. Quindi nel nostro

, ,

caso, è necessario il gradiente di 

θ θ θ

1 2 3

​ ​ ​

NOTA: in questo algoritmo è necessario calcolare il gradiente dall’ultimo

parametro verso il primo. Quindi prima  poi 2 e infine 

θ θ θ

3 1

​ ​

CALCOLO GRADIENTE 

θ

3 ​

Quindi iniziamo calcolando il gradiente per il parametro :

θ

3 ​

(4)

=

guardato la tabella (quella tratteggiata il rosso) , quindi la derivata che

h(x) a

sarebbe:

NOTA: chatgpt suggerisce che solitamente l’algoritmo di backpropagation utilizza

la versione stochastic gradient descent e quindi per questo motivo nel passaggio

che sto per scrivere qua sotto la sommatorio sparisce

NOTA: dato che stiamo usando la stochastic gradient descent anche la funzione

di costo dovrebbe essere privo di sommatoria, ma non ho capito perché il prof

l’ha messa (4) (4)

= )

sempre dalla tabella tratteggiata in rosso si può osservare che ,

a g(z

quindi dobbiamo usare la regola della catena dato che stiamo calcolando la

derivata di una funzione composta. Quindi avremo:

NEURAL NETWORKS 8

(4)

Ora anche  è una funzione (basta vedere la tabella rossa tratteggiata), quindi

z

anche in questo caso dobbiamo usare la regola della catena, ottenendo:

(4) (3)

Ora la derivata parziale di  rispetto a , è semplicemente  (questo è molto

z θ a

3 ​

semplice basta vedere la solita tabella rossa).

Infine per quanto riguarda il gradiente del parametro , riscriviamo il prodotto

θ

3 ​

(4) ′ (4) (3)

( − ) ( )

 come . Quindi avremo una sitazione di questo tipo:

a y g z δ

NOTA: il motivo per cui non calcoliamo la derivata della funzione di attivazione g è

dovuta la fatto che non è stata fissata una funzione specifica. Pertanto potrebbe

variare la funzione e quindi la derivata

NEURAL NETWORKS 9

Questo è il procedimento visto tutto insieme

CALCOLO GRADIENTE 

θ

2 ​

Calcoliamo adesso il gradiente per il parametro 

θ

2 ​

Sostanzialmente bisogna fare la stessa cosa vista per il parametro , ossia

θ

3 ​

calcolare il gradiente della funzione di costo, quindi la derivata parziale, ma in

questo caso rispetto al parametro 

θ

2 ​

NEURAL NETWORKS 10

NOTA: il modo di operare è lo stesso del parametro , perciò non specifico

θ

2 ​

nessun passaggio (4)

NOTA: il primo passaggio parte con  perché se iniziamo a calcolare la derivata

δ (4) ′ (4)

(a − (z )

ci ritroviamo sempre con il termine 

y)g

CALCOLO GRADIENTE 

θ

1 ​

stesso discorso

NEURAL NETWORKS 11

Dettagli
Publisher
A.A. 2021-2022
14 pagine
SSD Scienze matematiche e informatiche MAT/05 Analisi matematica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher vit1104 di informazioni apprese con la frequenza delle lezioni di Analisi matematica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Politecnico di Bari o del prof Narducci Fedelucio.