虽然用AI算法可以解决很多问题,但当前还是面临很多局限性和挑战。卡内基梅隆大学教授、苹果首任AI总监Ruslan Salakhutdino认为,当前面对的挑战主要分为以下四大类:
1) 自然语言理解与推理
2) 人工智能:深层强化学习和控制
3) 将领域知识融入到深度学习模型中
4) 多模态、半监督学习、自监督学习
Ruslan根据自己的探索和最新成果,对第二、第三项挑战进行了回应 ,他认为:1)可以使用知识库和文本结合的方法建立开放域问答系统,从而将领域知识应用于深度学习模型,从而提高开放式问答系统的搜索精度;2)用深度强化学习,结合传统的导航方法,可以提高导航系统的精度及泛化能力。
Ruslan Salakhutdinov,卡内基梅隆大学教授,苹果首任AI总监,加拿大统计机器学习研究主席,微软学者和斯隆奖获得者,主要研究领域为深度学习概率图模型和大规模优化,师从Geoffrey Hinton,是剪枝、深度编码等著名学习方法的提出者。他于2009年获得多伦多大学的博士学位,随后又在麻省理工大学开展了为期两年的博士后研究。2016年,入职卡内基梅隆大学,同年获得英伟达人工智能先驱奖,并加入苹果公司担任AI研究总监。目前Ruslan已累计发表学术论文300多篇,是深度学习领域年轻一代领军科学家,主要的研究方向为:语音识别、计算机视觉、推荐系统、语言理解、药物研发及生物图像分析。
本文内容整理自Ruslan Salakhutdino于第二届北京智源大会开幕式主题演讲“Incorporating Domain Knowledge into Deep Learning Models”,以下是演讲视频及要点整理。
整理:智源社区 钱小鹅
一、将领域知识融入到深度学习模型
首先,Ruslan 为我们剖析了一个非常有意思的例子,如下图1,如果我们试图回答如下这个问题:请问据我们所知,哪些冠状病毒可以感染人类呢?答案有三类:MERS-CoV、 SARS-CoV 以及Covid-19。想要回答这个问题,我们可以从多个渠道亦或者我们自身现有的知识库中挖掘到答案,但我们不难发现的是,这是一个关于生物防疫或病毒方向的专业问题,无论我们调用上述所说的哪种渠道回答这个问题,我们最终所调用的必然是与该问题相同或相关的领域知识,也就是Ruslan 本次讲座中的关键词——Domain Knowledge。
图1:哪些冠状病毒可以感染人类?
领域知识在回答复杂问题是非常重要的,尤其是我们现在的工业场景中所需要的交叉知识更为丰富,例如自动驾驶,在现行的自动驾驶算法方案中,依赖的领域知识是非常丰富的:我们需要从摄像机中采集图像,利用计算机视觉的一些算法来处理图像;同样,我们也需要从其他传感器,例如激光雷达、GPS、IMU等中收集数据,来构造图像的辅助算法。显然,构造一套完整的自动驾驶算法需要多个领域的知识支撑,同样回答上述图1中提出的问题,也需要多个领域的知识支撑,如下图2。因此,如何收集相关的数据、如何找到数据间的逻辑关系,如何将这种推理关系抽象成模型,甚至将其抽象成标签依赖性非常弱的弱监督学习模型,一直是该领域的关键挑战。
图2:领域知识在深度学习推理中应用时的关键挑战
解决上文中提到的“关键挑战”有很多不同的方法,Ruslan为我们分享了其中一个研究方向——使用知识库和文本结合的方法建立开放域问答系统(如图3)。首先,我们先为大家介绍两个比较核心的关键词:开放域以及知识库。
开放域。开放领域问答系统的概念虽然提出的时间并不长,但已经形成发展出了一些比较成熟的系统。它起源于1993年麻省理工学院人工智能实验室开发的START系统。所谓开放域问答系统,即采用基于知识库和指定的检索方式,对用户提出的问题进行自动的答案搜索的系统。如果用户提出的问题在系统的知识库中,则直接返回正确答案。反之,如果用户提出了超出系统知识库的问题,则系统将会分析问题的关键词,并通过搜索引擎搜索关键词得到相关信息,对信息进行后处理后得到较为准确的答案。
知识库(Knowledge Bases, KBS)。所谓知识库,其实就是将互联网上的信息经过专家人工提取和构造,以三元组的形式存储下来(Subject, Relationship, Object),是一种非常结构化的信息,比较知名的有FreeBase。
在人工智能兴起之前,传统的QA都是通过知识库进行检索或者信息抽取等方式进行建模的。有了知识库,那么给定一个问题我们自然可以进行检索记忆并作出回答。该问题的挑战在于,由于问题往往是以自然语言的方式提出,而知识库是高度结构化的组织,所以如何进行检索或者信息抽取其实是一个很困难的工作,同时,面对KBS这么庞大的知识库应该如何解决内存容量问题也同样是值得不断优化的方向。
图3:使用知识库和文本结合的方法建立开放域问答系统
自人工智能兴起后,在知识库中快速搜素答案成为了可能。通常,整个过程可以描述为(如图3):首先,我们在知识库中确定具体的关键词;其次,将这些词进行文本挖掘;最后,结合文本信息建立知识图谱。如果将神经网络引入知识图谱模型,其本质即是我们通常所说的图神经网络。
使用图神经网络进行答案挖掘(换句话说即为,整合文本信息获取知识图谱信息)是一件非常有趣的事情,学界的研究也非常火热。随着研究的深入,大家把方向转向了更为复杂的问题——Multi-Hop Question。Multi-Hop Question,多跳问题,顾名思义也就是回答问题需要多步推理过程。与Single Face相比,多跳问题属于复杂问题的一类子场景。为了方便大家理解,我们不妨先为大家分享一个实例。如下图4所示,如果我们试图让回答系统回答一个较为复杂的问题:生产Voglibose的公司总部设在哪里?那么,其实我们可以把这个问题分为两个问题回答:
1) 哪家公司生产Voglibose?
2) 该公司的总部设在哪里?
整合大量的文本信息后,我们于是了解到,Voglibose这种药物的生产公司为武田制药公司,该公司是日本最大的制药公司,该公司的总部设在日本大阪。
用这种方式,我们通过连续的回答两个简单问题,最终回答了一个复杂问题。当然,多跳问题也能分解为三个或更多的简单问题。Ruslan随即提到,对于该问题能否做到端到端、更有效、组合更具灵活性?
图4:多跳问题实例分析图
Ruslan及其团队成员在该领域已经做出了一些成果,他介绍到,整个多跳问题可以通过图神经网络解决,该神经网络大体可以分为四个模块:
Graph Construction
该模块的核心目标建立图,将与问题及答案相关的数据存储为图类的数据结构,主要包括:1)根据关键册检索相关段落,寻找到与关键词匹配度最高的N个段落;2)寻找能够链接到其他相关段落的facts and entities; 3)为上一步中相关的段落和实体添加边。
Context Encoding
该模块的核心目标是为了把所有的搜索到的段落或实体拼接成一个整体,我们称之为Context,接着我们将原始的问题Question一同拼接起来,进行编码,将编码后的结果输入到神经网络中。通常,我们使用Bag-Of-Symbol的方法对段落或实体进行编码,将知识库存储成一个N维的向量,并使用Bag-Of-Ngrams的方法对原始的问题进行编码,存储为Nv维向量。
Graph Reasoning
该模块的核心目标是利用图神经网络,进行图中信息的传播,训练各实体类型节点中连接边的权重,同时学习图神经网络中各门的注意力和表达能力,用于做答案区域抽取。
Multi-task Prediction
该模块的核心目标是图推理之后,更新过的节点表示被用于不同的子任务,由于答案可能不在实体节点中,因此我们需要构造一个有效的损失函数,对整体编码的内容进行回归,从而进行多任务的预测。
在整个的流程中,我们注意到,以实体(Entity)作为节点,关系(Relationship)作为边,记忆作为矩阵进行结构化存储,使得问题更具有计算性。我们可以根据问题找到相关记忆,并对其进行加权求和,同时,我们考虑记忆对问题的稀疏性,使得在计算的过程中可以直接使用大量稀疏矩阵的算法模块进行存储和计算,有效的加快了推理速度,减少了内存的损耗。同时在端到端记忆传播的过程中,Ruslan引入得分机制将实体与问题的相关性分数与实体共同存储在数据结构中,最终得到答案。Ruslan谈到,他对这个项目是非常感兴趣的,因为我们通常在开放式回答系统背后嵌入的知识库是基于维基百科的,或基于某个知识库的侧面。但Ruslan所建立的知识库是非常与众不同的。由于记忆矩阵的嵌入,以及这些特定的数据结构和网络架构,使得多个问题的“软连接”(问题之间的逻辑关系)更容易得到,同时鲁棒性也更强,基于此,Ruslan可以建立一个完全由他个人“控制”的知识库,这个数据库并不来源于维基百科,也不来源于单纯的一些知识片段,这个知识库可以非常大,内容涉及的更加广阔。最后,Ruslan为我们展示了新算法模型的精度及速度,如下图5。
图5:Ruslan与合作者的最新研究成果(精度/速度)对比图
二、深层强化学习与控制
讲座的第二部分,Ruslan为我们分享了四大挑战(请参阅文章开头介绍)中他对第二个挑战——深层强化学习与控制的思考和研究。他指出,我们心中所构想的所谓的人工智能,其更偏向于增强学习,也就是机器真正的学习能力或所谓的“智慧”。Ruslan首先为我们列举了一个非常有产业价值的实例——机器人导航。如下图6中,如果我们讨论机器人导航的真正学习能力,我们期望机器人会自动的构建地图,在构建的地图中寻找到人类需要的目标,并自动进行路径规划获取(或抵达)目标所在地。
图6:导航系统中的增强学习
Ruslan指出,导航是构建智能代理的关键任务。导航任务可以用多种形式表示,例如,点目标任务,即到导航到特定的坐标;语义导航,即查找特定场景或对象的路径等。但不管任务是什么,在未知环境中进行导航的核心问题是探索,即如何有效地访问尽可能多的环境。这有助于最大限度地扩大覆盖范围,以便在未知环境中找到目标,或者在有限的时间预算内高效地预映射环境。在2019年,学术界的一些研究人员已经开始探索使用端到端的强化学习方法来解决这个问题。研究人员认为,使用强化学习方法有诸多好处:1)对于模型的输入而言,经典模型的输入大部分为传感器观察到的实际几何体,而强化学习模型可以直接从图像中推断几何体,使得输入模式的选择更加灵活;2)强化学习可以有效地利用现实世界的结构规律;3)较经典的机器学习算法,强化学习可以提高对显示状态估计的精度,因此更具有鲁棒性。然而,相对于从前的经典模型,强化学习模型也具有不容忽视的缺陷:算法算力大,所需的存储空间大。
图7:导航算法的挑战及解决方法
鉴于此,Ruslan提出了一种改进的新算法——Active Neural SLAM(ANS)。这项工作提出了一个模块化和层次化的方法来学习三维环境中的策略,称为“主动神经系统”。Ruslan的方法利用了经典方法和基于学习的方法的优势,通过使用带学习SLAM模块的分析路径规划器,以及全局和本地策略。强化学习的使用使得输入模式更具有灵活性(在SLAM模块中),在全局的导航决策中利用了物理世界的结构规律,在局部的导航决策中并增加了对状态估计的鲁棒性。该算法在每个模块中使用强化学习方式,并保留了它的优点,同时,在训练过程中进行分层分解和模块训练,如图8为该算法的整体框架图:神经SLAM模块根据传入的RGB观测值和传感器读数预测地图和智能体姿态估计。全局导航策略使用此映射和姿势输出长期目标,并使用分析路径规划器将其转换为短期目标。局部导航策略被用于训练短期目标,使得我们避开在训练过程中高样本的复杂度。该算法模型可以容易的转移到PointGoal任务中,并在CVPR 2019 Habitation PointGoal导航挑战赛中获得非常好的成绩。
图8:Active Neural SLAM 算法整体框架图
如图8,在整个算法框架中我们看到,起关键作用的为蓝色的三个方框,分别为全局策略、局部策略及神经SLAM。下面我们再具体介绍一下这三个“硬核”算法模块:
局部策略,学习局部策略的即学习制定一个遵循规划者给出的计划的确定性策略。该策略旨在适应映射中的小错误。例如:神经SLAM模块有时会错误地预测地毯是障碍物。在这种情况下,智能代理者会计划绕过地毯。但是,如果短期目标超出后,神经SLAM模块仍然预测到地毯,那么算法根据观察后会反馈该信息,局部策略根据该信息理解地毯不是障碍,并学会克服它。
全局策略,学习一个全局策略来抽样长期目标的另一种选择是使用一种称为基于边界的探索(FBE)的经典算法(Yamauchi,1997)。边界被定义为已探索的自由空间和未探索的空间之间的边界。基于边界的探索本质上是在这个边界上取样点作为探索空间的目标。在研究中Ruslan发现,在最靠近智能代理者的前沿点上进行取样会产生更好的结果。定性地说,Ruslan认为,基于前沿的探索花费了大量时间探索某些物品后面的角落或小区域。相比之下,训练有素的全局政策忽略了狭小的空间,选择了遥远的长期目标,从而提高了覆盖率。
神经SLAM,ANS与基线的区别在于ANS使用额外的监督来训练姿态估计器。为了了解性能增益是否来自于这种额外的监督,Ruslan从ANS中移除了位姿估计器,只使用输入传感器读数作为我们的姿势估计,结果表明,即使没有姿态估计器,ANS仍然优于基线。同时,Ruslan还观察到,在没有姿态估计器的情况下,小场景下的性能仅下降约1%,而在大型场景中则下降约10%。这是意料之中的,因为更大的场景需要更长的时间来探索,并且姿势错误会随着时间的推移而累积,从而导致偏移。将真实姿态作为输入传递给基线而不是传感器读数并没有提高它们的性能。
最后,Ruslan总结到,ANS提出了一个模块化的导航模型,它利用了传统导航方法和基于学习的导航方法的优点,该模型在探索和点目标任务上都优于先前的方法,并且在域、目标和任务之间表现出很强的泛化能力。未来,该模型可以扩展到复杂的语义任务,如语义目标导航和具体的问答,使用语义神经SLAM模块创建一个捕捉环境中对象语义属性的多通道地图。该模型还可以与先前的本地化工作相结合,以便在先前创建的地图中重新定位,以便在后续事件中高效导航。
三、结语
本次讲座中,Ruslan为我们分享了两大挑战主题:1)如何将领域知识应用于深度学习模型,从而提高开放式问答系统的搜索精度;2)如何用深度强化学习,结合传统的导航方法,提高导航系统的精度及泛化能力。由于Ruslan所学甚广,因此在分享的过程中,他常常不局限于当下的问题及探索领域,旁征博引,为我们分享了许多经典的案例,使得听众的理解过程更加生动简洁。同时,他在讲座的最后不忘感谢与他一同进行探索研究的合作者,如图9。我们相信,在这些专业领域中默默奋斗的众多的优秀的研发人员,一定会在不远的将来,带给我们更加智能的生活。
图9:与Ruslan一同工作的优秀科研人员
点击阅读原文,进入智源社区参与更多讨论。
关于我们
北京智源人工智能研究院(Beijing Academy of Artificial Intelligence,简称BAAI)成立于2018年11月,是在科技部和北京市委市政府的指导和支持下,由北京市科委和海淀区政府推动成立的新型研发机构。
//智源研究院简介
///
学术思想 | 基础理论 | 顶尖人才 | 企业创新 | 发展政策