Gradienti evanescenti ed esplosivi
Scopra cosa danneggia le reti profonde e quali sono le prime soluzioni
Gradienti evanescenti ed esplosivi è una lezione Deep Learning Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Deep Learning Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Deep Learning Academy include 4 lezioni in totale.
I gradienti sono un prodotto
Attraverso molti layer, la retropropagazione moltiplica tra loro molte local derivatives. La dimensione di questo lungo prodotto determina se l'apprendimento funziona o si interrompe.
Moltiplicare numeri piccoli
Se la derivata di ogni collegamento è inferiore a uno, il prodotto si riduce rapidamente. Dopo molti layer, il gradiente diventa tiny, quasi nullo quando raggiunge i layer iniziali.
Questo è il vanishing gradient
Quando i gradienti si riducono quasi a zero, i layer iniziali si aggiornano appena e smettono di imparare. Questo è il problema del vanishing gradient che per lungo tempo ha ostacolato le reti profonde.
Moltiplicare numeri grandi
Se ogni derivata è superiore a uno, il prodotto invece esplode. I gradienti diventano huge mentre risalgono la rete e i pesi compiono variazioni eccessive.
Questo è l'exploding gradient
I gradienti fuori controllo causano il problema dell'exploding gradient. Spesso la loss diventa NaN quando gli aggiornamenti superano di gran lunga qualsiasi valore utile. 💥
Sigmoid ha peggiorato il problema
Sigmoid e tanh comprimono gli input, quindi le loro derivate rimangono ben al di sotto di uno. Impilarle multiplied numeri piccoli e ha reso comuni i gradienti evanescenti.
ReLU in soccorso
ReLU ha una derivata esattamente pari a uno per gli input positivi, quindi non riduce il gradiente. Il passaggio a ReLU è stato una delle prime soluzioni fondamentali.
relu_grad = 1.0 if x > 0 else 0.0Inizializzazione attenta dei pesi
Schemi intelligenti come l'inizializzazione Xavier e He ridimensionano i pesi iniziali, così il prodotto dei gradienti rimane vicino a uno anche attraverso molti layer.
Limiti i gradienti esplosivi
Per contenere le esplosioni, il gradient clipping limita la dimensione del gradiente prima dell'aggiornamento, impedendo che un singolo passaggio enorme rovini il modello.
torch.nn.utils.clip_grad_norm_(model.parameters(), 1.0)Le skip connection aiutano
ResNet aggiunge skip connections che permettono ai gradienti di tornare indietro direttamente, evitando la lunga catena di moltiplicazioni che causa il vanishing gradient.
Perché tutto questo conta
Mantenere il product dei gradienti vicino a uno è ciò che permette alle reti molto profonde di essere addestrate. Ogni soluzione presentata serve a proteggere questo equilibrio.
Controllo rapido
Verifichiamo i problemi che possono verificarsi.
Riepilogo
I prodotti lunghi di derivate possono vanish oppure esplodere. ReLU, un'inizializzazione attenta, il clipping e le skip connection mantengono sani i gradienti nelle reti profonde. 💥
Impara Python con un tutor IA — gratis
Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.
- Corsi
- 30
- Lezioni
- 120
Domande Frequenti
La lezione «Gradienti evanescenti ed esplosivi» è gratuita?
Sì — il testo completo di «Gradienti evanescenti ed esplosivi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Deep Learning Academy, passa a CoddyKit PRO. Il corso Deep Learning Academy include 4 lezioni in totale.
Cosa imparerò in «Gradienti evanescenti ed esplosivi»?
Scopra cosa danneggia le reti profonde e quali sono le prime soluzioni Eserciti Deep Learning Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Deep Learning Academy?
Non è richiesta alcuna esperienza precedente. Deep Learning Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Gradienti evanescenti ed esplosivi»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Deep Learning Academy?
Sì. Ogni lezione Deep Learning Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- La regola della catena, layer dopo layer
- Il forward salva, il backward riutilizza
- Faccia il backprop di una piccola rete a mano
- Gradienti evanescenti ed esplosivi