重新思考反向传播:对反向传播不足之处的思考
作为一名年轻的研究者,我经常思考反向传播的局限性,特别是当它与人类大脑学习方式进行映射时。尽管反向传播一直是深度学习的主力,但它并非没有缺陷。在这篇文章中,我旨在从第一性原理的角度,分享一些关于这些缺陷的思考。
反向传播的忧郁
首先,反向传播究竟是做什么的?本质上,它是一种学习算法,用于计算损失函数相对于神经网络权重的梯度,从而允许我们使用梯度下降来优化这些权重。
数学障碍
考虑上面的神经网络,它接收输入 x_i 和对应的权重 w_ij。神经元 j 的净输入由以下公式给出
然后,我们将这个加权和通过激活函数 ϕ 和附加的偏置 θj,以弥补神经元的阈值
现在,反向传播计算损失 L 相对于这些权重 w_ij 的梯度
其中 δ 是神经元 j 的误差信号,它以递归方式反向计算。
但是,如果激活函数 ϕ 不可微分或包含一个未知函数,会发生什么呢?我们无法计算 ϕ,整个过程就会停止。
大脑不进行反向传播
有趣且有启发性的是:作为大脑皮层如何学习的模型,反向传播在生物学上是不可信的。
“尽管人们为实现生物学上可信的反向传播付出了巨大的努力,但没有令人信服的证据表明皮层明确地传播误差导数或存储神经活动以供后续反向传递使用。”——杰弗里·辛顿(前向-前向算法)
反向传播的生物学不合理性
- 反向传播假设前向和反向传播使用相同的权重。在生物学上,这意味着神经元必须以某种方式反向传递它们的突触权重——神经科学中没有证据支持这种说法。
- 在正向传递过程中需要存储中间激活,以便在反向传递过程中计算梯度。对于大型网络或序列(如循环神经网络),这可能会占用大量内存。
- 在涉及序列的任务中,通过时间反向传播(BPTT)会随着时间展开网络,增加计算和内存需求。然而,大脑无缝地实时处理时间信息,无需“展开”计算。
大脑是如何学习的?
神经科学家认为,大脑依赖于局部、赫布学习规则——通常概括为“同步放电的细胞连接在一起”。突触强度变化基于突触前和突触后神经元的同步激活。
这种局部学习不需要全局误差信号或对整个网络中所有突触权重的精确了解。
强化学习:我们不需要的英雄 当反向传播失败时,你可能会认为强化学习(RL)可以拯救世界。毕竟,RL不需要中间计算的梯度信息,对吗?
嗯,没那么快。
方差的祸害
强化学习算法通常依赖于基于奖励的梯度估计,这会在更新中引入高方差。对于大型神经网络,这种方差变得难以控制。
接下来呢?
反向传播已经很好地为我们服务了,但它并非没有缺点。通过重新思考我们的方法并更紧密地从大脑中汲取灵感,我们可能会发现训练神经网络的全新算法。
局部、生物学上可信的学习机制能否取代反向传播?我们如何构建能够适应不确定性、未知性、适应性和现实世界限制的算法?
如果大脑不进行反向传播,那神经网络为什么要呢?:)