Vanishing Gradient

Il problema del Gradiente Svanente (Vanishing Gradient) è una sfida fondamentale nell'addestramento delle deep neural network. In sostanza, quando si usa l'algoritmo di backpropagation per aggiornare i pesi, il segnale di errore (il gradiente) può diventare incredibilmente piccolo, quasi zero, man mano che si propaga dagli strati finali a quelli iniziali. Questo impedisce ai pesi degli strati iniziali di imparare efficacemente.

In una rete neurale, il gradiente è il vettore che contiene le derivate parziali della funzione di costo (o loss function) rispetto a tutti i pesi della rete.

Ovvero, il gradiente ci dice in quale direzione e di quanto dobbiamo cambiare ogni peso per minimizzare l'errore commesso dalla rete.

Quando alleniamo una rete profonda (con molti strati) usiamo l'algoritmo di retropropagazione dell'errore (backpropagation). È in questo processo che il gradiente "svanisce."

Perché un segnale di errore (il gradiente) si rimpicciolisce costantemente man mano che si muove dagli strati finali verso quelli iniziali? A quale regola matematica fondamentale dobbiamo pensare quando calcoliamo le derivate a ritroso, strato per strato?

La regola matematica fondamentale che causa il problema del gradiente svanente è la Regola della Catena (Chain Rule) del calcolo


La Causa Principale: Funzioni di Attivazione

Questo ci porta direttamente al punto chiave: perché queste singole derivate sono numeri piccoli? Dipende dalla scelta delle funzioni di attivazione utilizzate negli strati.

Quali erano le funzioni di attivazione più comuni nelle reti neurali prima del 2012 e qual è la caratteristica comune delle loro derivate che le rende spesso minori di 1?


Le funzioni di attivazione che hanno storicamente causato il problema sono la Sigmoide (σσ) e la Tangente Iperbolica (tanhtanh)

Verso le Soluzioni

Per superare questo ostacolo, i ricercatori hanno introdotto una nuova famiglia di funzioni di attivazione la cui derivata, nella sua regione operativa, è un valore costante e positivo invece di essere inferiore a 1.

Qual è la funzione di attivazione che è diventata lo standard per le reti profonde proprio per evitare il Vanishing Gradient?


la soluzione standard che ha rivoluzionato il deep learning è stata l'introduzione della funzione ReLU (Rectified Linear Unit)!

3. La Sfida Finale: Reti Molto Profonde

Nonostante ReLU abbia risolto gran parte del problema, l'addestramento di reti con centinaia di strati (come quelle usate in visione artificiale) rimaneva difficile a causa di un fenomeno correlato: il degrado (o degradation).

I ricercatori hanno sviluppato una tecnica architetturale che aggiunge connessioni speciali (skip connections) tra gli strati, creando le Residual Networks.


Last updated