论文阅读:A Survey of Knowledge Representation in Service Robotics
标题:A Survey of Knowledge Representation in Service Robotics
作者:David Paulius, Yu Sun
下载链接:https://arxiv.org/pdf/1807.02192.pdf
0. 摘要
在服务机器人技术领域,研究人员已投入大量精力进行学习,理解和将动作表示为机器人执行任务的操作。机器人学习和解决问题的任务非常广泛,因为它集成了各种任务,例如对象检测,活动识别,任务/运动计划,本地化,知识表示和检索,以及感知/视觉和机器学习的交织技术。在本文中,我们仅专注于知识表示,特别是过去几十年来研究人员所做的通常如何收集,表示和复制知识以解决问题的方法。根据知识表示的定义,我们讨论了这些表示与近年来广泛引入和研究的有用学习模型之间的关键区别,例如机器学习,深度学习,概率建模和语义图形结构。除了此类工具的概述之外,我们还讨论了机器人学习中存在的问题以及如何构建它们并将其用作有助于解决这些问题的解决方案,技术或开发(如果有)。最后,我们讨论了设计有效的知识表示时应考虑的关键原则。
1. 介绍
机器人学习研究的最新趋势来自在以人为中心的环境中使用机器人开发家用机器人或使家庭中使用的机器人助手或机器人自动化的某些过程和任务的动机,这对于我们人类来说可能不方便执行 。助手对于无法自行执行操作的老年人或残疾人特别有益。为了开发这样的机器人,研究人员旨在创建能够像人类一样学习,理解和执行任务的机器人。单独来说,这些都是非常复杂的任务,因为它们都需要一种内省的方法来理解:1)我们如何看待环境(物体,障碍物和导航),2)我们如何执行动作,3)如何最好地设计这些动作并加以实施; 4)我们对各种类型和属性的对象有多熟悉,以及5)我们如何理解世界。为了实现这些目标,需要一个集成的解决方案,该解决方案使我们能够执行各种任务,例如对象检测,活动识别,任务/动作计划,本地化,知识表示和检索以及计算机视觉和机器学习的融合。此外,除了处理可变性之外,这种解决方案还必须确保机器人避免伤害周围的任何人,并通过了解人的意图及其行为的影响来维持安全的环境。在本文中,我们特别注意表示知识以保留和重用的方式。知识表示可以使机器人更轻松地执行其职责并在其工作区中安全运行。
1.1 定义知识表达
如前所述,研究人员可以使用几种模型或工具来学习操作或某种程度的服务或家用机器人的活动。 尽管这可能是正确的,但实际上只有少数几个人区分是知识表示,而这些完整的表示不能认为等同于独立模型,工具或分类器。但是,在我们的机器人技术领域中,缺少对构成机器人系统知识表示的形式的正式定义。 最初,此概念源自人工智能(AI)领域,因为知识的表示对于构建人工智能代理或系统非常重要。 正如AI中最初定义的那样,知识表示“与如何象征性地表示知识并通过推理程序以自动方式操纵知识有关” [1]。 AI的重点主要放在形式逻辑表达式基础上的知识的语义和符号表示上。可以使用因果规则和推理来描述有关机器人世界,其行为以及这些行为的后果的概念,这些因果规则和推理可以基于共同的实体或变量相互关联。 通过识别此类实体和变量的实例,机器人可以通过推理来确定这些表达式是对还是错。代理(例如机器人)可以将这些表达式用作其知识来源,只要他们可以有效地获取输入并使用推理来确定正确的结果即可。 通常,程序员可以利用Lisp和Prolog之类的语言来编写关系(事实或规则)作为可在查询中使用的子句。 图1显示了如何使用Prolog逻辑编程语言来表达逻辑表达式的示例。 在此类知识表示中,内置于代理中的规则或概念称为显式知识,并且此知识用于推断新的概念,这些新概念最初对于代理来说是未知的,作为隐式知识。
理想情况下,机器人的知识表示将多种形式的知识与推理能力结合在一起,以便它可以设计出执行任务的最佳行动计划。 在机器人技术中,知识表示超出了AI的逻辑逻辑形式,仅使用断言即可扩展到对机器人系统重要的其他组件:感知模块(音频,视觉或触摸),传感器输入,运动原语和驱动系统,运动和任务 规划系统,推理系统等。
作为对AI定义的扩展,我们定义了机器人技术的知识表示形式,以表示有关机器人的动作和环境的知识,并将这些概念的语义与其内部组件相关联,以通过推理和解决问题的方式解决问题。 在这里,高级知识表示不同组件之间关系的语义结构表示,而另一方面,低级表示则没有结构或符号,而是与机器人的控制程序或物理系统相关。例如,我们通常使用介词或描述性很强的语法来描述对象和位置,这与机器人使用的低级参数(例如传感器读数,关节角度或空间中的点)不同。 简而言之,知识表示赋予了机器人在其任务中获取和使用的输入的含义。例如,机器人可以遵循一定的轨迹或原语来执行任务,但是可以使用高级知识为其赋予含义,例如定义操作的含义或行为。 这个问题与符号基础问题[2]有关,该问题涉及理解如何通过经验和与世界的互动从本质上将意义(作为高级)对符号(作为低级)进行描述。 机器人或人工智能代理的知识表示必须回答其在环境中可能看到或所做的事情背后的含义问题。该符号接地问题指出,我们不能仅将符号与概念或含义相关联,而不必考虑智能代理如何建立这些连接。 在[3]中广泛讨论了符号接地问题。对于我们家庭和周围环境中的类似人的操纵和任务计划,如果机器人要与人类用户进行交流并理解人类所指示的命令和关系,则知识表示必须对对象/工具和操作进行 高级别和低级别表示。此外,机器人还应该像人类一样理解世界。 通过包含逻辑表达式,知识表示仍可以从强大的推理和演绎功能中受益,因为它们打算用于AI。 本文讨论的几种表示形式,例如Prolog中的基础知识,可以使用其编程语法使查询关系更容易。
1.2 论文概述
本文旨在讨论机器人知识表示的最新趋势,确定创建有效表示的问题,并回顾已成功应用于机器人学习和操纵中较小子问题从而创建表示的几种工具和模型。 我们将讨论表示的关键特征,尽管机器人的工作环境及其中发现的对象具有高度可变的性质,但它们仍可以发挥作用。 本文的主要贡献是针对与机器人技术有关的知识表示进行了重点讨论:这是一个包含高级知识和低级功能的综合工具。 我们还将介绍如何使用模型执行对机器人功能至关重要的特定任务。
我们的论文概述如下:
- 首先,我们深入讨论了在第2部分中称为全面和完整的示例性高级知识表示。第2部分概述了这些知识表示,并特别关注了基于云的知识表示和认知架构。
- 接下来,我们在第3节中研究了许多专业知识表示形式。尽管这些模型表示非常具体的概念,但它们在表示对于活动理解和任务执行至关重要的属性和概念方面非常有效。
- 在第4节中,我们将简要讨论为机器人技术中的重要任务设计的分类器,尽管没有明确描述规则和语义以供理解。
- 最后,在第5节中,在回顾了几种表示知识的方法之后,我们解决了开发知识表示中的关键问题。 具体来说,我们提出了一些关键问题,在将它们与已讨论的作品联系起来时应建立有效的代表性。
2.全面的知识表示
在理想世界中,家用机器人将以命令为输入进行指挥,并应计划其动作并执行一系列任务以产生所需的结果。为此,机器人应具备执行所有任务所需的知识从接收其指令到确定运动计划的步骤到使用其环境中可用的内容执行所有必需的操作的步骤。首先,我们通过介绍近年来研究人员介绍的知识表示形式开始对知识表示形式的讨论。这些表示应包含具有人类可以解释的高级知识的低级特征(可以由机器人系统获取的特征)的抽象。知识可以被约束为一组术语或语言,称为本体。本体的目的是定义一种概念和术语的范围,这些概念和术语以一种人类也可以理解的格式来标记和描述机器人的工作空间。
在本节中,我们将讨论将高级知识映射到机器人对世界的理解以执行任务的不同方法。这些表示结合了多种信息。此外,我们讨论了较大的综合项目,这些项目强调一组机器人系统之间的协作和知识共享。这些表示是独立的系统,结合了多种形式的信息,例如视觉,触摸和声音,或者它们可以从多个数据集中提取信息,这些数据都组合并提供了形式信息。在[4]中可以找到很好的数据集概述,这些数据集为研究人员提供了与对象操纵有关的多种信息形式。这意味着机器人应保持恒定的连接,以访问机器人的过去经验,并上传其当前和将来的经验以建立该信息源。本节中的其他系统也会自动从整个Web收集数据。
2.1 任务的高级表示
知识表示本质上表示了本体中的技能或动作,强调了机器人的可靠性,安全性和可用性。为了使机器人有效运行,知识表示应包含基于不同数据模式的概念或规则,应允许扩展或学习新概念,应使用它进行逻辑和统计推理,并适当地定义对象,操作所需的操作/技能和状态。正如我们将在第5节中更详细地讨论的那样,知识表示应包含所有这些思想,以便机器人可以自己推理并执行技能。在表示技能时,不仅要考虑与运动相关的细节(例如轨迹),而且还应考虑技能背后的语义(即,运动到底是什么,其动作对机器人环境造成的改变或后果,等)。许多研究人员没有考虑工作中状态的表示[5],这对于识别动作何时完成非常重要。我们特别注意通过不同结构和模型的集成将任务作为高级知识基础的知识表示。
我们讨论了高级知识表示的第一个示例,该示例最初由RamirezAmaro等人提出[6,7,8]。 这些研究人员使用“通过演示学习”向机器人讲授了直接从演示获得的操作,并将其描述为从演示者到机器人的技能转移。 观察到技能演示后,机器人将模仿人类演示者执行的动作。然而,这种“转移学习”的感觉不同于机器学习社区中的传统感觉[9]。他们可以通过执行三项具有挑战性的厨房任务所需的可转移技能的形式,以树的形式创建语义图。这些知识是直接从人类演示者那里提取的,它使机器人能够执行模仿演示者操纵对象所需的确切方法。根据以下几个属性来学习人类活动:1)用手做出的动作; 2)用手移动和操纵的对象; 3)使用和操作这些持有物品的对象然后,它们以有序对的形式显示,以训练其推理引擎。一旦获得这些基于Prolog的语义规则,就可以通过推理在推理和对示威的未来理解中使用。这些属性被应用于决策树分类器,以从新的演示中自动获取知识和规则。
Yang等人提出了另一项示范性研究,以展示示范技能。 在[10]中,研究人员提出了一种方法,该方法使用[11]中最初描述的规则以组合类别语法(CCG)的形式表示观察到的操作。 该语法生动地描述了一个特定的动作,所使用的项目以及执行该动作的结果[12],并且每个动作也可以有效地分解为较小的子动作或子活动。 他们使用所述的上下文无关文法,还开发了操纵动作树库[13],以将动作序列表示为可以由机器人执行的树数据结构。 配备了动作树库,机器人可以使用从多个演示中收集的知识来确定它需要以树的形式针对给定的操纵问题采取的动作(如图2所示)。
图2:[13]中提出的操纵动作树库流水线的图示。 动作树库包含来自演示的知识,并且在该知识库中搜索一棵树,机器人可以将其用于操纵执行。
与先前的表示类似,我们的小组还引入了一种称为功能性面向对象的网络[14,15,16](FOON)的语义知识表示,该知识表示既学习又表示家庭任务的操作知识。 类似于Petri Nets [17]的二分FOON结构包含对象和运动节点,以捕获对象提供能力的概念。 Affordances能力(基于J. J. Gibson的Affordances能力理论[18])是通过在对象与运动/动作类型之间绘制的边来描述的。该网络将输入对象节点,输出对象节点和运动节点结合起来,以创建我们称为功能单元的功能(如图3所示)。 功能单元分别描述一个单一的或原子的动作,该动作导致对象在对其执行运动之前和之后的状态改变(以便强调状态变化作为动作结束的指示[5]); 这些单元共同将整个活动描述为一个子图。 通常,通用FOON将包含许多功能单元(如图3所示),这些功能单元是通过注释几个教学视频获得的。通过任务树检索(基于图搜索概念),机器人可以找到任务树,其中包含实现给定目标的一系列步骤。 这是通过确定目标节点并回溯以找到满足我们要求的步骤(即我们拥有执行操作所需的所有对象)来完成的,就像在Petri Nets中“触发”过渡一样。 对于带注释的子图的可视化,我们向读者介绍了我们的网站。 为了创建新的FOON子图,在[16]中,我们提出了使用通用FOON注释视频的管道。 深度学习管道能够将对象和动作建议为与活动相匹配的功能单元,如新的视频演示中所示。 可以从此过程中获得的注释可以与我们当前的网络合并,以半自动添加新知识。
2.2 认知架构
认知架构是一种模型,旨在解释人类认知背后的心理学理论以及对认知和行为至关重要的过程,机制和模块。 基于不同的认知理论,已经提出并广泛研究了许多架构,包括ACT-R [19],Soar [20,21],CLARION [22]和EPIC [23]之类的。 每种架构在获取,表示,保留(通过长期和短期记忆)以及在其内部认知结构中传播知识的方式方面都各不相同,因为它们都遵循各自的人类认知理论。 尽管存在差异,但它们都旨在回答人类认知如何发挥作用的问题。与机器人的知识表示非常相似,认知体系结构将思想,感知,推理和行动的核心不同组件模块化,并基于认知理论将它们彼此联系在一起。 对于此类架构的广泛概述,我们鼓励有兴趣了解更多有关它们的读者参考Kotseruba和Tsotsos所做的评论[24]。 在机器人技术领域,认知体系结构在发展型机器人技术领域得到了广泛的研究,作为理解我们如何在婴儿时期发展感官和运动技能的一种手段。 这些研究着眼于每个内部组件如何相互连接,以便机器人可以开发新技能并获得有关其问题领域的知识。 读者可以通过[25,26,27]了解有关开发机器人技术的更多信息。
通常,认知体系结构强调知识如何被保留并用作长期或短期记忆,其中长期记忆可以指概念(对实体环境的目标或描述),而短期记忆指此类概念的实例 。 一旦通过机器人的感知系统识别了它们的论据,就可以学习,保留和激活所有这些概念和技能。 诸如Soar [28]和ICARUS [29、30、31]之类的体系结构已被用来说明如何通过在整个环境中导航或通过人类交互来学习技能和概念。 他们可以学习诸如对象实例标识和位置之类的概念。这些技能(即其操作对象的能力)是作为长期组件学习的,可以与其他技能结合使用,以在机器人环境中执行任务。 通过一种发展方法,诸如[32,33,34,35]的作品研究了如何通过人机交互(HRI)来发展技能。 在此类研究中,人类助手将与机器人互动,以向他们传授其动作,效果及其自身对世界的内部表示之间的关系。 例如,在Ivaldi等人[34]中,在照顾者的帮助下,机器人被教给机器人有关物体供给的知识,照料者像父母一样监督机器人的行为。 照料者可以向机器人发出不同的命令,例如注视,抓握,推动或更复杂的动作,例如将物体放置在另一个物体上。通过HRI,机器人可以通过向机器人显示焦点项目是什么,而无需事先知道它们的外观来学习如何识别新颖的对象。 一旦机器人了解了这些对象,就可以继续学习动作和动作的效果,同时获得肯定或否定的反馈,以指示机器人是否正确执行了任务。 总而言之,认知架构不仅旨在为机器人提供执行其职责所必需的知识,而且最终旨在探索我们作为人类的认知如何工作。 保留经验记忆对于学习语义和符号概念以及解决问题的理由至关重要。
2.3 分布和协作表示
利用云计算来改善服务机器人的性能具有巨大潜力[36,37,38]。 得益于云计算和强大的硬件,对于我们来说,使用并行编程和分布式系统执行高强度处理任务变得更加容易。 有关云机器人技术和相关技术的完整概述,请参见[38]。 机器人可以利用场外计算的优势,以允许更长的时间使用更简单的机器人系统并降低其计算能力,从而最大程度地提高机器人的整体性能。 此外,诸如“百万对象挑战” [39]和[40]之类的某些举措表明,与同时执行多个任务的许多机器人并行学习某些任务,我们可以更轻松地进行学习。作为一项重要的新兴技术[41],“百万对象挑战”(Million Object Challenge)涉及学习如何使用以分布式方式工作的百特机器人来掌握。 在文献[40]中,机器人可以学习如何使用简单的单眼镜头相机进行抓握。 使用这种基本视觉系统的方法可以应用于其他系统,以通过使用更广泛访问且更简单的技术来简化掌握。 这些项目旨在通过任务一组机器人反复尝试拾取一组对象,直到他们成功抓取并将其放置在另一个容器中,来学习如何抓握不同形状和大小的对象。 这里要注意的重要一点是任务的分配可以极大地有益于机器人学习。
当谈到基于云的全面知识表示时,著名的例子包括RoboEarth和RoboBrain。 RoboEarth [42,43],被称为“机器人万维网”,是一个正在进行的协作项目,旨在为机器人创建基于云的数据库,以访问解决任务所需的知识。 RoboEarth最初是作为概念证明而提出的,以表明云机器人技术将大大简化机器人学习。 RoboEarth提供了一个用于存储语义概念的本体,以及一种通过软件即服务(SaaS)接口访问知识的方法,在该接口中可以远程进行计算推断和映射。作为协作系统,RoboEarth允许机器人存档自己的体验(例如观察到的对象类型,成功或未成功使用的运动计划,机器人体系结构等),以供其他有能力的机器人调用和重用。 该数据库将包含大量数据(以对象模型,SLAM地图[46],语义地图等形式),可用于诸如对象识别,实例分割和路径规划的任务。 RoboEarth管道的图示如图5所示。与RoboEarth相关的另一个是有前途的项目,该项目由Rapyuta Robotics领导,该公司现在处理云机器人解决方案。Rapyuta Robotic的系统名为Rapyuta,以日本吉卜力工作室的电影命名,该系统首先在[47]中引入,然后在[48]中作为机器人的平台即服务(PaaS)接口引入。 它充当开源中间件,用于从Web访问资源,例如上述RoboEarth存储库和ROS(机器人操作系统)软件包。 此外,它通过将计算卸载到云上来减少机器人完成的处理。 机器人还可以通过此PaaS系统相互通信并共享信息。 此项目此后发展成为其用于企业解决方案的云机器人平台的开发。
RoboEarth的结果也促成了openEASE的发展,也由Beetz等人[49](EASE是Everyday Activity Science and Engineering的缩写)。 在RoboEarth的基础上,RoboEarth作为基于Web的界面和处理服务,为机器人提供了来自先前经验的知识(类似于访问内存)以及以语义标记的活动数据形式的推理能力。 使用openEASE的机器人将可以访问:1)关于机器人硬件,其功能,其环境和可以操纵的对象的知识,2)记忆的经验,机器人可以将其用于推理(为什么要执行操作,如何进行操作) ,以及动作的影响是什么),3)注释了从人类演示中获得的知识。查询和语句使用ProLog制定,可以通过基于Web的图形界面或通过机器人可用的Web API发送; 它们允许机器人获取语义信息和含义,以用于传感器输入和用于控制目的的数据结构。 作为该项目的一个组成部分,Tenorth等人[44,50,51]提出了KnowRob(如图4所示),作为一种知识处理系统,用于使用Prolog谓词查询openEASE知识库。 KnowRob结合了各种知识资源,例如网页(教学网站的方法,可用对象的图像等),自然语言任务和人类观察。机器人可以通过称为“虚拟知识库”的符号层将来自KnowRob的知识应用于机器人的感知/动作系统及其内部数据结构。 通过ProbCog [52](一种统计关系学习和推理系统),可以构建诸如贝叶斯逻辑网络[53]或Markov Logic Networks的模型来表示机器人当前上下文的状态。 KnowRob构建在另一个称为CRAM(认知机器人抽象机的缩写)[54,55]的工具中,CRAM是一个软件工具箱,用于使用自己的CRAM计划语言(CPL)设计,实现和部署机器人。 CPL受Common Lisp和Prolog启发,提出了并发的,由传感器引导的反应性行为的表达规范,或者更简单地说,是机器人应如何对某些感觉事件或信念状态变化做出反应。
RoboBrain是处理知识收集和共享的另一项值得注意的技术。 Saxena等人[56]在2014年引入了RoboBrain,作为大规模收集概念的一种方式,这些概念是从Internet的自动数据收集,模拟和机器人实验中学到的。 这与RoboEarth / openEASE表示形式不同,因为RoboBrain使用图来编码知识,而RoboEarth及其内部组件使用命题逻辑和语句来定义工作空间中的概念和关系。 该信息以图形表示,其中节点表示概念(例如图像,文本,视频,触觉数据,辅助功能,深度学习的特征等),并且边缘表示这些概念之间的相关性。 RoboBrain连接来自流行资源(如WordNet [57],Wikipedia,Freebase和ImageNet [58])的知识。他们使用众包反馈以及反映某些知识来源的信任以及概念及其关系正确性的信念来管理知识收集中的错误。 为了检索知识,机器人查询语言(RQL)可用于获取描述执行特定任务的活动的子图。 与openEASE的情况不同,未演示机器人如何执行子图所反映的方法。 但是,尽管如此,所收集的知识对于任务计划,实例标识和推理仍然非常有用。
2.3.1 关于基于云的系统的评论
总而言之,我们涵盖了几种知识表示形式,它们采用了不同的方法来获取和保留机器人技术知识。尽管它们都有各自的差异,但共同的目标是开发一种非特定于单个机器人的表示形式。实际上,有几个正在进行的项目旨在利用云计算平台和技术,因此知识的抽象将至关重要。使用分布式资源还将通过经验共享和通信协议(使机器人能够协同工作)来简化机器人的编程。然而,挑战在于开发可被不同机器人使用的通用平台。由于这些机器人是由各种公司和团体构建的,因此要由他们来促进与这些云服务的无缝集成。研究人员之间的密切交流对于确保解决研究难题至关重要。此外,定义和采用通用标准或协议对于全面和分布式表示形式的成功至关重要。
3. 特定知识表示
与成熟的知识表示法相比,还有其他工具对于机器人执行类似人类的操纵和活动时可能会有用。 为了创建理想的知识表示,这种表示必须足够全面,以将高级知识与低级功能/属性联系起来; 可以将这些模型放在一起以整合它们的优势,并创建适合于服务机器人的表示形式。 研究人员已经广泛研究了几种可用于表示不同类型知识的模型。 这种类型的知识不限于用于掌握点或活动识别的视觉提示,将对象与其使用相关联的对象-动作关系,对象检测器和实例分类器,运动标识符以及对象-对象关系。 在本节中选择的论文在构建模型时会考虑这些类型的关系。
3.1 概率图形模型
在本节中,我们重点研究以概率模型为基础的学习方法,这些方法假设机器人的世界及其可能执行的动作不是离散的,而是天生的不确定。换句话说,机器人的世界由可能性控制和不确定性,这些可能性被捕获为基于此类模型的概率。因此,当通过基本了解自身行为对其环境的影响来识别活动时,这些模型可用于表示机器人所需的知识。尽管这些模型是机器学习算法的示例,但它们适合学习高级概念和推理规则;其他不关注这些高级规则的机器学习技术将被视为这些规则的隐式表示,这将在第4节中介绍。我们首先从介绍近期工作中使用的不同类型的模型开始,然后再讨论探索如何将这些模型应用于学习和代表活动和动作。我们建议读者参考Koller等人的著作[59,60],以进一步了解这些概率模型的理论。
3.1.1 贝叶斯网络
贝叶斯网络(BN)是有向的非循环图形模型,其节点可以表示实体或概念,并且边缘表示此类节点之间的概率依存关系,此外,还可能涉及它们之间可能产生的影响流。 网络中的每个节点都代表一个条件概率分布,其中概率以贝叶斯规则为基础。 如果我们有一个未知变量,假设我们知道其他变量,则可以使用此方程式来找到未知概率或变量。 这些变量通常是离散的,并且在应用于机器人时会反映出在环境或环境中观察到的现象。 节点通常用于表示属性或对象的可观察变量。
简而言之,一旦在一个变量到另一个变量之间存在路径的实例,我们就可以说,由于一个节点依赖于另一个节点,因此会产生影响流。 但是,如果没有连接两个节点的路径,例如图7中标记为1和2的节点,则可以说这些节点是独立的。 更准确地说,最好将此独立性视为条件独立性。 条件独立性假设两个或多个节点遵循局部马尔可夫假设,其中变量被称为条件独立于不是其子级给定父节点的节点。 一对变量之间存在边表示独立流动,而相似变量对之间不存在边表示它们是完全独立的。 由于这种影响的流动,给定我们可能已经观察到的变量,BN非常适合于推断未观察到的变量。
3.1.2 马尔可夫网络
贝叶斯网络不同于另一种称为Markov随机场(MRF)或Markov网络(MN)的图形方法,其图形边缘存在明显差异:这些结构中没有定向边缘。由于没有方向性的影响流,MN可以充分捕获循环依赖性。这个
意味着这对连接的节点具有相等的影响力流。与BN一样,我们也可以应用局部马尔可夫假设来表示条件独立性。但是,MRF中的每个变量不一定都遵循概率分布。取而代之的是,我们使用因子对Markov网络进行参数化,这些因子代表每个群体之间的关系(即,所有节点相互连接的节点子集,例如图8中用红色和蓝色虚线表示的节点)。图形。这些因素组合在一起时,可以代表图形的整个状态并组成分布。这些模型可以用来表示给定数据所反映的现象,就像它们的有向变量一样,尤其是用来表示不一定是不可逆的状态转换。
3.1.3 概率模型的应用
在本节中,我们讨论如何将这些概率模型用于学习活动和操纵。 研究中的贝叶斯网络主要用于捕获动作对机器人环境中对象的影响。 捕获此类效果时,将向机器人演示可观察到的动作和效果对,以了解它们之间的关系。 这些关系可以通过示范学习来教授,可以分为两个子类别:轨迹级学习和符号级学习[63]。 轨迹级学习是一种低级表示方法,旨在概括轨迹级别上的运动并对关节,扭矩或任务空间中的运动进行编码,而符号学习则着眼于高水平的表现形式,其重点是活动学习技能背后的含义。机器人与环境的交互作用是学习新的运动原语或技能(轨迹级),或者学习与他们掌握的类型或使用的技能,对象的物理特征,以及执行操作(符号级)产生的效果。 在[64,65] [66,67,68] [69]之类的作品中,机器人可以使用基本的,预先编程的运动技能(即抓握,敲击或触摸)来了解对象特征之间的关系(例如 形状,大小或纹理)及其行为特征(例如速度和接触点)。 这些技能的控制者可以根据机器人的经验和对机器人环境的探索来调整,并且这些行为的因果关系及其对世界的影响(基于对象特征)可以通过BN来表示。机器人可以利用从与对象进行交互以及进行微调中获得的知识来选择适当的动作,以达到演示者的目的。 同样,Jain等人[53]和Stoytchev等人[70,71]使用这些网络基于工具演示来了解动作对物体的影响。 他们的BN是根据与工具功能(以及类似工具)相关的几何特征而构建的,他们将这些特征称为功能特征,用于通过学习的模型预测机器人未知工具的效果。 例如,用于切割的物体具有锋利的边缘作为功能特征,而用作容器的那些物体具有用于容纳物质或物质的非凸形形状; 机器人一旦识别出这些特征,便可以使用经过训练的模型来预测特定动作的结果。工具的效果由目标对象的位移,工具相对于目标对象的初始位置以及在对工具的功能部件产生冲击后的目标速度给出。 BN还可以与其他形式的数据一起使用,例如语音输入,以使其效果发挥作用[72]。 从观察人类行为中学到的知识,BN可以代替描述对象作用效应,而是描述特定对象对之间对象-对象交互的可能性[73]。 这些能力模型在改善活动识别和对象分类以及教机器人使用配对对象执行任务方面特别有用。
关于马尔可夫网络,除了贝叶斯网络固有地表示的因果关系外,研究人员可以专注于学习概念之间的依存关系,这对从演示中学习很有用,并确定未来的行为或活动情况,这对于机器人的学习特别有用。 新概念或与现场其他人员进行安全协调。 作为使用MN进行活动识别的一个示例,Kjellstom等人[75,74]使用CRF来执行手操作的对象分类和动作识别。 他们对对象和操作同时进行分类的原因来自:1)对象的观点顺序和手的遮挡指示了发生的动作的类型,以及2)对象的特征暗示了将手塑造为的方式 抓住它。他们使用阶乘条件随机场(FCRF)[76]来映射对象特征和可能的动作类型之间的这种双向关系(如图11所示)。 FCRF具有映射的优势数据级别(观察到的特征)和标签级别(对象类型和属性以及它们与动作的关联性)之间的关系,从而有效地捕获了手和对象建议的承受能力。在[77]中采用了类似的方法,使用CRF基于物体及其与场景中手的接近程度来识别活动。在进行这项工作之前,在[78]中,使用文本描述来描述这种关联,它们表示为功能对象字符串描述符,其性能远好于使用纯基于外观的描述符来识别相似的事件或活动。使用CRF表示对象之间的时空关系(以功能类表示)比其以前使用字符串内核执行活动识别的方法有所改进。
Koppula等人[79]完成了活动向对象的时空表示的另一个例子,他们使用MRF描述了场景中活动与对象之间的关系。 通过将视频分段到获得子活动事件的程度,他们可以提取MRF,其中MRF带有代表对象和对象的子活动,并且在其边缘观察到代表:1)负担-子活动关系(即对象的承受能力取决于它所涉及的子活动),2)负担-负担关系(即,一个人可以根据周围物体的承受能力来推断单个对象的负担),3)随 时间(即组成单个活动的子活动的流),以及4)供应量随时间变化(即对象提供物可以随它们所涉及的子活动而随时间变化)。他们提出使用此模型的目的是识别在为其康奈尔活动数据集(CDA)收集的视频中发生的全身活动。 继[79]之后,他们研究了如何使用CRF预测或预测人类行为,以确保机器人在[80]中安全地做出反应。 可以在确定特定动作类型的对象承受能力之后,建立一个称为预期时间CRF(ATCRF)的特殊CRF,它可以有效地描述随着时间的流逝可能发生的人类运动和子活动的所有可能轨迹。
使用一阶逻辑语句可以有效地进行推理和推理。 MLN利用这些逻辑表达式有效地表示了机器人世界的系统编码。 可以将MLN视为知识库,因为这些逻辑语句可以用于根据机器人的观察和观察来推理和得出结论。 例如,关于使用能力的活动识别,Zhu等人[81]使用马尔可夫逻辑网络形式的知识库来推断活动中对象的能力,这是由视频中的演示者的姿势暗示的。 他们可以通过根据具有相对较高性能的人类示威者的姿势预测给定场景中发生的对象和动作来进行反演。只有在他们收集了有关这些可用对象和可得物的大量信息作为特征之后,才可以执行此操作,但是不需要为每个基于对象的任务训练多个分类器来识别通常可在其他机器上完成的每种可检测活动类型学习方法。诸如此类的MLN可以与其他组件一起用于活动识别,以预测人的意图并在人机协作环境中强制执行安全行为。由Vassev等人提出的KnowLang [82,83]是一种知识表示,是为认知机器人开发的,其中人工智能对世界的逻辑表达的力量与他们对世界的实际感知有关。它还将一阶逻辑与概率方法相结合,它们可用于为机器人定义显式知识。但是,在做出不确定性所在的某些决策时,通过使用贝叶斯网络进行统计推理可以使基于信念的推理过程更加可靠。经验可以通过概率反映出来,并且这种分布可能会根据机器人的见解或行为而发生变化。
3.2 语义图
图形非常简单地表示信息,因为我们可以以图形形式显示知识,人类可以直观地对其进行解释和验证。如前所述,概率模型也可以用图形表示,并成为出色的推理工具。在概率图形模型中,边缘将描述某些变量作为节点导致其他变量发生的可能性。但是,在本节中,我们将引用称为语义图的图的另一个子集,其节点和边描述了语义概念和实体之间的细节,如在演示中观察到的那样。例如,空间概念可以用语义图来描述,其中节点可以描述场景中的对象,边缘可以根据位置描述对象之间的共性或上下文关系(一个对象可以容纳另一个对象,一个对象可以位于对象之上。另一个对象,等等);这样的示例如图12所示。某些图形还体现了时间关系,其中两个或多个特定事件与时间相关(例如,一个事件必须先于另一个事件发生)。基本上,这些网络可用于压缩细节并捕获机器人所需的关系。
3.2.1 图形的活动识别和推断
机器人学习的主要问题之一是学习识别活动,以促进知识向机器人系统的转移。活动识别和理解的主要组成部分是预测正在进行的活动或动作,如视频演示所示。知识提取主要通过处理基于活动的视频和图像,或者通过解释来自机器人或人类示威者演示的传感器数据来完成。诸如光流之类的技术也可以用于识别运动模式,然后识别运动类型或图元。这些元素可以用作推断的上下文线索。先前的工作重点是通过使用此类视频的主要部分来了解正在发生的活动,以识别可能隐含的活动和结果[84、85、86],特别是用于预测将要发生的下一个动作采取一系列行动[87]。语义图已用于基于视觉线索和时空相关性基于对象如何相互使用来表示能力。
分割技术可以应用于图像,以识别演示中使用的对象。 这些分段的“补丁”可用于标记语义图中的节点(例如图12)。 例如,Aksoy等人[88,89]在分割后创建了这些语义图。 他们的重点是理解环境中物体和手之间的关系,并概括表示活动的图形和确定这些事件的未来实例。 这种方法可以归为无监督学习,因为没有明确指示对象是什么。 相反,对象仅基于矩阵中的操作进行编码,它们称为语义事件链(SEC)。 这些结构捕获了段关系(时间信息)中的转换,然后通过除去活动中的任何冗余来将其概括化,以用于识别类似事件。他们将对象的空间关系描述为在每个矩阵项中非接触,重叠,接触或不存在,以及连接图像段的边缘。Sridhar等人[90]还使用分割将场景分离为“斑点”(类似于[88,89]中的补丁程序,根据对象在视频中的使用情况,将它们聚类为语义图,以进行可负担性检测。它们的语义图称为活动图,描述空间(在对象中是否断开对象)的结构。单个视频中的周围区域(或触摸)和时间(与情节事件的相对性)之间的关系,使用此类图表,即使对象实例,方向,手的位置和轨迹发生变化,也可以测量活动之间的相似性。 [91]专注于对工具及其用于创建时空分析图的对象进行分段,在这些图中,它们捕获了演示者所采取的姿势,观察到的抓握工具的作用点,提供动作的工具功能区域,运动轨迹以及控制动作的物理属性(例如力,压力或速度)。然后,这些图可用于根据先前的演示来推断如何使用对象。
3.2.2 表示任务的技能或事件的顺序
语义图也可以以技能的形式用于任务执行,其中包含可以由机器人用于操纵的知识。 在这些结构中,节点代表对象和动作类型。 一些研究人员已经采取了一些方法来学习对象的承受能力并以此方式表示它们。 如前所述,此类图的显着示例包括[7、8]和[14、15],后者受Petri Networks(或简称Petri Nets)的启发[17]。 Petri Nets最初旨在说明化学反应,并且已显示它们可应用于其他领域,例如机器人技术和组装。 Petri网是具有两种类型的节点的网络:放置节点和过渡节点。 放置节点表示对象或实体的状态,过渡节点表示导致状态更改的事件或动作。 关于Petri网的状态更改术语是过渡的触发。通常,必须存在所有位置节点才能转换为开火,因此必须强制执行动作和行为的隐式排序。 Costelha等人[92,93]使用Petri网来表示机器人任务,而不是使用诸如有限状态自动机(FSA)之类的其他方法,这些方法需要更多的内存和更大的表示空间,并且仅限于单机器人系统。 另一方面,Petri Nets可以表示并发系统操作和资源共享。 事件的隐式排序使他们能够过滤出永远不会发生或应避免的特定计划。 他们创建了Petri Net计划(PNP),该计划本质上是普通动作和使用控制操作员感知动作的组合。
与上下文无关的语法相似的是对象动作复合物(OAC,发音为“ oak”)[94、95、96、97]。此表示的目的是以一种正式的结构捕获环境状态的变化,该结构可用于任务执行。 OAC将高级规划和对世界的表示与称为实例化状态转换片段(ISTF)的低级机器人控制机制结合在一起。 ISTF可以看作是较低级的细微结构,可以像无上下文语法一样放在一起,以具体了解执行运动程序(即动作)前后动作的效果;在学习了各种ISTF之后可以创建OAC。 ISTF被概括为只包含与动作元组有关的对象状态更改(通过[98]中描述的方法进行标识),因为ISTF可以包含可能受特定动作影响或不受影响的对象状态。给定一组学习到的对象能力和关系,可以将关联网络用于编码和检索从某个OAC排列将发生的状态更改。
迄今为止,其他方法还试图将高级操作技能映射到图形结构。 Konidaris等人[99]没有把重点放在操纵上,而是选择了不同的轨迹作为技能。 这些研究人员介绍了一种用于从演示中学习技能的算法,该算法主要侧重于任务的运动轨迹,称为CST(用于构建技能树)。 可以使用更改点检测来分解运动轨迹,这些较小的轨迹分量称为技能。 变化点检测的目的是找到轨迹上有明显或可观察到的变化的点。 在将轨迹成功地划分为技能之后,可以通过将技能附加到一项可执行的技能中,将这些学习到的技能合并为技能树,以进行潜在的新颖操作。
3.2.3 结合语义图和物理图
语义图也可以采用语义地图的形式,语义地图是将空间或几何细节(例如空间的形态,对象的位置和方向,作为模型的对象的几何以及特殊兴趣点的任何位置)进行语义描述(例如对象的用途)。 这些空间特征可以从SLAM模块获取,包括诸如传感器读数或特征,方向以及物体或地标的绝对或相对位置之类的属性; 通过SLAM,机器人可以获取环境地图,该地图使用上下文信息来特别突出显示位于其中的不同对象或兴趣点的实例,并识别它们的位置。 语义图也已用于通过使用有关对象[102、103]的几何特征来识别抓地力。Galindo等人[104]提出了一个如何创建语义图的示例,该示例整合了因果知识(动作如何影响机器人环境的状态)和世界知识(机器人对周围物体,物体的属性以及它们之间的关系),使用两个级别的信息:空间框(S-Box)和术语框(T-Box);它们在传感器级别标记对象的物理位置,并使用S-Box记录房间中的可用空间,而这些对象的先天属性则通过本体与T-Box链接在一起。语义对象图(SOM)[100,101]还具有类似的目的,即将几何数据与语义数据结合起来以回答查询以确定在给定环境中当前情况下是否可以执行某个动作。例如,如图13所示,如果环境中存在某些厨房特有的物品,例如火炉或冰箱,则可以将Room实例推断为厨房。关于通过人机交互创建语义图的工作,例如[105] [106]和[107]旨在开发HRI系统,以向机器人传递有关其周围环境的知识:围绕它的内容以及与这些元素相关的概念知识。两种系统都使用音频与机器人进行交互。除了这种语音识别系统外,[107]还结合了有形的用户界面和视觉系统以及机器人的运动计划和地图绘制模块,以编译和创建知识库,然后该机器人就可以在其环境中进行导航。
3.3 上下文无关文法
上下文无关文法也是构造或表示语义图或结构的有效方法,因为它们可以保证完整性,效率和正确性。无上下文语法定义了规则,该规则使用在称为字母的有限集合内定义的自己的符号(称为终端),将语义结构和子结构创建为字符串。 在替换称为非终端的变量符号时,可以使用这些终端符号。替换过程由生产规则描述,该规则允许我们生成句子。通过对上下文无关语法的这种正式定义,研究人员已经能够定义描述诸如操作/动作类型之类的概念的规则,这些规则随后可用于定义机器人可用于执行的计划以及将技能组合为机器人的能力。子技能。 Yang等人提出了一个这样的无上下文语法示例。 [12,11,13,108],他研究了如何通过语法表示活动中的操作,然后将其分解为视觉语义图。这些演示树(如图14所示)是从演示中构建的,然后可以用于形成操纵动作树库。高级表示用作操作的符号表示,这些操作描述解决给定问题所需的每个步骤。在另一种也使用上下文无关文法(CFG)的方法中,Dantam等[109,110]还使用它们自己的表示为运动语法(MG)的表示法来制定了机器人原语和控制策略。 可以构造一个解析树来反映正在执行的过程,并且可以通过运动解析器将其分解以创建子任务,直到满足它们为止,类似于Yang等人的介绍。 在他们的工作中进行的实验表明,机器人可以有效地执行与游戏相关的操作,同时为人类玩耍提供一个安全的环境。 即使没有讨论如何将其用于服务机器人操作(例如家庭或工业任务),MG的使用也可以确保对机器人任务进行安全,实时的控制。
4. 模型级表示
机器学习算法的目的是找到一个合适的模型或函数来区分类别或预测效果或标签。除了本节中讨论的那些技术外,诸如神经网络和概率图形方法之类的技术都可以被视为机器学习算法。尽管我们之前已经讨论了其中的一些模型,但它们是在学习高级规则或概念之间的相互关系(例如对象-作用-效果关系)的背景下使用的。它们同样适合与其他机器学习方法一起使用,以学习不足以显式表示知识和执行推理任务的低级概念。但是,应用分类器时,它们可以隐式表示描述机器人任务所需类的规则。因此,这种学习模型可以在执行专门任务(例如图像理解,分割和处理)时补充知识表示,从而进一步指导机器人的未来动作。
4.1 经典机器学习技术
强化和模仿学习的主要成功可以归因于机器学习方法[112、113、114、115],证明它们对于以自下而上的方式训练机器人很有用。 就像我们之前在其他模型(例如概率模型)中提到的那样,模仿学习旨在向机器人讲授可以逐步学习并用于任务计划的技能。 在这方面,已经使用机器学习算法来学习新的运动原语或技能[116、117、98、118]或成功分类或预测对对象的动作结果[119] [120、121]。 像[98]和[118]这样的作品运用机器学习算法来学习如何根据物体的特征来抓取物体。在[119]中,研究人员旨在使用支持向量机(或SVM,一种模型,该模型可通过以高维表示数据并找到函数来区分类别,从而表示机器人运动对其环境中物体的影响)。 或最佳分离类实例的超平面),一旦经过训练,它可以用于预测对象状态的变化,该变化由执行动作(例如,对象会滚动还是响应拉动)时场景中的位移反映出来。 SVM在[120,121]中也用于基于对象的物理属性来了解对象效果(例如推入能力和堆叠能力)。为了更好地了解其动作的后果,他们对各种参数进行了调整,例如机械手的手速和触觉传感器。 对于支付能力检测的任务,[111]使用了两个分类器变体,即层次映射追踪(或HMP,类似于神经网络)和随机森林(决策树或类似分类器的集合),以识别图像中的像素热点。 提示与收费相关的特征的场景; 此任务的说明如图15所示。
4.2 深度学习的神经网络
大量研究利用了深度学习的有效方法以及将神经网络用于诸如手写字符识别[122,123]和图像处理与识别[124,125,126]之类的任务。深度学习技术的强大之处在于它具有“通用逼近器”的特性[127],在理论上,只要层数正确(意味着一个或多个隐藏层),它就可以学习任何模型或函数。深度神经网络代表一个特征检测器或分类器,可以由处理系统存储和重用这些特征检测器或分类器,以用于特定目的,例如识别能力,抓点,对象识别,实例分割等。通过使用预先训练的模型并将其与其他数据集进行微调,可以大大减少训练时间,因为网络将保留可扩展到其他领域的有价值的信息。例如,习惯上使用成熟的网络的预训练版本,例如VGG [125],ResNet [128]和GoogLeNet [129],它们都已成功地应用于标记图像的任务。在本文中,我们避免过于深入地研究这种机器学习技术,因此,我们将读者推荐给[130,131]以对深度学习和神经网络进行广泛的评论。
神经网络已被证明能够在机器人技术的监督学习和非监督学习中非常有效地学习。 作为知识表示的组成部分,这些模型可以被机器人用来处理各种选择之间的决策或争执,而这些选择或争执可能很难以明确的规则为基础。 他们特别有效的一项任务是掌握综合。 在[132]中,作者回顾了数据驱动的抓握综合的研究,在理想的或最佳抓握类型中选择了一组抓握样本。 使用神经网络(例如[133,134,135]中的神经网络)来推荐理想的点来抓取物体,甚至是以前从未见过的物体[136,40]。 除了机器人抓取之外,这些网络还对场景理解[137、138、139]有效,特别是在场景[140、141、142]中的可承受性检测方面。它们还被用于生成在环境中观察到的文本描述的文本描述[143],以实现机器人与人类之间的通信。 机器人周围物体的识别也可以参考基本规则,事实或信念。 由于深度学习在图像分割,对象识别和实例识别[125、144、145]方面表现出色,甚至在实时方面也非常出色[146],因此在活动识别中效果很好。 这样的网络可用于从演示中学习任务计划,以建立在机器人的知识库上[147,148]; 这些学到的计划可以用于预测未来的活动,以预测这些行动的后果和施加的力量[149]。 最后,神经网络可用于学习控制和动作的动力学/物理[150、151、152、153、154]。
4.3 总结
总而言之,这些工作中的许多工作都表明了机器学习算法如何在各种应用的分类中有效,例如检测对象的承受能力和掌握点。传统上,诸如SVM的算法已用于各种各样的任务,并且由于神经网络易于训练,现在已被深度学习网络所取代。神经网络对于将应用程序扩展到更简单的系统特别有用,并且事实证明,它们在图像处理任务中表现出色。我们可以使用训练有素的网络来帮助我们确定可用于编程方法或其他基于规则的分类器的关键功能。尽管它们在机器人技术界取得了巨大的成功并得到了越来越多的使用,但我们不应将它们视为解决所有问题的“灵丹妙药” [155]。由于它们隐含表示的内容背后缺乏明确的知识和含义,因此它们根本不能充当独立的知识表示形式;但是,它们对于指导机器人的决策过程非常有用。
5. 选择知识表示
以前,我们研究了已成功实施的几种不同方法,以解决构建完整而全面的知识表示形式所需的各种子问题。每种技术都有其自身的局限性和优势,应相应地相互使用以创建理想的知识表示。在本节中,我们将更加关注本文所讨论的工作中观察到的知识表示的关键特征。我们认为,以下要素(如图16所示)需要足够的知识表示:1)在理解的语义层面上表示任务计划的动作或技能。 2)感知系统,它集成了多个输入通道,例如视觉,触觉,自然语言,音频或传感器,以定位对象,工具或实体(人,动物等),以感知可观察到的状态以及可能的障碍物,并与其他机器人或人类进行交流; 3)感知或控制基于逻辑陈述,符号或值的基础,可用于通过逻辑推理连接概念和解决问题; 4)保留经验作为代表不确定性的信念,这可能会影响机器人在任务计划中考虑其他可能性,以及根据统计数据构建的人类或环境调整机器人的动作; 5)承诺重新获得新获得的知识和概念,以及学习新概念的能力; 6)(家庭)环境的适当定义和表示。不幸的是,由于这些组件通常是独立于其他组件构建的,因此其中大多数都不是本文讨论的几种表示形式的重点。 也许最接近这个想法的代表是通过openEASE [156]的KnowRob。 但是,这些系统仍需要大量工作才能使其在人类中可靠地工作。 在以下小节中,我们将讨论这些不同的想法以及它们为什么对服务机器人中使用的知识表示很重要。
5.1 组件#1:代表行动
知识表示也许是所有组件中最重要的组成部分,它赋予机器人的动作和环境以意义; 我们代表这些方面的方式对于建立有效的知识表示至关重要。 尤其是,我们应该关注机器人动作和动作背后的含义,以了解其动作的后果。 动作的表示,无论是将动作作为动作原语扎根,还是将动作表示为技能的组合,都可以用来表示对象状态之间转换背后的含义(或者相当简单地表示执行这些动作的结果)。 在推理和确定其目标时,机器人需要找到正确的动作以实现该目标。 将这些原语保存为技能也有助于重复使用,并且始终可以根据机器人的感知将它们调整为不同的参数。通过将活动或任务组织为运动/技能树,可以轻松地根据当前问题和机器人世界的当前状态来组合技能或基元。 无论是代表[99]中的轨迹还是代表个人技能[6、7、8],[94、95、96、97],[13],将它们联系在一起的想法是将多个单元组合在一起的能力 以适应眼前的问题。 使用诸如[12、11、13、108],[99]和[109、110]之类的组合表示也强调了用于任务计划的结构的灵活性和灵活性。
5.2 组成部分2:感知
对于任何智能代理来说,重要的组成部分就是感知,因为诸如机器人之类的代理需要获取输入以确定如何继续进行下一步操作。 例如,机器人将需要获取输入以确定它如何触发规则条件,例如图1。 本文第4节讨论的许多解决方案在处理输入以确定抓点,对象提供热点,对象识别和实例分割等方面都是有效的。其他经典计算机视觉技术也已用于通过以下方式处理输入 图片或视频来执行类似的任务。 知识表示还可以以诸如3D模型或点云之类的形式存储有用的对象描述符,这些描述符在(例如[42、43],[56、148]和[133、134、135]等作品中(隐式或显式)可用 ]。既然我们已经表明可以检测和处理所有形式的输入,那么我们应该专注于如何实时进行输入。 除此之外,还应该对用于感知的模型进行训练,以便通过针对给定机器人的相应家庭任务在更广泛的样本集上进行训练,从而尽可能地处理不确定性。 这使我们在选择合适的训练样本以给出要使用的几个概念的一般表示方法的另一点。 例如,机器学习模型的一个可能限制是过度拟合训练集的可能性,这导致模型对数据产生偏见,而不是学习对于分类真正重要的东西。
5.3 组件3:逻辑接地概念
作为AI的基本前提,知识表示允许使用逻辑语句和表达式进行推理,方法是使用显式知识进行推理以获取描述世界当前状态的隐式知识,然后该隐性知识反映出将要采取的下一个可能动作。 诸如MLN之类的结构(在[81]和[82,83]中使用)将逻辑规则与概率集成在一起。 但是,已经开发的许多学习模型都缺乏这样的概念基于明确陈述的基础。不这样做,定义动作的期望(例如机器人环境状态的变化)就成为挑战。 当忽略状态时,机器人很难确定它是否已成功完成动作[5],我们不能总是假定机器人会无故障地解决问题。 暗示行动和任务顺序的规则使行动模块化变得容易。 例如,在[14、15、16]中,状态明确反映在网络内的对象节点中,这些状态可用于指示机器人是否已成功执行了操作,同时还表示了其动作的优先级。概念的逻辑表述还可以帮助我们将人类理解的概念转化为“中层”知识,人类和机器人都可以理解。
5.4 构成部分4:概率与信念
实际上,代理程序不能完全依靠逻辑来理解其世界,因为预测建模并不总是给出简单的答案。 通过使用信念,机器人可以从统计角度做出关于其未来动作的决策。 例如,几个分类器无法给出关于其识别内容的100%准确答案,因此分配了权重以对提供给机器人的内容进行最佳猜测。 另一个例子是机器人的传感器:与生俱来的是,传感器从其从周围收集的输入中捕获噪声。 机器人应该通过测量来利用其信念或估计,因为它并不总是对自己的世界有完全正确的了解。 概率的使用还可以通过前面几节中讨论的概率模型进行强推论。信念也可以更新,以便对机器人周围的事物做出更强的推论,从而做出更明智的决策。例如,通过使用有关对象能力的信息,机器人可以为特定工作选择正确的工具;可以使用学习的分类器(例如[140、141、142、111])完成对这些工具的识别。关于先前讨论的工作,概率和统计推理方法已用于了解其行为如何影响其环境。利用机器人对周围环境的信念,通过逻辑和统计推理来利用显性知识,这将使其做出最佳决策。例如,在SLAM的任务中,位置估计以及对其信念和位置的更新的联合任务对于机器人以尽可能小的误差进行环境导航至关重要。权重还可以帮助机器人系统在多个动作过程之间做出决定,从而减少任务失败的可能性。
5.5 组成部分5:从经验中学习
要引导机器人执行其职责,保留从解决问题(或未能解决问题)的先前经验中学到的知识是有益的。 这是openEASE,RoboEarth和KnowRob等知识表示形式所包含的关键优势,其中机器人可以记录有关在分布式系统上执行的操作的详细信息。 然后,其他尝试执行相同操作的机器人可以访问这些先前的经验,以使其动作适应问题。 诸如轨迹之类的细节可以帮助引导当前的机器人遵循类似的模式。 更具体地说,在2.3节的KnowRob表示中,平台的关键方面之一是记录执行特定任务或操作的经验。 就像他们在[51]中的最新工作一样,他们演示了一个机器人如何利用从另一个机器人打开冰箱的经验来执行相同的任务;但是,由于目标物体及其周围环境的差异,无法完全使用从前一个机器人学到的精确轨迹。 因此,它不仅是模仿以前的机器人所做的事情,而且还可以改进运动以更好地适应当前的问题。 除了第2.1节中的其他内容外,作为将来任务计划的替代方案的另一个示例,FOON表示法来自多次演示,有可能创建新颖的操作序列。 这是通过将每个演示的子图合并到一个通用FOON中来完成的。 使用机器学习模型,训练这些模型的总体思路是使它们适应于准确地预测将来的实例。 例如,概率模型已用于预测动作对对象的影响,无论是物理上还是语义上。 因此,理想的表现形式应保留经验,以指导机器人的动作。
5.6 组件#6:描述性问题陈述
最后,创建理想的知识表示形式的主要困难是无法定义足够精确的机器人世界来解决所有可能的问题。如前所述,逻辑表达式对于使因果规则扎根很有用,而概率表达式则可以帮助使用信念回答歧义。但是,以这种方式在不同的结构和数据库中生动地描绘机器人世界的画面确实不是一件容易的事。对问题的明确定义将有助于识别机器人操作和学习中我们已经做得很好的领域,以及还有很长的路要走的领域。例如,通过明确定义或限制机器人在其中运行的环境,我们可以构建即使在可变性下也能正常运行的工具或模型。在[157]中通过开放集识别[158,159,155]的概念提到了构建更鲁棒的分类器的想法,其中重新定义分类以解决对已知正类的鲁棒检测,同时拒绝已知和未知否定类。因此,对于特定动作而言,机器人需要识别的内容与不涉及机器人的内容的表述非常重要。
5.7 最终分析
考虑到我们牢记前面提到的组件,我们可以为机器人开发更有效的表示形式。 作为研究人员,重要的是要考虑如何开发一种能够了解其环境和自身行为以诱导更智能行为的机器人。 机器人可以通过正确设计的知识表示,而不是通过“硬编码”方式对机器人进行编程来将其限制在单个环境中,而是可以在受过训练的相同环境中工作(例如,一个受过训练可以在厨房工作的机器人可以识别厨房的外观以及在厨房中期望找到的东西) 。人类可以映射自己的命令并使用该术语进行理解,因为我们不了解机器学习算法中使用的低级表示形式或颜色值,深度等数字所代表的世界。 与AI一样,机器人将能够智能地收集新知识,并根据其经验(或其他机器人的经验)做出自己的决定和行动。 机器人问题解决中的几个子任务可以依靠机器学习模型或工具来得出解决方案,我们认为这些工具应与其他工具充分结合使用。但是,派生出充满意义的表示仍然很重要,因为知识的隐式表示会导致不可预测的结果,并且机器学习模型不是机器人中智能行为的解决方案。 一个持续存在的问题是表示和本体标准的发展[160],确定独立知识表示的开发中的共同目标很重要。 最终,这将为机器人技术的未来带来可喜的发展,以集成多个平台并通过通用语言,界面和/或网络维持机器人之间的跨体系结构通信和协作。此外,我们建议研究人员更多地关注可通过数据库或云系统远程构建和访问的表示形式,以使机器人学习变得更轻松,同时减少对机器人车载系统的压力,从而促进在实时场景中的工作,例如RoboEarth和openEASE。 复制动作或序列的能力以及将经验保留为记忆的能力将使训练机器人更加高效且耗时更少,因为我们不必从头开始学习任务或技能。
6. 结束语
总而言之,本文概述了用于服务机器人的机器人学习和表示中的技术和研究。 为了适当地定义知识表示,将表示与学习区分开是很重要的。 例如,机器学习模型不足以单独表示,最好将其称为专业学习模型或分类器。 但是,这种模式的有效性不容忽视。 相反,我们应该强调将多个组件与高级知识结合在一起,以使机器人完全具备了解其环境和执行有意义任务的动作的手段。 重要的是要注意,本文并未讨论表示和检索算法的效率,而是针对有效知识表示,以充分发挥机器人的潜力,探讨了有效知识表示背后的原理。理想情况下,知识表示应包含机器人解决问题和理解其环境以有效解决问题所需的所有必要信息。 它应该允许机器人成功执行多种动作,例如感知/视觉,知识获取,动作和任务计划以及推理。 然而,由于家庭环境和家庭的高度可变性以及人类之间安全操作的问题,建立合适的综合知识表示形式成为非常具有挑战性和复杂性的问题。 为了建立合适的知识表示,我们应该努力将这个较大的问题分解为较小的问题集; 我们应该利用许多模型来解决机器人通常在操纵问题中会遇到的几个子问题。为了进一步提高知识表示的有效性,研究人员可以利用大规模的分布式系统和网络来共享知识和经验,这将有助于教机器人如何从头开始执行某些任务,而无需重新编程或重建解决方案。 这些分布式表示(例如第2.3节中讨论的表示)可以通过云或Internet托管和构建。 尽管具有挑战性和雄心勃勃,但用于机器人的云计算界面可以极大地推动机器人技术的发展。 本文最重要的结论是,始终需要由研究人员在服务机器人领域开发和采用标准,以便在人类中部署安全高效的机器人。