深度学习先驱者 Geoffrey Hinton 发布新深度学习算法
多伦多大学教授兼谷歌大脑工程研究员 Geoffrey Hinton 近期发布的论文中提出了一种神经网络训练技术,前向 - 前向算法(FF),用两次通过网络的前向数据取代反向传播来更新模型权重。
Hinton 提出该算法旨在解决标准反向传播训练中,需要充分了解前向传递中计算才能在训练时计算导数和存储激活值这一缺陷。算法中所使用的两个前向传播输入数据,分别为一正一负,且具备需要优化的相反目标函数。据 Hinton 称,使用 FF 算法训练的网络不仅可以完成计算机视觉(CV)任务,且效果与使用方向传播训练的网络一样好。
前向 - 前向算法(FF)在速度上与反向传播速度相当,且在前向计算的具体细节未知时仍可使用。FF 算法的另一优势在于,其可以无需存储神经动态或中断传播误差导数,即可在神经网络传递顺序数据时进行学习……前向 - 前向算法优于向后传播算法的这两方面,即是大脑皮层中的学习模型,也是不求助于强化学习而以极低功率地进行硬件模拟的方式。
尽管人工神经网络(ANN)是基于大脑的数学模型,但用于训练 ANN 的标准反向传播算法却不是基于任何已知生物过程。除开在生物学上的不可信外,反向传播也有上文中所提及的计算方面缺陷,Hinton 指出,ANN 的强化学习(RL)训练虽然可以不借助反向传播算法,但该方法“在包含数百万乃至数十亿参数的大型网络上扩展性很差”。InfoQ 于 2021 年报道了一种生物学可信且可完全复现反向传播结果的算法,零分化推理学习(Z-IL)。
Hinton 所提出的 FF 算法用两个“以完全相同方式彼此运算”的前向通道替换了反向传播训练中的前向 - 反向通道,第一个前向通道对训练集中的真实数据进行操作,神经网络根据输入调整权重以增加每一层的优点值(goodness)。第二个前向通道中,网络所使用的数据并非来自训练集,而是生成的负数据,神经网络权重根据该输入减少每层的优点值。
Hinton 通过 FF 算法,在 MNIST 及 CIFAR 数据集上训练了几种可完成计算机视觉任务的神经网络。这些网络规模相对较小,仅包含二至三个隐藏卷积层,且训练不足百个迭代轮次。在评估训练集上的性能时,FF 算法所训练的网络表现“仅比使用反向传播训练的网络略差”。
Nebuly 的 CTO,Diego Fiori 实现了 Hinton 的算法,并在推特上公开了结果:
我将 Hinton 的论文中所提出的两种前向 - 前向算法分别称作“基础版”和“循环版”,尽管命名如此,基础版反而是性能最好的算法……基础版 FF 算法相较经典方向传播更节约内存,对深度网络而言可节省 45% 的内存使用。
Fiori 在 GitHub 上开源了他对 FF 算法的实现,蒙特利尔大学博士生 Mohammad Pezeshki 同样在开源了他的 FF 算法实现版本。
原文链接:https://www.infoq.com/news/2023/01/hinton-forward-algorithm/
文章版权归极客邦科技InfoQ所有,未经许可不得转载。
你也「在看」吗? 👇
微信扫码关注该文公众号作者