Faccia il backprop di una piccola rete a mano
Calcoli i gradienti su carta e li verifichi nel codice
Faccia il backprop di una piccola rete a mano è una lezione Deep Learning Academy gratuita su CoddyKit. Questa è la lezione 3 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.
La nostra piccola rete
Tracciamo a mano la rete più semplice: un input x, un weight w e nessun bias. L'output è semplicemente y = w moltiplicato per x. È abbastanza piccola da poter essere calcolata su carta.
y = w * xAggiungiamo una loss semplice
Confrontiamo l'output con un target t usando l'errore quadratico. Questa loss penalizza le predizioni lontane dal target ed è facile da derivare a mano.
loss = (y - t) ** 2Forward con i numeri
Inseriamo x = 2, w = 3 e t = 10. Il forward restituisce y = 6 e loss = (6 - 10) al quadrato = 16. Ora procediamo backward per trovare dloss/dw.
Primo passaggio: dalla loss all'output
Primo collegamento: come cambia la loss rispetto a y? La derivata di (y - t) al quadrato è 2(y - t), che in questo caso è 2 moltiplicato per (6 - 10) = -8.
dloss_dy = 2 * (y - t)Secondo passaggio: dall'output al peso
Secondo collegamento: come cambia y rispetto a w? Poiché y = w moltiplicato per x, dy/dw è semplicemente x, che nel nostro esempio vale 2.
dy_dw = xUniamo i due collegamenti
La chain rule moltiplica i collegamenti: dloss/dw = dloss/dy moltiplicato per dy/dw = -8 moltiplicato per 2 = -16. Questo numero è il nostro gradiente.
dloss_dw = dloss_dy * dy_dwInterpreti il segno del gradiente
Un gradiente negative indica che aumentare w ridurrebbe la loss. Dovremmo quindi aumentare leggermente w per ottenere un risultato migliore la prossima volta.
Esegui un passaggio di aggiornamento
Con un learning rate di 0.1, l'aggiornamento è w = w - 0.1 moltiplicato per (-16) = 3 + 1.6 = 4.6. Il peso si è spostato verso un valore migliore.
w = w - lr * dloss_dwVerifichiamo il miglioramento
Ripetiamo il passaggio forward con w = 4.6: y = 9.2 e loss = (9.2 - 10) al quadrato = 0.64. È molto inferiore a 16, quindi il step ha davvero aiutato.
Verifichiamolo in PyTorch
PyTorch ottiene automaticamente lo stesso gradiente. Imposti requires_grad su w, esegua il forward, chiami backward e legga w.grad per visualizzare -16.
w = torch.tensor(3.0, requires_grad=True)
loss = (w * 2 - 10) ** 2
loss.backward()
print(w.grad)Gli stessi passaggi, con reti più grandi
Una rete con un milione di pesi fa esattamente la stessa cosa, solo con più links concatenati. La matematica svolta a mano si applica direttamente anche a reti molto più grandi.
Controllo rapido
Verifichiamo il tracciamento svolto a mano.
Riepilogo
Ha tracciato una piccola rete: forward per i valori, poi backward moltiplicando le derivate locali per ottenere il gradiente, infine un passaggio che ha ridotto la loss. ✏️
Domande Frequenti
La lezione «Faccia il backprop di una piccola rete a mano» è gratuita?
Sì — il testo completo di «Faccia il backprop di una piccola rete a mano» è 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 «Faccia il backprop di una piccola rete a mano»?
Calcoli i gradienti su carta e li verifichi nel codice 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 3 di 4.
Quanto tempo richiede la lezione «Faccia il backprop di una piccola rete a mano»?
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