NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

深度学习先驱者 Geoffrey Hinton 发布新深度学习算法

  • 2023-01-27
    北京
  • 本文字数:1118 字

    阅读完需:约 4 分钟

深度学习先驱者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 算法,在MNISTCIFAR数据集上训练了几种可完成计算机视觉任务的神经网络。这些网络规模相对较小,仅包含二至三个隐藏卷积层,且训练不足百个迭代轮次。在评估训练集上的性能时,FF 算法所训练的网络表现“仅比使用反向传播训练的网络略差”。


Nebuly 的 CTO,Diego Fiori 实现了 Hinton 的算法,并在推特上公开了结果


我将 Hinton 的论文中所提出的两种前向-前向算法分别称作“基础版”和“循环版”,尽管命名如此,基础版反而是性能最好的算法……基础版 FF 算法相较经典方向传播更节约内存,对深度网络而言可节省 45%的内存使用。


Fiori 在 GitHub 上开源了他对FF算法的实现,蒙特利尔大学博士生Mohammad Pezeshki同样在开源了他的FF算法实现版本。


原文链接

Deep Learning Pioneer Geoffrey Hinton Publishes New Deep Learning Algorithm


相关阅读:

十大值得关注的深度学习算法

用AI对抗AI!教代码调戏深度学习算法生成的假视频

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2023-01-27 08:005086

评论

发布
暂无评论
发现更多内容

Java实现RPC(源码),java常见面试题

Java 程序员 后端

【架构设计模块九】:设计电商秒杀系统

Ryoma

Java岗大厂面试百日冲刺【Day42】,java基础面试宝典

Java 程序员 后端

Java学习路线和方法推荐,拿下我人生中第7个Offer

Java 程序员 后端

Java实现图的存储和创建,linux编程基础课后答案第二章

Java 程序员 后端

第二模块作业

River Tree

架构实战营

Java多线程 高频面试题,java架构师工作内容

Java 程序员 后端

架构实战营毕业总结

VE

架构实战课

Java基础27~使用JDBC+连接池,这篇文章可以满足你80%日常工作

Java 程序员 后端

Java基础总结三(泛型、异常,阿里java面试题及答案

Java 程序员 后端

自由职业者靠什么赚钱?

石云升

职场经验 10月月更

Java学习笔记——正则表达式,平安金服java面试题

Java 程序员 后端

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day14

Java 程序员 后端

Java基础25~XML和JSON解析,springbootoauth2教程

Java 程序员 后端

Java基础面试题——IO流,springboot实战项目百度云

Java 程序员 后端

Java基础面试题整理,java数组排序sort原理

Java 程序员 后端

Java如何支持函数式编程?,大专生面试阿里P7居然过了

Java 程序员 后端

Java初学01:学习路线,java基础入门清华大学出版社

Java 程序员 后端

Java基础 - 单例(饿汉、懒汉),Runtime类,java教程推荐学客巴巴

Java 程序员 后端

Java多态大乱炖,mysql基础教程视频

Java 程序员 后端

java实现简单二叉树,深入分布式缓存从原理到实践技术分享

Java 程序员 后端

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

Java 程序员 后端

Java几种常用JSON库性能比较,java接口开发面试

Java 程序员 后端

Java基础 - 多态,抽象类,接口,linux源码学习

Java 程序员 后端

Java基础09 面向对象~类和对象,阿里面试官必问

Java 程序员 后端

架构实战营模块二学习总结

吴霏

「架构实战营」

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day26

Java 程序员 后端

Java反射的深入浅出,mongodb优化面试

Java 程序员 后端

架构实战模块二作业

吴霏

「架构实战营」

Java实现经典算法,阿里java技术专家面试

Java 程序员 后端

Java岗大厂面试百日冲刺 - 日积月累,每日三题【Day16

Java 程序员 后端

深度学习先驱者Geoffrey Hinton发布新深度学习算法_AI&大模型_Anthony Alford_InfoQ精选文章