首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

技术分享|服务机器人技术中的知识表示研究(二)

- 正文开始 -

摘要

在服务机器人技术领域,研究人员已投入大量精力进行学习、理解和将动作表示为机器人执行任务的操作。机器人学习和解决问题的任务非常广泛,因为它集成了各种任务,例如对象检测,活动识别,任务/运动计划,本地化,知识表示和检索,以及感知/视觉和机器学习的交织技术。在本文中,我们仅专注于知识表示,特别是过去几十年来研究人员所做的通常如何收集,表示和复制知识以解决问题的方法。根据知识表示的定义,我们讨论了这些表示与近年来广泛引入和研究的有用学习模型之间的关键区别,例如机器学习,深度学习,概率建模和语义图形结构。除了此类工具的概述之外,我们还讨论了机器人学习中存在的问题以及如何构建它们并将其用作有助于解决这些问题的解决方案,技术或开发(如果有)。最后,我们讨论了设计有效的知识表示时应考虑的关键原则。

Part 4 模型级表示

机器学习算法的目的是找到一个合适的模型或函数来区分类别或预测效果或标签。除了本节中讨论的那些技术外,诸如神经网络和概率图形方法之类的技术都可以被视为机器学习算法。尽管我们之前已经讨论了其中的一些模型,但它们是在学习高级规则或概念之间的相互关系(例如对象-作用-效果关系)的背景下使用的。它们同样适合与其他机器学习方法一起使用,以学习不足以显式表示知识和执行推理任务的低级概念。但是,应用分类器时,它们可以隐式表示描述机器人任务所需类的规则。因此,这种学习模型可以在执行专门任务(例如图像理解,分割和处理)时补充知识表示,从而进一步指导机器人的未来动作。

/  经典机器学习技术 /

强化和模仿学习的主要成功可以归因于机器学习方法[112、113、114、115],证明它们对于以自下而上的方式训练机器人很有用。就像我们之前在其他模型(例如概率模型)中提到的那样,模仿学习旨在向机器人讲授可以逐步学习并用于任务计划的技能。在这方面,已经使用机器学习算法来学习新的运动原语或技能[116、117、98、118]或成功分类或预测对对象的动作结果[119] [120、121]。像[98]和[118]这样的作品运用机器学习算法来学习如何根据物体的特征来抓取物体。在[119]中,研究人员旨在使用支持向量机(或SVM,一种模型,该模型可通过以高维表示数据并找到函数来区分类别,从而表示机器人运动对其环境中物体的影响)。或最佳分离类实例的超平面),一旦经过训练,它可以用于预测对象状态的变化,该变化由执行动作(例如,对象会滚动还是响应拉动)时场景中的位移反映出来。SVM在[120,121]中也用于基于对象的物理属性来了解对象效果(例如推入能力和堆叠能力)。为了更好地了解其动作的后果,他们对各种参数进行了调整,例如机械手的手速和触觉传感器。对于支付能力检测的任务,[111]使用了两个分类器变体,即层次映射追踪(或HMP,类似于神经网络)和随机森林(决策树或类似分类器的集合),以识别图像中的像素热点。提示与收费相关的特征的场景;此任务的说明如图15所示。

图15:Myers等人所做的基于收费的像素热点检测示例。[111]。在他们的项目中,他们可以查看场景,并通过突出显示提供特定操作或目的的工具来识别机器人可以使用在那里发现的对象执行的操作类型。机器人可以使用它来进一步决定其动作。

/ 深度学习的神经网络 /

大量研究利用了深度学习的有效方法以及将神经网络用于诸如手写字符识别[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]。

/ 总结 /

总而言之,这些工作中的许多工作都表明了机器学习算法如何在各种应用的分类中有效,例如检测对象的承受能力和掌握点。传统上,诸如SVM的算法已用于各种各样的任务,并且由于神经网络易于训练,现在已被深度学习网络所取代。神经网络对于将应用程序扩展到更简单的系统特别有用,并且事实证明,它们在图像处理任务中表现出色。我们可以使用训练有素的网络来帮助我们确定可用于编程方法或其他基于规则的分类器的关键功能。尽管它们在机器人技术界取得了巨大的成功并得到了越来越多的使用,但我们不应将它们视为解决所有问题的“灵丹妙药” [155]。由于它们隐含表示的内容背后缺乏明确的知识和含义,因此它们根本不能充当独立的知识表示形式;但是,它们对于指导机器人的决策过程非常有用。

Part 5 选择知识表示

以前,我们研究了已成功实施的几种不同方法,以解决构建完整而全面的知识表示形式所需的各种子问题。每种技术都有其自身的局限性和优势,应相应地相互使用以创建理想的知识表示。在本节中,我们将更加关注本文所讨论的工作中观察到的知识表示的关键特征。我们认为,以下要素(如图16所示)需要足够的知识表示:1)在理解的语义层面上表示任务计划的动作或技能。2)感知系统,它集成了多个输入通道,例如视觉,触觉,自然语言,音频或传感器,以定位对象,工具或实体(人,动物等),以感知可观察到的状态以及可能的障碍物,并与其他机器人或人类进行交流;3)感知或控制基于逻辑陈述,符号或值的基础,可用于通过逻辑推理连接概念和解决问题;4)保留经验作为代表不确定性的信念,这可能会影响机器人在任务计划中考虑其他可能性,以及根据统计数据构建的人类或环境调整机器人的动作;5)承诺重新获得新获得的知识和概念,以及学习新概念的能力;6)(家庭)环境的适当定义和表示。不幸的是,由于这些组件通常是独立于其他组件构建的,因此其中大多数都不是本文讨论的几种表示形式的重点。也许最接近这个想法的代表是通过openEASE [156]的KnowRob。但是,这些系统仍需要大量工作才能使其在人类中可靠地工作。在以下小节中,我们将讨论这些不同的想法以及它们为什么对服务机器人中使用的知识表示很重要。

图16:第5节概述。在设计或选择知识表示形式时,研究人员应尽可能考虑这些概念。但是,这是一个非常具有挑战性的问题,因为没有根本的方法可以将这些组件集成到一个表示中。

/ 组件#1:代表行动 /

知识表示也许是所有组件中最重要的组成部分,它赋予机器人的动作和环境以意义;我们代表这些方面的方式对于建立有效的知识表示至关重要。尤其是,我们应该关注机器人动作和动作背后的含义,以了解其动作的后果。动作的表示,无论是将动作作为动作原语扎根,还是将动作表示为技能的组合,都可以用来表示对象状态之间转换背后的含义(或者相当简单地表示执行这些动作的结果)。在推理和确定其目标时,机器人需要找到正确的动作以实现该目标。将这些原语保存为技能也有助于重复使用,并且始终可以根据机器人的感知将它们调整为不同的参数。通过将活动或任务组织为运动/技能树,可以轻松地根据当前问题和机器人世界的当前状态来组合技能或基元。无论是代表[99]中的轨迹还是代表个人技能[6、7、8],[94、95、96、97],[13],将它们联系在一起的想法是将多个单元组合在一起的能力 以适应眼前的问题。使用诸如[12、11、13、108],[99]和[109、110]之类的组合表示也强调了用于任务计划的结构的灵活性和灵活性。

/ 组件# 2:感知 /

对于任何智能代理来说,重要的组成部分就是感知,因为诸如机器人之类的代理需要获取输入以确定如何继续进行下一步操作。例如,机器人将需要获取输入以确定它如何触发规则条件,例如图1。本文第4节讨论的许多解决方案在处理输入以确定抓点,对象提供热点,对象识别和实例分割等方面都是有效的。其他经典计算机视觉技术也已用于通过以下方式处理输入 图片或视频来执行类似的任务。知识表示还可以以诸如3D模型或点云之类的形式存储有用的对象描述符,这些描述符在(例如[42、43],[56、148]和[133、134、135]等作品中(隐式或显式)可用 ]。既然我们已经表明可以检测和处理所有形式的输入,那么我们应该专注于如何实时进行输入。除此之外,还应该对用于感知的模型进行训练,以便通过针对给定机器人的相应家庭任务在更广泛的样本集上进行训练,从而尽可能地处理不确定性。这使我们在选择合适的训练样本以给出要使用的几个概念的一般表示方法的另一点。例如,机器学习模型的一个可能限制是过度拟合训练集的可能性,这导致模型对数据产生偏见,而不是学习对于分类真正重要的东西。

/ 组件# 3:逻辑接地概念 /

作为AI的基本前提,知识表示允许使用逻辑语句和表达式进行推理,方法是使用显式知识进行推理以获取描述世界当前状态的隐式知识,然后该隐性知识反映出将要采取的下一个可能动作。诸如MLN之类的结构(在[81]和[82,83]中使用)将逻辑规则与概率集成在一起。但是,已经开发的许多学习模型都缺乏这样的概念基于明确陈述的基础。不这样做,定义动作的期望(例如机器人环境状态的变化)就成为挑战。当忽略状态时,机器人很难确定它是否已成功完成动作[5],我们不能总是假定机器人会无故障地解决问题。暗示行动和任务顺序的规则使行动模块化变得容易。例如,在[14、15、16]中,状态明确反映在网络内的对象节点中,这些状态可用于指示机器人是否已成功执行了操作,同时还表示了其动作的优先级。概念的逻辑表述还可以帮助我们将人类理解的概念转化为“中层”知识,人类和机器人都可以理解。

/ 组件# 4:概率与信念 /

实际上,代理程序不能完全依靠逻辑来理解其世界,因为预测建模并不总是给出简单的答案。通过使用信念,机器人可以从统计角度做出关于其未来动作的决策。例如,几个分类器无法给出关于其识别内容的100%准确答案,因此分配了权重以对提供给机器人的内容进行最佳猜测。另一个例子是机器人的传感器:与生俱来的是,传感器从其从周围收集的输入中捕获噪声。机器人应该通过测量来利用其信念或估计,因为它并不总是对自己的世界有完全正确的了解。概率的使用还可以通过前面几节中讨论的概率模型进行强推论。信念也可以更新,以便对机器人周围的事物做出更强的推论,从而做出更明智的决策。例如,通过使用有关对象能力的信息,机器人可以为特定工作选择正确的工具;可以使用学习的分类器(例如[140、141、142、111])完成对这些工具的识别。关于先前讨论的工作,概率和统计推理方法已用于了解其行为如何影响其环境。利用机器人对周围环境的信念,通过逻辑和统计推理来利用显性知识,这将使其做出最佳决策。例如,在SLAM的任务中,位置估计以及对其信念和位置的更新的联合任务对于机器人以尽可能小的误差进行环境导航至关重要。权重还可以帮助机器人系统在多个动作过程之间做出决定,从而减少任务失败的可能性。

/ 组件# 5:从经验中学习 /

要引导机器人执行其职责,保留从解决问题(或未能解决问题)的先前经验中学到的知识是有益的。这是openEASE,RoboEarth和KnowRob等知识表示形式所包含的关键优势,其中机器人可以记录有关在分布式系统上执行的操作的详细信息。然后,其他尝试执行相同操作的机器人可以访问这些先前的经验,以使其动作适应问题。诸如轨迹之类的细节可以帮助引导当前的机器人遵循类似的模式。更具体地说,在2.3节的KnowRob表示中,平台的关键方面之一是记录执行特定任务或操作的经验。就像他们在[51]中的最新工作一样,他们演示了一个机器人如何利用从另一个机器人打开冰箱的经验来执行相同的任务;但是,由于目标物体及其周围环境的差异,无法完全使用从前一个机器人学到的精确轨迹。因此,它不仅是模仿以前的机器人所做的事情,而且还可以改进运动以更好地适应当前的问题。除了第2.1节中的其他内容外,作为将来任务计划的替代方案的另一个示例,FOON表示法来自多次演示,有可能创建新颖的操作序列。这是通过将每个演示的子图合并到一个通用FOON中来完成的。使用机器学习模型,训练这些模型的总体思路是使它们适应于准确地预测将来的实例。例如,概率模型已用于预测动作对对象的影响,无论是物理上还是语义上。因此,理想的表现形式应保留经验,以指导机器人的动作。

/ 组件#6:描述性问题陈述 /

最后,创建理想的知识表示形式的主要困难是无法定义足够精确的机器人世界来解决所有可能的问题。如前所述,逻辑表达式对于使因果规则扎根很有用,而概率表达式则可以帮助使用信念回答歧义。但是,以这种方式在不同的结构和数据库中生动地描绘机器人世界的画面确实不是一件容易的事。对问题的明确定义将有助于识别机器人操作和学习中我们已经做得很好的领域,以及还有很长的路要走的领域。例如,通过明确定义或限制机器人在其中运行的环境,我们可以构建即使在可变性下也能正常运行的工具或模型。在[157]中通过开放集识别[158,159,155]的概念提到了构建更鲁棒的分类器的想法,其中重新定义分类以解决对已知正类的鲁棒检测,同时拒绝已知和未知否定类。因此,对于特定动作而言,机器人需要识别的内容与不涉及机器人的内容的表述非常重要。

/ 最终分析 /

考虑到我们牢记前面提到的组件,我们可以为机器人开发更有效的表示形式。作为研究人员,重要的是要考虑如何开发一种能够了解其环境和自身行为以诱导更智能行为的机器人。机器人可以通过正确设计的知识表示,而不是通过“硬编码”方式对机器人进行编程来将其限制在单个环境中,而是可以在受过训练的相同环境中工作(例如,一个受过训练可以在厨房工作的机器人可以识别厨房的外观以及在厨房中期望找到的东西) 。人类可以映射自己的命令并使用该术语进行理解,因为我们不了解机器学习算法中使用的低级表示形式或颜色值,深度等数字所代表的世界。与AI一样,机器人将能够智能地收集新知识,并根据其经验(或其他机器人的经验)做出自己的决定和行动。机器人问题解决中的几个子任务可以依靠机器学习模型或工具来得出解决方案,我们认为这些工具应与其他工具充分结合使用。但是,派生出充满意义的表示仍然很重要,因为知识的隐式表示会导致不可预测的结果,并且机器学习模型不是机器人中智能行为的解决方案。一个持续存在的问题是表示和本体标准的发展[160],确定独立知识表示的开发中的共同目标很重要。最终,这将为机器人技术的未来带来可喜的发展,以集成多个平台并通过通用语言,界面和/或网络维持机器人之间的跨体系结构通信和协作。此外,我们建议研究人员更多地关注可通过数据库或云系统远程构建和访问的表示形式,以使机器人学习变得更轻松,同时减少对机器人车载系统的压力,从而促进在实时场景中的工作,例如RoboEarth和openEASE。复制动作或序列的能力以及将经验保留为记忆的能力将使训练机器人更加高效且耗时更少,因为我们不必从头开始学习任务或技能。

Part 6 总结

总而言之,本文概述了用于服务机器人的机器人学习和表示中的技术和研究。为了适当地定义知识表示,将表示与学习区分开是很重要的。例如,机器学习模型不足以单独表示,最好将其称为专业学习模型或分类器。但是,这种模式的有效性不容忽视。相反,我们应该强调将多个组件与高级知识结合在一起,以使机器人完全具备了解其环境和执行有意义任务的动作的手段。

重要的是要注意,本文并未讨论表示和检索算法的效率,而是针对有效知识表示,以充分发挥机器人的潜力,探讨了有效知识表示背后的原理。

理想情况下,知识表示应包含机器人解决问题和理解其环境以有效解决问题所需的所有必要信息。它应该允许机器人成功执行多种动作,例如感知/视觉,知识获取,动作和任务计划以及推理。然而,由于家庭环境和家庭的高度可变性以及人类之间安全操作的问题,建立合适的综合知识表示形式成为非常具有挑战性和复杂性的问题。为了建立合适的知识表示,我们应该努力将这个较大的问题分解为较小的问题集;我们应该利用许多模型来解决机器人通常在操纵问题中会遇到的几个子问题。

为了进一步提高知识表示的有效性,研究人员可以利用大规模的分布式系统和网络来共享知识和经验,这将有助于教机器人如何从头开始执行某些任务,而无需重新编程或重建解决方案。这些分布式表示(例如第2.3节中讨论的表示)可以通过云或Internet托管和构建。尽管具有挑战性和雄心勃勃,但用于机器人的云计算界面可以极大地推动机器人技术的发展。本文最重要的结论是,始终需要由研究人员在服务机器人领域开发和采用标准,以便在人类中部署安全高效的机器人

欢迎有做相似方向的同学相互学习交流及分享。

本文部分图片和文字来自公开文献

如有使用不当之处请私信告知

- END -

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210111A0C78P00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券