Backpropagation

From Machinelearning

Backpropagation has several related meanings when talking about neural networks. Here we mean the process of finding the gradient of a cost function.

Terminology confusion

  • Some people use "backpropagation" to mean the process of finding the gradient of a cost function. This leads people to say things like "backpropagation is just the multivariable chain rule".
  • Some people use "backpropagation" or maybe "backpropagation algorithm" to mean the entire gradient descent algorithm, where the gradient is computed using the multivariable chain rule.

The usual neural network graph

Neural networks are usually illustrated where each node ajℓ is the activation of neuron j in layer ℓ. Then the weights are labeled along the edges.

Computational graphs

The multivariable chain rule can be represented as a computational graph where the nodes are variables that store values from intermediate computations. Each node can use values given to by edges going into it, and sends its output to nodes going out.

A different neural network graph

Naively, we might try to piece together the information in the previous sections as follows:

  1. The usual neural network graph looks like a computational graph.
  2. We know computational graphs are good at representing the process of computing the gradient.
  3. In order to do gradient descent, we want the gradient of the cost function.
  4. Therefore, by (1)-(3), we can use the neural network graph to represent the process of the computing gradient.

See also

References

External links