Weights in a neural network are typically mutable, evolving in accord with a learning algorithm. The literature offers various learning algorithms, but the basic idea is usually to adjust weights so that actual outputs gradually move closer to the target outputs one would expect for the relevant inputs. The backpropagation algorithm is a widely used algorithm of this kind (Rumelhart, Hinton, and Williams 1986).