Today, the most popular method for training multi-layer perceptrons (MLPs) is back-propagation. During backpropagation, the output values are compared with the correct answer to compute the value of some predefined error-function. The error is then fed back through the network. Using this information, the algorithm adjusts the weights of each connection in order to reduce the value of the error function by a small amount. After repeating this process for a sufficiently large number of training cycles, the network will usually converge to a state where the error of the calculations is small. In this case, one would say that the network has learned a certain target function