
La retropropagazione dell'errore (in lingua inglese "backward propagation of errors", solitamente abbreviato in backpropagation), è un algoritmo per l'allenamento 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 gli autocodificatori o Reti Diabolo.
È una generalizzazione della regola delta di reti feed-forward multistrato, resa possibile usando la regola di 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 problema noto come 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.


In probabilità, date due variabili aleatorie "X" e "Y", definite sullo stesso spazio di probabilità, si definisce la loro distribuzione congiunta come la distribuzione di probabilità associata al vettore formula_1. Nel caso di due sole variabili, si parla di distribuzione bivariata, mentre nel caso di più variabili si parla di distribuzione multivariata.
La funzione di ripartizione di una distribuzione congiunta è definita come
o più generalmente
Nel caso di variabili aleatorie discrete, la densità discreta congiunta (o funzione di massa di probabilità congiunta) è data da
Siccome la densità congiunta è anch'essa una densità, è soddisfatta la seguente equazione:
Nel caso di variabili aleatorie continue, la densità congiunta è data da
dove "f"("y"|"x") e "f"("x"|"y") sono le distribuzioni condizionate di Y dato X=x e di X dato Y=y, mentre "f"("x") e "f"("y") sono le distribuzioni marginali della densità congiunta, rispettivamente per X e Y.
Anche in questo caso, è soddisfatto
