0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DeepMind提出了可微分归纳逻辑编程方法∂ILP并进行解读

MqC7_CAAI_1981 来源:互联网 作者:佚名 2018-01-31 08:58 次阅读

神经网络的强大功能有目共睹,但它往往需要大量与目标测试领域数据分布相似的训练数据;而用于符号领域的归纳逻辑编程只需少量数据,却无法对抗噪声,适用领域也很狭窄。

DeepMind在最近发表的一篇论文中,提出了可微分归纳逻辑编程方法∂ILP,既能解决传统归纳逻辑编程擅长的符号类任务,也对噪声数据、训练集中的误差有一定容忍度,还可以通过梯度下降来训练。

怎么样?我们来看看DeepMind在官方博客上对这种方法的解读:

想象一下踢足球的场景,球到了你脚下,你决定把它传给没人盯防的前锋。这个看似简单的行为,需要两种不同的思维。

首先,你认识到自己脚下有一个球,这需要的是直观的感性思维——你没办法简单地描述出你是怎么知道脚下有个球的。

其次,你决定把球传给特定的一个前锋。这个决策需要概念性思维,你的决定依赖于理由——你把球传给这个前锋的原因,是没有人盯防她。

这种区别对我们来说很有意思,因为这两类思维对应着两种不同的机器学习方法:深度学习和符号程序合成(symbolic program synthesis)。

深度学习专注于直观的感性思维,而符号程序合成专注于概念性的、基于规则的思考。这两个系统各有各的优点,深度学习系统能适用于噪声数据,但难以解释,而且需要大量训练数据;符号系统更易于解释,需要的训练数据也更少,但一遇到噪声数据就不行了。

人类认知将这两种截然不同的思维方式无缝结合在了一起,但想要把这种结合复制到一个AI系统里,我们还不太清楚是否可能、如何做到。

我们最近在《JAIR》期刊(Journal of AI Research)上发表的论文表明,系统可以将直观的感性思维和概念性的可解释推理结合起来。我们所描述的∂ILP(可微分归纳逻辑编程,Differentiable Inductive Logic Programming)系统具有下列特性:抗噪声、数据上很经济、能产生可解释的规则。

DeepMind提出了可微分归纳逻辑编程方法∂ILP并进行解读

我们用一个归纳任务来演示∂ILP的工作原理

已知一对表示数字的图片,系统需要根据左侧图像数字是否小于右侧图像的数字,输出0或1的标签,如下图所示:

DeepMind提出了可微分归纳逻辑编程方法∂ILP并进行解读

解决这个问题涉及两种思维方式。从图像中认出数字,需要直观的感性思维;要整体理解“小于”关系,则需要概念性的思考。

其实,如果给标准的深度学习模型(例如带有MLP的卷积神经网络)提供足够的训练数据,它能学会有效地解决这个问题,训练完成后给它一对从未见过的新图像,它也可以正确分类。

但实际上,只有每对数字你都给它多个样例,它才能正确地泛化。这个模型擅长视觉上的泛化,比如说测试集中的每一对数字它都见过了,要泛化到新的图像,就很容易(见下图绿色方块)。但它不适用于符号的泛化,比如说它就不能泛化到从未见过的数字(见下图蓝色方块)。

DeepMind提出了可微分归纳逻辑编程方法∂ILP并进行解读

马库斯(Gary Marcus)、Joel Grus等研究者最近都撰文指出了这一点。

不同于标准的神经网络,∂ILP能够进行符号的泛化;它和标准的符号程序也不一样,可以进行视觉上的泛化。∂ILP从样例中学习可读、可解释、可验证的,明确的程序。已知部分样例(也就是预期的结果,下图中的desired results),∂ILP能生成一个满足需求的程序。它用梯度下降从程序空间中搜索,如果程序的输出与参考数据需要的输出相冲突,系统就会修改程序以更好地匹配数据。

∂ILP的训练过程如下图所示:

DeepMind提出了可微分归纳逻辑编程方法∂ILP并进行解读

∂ILP能进行符号性的泛化,给它足够多x

DeepMind提出了可微分归纳逻辑编程方法∂ILP并进行解读

上图总结了我们的“小于”实验:蓝色曲线表示标准的深度神经网络,无法正确泛化到从未见过的数字对,相比之下,在只用40%数字对训练过的情况下,绿色曲线表示的∂ILP依然能保持较低的测试误差。这表明,∂ILP能够进行符号性的泛化。

我们相信,对于深度神经网络中是否能够实现符号泛化这个问题,我们的系统能够在某种程度上给予答案。今后,我们计划将类似∂ILP的系统集成到强化学习智能体以及更大的深度学习模块中,赋予系统推理、反应的能力。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4562

    浏览量

    98645
  • 机器学习
    +关注

    关注

    66

    文章

    8095

    浏览量

    130515
  • 深度学习
    +关注

    关注

    73

    文章

    5224

    浏览量

    119864

原文标题:DeepMind提出可微分逻辑编程,结合深度学习与符号程序优点

文章出处:【微信号:CAAI-1981,微信公众号:中国人工智能学会】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    诞生AlphaGo的DeepMind回顾2016年,提出三大发展方向

    谷歌旗下DeepMind团队本周在官方网站上撰文,回顾了2016年所取得的进展。展望2017年,DeepMind提出了三大发展方向,包括算法突破、社会影响,以及道德伦理的最佳行为。
    发表于 01-04 14:53 1696次阅读

    如何采用FPGA部分动态重构方法设计信号解调系统?

    随着现代通信技术的迅速发展,信号的调制方式向多样化发展,解渊技术也随之不断向前发展。为了对高速大带宽的信号进行实时解调,现在很多的解调关键算法都是在高速硬件上用可编程逻辑器件(FPGA)实观,利用
    发表于 09-05 07:08

    未来的AI 深挖谷歌 DeepMind 和它背后的技术

    险投资公司、维港投资(Horizons Ventures)和Founders Fund获得的额外资本。DeepMind的创始人向这些实体进行了可靠的介绍,这就是他们获得资金的原因。如果你也有一个创新而有前途
    发表于 08-26 12:04

    新兴应用给数据转换提出了哪些新的要求?

    是采用分立ADC,还是集成ADC呢?通信应用对数据转换器有哪些要求?新兴应用给数据转换提出了哪些新的要求?
    发表于 04-23 06:41

    PLC的应用大致归纳为哪几类?

    PLC的应用大致归纳为哪几类?PLC控制系统与继电器控制系统的区别在哪?
    发表于 07-05 06:44

    编程逻辑控制器方案的设计与实现

    大家设计一种新的系统来替换继电器系统,并提出了著名的“通用十条”招标指标。于是在1969年,第一台可编程控制器诞生,此后在工业环境中得到广泛使用。可编程逻辑控制器(PLC),是一种专门
    发表于 07-12 16:52

    基于位串编码的遗传归纳逻辑程序设计

    归纳逻辑程序设计是基于一阶逻辑的数据挖掘新方法。一阶规则挖掘是目标谓词和背景知识谓词对应的各种原子的复杂组合优化问题。该文根据Occam’s razor原理提出原子的位串编码
    发表于 03-31 09:48 11次下载

    逻辑层网络拓扑发现方法研究

    分析了传统基于简单网管协议的网络拓扑发现方法和不足,提出了逻辑层网络拓扑发现方法研究
    发表于 05-26 16:16 29次下载
    <b class='flag-5'>逻辑</b>层网络拓扑发现<b class='flag-5'>方法</b>研究

    基于可编程逻辑控制器和触摸屏的抢答器设计

    本文提出了一种新的控制方法--用触摸屏和PLc(可编程逻辑控制器)实现抢答器的控制。与一般的控制方法相比,运行更加可靠,操作更加直观,更适合
    发表于 08-16 10:26 2186次阅读

    超参数优化方法PBT的原理和功效解读

    DeepMind新近发表的一篇论文中,团队提出了一种训练神经网络的新方法——Population Based Training (PBT,暂译为基于群体的训练),通过同时训练和优化一系列网络,它能帮开发者迅速选择最佳超参数和模
    的头像 发表于 11-29 08:59 8172次阅读

    DeepMind提出强化学习新算法,教智能体从零学控制

    3月2日,DeepMind发表博客文章,提出一种称为SAC-X(计划辅助控制)的新学习范式,旨在解决让AI以最少的先验知识,从头开始学习复杂控制问题的挑战。
    的头像 发表于 03-17 09:12 3642次阅读

    超全使用串口对DSP进行应用可编程方法

    本文介绍了一种通过串口对DSP进行应用可编程方法,该方法简单易操作,文中给出了具体的实现方法
    的头像 发表于 04-02 16:13 2800次阅读

    基于可编程逻辑的SDRAM控制方法设计

    基于可编程逻辑的SDRAM控制方法设计
    发表于 06-30 10:16 8次下载

    梯形逻辑PLC编程

    梯形逻辑 PLC 编程是目前我们的过程自动化的最流行且易于学习的方法。梯形逻辑或简称 LD 是在可编程
    发表于 04-18 10:33 2次下载
    梯形<b class='flag-5'>逻辑</b>PLC<b class='flag-5'>编程</b>

    张钹院士: 迈向第三代人工智能

    符号 AI 同样可以应用于机器学习,把「机器学习」看成是基于知识的(归纳)推理。下面以归纳逻辑编程(inductivelogicprogramming,
    的头像 发表于 07-11 15:34 1170次阅读
    张钹院士: 迈向第三代人工智能