La retropropagazione (o backpropagation in inglese) è un algoritmo chiave utilizzato nell'ambito dell'apprendimento delle reti neurali artificiali. È un metodo per addestrare i livelli intermedi di una rete neurale in modo da minimizzare l'errore complessivo dell'output.
L'obiettivo della retropropagazione è quello di regolare i
pesi sinaptici delle connessioni tra i neuroni in modo che l'output della rete
neurale sia il più vicino possibile all'output desiderato. Per fare ciò,
l'algoritmo calcola l'errore tra l'output effettivo della rete e l'output
desiderato, e successivamente propaga tale errore all'indietro attraverso i
vari livelli della rete. Durante questa fase di retropropagazione, gli errori
vengono distribuiti ai pesi sinaptici in base alla loro contribuzione
all'errore totale, in modo che i pesi possano essere adeguatamente aggiornati
per ridurre l'errore complessivo.
La retropropagazione sfrutta il concetto di gradiente
descendente per ottimizzare i pesi sinaptici della rete neurale. Calcola i
gradienti delle funzioni di costo rispetto ai pesi, e successivamente aggiorna
i pesi in direzione opposta al gradiente, in modo da muoversi verso i minimi
locali o globali della funzione di costo.
Le parole chiave "retropropagazione" e
"backpropagation" evidenziano il processo di propagazione dell'errore
all'indietro attraverso i livelli della rete neurale, che è fondamentale per
l'addestramento efficace delle reti neurali artificiali.