Retropropagación es un algoritmo de aprendizaje de redes neuronales. Este realiza su aprendizaje sobre una red neuronal feed-forward. Un ejemplo de esta red es mostrado en la siguiente figura:

Las entradas corresponden a los atributos medidos para cada ejemplo de entrenamiento. Las entradas son enviadas simultáneamente a un grupo de unidades, las cuales constituyen la capa de entrada, los pesos generados en esta capa, son enviados simultáneamente a la segunda capa, conocida como capa oculta. Los pesos generados en la capa oculta pueden ser enviados a otra capa oculta, y así sucesivamente. El número de capas ocultas es arbitrario, sin embargo, en la práctica, usualmente sólo se utiliza una. Los pesos generados en la última capa oculta son las entradas de la capa de salida, la cual genera la predicción de clase para los ejemplos ingresados.
En una red feedfordward
ninguno de los pesos de salida vuelve a la capa de entrada o a una unidad anterior
a la capa actual. Si es totalmente conectada, cada unidad provee una salida
a cada unidad en la siguiente capa.
¿Cómo trabaja el algoritmo de retropropagación? Este algoritmo
aprende procesando iterativamente un conjunto de ejemplos de entrenamiento,
comparando la predicción de la red para cada ejemplo con la clase real
de dicho ejemplo (ya conocida). Para cada ejemplo de entrenamiento, los pesos
son modificados para minimizar el error medio cuadrático entre la predicción
y la clase real. Estas modificaciones son hechas en dirección hacia atrás,
es decir, desde la capa de salida, hacia cada capa oculta llegando hasta la
primera capa oculta (de aquí el nombre backpropagation). Sin embargo,
esto no es garantía, en general los pesos convergirán, y el proceso
de aprendizaje termina.