1+1>2:MIT&IBM提出结合符号主义和连接主义的高效、准确新模型
自人工智能的概念提出以来,关于符号主义和连接主义的争论就不绝于耳。究竟哪一种方式可以实现更好的人工智能?这一问题目前还没有定论。深度学习的快速发展让我们看到连接主义在构建 AI 系统中的优势,但其劣势也很明显,如对大量数据的依赖。因此,越来越多的学者开始寻求取两者之长的 AI 系统实现方式,本文中介绍的 Neuro-Symbolic Concept Learner 便是其中的一项工作。
人工智能应该复制人脑的哪一部分功能?这个问题的答案反映了一场辩论的焦点,这场辩论和 AI 的历史一样久远。20 世纪 50 年代,人类开始探索如何创建可以思考的机器,也是从那时候起,AI 领域的研究和发展之路陷入了分歧:符号主义和连接主义 AI 应如何取舍?
符号主义 AI 也叫「基于规则的 AI」,其基本思想是将世界上的所有逻辑和知识转换为计算机编码。在符号主义 AI 中,每个问题都必须拆分为一系列的「if-else」规则或其他形式的高级软件结构。
连接主义 AI 体现在机器学习和深度学习中,其基本思想是:AI 模型应该通过统计比较和发现不同信息之间的关联来学习发展自己的行为,即不告诉模型如何找出图像中的猫,而是给它一千张猫的图像,让它自己找出发现图像中猫的方法。
在该领域早期的六十年中,创建 AI 系统的主流方法多数以符号主义为主。但在过去的十年里,人工神经网络的一场变革使得深度学习成为 AI 领域的主角。
在符号主义、连接主义两个阵营继续争论哪种方法能产生更好的结果之际,一些研究者却另辟蹊径,开始着手研究如何取二者之长。代表性研究包括前段时间介绍的 DeepMind 新型端到端神经网络架构 PrediNet(参见:结合符号主义和深度学习,DeepMind 提出新型端到端神经网络架构 PrediNet)以及 MIT-IBM Watson AI Lab 研究者提出的神经-符号概念学习器(Neuro-Symbolic Concept Learner,NS-CL)。
论文:THE NEURO-SYMBOLIC CONCEPT LEARNER: INTERPRETING SCENES, WORDS, AND SENTENCES FROM NATURAL SUPERVISION
论文链接:https://openreview.net/pdf?id=rJgMlhRctm
该论文出现在今年的 ICLR 会议上。在论文中,研究者介绍了一种将神经网络与基于规则的人工智能结合在一起的 AI 模型——「Neuro-Symbolic Concept Learner」,并称这种混合方法有望克服每种方法面临的挑战,同时创造出大于二者总和的能力。
该模型可以学习视觉概念、词以及句子的语义分析,且不需要对它们进行显式的监督。它仅通过看图像、阅读成对的问题和答案来学习。该模型构建了一个基于对象的场景表征,并将句子转换成可执行的符号程序。
为了填补两种学习模块之间的鸿沟,研究者使用了一种能够在潜在场景表征上执行这些程序的神经-符号推理模块。与人类的概念学习方式类似,该感知模块基于被提及对象的语言描述来学习视觉概念。同时,学到的视觉概念有助于学习新单词、分析新句子。他们使用课程学习(curriculum learning)来指导对图像和语言构成的大空间的搜索。
大量实验表明,NS-CL 模型在学习视觉概念、词表征和句子的语义分析方面具有很高的准确率和效率。此外,该模型可以轻易泛化到新的对象属性、构成、语言概念、场景、问题甚至是新的程序域,还可用于、图像-文本双向检索等应用。
为什么要结合符号主义和连接主义
符号主义的局限
在过去的几十年里,多数研究集中在创建可模拟人脑推理功能的符号 AI 系统上,但经验表明,人类解决的许多问题都无法分解为符号表征。
人类可以凭借符号检测出猫的特征(如尖耳、三角鼻等),但这一过程非常复杂,涉及到不同的角度、光照等,甚至在遮挡情况下也能脑补出全貌。但对于计算机来说,将这些相同的特征转换为符号相当困难,需要写出大量代码,从无限种可能中抽象出这些特征。
简而言之,符号 AI 不适合处理图像、音频等非结构化数据,即使在充满非结构化文本数据的自然语言处理任务中,它的应用也十分有限。
连接主义也不是万能的
与符号主义 AI 相比,神经网络在处理非结构化数据方面要擅长得多,但它也有自己的局限。
神经网络要依赖大量的数据,而且往往是经过标注的数据。如果数据量不足,深度学习模型就很难发挥自己的作用。因此在某些数据匮乏的领域,应用深度学习解决实际问题是非常困难的。
此外,神经网络还存在可解释性差、面对对抗样本时鲁棒性差等问题。
虽然神经网络可以解决一些符号主义 AI 难以解决的问题,但在符号主义 AI 可以轻易解决的一些简单推理问题上,神经网络可能无能为力,比如高中数学。
二者结合才能碰撞出智慧的火花
MIT 和 IBM 研究者设计的神经-符号概念学习器(NS-CL)结合了符号主义 AI 和深度学习的长处,主要想法是结合基于规则软件的推理能力和神经网络的学习能力,构建一个强大的混合 AI 模型。
在这个混合 AI 模型中,符号主义构件利用神经网络处理、分析非结构化数据的能力。同时,神经网络也受益于基于规则的 AI 系统的推理能力,这种能力可以减少神经网络学习新事物时所需的数据量。
二者结合产生了「1+1>2」的效果。
神经-符号概念学习器
这项研究提出的神经-符号概念学习器(NS-CL)利用一种符号化推理过程联结视觉概念、词以及句子的语义分析,且无需对其中任何一种提供显式注释。研究者首先使用视觉感知模块为场景构建基于对象的表征,然后运行语义分析模块将问题转换为可执行的程序。接下来,他们应用了一个 quasi-symbolic 程序执行器,根据场景表征来推理答案。他们使用成对的图像、问题和答案来联合训练视觉和语言模块。
图 2:该研究提出用神经符号推理来联合学习视觉概念、词和句子的语义分析。
如图 2 所示,给定一个输入图像,视觉感知模块负责检测场景中的对象并提取出每个对象的潜在表征。语义分析模块将用自然语言表示的输入问题转换为用给定领域特定语言(DSL)写成的可执行程序。生成的程序具有符号和功能模块的层次结构,每个模块完成场景表征上的一种特定操作。显式程序语义具有组合性、可解释性和可泛化性。
程序执行器根据得到的场景表征来执行程序并回答问题。该程序执行器以一种符号化、确定性的方式工作。这种特征可以确保对程序进行透明的执行追踪。该程序执行器有一个对视觉表征和概念表征完全可微的设计,从而支持训练期间基于梯度的优化。
Quasi-symbolic 程序执行
给定从自然语言问题中恢复的潜在程序,符号程序执行器执行该程序并根据基于对象的视觉表征得到答案。该程序执行器是一个确定性的功能模块的集合,这些模块用于实现 DSL 中指定的所有逻辑操作。图 4B 展示了该程序的执行追踪。
图 4B:用于 VQA(视觉问答)的神经-符号推理模型图示。感知模块首先将视觉场景解析为基于对象的深度表征,语义分析器将句子解析为可执行的程序。然后符号执行过程将两个模块连接起来。
课程视觉概念学习
受人类概念学习的启发,研究者采用课程学习方法来促进联合优化。他们将训练样本分为四步(图 4A):1. 学习对象级别的视觉概念;2. 学习关系问题;3. 在感知模块固定的情况下学习更加复杂的问题;4. 联合精调所有模块。他们发现,这对学习神经-符号概念学习器(NS-CL)至关重要。
图 4A:通过看图、阅读成对的问题和答案,对视觉概念、词和句子的语义分析进行课程学习。
实验
研究者通过实验展示了 NS-CL 的多项优势:
以惊人的准确率学习视觉概念;
在 CLEVR 数据集上实现数据高效的视觉推理;
能够很好地泛化至新属性、视觉构成和语言领域。
研究者在 5000 张图像上训练 NS-CL(数据量不到 CLEVR7 万张训练图像的 10%),在课程学习过程中为每个图像生成 20 个问题。Mask R-CNN 模块是在 4000 张生成 CLEVR 图像上预训练的,这些图像具备边界框标注。
视觉概念学习
NS-CL 模型将属性作为神经算子,从潜在对象表示映射到属性特定的嵌入空间,如下图 3 所示:
图 3:研究者将「Shape」、「Color」等属性作为神经算子。这些算子将对象表示映射到视觉语义空间。研究者使用基于相似度的指标进行对象分类。
下表 2 总结了 NS-CL 和其他强大基线模型的对比结果:
表 2:该研究使用包含「How many red objects are there?」等简单问题的诊断问题集,评估模型学到的视觉概念。NS-CL 的性能优于卷积和注意力基线模型。这表明基于对象的视觉表示和符号推理方法能够更好地理解视觉概念。
数据高效和可解释的视觉推理
NS-CL 通过观察图像、读取成对问答来联合地学习视觉概念、词汇和语义分析。它可以直接应用于视觉问答任务(VQA)。
下表 4 总结了多个模型在 CLEVR 验证集上的结果。在不使用程序注释的所有模型中,NS-CL 取得了最优性能。
表 4:NS-CL 模型在没有程序注释的情况下,取得了超过所有基线模型的性能,甚至与使用完整程序注释的 TbD 等模型相比,也达到了 类似的性能。
研究者还对视觉特征和数据效率进行了系统研究,他们实现了基线模型的两个变体:TbD-Object 和 MAC-Object。表 3 总结了实验结果。NS-CL 模型的数据效率优于所有基线模型。
表 3:研究者对视觉特征和数据效率进行了系统研究,对比了 NS-CL 和多个基线模型及其变体。在仅使用 10% 训练图像的情况下,NS-CL 可与使用完整数据集训练的基线模型获得相似的性能。
在新属性和视觉构成上的泛化效果
图 5:研究者测试了场景中对象数量和问题复杂度(即程序树深度)的组合泛化效果。研究者将数据分割为四组,它们具备不同的场景和问题复杂度。而该研究提出的基于对象的视觉表示和显式程序语义取得了最好(几乎完美)的组合泛化效果。
新场景和问题的组合泛化效果
如下表 5 所示,NS-CL 在更大场景和更复杂问题上实现了几乎完美的泛化效果,其 QA 准确率至少超过其他基线模型 4%。
表 5:研究者引入了一种新型简单的 DSL 用于图像-描述检索,以评估视觉概念迁移的效果。由于 VQA 和图像描述检索存在差异,因此 VQA 基线模型仅能在部分数据集上推断出结果。而 NS-CL 基于对象的视觉概念可以直接迁移到新领域。
扩展至其他程序域
表 5c 对比了 NS-CL 和典型的图像-文本检索基线模型在完整图像-描述数据集上的性能。在没有句子语义标注的情况下,NS-CL 可以将图像描述解析为新 DSL 程序,其性能比 CNN-LSTM 基线模型好 30%。
扩展到自然图像和语言
图 7 展示了 NS-CL 在 VQS 上的执行追踪。
图 7:左:来自 VQS 数据集的图像-问题对示例,以及对应的 NS-CL 执行轨迹。右:模型在 VQS 测试集上的结果。NS-CL 取得了和基线模型类似的性能。
图 8:从 VQS 中学到的概念,包括对象类别、属性和关系。
原文链接:https://bdtechtalks.com/2019/06/05/mit-ibm-hybrid-ai/
1+1>2:MIT&IBM提出结合符号主义和连接主义的高效、准确新模型的更多相关文章
- 商汤提出解偶检测中分类和定位分支的新方法TSD,COCO 51.2mAP | CVPR 2020
目前很多研究表明目标检测中的分类分支和定位分支存在较大的偏差,论文从sibling head改造入手,跳出常规的优化方向,提出TSD方法解决混合任务带来的内在冲突,从主干的proposal中学习不同的 ...
- XTU | 人工智能入门复习总结
写在前面 本文严禁转载,只限于学习交流. 课件分享在这里了. 还有人工智能标准化白皮书(2018版)也一并分享了. 绪论 人工智能的定义与发展 定义 一般解释:人工智能就是用 人工的方法在 **机器( ...
- Tensorflow系列专题(四):神经网络篇之前馈神经网络综述
目录: 神经网络前言 神经网络 感知机模型 多层神经网络 激活函数 Logistic函数 Tanh函数 ReLu函数 损失函数和输出单元 损失函数的选择 均方误差损失函数 交叉熵损失函数 输出单元的选 ...
- [摘录]第三部分 IBM文化(2)
第二十二章 原则性领导 在一个组织程序已经变得不受其来源和内容的约束,而且其编纂出来的组织宗旨已经代替了个人责任的组织之中,你所面临的首要任务,就是要全盘抹掉这个程序本身,以便让整个封闭的系统呼吸新鲜 ...
- 了解常见的开源协议(BSD, GPL, LGPL,MIT)
一直对各种开源协议比较模糊, 特意在网上搜索了一下资料, 整理总结,以作记录 如果不喜欢长篇大论的话, 看下图就可以了 基本概念了解: 1. Contributors 和 Recipients Con ...
- 浅析 Hinton 最近提出的 Capsule 计划
[原文] 浅析 Hinton 最近提出的 Capsule 计划 关于最新的 Hinton 的论文 Dynamic Routing Between Capsules,参见 https:// ...
- IBM的“认知计算时代”
IBM 提出信息技术进入“认知计算时代”.所有电子设备都有潜力发展出认知能力,换言之,都可以像人一样‘思考’. 何为认知计算时代呢? 认知计算系统能够学习并与人类自然地交流,以扩展人类或机器可亲自执 ...
- 人工智能范畴及深度学习主流框架,IBM Watson认知计算领域IntelligentBehavior介绍
人工智能范畴及深度学习主流框架,IBM Watson认知计算领域IntelligentBehavior介绍 工业机器人,家用机器人这些只是人工智能的一个细分应用而已.图像识别,语音识别,推荐算法,NL ...
- IBM新合作伙伴计划助力企业转型升级
IBM作为老牌企业,一直在引领者技术方面的变革.当IBM再一次从自我革新开始,期望能够更快的将认知计算和云推广给自己的合作伙伴和用户们,以帮助他们在新的转型期内,能够快人一步. ...
随机推荐
- 作为前端,你需要懂得javascript实现继承的方法
在ES6之前,javascript不跟其他语言一样,有直接继承的方法,它需要借助于构造函数+原型对象模拟实现继承.现在我们可以利用ES6的extends方法实现继承,如果想了解更多有关ES6实现的继承 ...
- PHP 导出网页表格如何对标签中的内容设置属性
当在使用php导出excel表格的时候,有时需要将某一列专门设置成文本属性 方法: 在需要设置属性的的<td>标签中 添加 style='vnd.ms-excel.numberforma ...
- C++走向远洋——32(项目一内全部成员函数)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:fenshu.cpp * 作者:常轩 * 微信公众号:World ...
- oa办公系统快速开发工具,助力企业优化升级
随着互联网的快速发展.信息化 IT 技术的不断进步.移动互联新技术的兴起,不管是大的集团企业还是中小型企业,纸质化的办公模式已不能满足现有需求,构建oa平台,为员工提供高效的办公环境尤其重要. 我们先 ...
- 7-42 jmu-python-找字符 (15 分)
输入一个字符串及字符,输出第一次出现该字符的位置. 输入格式: 行1:输入字符串 行2:输入一个字符 输出格式: 找到,输出对应位置,格式index=X的, X表示查找到位置 找不到,输出can't ...
- 集成google翻译的小tips
文章首发于github.io 2018-08-04 12:43:20 google翻译的强大,就像我们公司的slogan : "让语言无国界,让世人心相通" 友情提示: googl ...
- Python卸载
前言 自己瞎折腾下载Python3.8.2,把之前下载好的python3.7.3覆盖掉.在运行之前Python环境的程序多次未果后.找到原因,Python3.7.3的包不支持Python3.8.2.于 ...
- SpringFactoriesLoader解析
一.SpringFactoriesLoader 介绍 1.1 SpringFactoriesLoader 简介 SpringFactoriesLoader 工厂加载机制是 Spring 内部提供的一个 ...
- 推荐一个学习python非常好的网站
推荐一个入门python非常好的网站(也可以学习JAVA)非常适合入门,不说多易于理解,也是比较亲民的0基础学习教程,还免费…… 网址:https://www.liaoxuefeng.com/(廖雪峰 ...
- Python操作系统
一 为什么要有操作系统 (两本书:现代操作系统.操作系统原理,学好python以后再去研究吧~~) 现代的计算机系统主要是由一个或者多个处理器,主存,硬盘,键盘,鼠标,显示器,打印机,网络接口及其他输 ...