Only Strict Saddles in the Energy Landscape of Predictive Coding Networks?

Francesco Innocenti, El Mehdi Achour, Ryan Singh, Christopher L. Buckley
8/21/2024
cs.LGcs.AIcs.NE

No official code found. Best implementation: francesco-innocenti/pc-saddles (0 stars, MIT, last commit 2025-08-29).

Abstract

Predictive coding (PC) is an energy-based learning algorithm that performs iterative inference over network activities before updating weights. Recent work suggests that PC can converge in fewer learning steps than backpropagation thanks to its inference procedure. However, these advantages are not always observed, and the impact of PC inference on learning is not theoretically well understood. Here, we study the geometry of the PC energy landscape at the inference equilibrium of the network activities. For deep linear networks, we first show that the equilibrated energy is simply a rescaled mean squared error loss with a weight-dependent rescaling. We then prove that many highly degenerate (non-strict) saddles of the loss including the origin become much easier to escape (strict) in the equilibrated energy. Our theory is validated by experiments on both linear and non-linear networks. Based on these and other results, we conjecture that all the saddles of the equilibrated energy are strict. Overall, this work suggests that PC inference makes the loss landscape more benign and robust to vanishing gradients, while also highlighting the fundamental challenge of scaling PC to deeper models.

View on arXivView PDF

Code Implementations(1)

MIT

Code for NeurIPS 2024 paper "Only Strict Saddles in the Energy Landscape of Predictive Coding Networks?"

00Jupyter NotebookSep 30, 20241 years agoMIT
backpropagationdeep-learningdeep-neural-networksgradient-descentinference-learning+5 more

Similar Papers

Cite this paper

@article{innocenti2024only,
  title  = {Only Strict Saddles in the Energy Landscape of Predictive Coding Networks?},
  author = {Francesco Innocenti and El Mehdi Achour and Ryan Singh and Christopher L. Buckley},
  year   = {2024},
  eprint = {2408.11979},
  archivePrefix = {arXiv},
  doi    = {10.1088/1742-5468/ade2eb},
  url    = {http://arxiv.org/abs/2408.11979v2},
  journal = {NEURIPS 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2408.11979.svg)](https://codeofpaper.com/paper/2408.11979)

Discussion