打破「反向传播」垄断,「正向自动微分」也能计算梯度,且训练时间减少一半
- 2022 年 3 月 17 日
- AI

正向模式
反向模式
运行时间成本
正向梯度
-
对一个随机扰动向量v∼p(v)进行采样,其大小与f的第一个参数相同。 -
通过AD正向模式运行f函数,在一次正向运行中同时评估f(θ)和∇f(θ)-v,在此过程中无需计算∇f。得到的方向导数(∇f(θ)-v)是一个标量,并且由AD精确计算(不是近似值)。 -
将标量方向导数∇f(θ)-v与矢量v相乘,得到g(θ),即正向梯度。
正向梯度下降
逻辑回归
多层神经网络
卷积神经网络
可扩展性
-
不用反向传播也可以在一个典型的ML训练管道中进行训练,并且以一种竞争计算的方式来实现; -
在相同参数(学习率和学习率衰减)的情况下,正向AD比反向传播所消耗的时间要少很多。
-
他们将「正向梯度」(forward gradient)定义为:一个无偏差的、基于正向自动微分且毫不涉及到反向传播的梯度估算器。 -
他们在PyTorch中从零开始,实现了正向模式的自动微分系统,且完全不依赖PyTorch中已有的反向传播。 -
他们把正向梯度模式应用在各类随机梯度下降(SGD)优化中,最后的结果充分证明了:一个典型的现代机器学习训练管道可以只使用自动微分正向传播来构建。 -
他们比较了正向梯度和反向传播的运行时间和损失消耗等等,证明了在一些情况下,正向梯度算法的速度比反向传播快两倍。
雷峰网