人工智能的突破将需要研究人员埋葬他们的斧头
将基于规则的人工智能与“连接主义”相结合,麻省理工学院和IBM研究人员可能已经找到了下一阶段AI发现的关键。
下一次AI突破可能需要结束长期的竞争。
多年来,人工智能研究人员在创建问题解决算法时通常采用两种方法之一:符号或基于规则的AI,其中心是将概念,规则和逻辑手动编码到计算机软件中; 和连接主义,它基于人工神经网络和大脑的数字表示,通过比较许多例子随着时间的推移有机地发展他们的行为。
直到最近,符号AI更受欢迎,神经网络被许多研究人员和公司所避开。但在2012年,多伦多大学的计算机科学家通过使用基于神经网络的深度学习-AI算法取得了突破,赢得了着名的年度计算机视觉竞赛ImageNet。
从那时起,深度学习和神经网络引发了人工智能行业的一场革命,并帮助解决了之前被认为超出计算机能力的问题。今年早些时候,神经网络的先驱们获得了图灵奖,相当于诺贝尔计算机科学奖。
随着神经网络越来越受欢迎,象征性人工智能从优雅中堕落并被推到了研究的边缘。但是现在,在深度学习革命的七年之后,我们已经看到深度学习不是一个完美的解决方案,并且具有限制其应用的明显弱点。
麻省理工学院和IBM的一组研究人员认为,AI的下一个突破可能来自于结束符号AI和神经网络之间的竞争。
在本月早些时候在国际学习代表大会(ICLR)上发表的一篇论文中,这些研究人员提出了一个名为Neuro-Symbolic Concept Learner的概念,它将符号AI和神经网络结合在一起。这种混合方法可以创建比传统模型更灵活的AI,并且可以解决符号AI和神经网络都无法自行解决的问题。
依赖标签数据是有限的
麻省理工学院 - IBM沃森人工智能实验室主任大卫·考克斯说:“深度学习是非常强大的,它不会消失。但它今天有局限性。” “其中之一就是它依赖于大量的数据。你需要有大量的数据才能训练其中一个系统,这些数据必须经过仔细注释。”
神经网络的核心是由数千个变量组成的复杂数学函数。在“训练”阶段期间,网络摄取许多标记的示例并基于其在每类示例中找到的共同模式来调整其变量。之后,当您通过网络运行新数据时,它可以根据数据的统计相似性将数据分类为网络以前见过的示例。神经网络在诸如图像分类,语音识别和自然语言处理等任务中尤其有效,这些领域基于规则的AI在历史上一直在努力。
但这种对数据的依赖造成了严重的困难。“对于我们遇到的许多问题,我们现在没有足够的数据来培训深度学习算法,”Cox说。
根据经验,您拥有的质量训练数据越多,您的神经网络就越精确。在许多情况下,您需要数百万个示例才能进行充分的培训。
事实上,神经网络的概念几乎与AI本身一样古老。这主要是因为大量注释数据的可用性增加,以及可以快速处理这些数据的计算机资源,该技术在过去几年已变得切实可行。
可解释性是深度学习的另一个问题。很难对神经网络做出的决策进行调查和审计,因为它们非常复杂,并且有自己的行为方式。这对他们在错误可能产生严重或致命后果的领域或法律要求 AI系统的采用者提供自动决策解释的领域提出了挑战。
结合符号AI和神经网络
人工智能面临的一项艰巨挑战是视觉问答(VQA )的任务,在该任务中,您向AI显示图像并向其询问有关存在的不同元素之间关系的问题。这很困难,因为VQA涉及图像识别,自然语言处理和逻辑推理的任务,这些任务最好由符号AI和神经网络协同工作。
麻省理工学院和IBM研究人员使用Neuro-Symbolic Concept Learner(NSCL)来解决VQA问题。NSCL使用神经网络处理VQA问题中的图像,然后将其转换为其包含的对象的表格表示。接下来,它使用另一个神经网络来解析问题并将其转换为符号AI程序,该程序可以在上一步骤中生成的信息表上运行。
“将符号AI与神经网络相结合 - 创建混合神经符号系统 - 的一个有趣的事情是你可以让每个系统做它擅长的事情。神经网络可以处理现实世界的混乱和相关性,以及帮助将这些符号转换为基于规则的系统可以更有效地运行的符号,“Cox说。
混合方法的好处
研究人员在CLEVR上测试了NSCL ,这是VQA问题中使用的渲染对象图像的数据集。以前使用神经网络方法解决CLEVR问题的尝试产生了令人印象深刻的结果,但是他们需要大量的训练示例,并且开发的模型在边缘情况(网络尚未训练的设置)上表现不佳。
事实证明,使用一小部分数据,NSCL能够在CLEVR上达到99.8%的准确率,因为它不是通过数百万个示例强制执行,而是开发了域的概念表示,这使得处理场景变得更加容易。以前没有见过。这很重要,因为在许多领域,没有足够的质量注释数据来训练神经网络来解决问题。
此外,在某种程度上,NSCL解决了神经网络的可解释性问题。在传统的神经网络模型中,AI提供了问题并输出了结果,但是它没有解决问题的解决方法,因此很难纠正错误。相反,混合系统产生基于规则的程序,该程序提供其功能的逐步描述。
“在这里,你可以看到程序,你可以逐步完成它,看看它做了什么。如果得到了错误的答案,你就会明白为什么它得到了错误的答案以及它在哪里误入歧途。如果它是正确的回答,您可以根据正确的理由验证是否这样做。您可以理解并审核出现的内容,“考克斯说。