社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

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

新智元 • 2 年前 • 190 次点击  




  新智元报道  

来源: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


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