×

神经网络不要梯度?牛津团队的NoProp干掉反向传播

hqy hqy 发表于2025-07-10 04:21:05 浏览4 评论0百度已收录

抢沙发发表评论

大数据文摘出品

今天要聊的是牛津大学的学者发布的一篇论文:

———NoProp:一种完全不靠前向/反向传播的神经网络训练方法。

图注:论文地址:

https://arxiv.org/pdf/2503.24322

换句话说,就是深度学习训练居然还能不用forward/backward?

读完之后,发现作者真敢想,也真敢做,甚至还在MNIST和CIFAR-10/100上干到了SOTA级别。

01 传统深度学习的“老路”

现在主流的神经网络训练,基本都靠反向传播(back-propagation)。

你从输入跑一遍forward,输出结果和标签比一比,算出损失,再把误差信号沿着神经网络一层层反传下去,调整每一层的参数——这就是经典BP算法的全流程。

图注:反向传播可视化,图片来自于《AI In 100 Images》。

它简单粗暴,好用到称霸深度学习几十年。但BP其实也有一堆槽点:完全不符合生物神经元的工作方式,太“机械”了要存一堆中间激活,内存压力大梯度要一层层传,想多机/分布式训练很难搞还容易出现梯度消失、灾难性遗忘等毛病

所以,其实很多年都有人想另辟蹊径,不靠BP来训练网络。但一直没啥特别靠谱的“新流派”能挑战BP的地位。

02 NoProp:彻底不要forward和backward

NoProp,野心很大:既不要反向传播,也不要传统的前向传播。

它的核心思想其实很“反直觉”:每一层都自己学会“去噪”一个被加了噪声的目标(标签),且每一层的训练都是独立的,完全不需要梯度从头传到尾,也不需要逐层前向推理。

据说,灵感来自扩散模型和flow matching(没错,就是最近AI图像领域炙手可热的扩散流派);本质上,每一层都是一个“去噪专家”,收到一个被加噪的标签和输入后,自己想办法把标签还原回来;另外,训练时直接喂每层加噪的“假标签”,让它自己去学还原;而推理时,把上一层的输出当成“新噪声”,继续去噪,直到最后一层输出

03 技术细节

技术细节大概有4步,一:数据处理:每个样本(x, y),先把y(标签)映射到一个高维embedding空间,比如one-hot或learnable embedding。二:加噪声:按照固定或可学习的噪声schedule,给标签embedding加上高斯噪声,制造一个“带噪标签”。三:每层单独训练:设计一套动态块,每层动态块都拿到(带噪标签,图片x)输出去噪后的标签embedding;损失函数是预测的embedding和“干净标签”之间的L2距离,加上分类损失和KL散度正则四:推理时流程:从纯噪声出发,反复用每层动态块去噪,最后一层输出的embedding送给softmax线性层,得到分类结果。这种做法,和传统扩散模型的“反噪”过程很像,但目标不是还原图像,而是还原标签。

04.不靠BP,效果到底咋样?

作者直接在MNIST、CIFAR-10、CIFAR-100上正面对比了NoProp和主流方法。结果是:NoProp在MNIST上能和BP打个平手,CIFAR-10/100也极具竞争力。

如上图,NoProp-DT直接干平甚至略超传统BP,远超以往“无反向传播”方法。另外,内存消耗也更低,训练更容易分布式/并行;连续时间版本(NoProp-CT、NoProp-FM)在CIFAR-10/100上也比主流ODE方法表现更高效。

NoProp根本不学“分层抽象表示”——每层的“表示”都是用户指定的(比如高斯加噪的标签embedding),它只管把噪声还原成标签,不去学什么“从低到高的抽象特征”。

其实,这就带来一个问题:“分层抽象表示”真的是深度学习不可或缺的前提吗?NoProp的实验表明:只要标签embedding设计得好,不学feature也能干正事。

有兴趣的朋友可以看原文(https://arxiv.org/pdf/2503.24322),

NoProp的创新点和实验设计都非常细致,也许这条“去BP化”的路,能给AI带来不一样的想法。

作者长期关注 AI 产业与学术,欢迎对这些方向感兴趣的朋友添加微信 Q1yezi,共同交流行业动态与技术趋势!

GPU 训练特惠!

H100/H200 GPU算力按秒计费,平均节省开支30%以上!扫码了解详情☝