  Artificial neural networks are often interpreted as abstract models of
biological neuronal networks, but they are typically trained using the
biologically unrealistic backpropagation algorithm and its variants. Predictive
coding has been proposed as a potentially more biologically realistic
alternative to backpropagation for training neural networks. This manuscript
reviews and extends recent work on the mathematical relationship between
predictive coding and backpropagation for training feedforward artificial
neural networks on supervised learning tasks. Implications of these results for
the interpretation of predictive coding and deep neural networks as models of
biological learning are discussed along with a repository of functions,
Torch2PC, for performing predictive coding with PyTorch neural network models.
