English

Weight Feedback Computes the Jacobian Transpose Locally in Modern Deep Networks

Machine Learning 2026-07-15 v1

Abstract

Predictive Coding (PC) offers a biologically motivated alternative to backpropagation via local weight updates, yet routing error between layers still relies on an autograd Jacobian-transpose (JJ^\top) product - the last non-local operation in PC. We show that this dependency is largely avoidable. For any layer f(x)=Act(Norm(L(x)))f(x)=\mathrm{Act}(\mathrm{Norm}(L(x))) with frozen normalization statistics, the exact JJ^\top factors into three locally available terms, Jv=L(sσ(z)v)J^\top v = L^\top(s \odot \sigma'(z) \odot v), where σ\sigma' is the activation derivative, zz is the pre-activation, and s=γ/σruns=\gamma/\sigma_{\mathrm{run}} is the normalization gain. Prior weight-feedback methods omitted both corrections; restoring them closes the transport gap for this layer class. Locality here holds up to three assumptions, which we state upfront: weight symmetry (LL^\top mirrors the forward operator, as assumed by all PC), a soft spectral-norm control that is not synapse-local, and a nearest-neighbour approximation for MaxPool. Substituting the identity into PC yields WF-Act-PC, which removes the autograd backward pass from error transport. On CIFAR-10/100 (50 epochs, 5 seeds), WF-Act-PC is the only PC method whose accuracy improves with depth, surpassing iPC - the strongest classical PC baseline - by 2.7-22.3 pp on CIFAR-10. With both methods tuned per architecture, it matches or exceeds a comparably-tuned backpropagation baseline on the deeper CIFAR-10 architectures (VGG-9: 93.57% vs. 92.43%; ResNet-18: 92.76% vs. 91.54%) and on the harder Tiny-ImageNet benchmark, while trailing tuned BP on the deeper CIFAR-100 VGG cells. Our WF-Act-PC implementation is publicly available at https://github.com/jlshen025/pcax

Keywords

Cite

@article{arxiv.2607.13380,
  title  = {Weight Feedback Computes the Jacobian Transpose Locally in Modern Deep Networks},
  author = {Junlong Shen and Xingyu Li},
  journal= {arXiv preprint arXiv:2607.13380},
  year   = {2026}
}