Py学习  »  机器学习算法

一个算法统治一切!DeepMind提出神经算法推理,深度学习和传统算法融合再现奇迹?

深度学习这件小事 • 2 年前 • 195 次点击  

来源|VB

报道|新智元   编辑|David、霜叶

【导读】一个算法统治一切!DeepMind提出神经算法推理(NAR),用深度学习模型模仿任何经典算法,同时实现传统算法的泛化性和神经网络的最优解的完美结合。


雄心勃勃的DeepMind,要在深度学习网络和传统算法之间架桥了!


众所周知,经典算法是使软件能够风行世界的原因,但这些算法所使用的数据并不总是能反映真实世界。


而深度学习是当今AI应用的源动力,但深度学习模型需要重新训练,才能应用于最初设计的领域。


现在,DeepMind想开创一条新路,他们要找到一种深度学习模型,模仿任何经典算法,并在现实世界实现功能。



只用一个算法,统治一切!


近年来,DeepMind因AI领域的一些标志性成就而屡上头条。AlphaGo打破人类选手对围棋的统治,AlphaFold解决了生物学领域50年来的大难题。


现在,DeepMind将目光投向另一个重大挑战:将深度学习与计算机科学经典算法联系起来。


   经典算法和深度学习网络的本质不同


要实现这个目标,首先要理解二者的主要区别。即:经典算法和深度学习网络的性质有什么不同?


DeepMind的两位研究人员Charles Blundell和Petar Veličković专门谈了这个问题。他们都在DeepMind担任高级研究职位。


他们认为,二者之间的主要区别在于「泛化性」和「最优解」问题。


Blundell表示,第一,算法在大多数情况下不会改变。算法由一组固定的规则组成,这些规则在某些输入上执行。对于算法获得的任何类型的输入,算法都会在合理的时间内给出合理的输出。更改输入的大小,算法会继续工作。


第二,算法可以串连在一起。算法的性质决定了:给定某种输入,只产生某种输出。我们可以把一个算法输出作为其他算法的输入,构建一个完整的堆栈。


即使是简单任务,要用深度学习来完成算法的工作也很困难。比如一个最简单的任务:复制文本。输出为输入的本文复制。


这么简单的任务,要深度学习完成就很麻烦。如果只在1-10个字符长度上进行训练,那么当任务字符长度超出时,输出就会出问题,因为它学不会算法中的核心思想。


如果任务再复杂一点,比如涉及排序,训练神经网络的性能会更差。而这对于传统意义上的算法来说根本不是问题。


总结一下就是:


深度学习网络的泛化性能很差,但在充分训练的特定问题上,往往比算法产生更优化的结果。


传统算法是可泛化的。改变输入数据的大小和类型,原来可用的算法程序依然可用。但算法有时产生的结果可能不是最优的。


怎么同时解决这两个问题,同时获得算法和深度学习的优势?


   神经算法推理:一个算法,统治一切!


Blundell 和 Veličković提出了一个方向:神经算法推理(NAR)。


NAR 关键点是,通过用深度学习方法更好地模仿算法,让深度学习实现算法的高度可泛化性,同时保留对问题的最优解。
 

DeepMind已经选择和谷歌地图APP进行合作,将图网络作为NAR的试验场。他们利用谷歌地图的图网络数据,对用户旅行时的到达时间进行预测。相关论文已经发表。


2020年,谷歌地图是美国下载量最大的地图和导航应用,每天有数百万人在使用。谷歌地图重要的寻路(Pathfinding) 功能,其背后的技术支持正是DeepMind提供的。
 
为何选择图网络模型来做这件事呢?
 
Veličković表示,因为实际上任何对象都可以适用图表示的框架。
 
「比如图像,可以看作是由附近的像素组成的图。文本可以看作彼此相连的一系列目标。更广泛地说,自然界中没有被人为设计编排进某个框架或序列的东西,都非常自然地表现为图结构。」

为什么要使用专门应用于深度学习算法的泛化框架,而不仅仅是直接使用机器学习算法?

因为他们希望设计能在真正在复杂现实世界中顺利运行的解决方案。大规模处理大量自然数据的最佳解决方案就是深度神经网络。

Blundell对NAR研究的未来潜力表示乐观。

「在面向对象的编程中,在对象类之间发送消息,你会发现它完全相似,你可以构建非常复杂的交互图,然后将其映射到图神经网络中。从这种复杂的内部结构中获得的丰富性,可以学习使用更传统的机器学习方法不一定能获得的算法。」Blundell说。
 
参考链接:
https://venturebeat.com/2021/10/12/deepmind-is-developing-one-algorithm-to-rule-them-all/
https://venturebeat.com/2021/09/10/deepmind-aims-to-marry-deep-learning-and-classic-algorithms/
https://arxiv.org/abs/2108.11482

技术交流群邀请函



△长按添加小助手

扫描二维码添加小助手微信

请备注:姓名-学校/公司-研究方向-城市
(如:小事-浙大-对话系统-北京)
即可申请加入深度学习/机器学习等技术交流群

为您推荐

思考丨到底什么叫算法工程师的落地能力?

Transformer模型有多少种变体?看看这篇全面综述
从SGD到NadaMax,十种优化算法原理及实现
各种注意力机制的PyTorch实现
你写的ML代码占多少内存?这件事很重要

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/121358
 
195 次点击