La retropropagazione dell'errore () è un algoritmo per l'addestramento delle reti neurali artificiali, usato in combinazione con un metodo di ottimizzazione come per esempio la discesa stocastica del gradiente.

La retropropagazione richiede un'uscita desiderata per ogni valore in ingresso per poter calcolare il gradiente della funzione di perdita (funzione di costo). Viene considerato quindi un metodo di apprendimento supervisionato, sebbene venga usato anche in reti non supervisionate come in alcuni tipi di autocodificatori o Reti Diabolo. È una generalizzazione della regola delta di reti feed-forward multistrato, resa possibile usando la regola della catena che iterativamente calcola i gradienti per ogni strato. La retropropagazione richiede che la funzione d'attivazione usata dai neuroni artificiali (o "nodi") sia differenziabile.

Una delle principali difficoltà nell'uso della retropropagazione dell'errore è il cosiddetto problema della scomparsa del gradiente, dovuto all'uso di funzioni di attivazione non lineari che causano una diminuzione esponenziale del valore del gradiente all'aumentare della profondità della rete neurale.

Note

Bibliografia

Voci correlate Differenziazione automatica Prolog

Altri progetti

Collegamenti esterni A Gentle Introduction to Backpropagation - An intuitive tutorial by Shashi Sathyanarayana The article contains pseudocode ("Training Wheels for Training Neural Networks") for implementing the algorithm.

Chapter 7 The backpropagation algorithm of Neural Networks - A Systematic Introduction by Raúl Rojas (ISBN 978-3540605058) Quick explanation of the backpropagation algorithm

Concise explanation of the backpropagation algorithm using math notation by Anand Venkataraman

Backpropagation neural network tutorial at the Wikiversity

Categoria:Reti neurali artificiali Categoria:Algoritmi per l'apprendimento automatico