Backpropagation: cos’è, come funziona e perché è il cuore delle reti neurali
La backpropagation è l'algoritmo che permette alle reti neurali di imparare dai propri errori. Ecco cos'è, come funziona e perché è così importante.

Ogni volta che un assistente virtuale capisce quello che scrivi, che un’applicazione riconosce un volto in una fotografia o che un traduttore automatico trasforma una frase da una lingua all’altra, dietro le quinte c’è una rete neurale che a un certo punto ha imparato a svolgere quel compito. La domanda più interessante di tutte è però quella che quasi nessuno si pone: come fa una rete fatta di numeri e connessioni a imparare qualcosa? Nella stragrande maggioranza dei casi la risposta ha un nome preciso, la backpropagation.
La backpropagation, in italiano retropropagazione dell’errore, è l’algoritmo che permette a una rete neurale di correggere i propri sbagli e di migliorare un piccolo passo alla volta. Senza di essa, il deep learning così come lo conosci oggi semplicemente non esisterebbe.
In questa guida ti spiego che cos’è la backpropagation, come funziona passo dopo passo e perché è considerata una delle idee più importanti dell’intelligenza artificiale moderna. Lo farò senza dare per scontata alcuna conoscenza matematica avanzata, perché l’obiettivo non è farti memorizzare una definizione, ma farti capire davvero il meccanismo che c’è sotto.
Che cos’è la backpropagation
Il termine backpropagation è la contrazione dell’espressione inglese backward propagation of errors, cioè propagazione all’indietro degli errori. È un algoritmo che si usa per addestrare le reti neurali artificiali, ovvero per far sì che imparino a produrre le risposte corrette a partire dai dati che ricevono.
L’idea di fondo è sorprendentemente semplice. Quando una rete neurale commette un errore, la backpropagation calcola quanto ciascuna delle sue connessioni interne ha contribuito a quello sbaglio, e poi indica in che direzione modificare ogni connessione per sbagliare un po’ meno la volta successiva. Ripetuto milioni di volte, questo processo trasforma una rete inizialmente incapace in un modello che riconosce immagini, comprende il linguaggio o gioca a un videogioco meglio di una persona.
Detto in una frase sola: la backpropagation è il modo in cui una rete neurale scopre di chi è la colpa quando sbaglia, e distribuisce quella responsabilità tra tutte le sue parti.
Perché si chiama così
Il nome descrive con precisione ciò che accade. Quando la rete elabora un dato, l’informazione viaggia in avanti, dall’ingresso verso l’uscita. L’errore, invece, viaggia nella direzione opposta, dall’uscita verso l’ingresso, attraversando la rete a ritroso. È proprio questo viaggio all’indietro a dare il nome all’algoritmo. La backpropagation non è quindi la rete neurale in sé, ma la procedura che le insegna a diventare brava nel suo compito.
Come impara una rete neurale: il contesto in cui vive la backpropagation
Per capire davvero la backpropagation devi prima avere chiaro come è fatta una rete neurale. Immagina tanti piccoli elementi di calcolo, chiamati neuroni artificiali, organizzati in strati. C’è uno strato di ingresso che riceve i dati, uno o più strati intermedi che li elaborano e uno strato di uscita che produce il risultato finale. Questa struttura a strati è il cuore del deep learning, e più strati ci sono, più profonda si dice che sia la rete.
Ogni collegamento tra due neuroni ha associato un numero, chiamato peso. Il peso stabilisce quanta importanza ha il segnale che passa da un neurone all’altro. Un peso grande amplifica il segnale, un peso piccolo lo attenua, un peso negativo lo inverte. In una rete moderna questi pesi possono essere milioni, a volte miliardi.
Qui arriva il punto chiave. Tutta la conoscenza di una rete neurale è contenuta nei suoi pesi. Addestrare una rete significa una cosa sola: trovare i valori giusti da assegnare a ciascun peso.
All’inizio quei pesi sono impostati a caso. Una rete appena creata è come uno studente che risponde alle domande tirando a indovinare: le sue previsioni sono casuali e quasi sempre sbagliate. Il compito dell’addestramento è portarla, in modo graduale, da questo stato di ignoranza totale a uno stato di competenza. E lo strumento che rende possibile questo viaggio è proprio la backpropagation.
Prima che l’errore possa tornare indietro, però, il segnale deve fare il suo percorso in avanti. Ogni neurone, dopo aver sommato i segnali che riceve, li fa passare attraverso una funzione di attivazione, che decide se e quanto quel neurone deve accendersi. Questo dettaglio, che ora può sembrarti secondario, sarà importante quando parleremo di come si propaga l’errore.
Come funziona la backpropagation, passo dopo passo
L’addestramento di una rete neurale procede per cicli. Ogni ciclo prende un esempio, o un gruppo di esempi, e lo usa per migliorare i pesi di pochissimo. Vediamo le quattro fasi che compongono un singolo ciclo, perché è la loro ripetizione a produrre l’apprendimento.
Fase 1, il passaggio in avanti
Tutto comincia con il forward pass, il passaggio in avanti. Un dato entra nella rete, per esempio l’immagine di un gatto. Attraversa strato dopo strato, viene moltiplicato per i pesi, sommato e trasformato dalle funzioni di attivazione, finché non arriva allo strato di uscita, che produce una risposta. Diciamo che la rete risponde: è un cane, con una certa sicurezza.
La rete ha fatto la sua previsione. Ora bisogna capire quanto è stata sbagliata.
Fase 2, il calcolo dell’errore
A questo punto entra in gioco una funzione chiamata funzione di costo, o funzione di perdita. Il suo compito è misurare con un numero la distanza tra la risposta della rete e la risposta corretta. Se la rete doveva dire gatto e ha detto cane, l’errore sarà alto. Se ha detto gatto con grande sicurezza, l’errore sarà basso.
Questo numero è la bussola dell’intero processo. Tutto l’addestramento ha un solo scopo, ridurre progressivamente questo valore. Più l’errore è piccolo, più le previsioni della rete si avvicinano alla realtà.
Fase 3, la propagazione all’indietro
Ed eccoci al momento che dà il nome all’algoritmo. Ora che la rete sa quanto ha sbagliato, deve capire chi ha sbagliato, cioè quali pesi hanno contribuito di più all’errore e in che misura. La backpropagation parte dallo strato di uscita e torna indietro, strato per strato, fino all’ingresso.
In ogni strato calcola una cosa precisa: quanto una piccola variazione di ciascun peso farebbe aumentare o diminuire l’errore complessivo. Questa quantità si chiama gradiente. Puoi pensare al gradiente come a una freccia che, per ogni peso, dice due cose: in quale direzione muoverlo e con quanta forza, per ridurre lo sbaglio.
Il punto geniale è come questo calcolo viene distribuito. La rete non ricalcola tutto da zero per ogni peso. Riutilizza i risultati già ottenuti negli strati successivi per calcolare quelli degli strati precedenti, propagando l’informazione sull’errore all’indietro in modo ordinato ed efficiente. È questa idea, tanto semplice quanto potente, ad avere reso possibile addestrare reti con moltissimi strati.
Fase 4, l’aggiornamento dei pesi
L’ultima fase mette in pratica ciò che la backpropagation ha scoperto. Ogni peso viene ritoccato di pochissimo nella direzione indicata dal suo gradiente, in modo da ridurre l’errore. La misura di questo ritocco dipende da un valore chiamato tasso di apprendimento, che stabilisce quanto grandi sono i passi che la rete compie a ogni aggiornamento.
Se i passi sono troppo grandi, la rete rischia di superare continuamente la soluzione senza mai stabilizzarsi. Se sono troppo piccoli, l’apprendimento diventa lentissimo. Trovare il giusto equilibrio è una delle arti pratiche di chi addestra questi modelli.
Poi il ciclo ricomincia, con un nuovo esempio. Un passaggio in avanti, il calcolo dell’errore, la propagazione all’indietro, un altro piccolo aggiustamento. Migliaia, milioni di volte. Ogni singolo ciclo migliora la rete di una quantità quasi impercettibile, ma la somma di tutti questi micro miglioramenti è ciò che porta una rete a diventare sorprendentemente capace.
La regola della catena, il cuore matematico spiegato con parole semplici
Dietro la backpropagation c’è uno strumento matematico che studi al liceo o all’università, la regola della catena. Non ti serve saperla applicare per capire l’idea, e proprio l’idea è quello che conta.
Una rete neurale è una lunga catena di operazioni, dove l’uscita di un passaggio diventa l’ingresso del successivo. Quando vuoi sapere quanto un peso nascosto in profondità influenza il risultato finale, devi tenere conto di tutti i passaggi che stanno tra quel peso e l’uscita. La regola della catena è esattamente lo strumento che permette di collegare queste influenze una dopo l’altra, moltiplicandole lungo il percorso.
È qui che tornano utili le funzioni di attivazione di cui parlavamo prima. Per propagare l’errore all’indietro, la backpropagation ha bisogno di sapere come reagisce ogni neurone a una piccola variazione, e questa informazione dipende dalla derivata della sua funzione di attivazione. Non serve che tu ricordi cosa sia una derivata: ti basta sapere che ogni anello della catena contribuisce con il proprio pezzo, e che la backpropagation li mette insieme in modo automatico e ordinato.
In sostanza, la regola della catena è il motivo per cui è possibile assegnare a ogni singolo peso la sua quota di responsabilità, anche se quel peso si trova a decine di strati di distanza dall’uscita.
Un esempio intuitivo per capire davvero
Immagina un’azienda che consegna un prodotto sbagliato a un cliente. Il cliente si lamenta: questo è l’errore finale, misurato dalla funzione di costo. Ora il direttore vuole capire dove si è rotto il processo, per evitare che accada di nuovo.
Non ha senso incolpare a caso un reparto qualsiasi. Il direttore risale la catena a ritroso. Parte dalla spedizione, poi passa al magazzino, poi alla produzione, poi agli acquisti, chiedendo a ogni reparto quanto ha contribuito all’errore. Alla fine ogni reparto riceve un’indicazione precisa: tu correggi questo di tanto, tu di poco, tu vai bene così.
La backpropagation fa esattamente questo con i pesi di una rete neurale. Risale il processo all’indietro e assegna a ciascuno la sua responsabilità, così che ognuno possa correggersi nella giusta misura. Nessuno viene incolpato a caso e nessuno viene ritoccato più del necessario.
C’è però una differenza importante rispetto all’azienda. La rete non fa questa analisi una volta sola, ma dopo ogni singolo esempio che vede. È come se, dopo ogni consegna, l’intera catena si perfezionasse un pochino. Ed è questa ostinazione, ripetuta su enormi quantità di dati, a generare l’apprendimento.
Una breve storia: perché la backpropagation ha cambiato tutto
Le idee alla base della backpropagation circolavano in forme diverse già negli anni sessanta e settanta, in ambiti come la teoria del controllo. Il momento che segnò la svolta arrivò però nel 1986, quando David Rumelhart, Geoffrey Hinton e Ronald Williams pubblicarono un lavoro che mostrava in modo chiaro come usare la backpropagation per addestrare reti neurali con strati nascosti.
Fu una piccola rivoluzione. Fino ad allora non esisteva un metodo pratico ed efficiente per insegnare qualcosa alle reti dotate di strati intermedi, e senza strati intermedi le reti restavano molto limitate. La backpropagation aprì la porta a modelli più profondi e più potenti.
Il pieno potenziale di questa idea si sarebbe manifestato solo molti anni dopo. Serviva altro: enormi quantità di dati e una potenza di calcolo che negli anni ottanta non era disponibile. Quando, a partire dagli anni duemiladieci, dati e schede grafiche potenti diventarono accessibili, la vecchia backpropagation si rivelò l’ingrediente giusto al momento giusto, e diede il via all’esplosione del deep learning a cui stiamo assistendo ancora oggi.
È interessante notare che l’algoritmo che addestra i modelli linguistici più avanzati di oggi è, nella sua essenza, lo stesso descritto quasi quarant’anni fa. Sono cambiate la scala e le raffinatezze, non l’idea di fondo.
I limiti e i problemi della backpropagation
La backpropagation è potentissima, ma non è priva di difetti. Conoscerli aiuta a capire perché addestrare una rete non è mai un processo automatico e indolore.
Il problema del gradiente che svanisce
Nelle reti molto profonde, quando l’errore viene propagato all’indietro attraverso tanti strati, il gradiente può diventare sempre più piccolo, fino quasi ad annullarsi. È il celebre problema del gradiente che svanisce. Quando accade, gli strati più vicini all’ingresso ricevono segnali troppo deboli per imparare qualcosa, e l’addestramento si blocca. Il problema opposto, il gradiente che esplode, si verifica quando questi valori crescono a dismisura e rendono l’apprendimento instabile.
Buona parte dei progressi tecnici degli ultimi anni, dalle nuove funzioni di attivazione a particolari accorgimenti architetturali, nasce proprio dal tentativo di tenere questi fenomeni sotto controllo.
I minimi locali e la ricerca della soluzione
La backpropagation, insieme all’algoritmo che aggiorna i pesi, cerca di ridurre l’errore muovendosi come chi scende lungo una valle cercando il punto più basso. Il rischio è fermarsi in un avvallamento che sembra il fondo ma non lo è, un cosiddetto minimo locale. Nella pratica, per fortuna, le reti molto grandi tendono a cavarsela bene e a trovare soluzioni più che soddisfacenti, anche se non sempre quella teoricamente perfetta.
Il costo, i dati e la scatola nera
Addestrare una rete con la backpropagation richiede molti dati di buona qualità e una notevole potenza di calcolo, con i costi energetici ed economici che ne derivano. Inoltre, anche quando funziona benissimo, la backpropagation non ci dice perché la rete ha imparato proprio quei pesi. Il modello resta in larga parte una scatola nera, e capire cosa succede davvero al suo interno è tuttora un campo di ricerca aperto.
Backpropagation e discesa del gradiente: qual è la differenza
Questi due termini vengono spesso usati insieme, e a volte confusi, ma indicano due cose distinte che collaborano. Vale la pena chiarirlo, perché è una delle domande più frequenti su questo argomento.
La backpropagation è il metodo che calcola i gradienti, cioè che scopre in quale direzione andrebbe modificato ciascun peso per ridurre l’errore. Non muove nulla, si limita a fornire le indicazioni. La discesa del gradiente è invece l’algoritmo che prende quelle indicazioni e le usa per aggiornare concretamente i pesi, facendo compiere alla rete un passo verso la soluzione.
Puoi vederla così: la backpropagation è la mappa che indica la strada in discesa, la discesa del gradiente è il passo che fai effettivamente in quella direzione. Servono entrambe, e lavorano a stretto contatto in ogni ciclo di addestramento.
Cosa ti conviene ricordare
Se dovessi portare a casa pochi concetti da questa guida, sarebbero questi. La conoscenza di una rete neurale vive nei suoi pesi, e addestrarla significa trovare i valori giusti per quei pesi. La backpropagation è la procedura che, dopo ogni errore, distribuisce la responsabilità tra tutti i pesi e calcola come correggerli. Questo avviene propagando l’errore all’indietro, dall’uscita verso l’ingresso, grazie alla regola della catena.
Il resto, per quanto sofisticato, è ottimizzazione e ingegneria costruita attorno a questo nucleo. Quando senti parlare di modelli con miliardi di parametri addestrati su quantità enormi di testo o immagini, sappi che sotto c’è sempre lo stesso paziente meccanismo, ripetuto un numero inimmaginabile di volte.
Dove si usa la backpropagation nella vita di tutti i giorni
Può sembrare un concetto astratto e da laboratorio, eppure la backpropagation è dietro moltissimi strumenti che usi senza pensarci. Ogni volta che una fotocamera dello smartphone riconosce un volto per metterlo a fuoco, o che una galleria di immagini raggruppa da sola le foto di una stessa persona, c’è una rete addestrata con la backpropagation che ha imparato a distinguere ciò che vede.
Lo stesso vale per gli assistenti conversazionali e i modelli linguistici. Quando un chatbot completa una frase in modo sensato o riassume un testo, sta usando pesi che sono stati regolati, uno dopo l’altro, proprio da questo algoritmo durante mesi di addestramento. Anche la traduzione automatica, i sistemi che ti suggeriscono il prossimo video o la prossima canzone, e i filtri antispam della posta elettronica poggiano sullo stesso principio.
Il meccanismo è sempre quello, a prescindere dal compito: mostrare alla rete tanti esempi, misurare quanto sbaglia, propagare l’errore all’indietro e correggere. Cambiano i dati e l’architettura, non la logica.
Capire questo ti aiuta anche a leggere meglio le notizie sull’intelligenza artificiale. Quando leggi che un modello è stato addestrato su enormi quantità di testo o di immagini, ora sai cosa significa davvero: significa che la backpropagation ha ripetuto il suo ciclo di correzione un numero enorme di volte, fino a plasmare miliardi di pesi.
Conclusioni
La backpropagation è una di quelle idee che, una volta capite, cambiano il modo in cui guardi l’intelligenza artificiale. Dietro l’apparente magia di un modello che riconosce, traduce o conversa non c’è nulla di misterioso, ma un processo rigoroso di prova, errore e correzione, applicato con una costanza che nessun essere umano potrebbe sostenere.
Capire questo meccanismo ti dà una chiave di lettura preziosa: le reti neurali non sanno nulla in partenza, imparano perché qualcuno ha progettato un modo elegante per farle sbagliare sempre un po’ meno. E quel modo, nella stragrande maggioranza dei casi, è la backpropagation.
Se questa guida ti ha incuriosito, ti consiglio di proseguire esplorando i concetti collegati, dalle reti neurali alla discesa del gradiente, fino alle funzioni di attivazione. Sono i pezzi di uno stesso mosaico, e più ne conosci, più l’intelligenza artificiale smette di sembrarti una scatola chiusa e inizia a rivelarti la sua logica.