预测编码(Predictive Coding)是一种源自神经科学的计算框架:网络不靠从输出层一路回传的全局梯度来学习,而是让每一层都去预测下一层的活动,只把"预测误差"往上送,逐层局部地修正自己。
它是怎么工作的
把分层网络想成一家公司的层级汇报。上级先拍个预测:"本周大概能卖 100 单。"一线拿到真实数据:"其实只卖了 60 单。"这 40 单的差距就是预测误差,往上一递,上级据此调整预期;同时一线也会调整自己的做法。来回几轮,预测越来越准,误差越来越小。
对应到模型里,每一层有两组量:一组是它对当前世界状态的估计,一组是估计与实际输入之间的误差。自上而下传的是预测,自下而上传的是误差。权重更新只用到相邻两层的活动值和误差值——这是"局部"的,不需要保存完整的计算图,也不需要一次精确的反向遍历。有意思的是,当迭代收敛到稳定状态时,它的更新方向在数学上可以逼近反向传播算出的梯度。
和相邻概念的区别
| 对比项 | 反向传播(AI 词典:Backpropagation">Backpropagation) | 预测编码 |
|---|---|---|
| 误差来源 | 输出层损失,全局回传 | 每层自己产生局部预测误差 |
| 计算方式 | 一次前向 + 一次反向 | 多次迭代推断,逐步收敛 |
| 生物合理性 | 面临权重传输、精确同步等问题 | 更贴近皮层回路的连接模式 |
| 硬件友好度 | 依赖集中式同步与高精度 | 可异步、稀疏(误差小就少传) |
它也不等于自编码器(Autoencoder)或稀疏编码(Sparse Coding):后两者更像一种目标函数或表示约束,而预测编码是一套"推断 + 学习"的机制,常和自由能原理(Free Energy Principle)放在一起讨论。
为什么近期又被讨论
被提到较多的一个方向是 Augmented Lagrangian Predictive Coding:它把预测误差最小化写成一个带约束的优化问题,用增广拉格朗日法(Augmented Lagrangian)去解。动机是让迭代推断更稳定、收敛更有保障,从而在部分任务上缩小与反向传播的差距。它重新点燃了一个老问题:训练神经网络,是不是非得靠梯度?
对从业者和普通人意味着什么
对研究者,这是一条通往类脑、低能耗、可异步并行硬件的路线,可能和神经形态芯片(Neuromorphic Chip)天然合拍。对普通人,方向是让 AI 更像大脑——边看边学、随环境调整、耗电更少。但要泼一盆冷水:目前主流工程实践仍然是反向传播,预测编码更多停留在研究与原型阶段,效果与规模仍在验证中,具体结论以原始论文为准。
