Backpropagation (of errors) uses gradient descent to minimise the failure rate against the training set. Upon testing against every item in the training set, we calculate the error-rate (overall error between desired output and current output). Then we can compute a backward error to adjust weights at each layer and run the process again until error rate stabilises.