Accelerated Predictive Coding Networks via Direct Kolen-Pollack Feedback Alignment
Organizations: Department of Microelectronics, Delft University of Technology, Delft, Netherlands.
Abstract
Predictive coding (PC) is a biologically inspired algorithm for training neural networks that relies only on local updates, allowing parallel learning across layers. However, practical implementations face two key limitations: error signals must still propagate from the output to early layers through multiple inference-phase steps, and feedback decays exponentially during this process, leading to vanishing updates in early layers. We propose direct Kolen-Pollack predictive coding (DKP-PC), which simultaneously addresses both feedback delay and exponential decay, yielding a more efficient and scalable variant of PC while preserving update locality. Leveraging direct feedback alignment and direct Kolen-Pollack algorithms, DKP-PC introduces learnable feedback connections from the output layer to all hidden layers, establishing a direct pathway for error transmission. This yields an algorithm that reduces the theoretical error propagation time complexity from O(L), with L being the network depth, to O(1), removing depth-dependent delay in error signals. Moreover, empirical results demonstrate that DKP-PC achieves performance at least comparable to, and often exceeding, that of standard PC, while offering improved latency and computational performance, supporting its potential for custom hardware-efficient implementations.
Figures & tables
| % Accuracy | DKP | PC | iPC | CN-PC | DKP-PC | BP |
|---|---|---|---|---|---|---|
| MLP | ||||||
| MNIST | ||||||
| FashionMNIST | ||||||
| VGG-7 | ||||||
| CIFAR-10 | ||||||
| CIFAR-100 (Top-1) |
| Seconds | DKP | PC | iPC | DKP-PC | BP |
|---|---|---|---|---|---|
| MLP | |||||
| MNIST | |||||
| FashionMNIST | |||||
| VGG-7 | |||||
| CIFAR-10 | |||||
| CIFAR-100 |
Appendix figures & tables6 assets
Supplementary material from the paper’s appendix.
Appendix
| MLP | VGG-7 | VGG-9 | |
| Conv. channels | – | [128x2, 256x2, 512x2] | [128x2, 256x2, 512x2] |
| Kernel sizes | – | [3, 3, 3, 3, 3, 3] | [3, 3, 3, 3, 3, 3] |
| Strides | – | [1, 1, 1, 1, 1, 1] | [1, 1, 1, 1, 1, 1] |
| Paddings | – | [1, 1, 1, 0, 1, 0] | [1, 1, 1, 1, 1, 1] |
| Pool window | – | ||
| Pool stride | – | 2 | 2 |
| MLP | VGG-7 | VGG-9 | |||||
| MNIST | FMNIST | CIFAR-10 | CIFAR-100 | CIFAR-10 | CIFAR-100 | Tiny ImageNet | |
| activation | gelu | gelu | gelu | tanh | leaky | leaky | gelu |
| fw-lr | |||||||
| fw-decay | |||||||
| fw-opt | adamw | adamw | adam | adam | adam | adam | adamw |
| i-lr | |||||||
Predictive Coding
Predictive coding explains perception and learning through predictions, prediction errors, and updates to internal models.
See all 59 papers