Description
According to the predictive coding (PC) theory in neuroscience, the brain works like a hierarchical generative model, continuously predicting incoming stimuli. Learning and inference are achieved by minimizing the difference between predicted and actual stimuli [1].
Computational models of PC, known as predictive coding networks (PCNs), differ from standard artificial neural networks (ANNs) in two significant ways. First, the PC inference algorithm iteratively refines activities in its layers rather than passing information purely feedforward. Second, instead of relying on a global loss function as backpropagation does in ANNs, the PC training algorithm updates the network's parameters based on local error signals [2]. While this learning algorithm renders PC biologically plausible, it imposes several limitations on the inference process, particularly because the training objective cannot be easily adapted to the task at hand.
The goal of this work is to analyze the effectiveness of the PC inference process by training a PCN with backpropagation while retaining its unique inference algorithm. Although applying backpropagation to a PCN may contradict the principle of biologically plausible learning, it helps analyze the limitations of PCNs by ignoring the constraints imposed by the PC learning algorithm. One exciting direction enabled by the backpropagation training is the possible introduction of a cross-entropy loss to the training objective, allowing a study of how a PCN could handle the classification-reconstruction trade-off [3].
This work has two main objectives. First, the student will implement and train predictive coding networks using both backpropagation and the PC learning algorithms, highlighting potential differences in the resulting inference dynamics. Second, the student will modify the training process to include a cross-entropy loss to study the classification-reconstruction trade-off in PCNs
Prerequisites:
- Interest in machine learning and computational neuroscience
- Programming experience with Python and preferably a deep learning framework, e.g., PyTorch
- Solid foundation in calculus
References
[1] B. Millidge, A. Seth, and C. L. Buckley. Predictive Coding: Theoretical and Experimental Review, July 2022. URL http://arxiv.org/abs/2202.09467. aarXiv:2107.12979 [cs, q-bio]
[2] B. Millidge, T. Salvatori, Y. Song, R. Bogacz, and T. Lukasiewicz. Predictive Coding: Towards a Future of Deep Learning beyond Backpropagation?, Feb. 2022. URL http://arxiv.org/abs/2202.09467. arXiv:2202.09467 [cs]
[3] J. Rathjens and L. Wiskott. Classification and Reconstruction Processes in Deep Predictive Coding Networks: Antagonists or Allies?, Jan. 2024. URL http://arxiv.org/abs/2401.09237. arXiv:2401.09237 [cs]