backpropagation Leibniz chain rule automatic differentiation reverse accumulation Seppo Linnainmaa Frank Rosenblatt Henry J. Kelley Bryson dynamic programming control theory backpropagation parameters Paul Werbos Rumelhart Hinton Williams internal representations
The backpropagation algorithm is an efficient application of the Leibniz chain rule (1673) to networks of differentiable nodes. It is also known as 
the reverse mode of automatic differentiation or reverse accumulation, due to Seppo Linnainmaa (1970). The term "back-propagating errors" was introduced in 1962 by Frank Rosenblatt, but he did not have an implementation of this procedure, although Henry J. Kelley and Bryson had dynamic programming based continuous precursors of backpropagation already in 1960–61 in the context of control theory. 
In 1973, Dreyfus used backpropagation to adapt parameters of controllers in proportion to error gradients. 
In 1982, Paul Werbos applied backpropagation to MLPs in the way that has become standard. In 1986 Rumelhart, Hinton and Williams showed that backpropagation learned interesting internal representations of words as feature vectors when trained to predict the next word in a sequence.
