模型训练方法、机器人控制方法、装置、设备及介质
文献发布时间:2024-04-18 19:58:30
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种模型训练方法、机器人控制方法、装置、设备及介质。
背景技术
随着计算机技术的发展,机器人的应用越来越广泛。在实际应用中,多个机器人位于同一区域,通常会需要多个机器人配合来实现某个任务,例如,多个机器人能够依次传递某个物体,将物体搬运到某个地方。在调度多个机器人时,通常是利用动作生成模型来生成机器人待执行的动作,但是目前的动作生成模型的准确性低。
发明内容
本申请实施例提供了一种模型训练方法、机器人控制方法、装置、设备及介质,能够提升动作生成模型的性能,以提升动作生成模型生成的动作的准确性。技术方案如下:
一方面,提供了一种模型训练方法,方法包括:
获取第一历史信息及第一观测信息,第一历史信息包括第一机器人执行的历史动作及用于生成历史动作的历史观测信息,第一观测信息指示多个机器人的状态,多个机器人包括第一机器人且位于同一区域;
通过动作生成模型,基于第一历史信息及第一观测信息,生成第一动作,第一动作为第一机器人待执行的动作;
基于第一历史信息、第一观测信息及第一动作,获取第一机器人的依赖关系,依赖关系指示第一机器人执行的动作,依赖于第二机器人执行的动作及第二机器人的历史信息;
基于依赖关系,获取第二历史信息及第二动作,第二历史信息为第二机器人的历史信息,第二动作为第二机器人待执行的动作;
基于第一历史信息、第一观测信息、第一动作、第二历史信息及第二动作,对动作生成模型进行训练。
在一种可能实现方式中,所述通过动作生成模型,基于所述第一历史信息及所述第一观测信息,生成第一动作之前,所述方法还包括:
对所述第一历史信息及所述第一观测信息进行特征提取,得到第一观测特征;
所述通过动作生成模型,基于所述第一历史信息及所述第一观测信息,生成第一动作,包括:
通过所述动作生成模型,对所述第一观测特征进行处理,得到所述第一动作。
在另一种可能实现方式中,所述基于所述依赖特征及所述第一动作,获取所述第一机器人的依赖关系由关系预测模型执行;所述方法还包括:
对所述依赖关系进行排序;
基于所述依赖关系及排序后的依赖关系,对所述关系预测模型进行训练。
另一方面,提供了一种机器人控制方法,方法包括:
获取第一机器人的历史信息及观测信息,观测信息指示多个机器人的状态,多个机器人包括第一机器人且位于同一区域,历史信息包括第一机器人执行的历史动作及用于生成历史动作的历史观测信息;
基于第一机器人的依赖关系,获取第二机器人的历史信息及待执行的动作,依赖关系指示第一机器人执行的动作,依赖于第二机器人执行的动作及第二机器人的历史信息;
通过动作生成模型,基于第一机器人的历史信息及观测信息、第二机器人的历史信息及待执行的动作,生成目标动作,目标动作为第一机器人待执行的动作;
控制第一机器人执行目标动作。
另一方面,提供了一种模型训练装置,装置包括:
获取模块,用于获取第一历史信息及第一观测信息,第一历史信息包括第一机器人执行的历史动作及用于生成历史动作的历史观测信息,第一观测信息指示多个机器人的状态,多个机器人包括第一机器人且位于同一区域;
生成模块,用于通过动作生成模型,基于第一历史信息及第一观测信息,生成第一动作,第一动作为第一机器人待执行的动作;
获取模块,还用于基于第一历史信息、第一观测信息及第一动作,获取第一机器人的依赖关系,依赖关系指示第一机器人执行的动作,依赖于第二机器人执行的动作及第二机器人的历史信息;
获取模块,还用于基于依赖关系,获取第二历史信息及第二动作,第二历史信息为第二机器人的历史信息,第二动作为第二机器人待执行的动作;
训练模块,用于基于第一历史信息、第一观测信息、第一动作、第二历史信息及第二动作,对动作生成模型进行训练。
在一种可能实现方式中,训练模块,用于对第一历史信息及第一观测信息进行特征提取,得到第一观测特征;对第二历史信息及第二动作进行特征提取,得到通信特征;基于第一观测特征、第一动作及通信特征,对动作生成模型进行训练。
在另一种可能实现方式中,训练模块,用于通过动作生成模型,对第一观测特征及通信特征进行处理,得到第三动作;基于第一动作及第三动作,对动作生成模型进行训练。
在另一种可能实现方式中,第三动作与动作生成模型的模型参数相关,训练模块,用于基于第一动作与第三动作的比值,构建关系数据,关系数据指示数值与比值之间的关系;基于关系数据,确定数值取最小值时的模型参数的取值;基于确定的模型参数,更新动作生成模型。
在另一种可能实现方式中,训练模块,用于通过奖励模型,基于第一观测特征,确定第一奖励,第一奖励为第一机器人执行第三动作后得到的奖励;基于第一奖励,确定第三动作的准确度;基于比值及第三动作的准确度,构建关系数据,关系数据指示数值与比值和第三动作的准确度之间的关系。
在另一种可能实现方式中,装置还包括:
提取模块,用于对第三历史信息及第三观测信息进行特征提取,得到第二观测特征,第三历史信息包括第一历史信息及第一观测信息,第三观测信息指示第一机器人执行第一动作后,多个机器人的状态;
处理模块,用于通过奖励模型,对第二观测特征进行处理,得到第二奖励;
训练模块,还用于基于第一奖励及第二奖励,对奖励模型进行训练。
在另一种可能实现方式中,训练模块,用于基于第一动作及第一观测特征,确定第一动作的贡献度,贡献度指示第一机器人执行第一动作后作出的贡献;基于第一动作、第二动作、第一观测特征及通信特征,确定第一动作与第二动作的联合贡献度;基于第一动作的贡献度及联合贡献度,对动作生成模型进行训练。
在另一种可能实现方式中,装置还包括:
提取模块,用于对第一历史信息及第一观测信息进行特征提取,得到第一观测特征;
生成模块,用于通过动作生成模型,对第一观测特征进行处理,得到第一动作。
在另一种可能实现方式中,
获取模块,还用于获取通信信息,通信信息用于表示第一机器人所依赖的机器人的历史信息及待执行的动作,通信信息为空;
生成模块,还用于通过动作生成模型,基于第一历史信息、第一观测信息及通信信息,生成第一动作。
在另一种可能实现方式中,获取模块,用于对第一历史信息及第一观测信息进行特征提取,得到依赖特征;基于依赖特征及第一动作,获取第一机器人的依赖关系。
在另一种可能实现方式中,获取模块,用于对依赖特征及第一动作的动作特征进行第一特征变换,得到第一特征;对依赖特征及动作特征进行多次第二特征变换,得到多个第二特征,多个第二特征与第三机器人一一对应,第三机器人为多个机器人中除第一机器人以外的机器人;基于多个第二特征及第一特征,获取依赖关系。
在另一种可能实现方式中,获取模块,用于将多个第二特征分别与第一特征进行融合,得到多个依赖参数,依赖参数指示对应的第三机器人与第一机器人之间的依赖情况;将多个依赖参数,构成依赖关系。
在另一种可能实现方式中,基于依赖特征及第一动作,获取第一机器人的依赖关系由关系预测模型执行;装置还包括:
排序模块,用于对依赖关系进行排序;
训练模块,还用于基于依赖关系及排序后的依赖关系,对关系预测模型进行训练。
另一方面,提供了一种机器人控制装置,装置包括:
获取模块,用于获取第一机器人的历史信息及观测信息,观测信息指示多个机器人的状态,多个机器人包括第一机器人且位于同一区域,历史信息包括第一机器人执行的历史动作及用于生成历史动作的历史观测信息;
获取模块,还用于基于第一机器人的依赖关系,获取第二机器人的历史信息及待执行的动作,依赖关系指示第一机器人执行的动作,依赖于第二机器人执行的动作及第二机器人的历史信息;
生成模块,用于通过动作生成模型,基于第一机器人的历史信息及观测信息、第二机器人的历史信息及待执行的动作,生成目标动作,目标动作为第一机器人待执行的动作;
控制模块,用于控制第一机器人执行目标动作。
另一方面,提供了一种计算机设备,计算机设备包括处理器和存储器,存储器中存储有至少一条计算机程序,至少一条计算机程序由处理器加载并执行以实现如上述方面的模型训练方法所执行的操作;或者,以实现如上述方面的机器人控制方法所执行的操作。
另一方面,提供了一种机器人,机器人包括处理器和存储器,存储器中存储有至少一条计算机程序,至少一条计算机程序由处理器加载并执行以实现如上述方面的机器人控制方法所执行的操作。
另一方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有至少一条计算机程序,至少一条计算机程序由处理器加载并执行以实现如上述方面的模型训练方法所执行的操作;或者,以实现如上述方面的机器人控制方法所执行的操作。
再一方面,提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述方面的模型训练方法所执行的操作;或者,以实现如上述方面的机器人控制方法所执行的操作。
本申请实施例提供的方案中,考虑到机器人的动作具有连续性,且位于同一区域的多个机器人之间也会存在影响,并且,由于训练模型还无法获知多个机器人之间的依赖关系,因此,通过动作生成模型,利用第一机器人的历史信息及用于指示多个机器人的状态的观测信息,生成第一机器人待执行的动作,而后利用第一机器人待执行的动作、历史信息及观测信息,确定出第一机器人所依赖的第二机器人,进而获取第一机器人执行的动作所依赖的第二机器人的历史信息及动作,以便利用第一机器人待执行的动作、历史信息及观测信息、第二历史信息及第二动作、第二机器人的历史信息及动作,对动作生成模型进行训练,以使动作生成模型能够学习利用第一机器人的历史信息及观测信息,结合第一机器人所依赖的第二机器人的历史信息及动作,为第一机器人生成动作,进而提升动作生成模型的性能,以保证后续由动作生成模型为同一机器人生成的多个动作之间具有连续性,并能够体现出多个机器人之间的动作的关联性,保证生成的动作的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的结构示意图;
图2是本申请实施例提供的一种模型训练方法的流程图;
图3是本申请实施例提供的另一种模型训练方法的流程图;
图4是本申请实施例提供的再一种模型训练方法的流程图;
图5是本申请实施例提供的再一种模型训练方法的流程图;
图6是本申请实施例提供的再一种模型训练方法的流程图;
图7是本申请实施例提供的一种机器人控制方法的流程图;
图8是本申请实施例提供的一种多种模型训练方法的性能对比示意图;
图9是本申请实施例提供的另一种多种模型训练方法的性能对比示意图;
图10是本申请实施例提供的再一种多种模型训练方法的性能对比示意图;
图11是本申请实施例提供的再一种多种模型训练方法的性能对比示意图;
图12是本申请实施例提供的对比消融方法的示意图;
图13是本申请实施例提供的再一种模型训练方法的流程图;
图14是本申请实施例提供的再一种模型训练方法的流程图;
图15是本申请实施例提供的再一种模型训练方法的流程图;
图16是本申请实施例提供的一种模型训练装置的结构示意图;
图17是本申请实施例提供的另一种模型训练装置的结构示意图;
图18是本申请实施例提供的一种机器人控制装置的结构示意图;
图19是本申请实施例提供的一种终端的结构示意图;
图20是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请所使用的术语“第一”、“第二”、“第三”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例来说,在不脱离本申请的范围的情况下,可以将第一动作称为第二动作,且类似地,可将第二动作称为第一动作。
本申请所使用的术语“至少一个”、“多个”、“每个”、“任一”,至少一个包括一个、两个或两个以上,多个包括两个或两个以上,而每个是指对应的多个中的每一个,任一是指多个中的任意一个。举例来说,多个机器人包括3个机器人,而每个是指这3个机器人中的每一个机器人,任一是指这3个机器人中的任意一个,能够是第一个机器人,或者,是第二个机器人,或者,是第三个机器人。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,本申请中涉及到的历史信息、观测信息、动作等都是在充分授权的情况下获取的。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、预训练模型技术、操作/交互系统、机电一体化等。其中,预训练模型又称大模型、基础模型,经过微调后可以广泛应用于人工智能各大方向下游任务。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。。预训练模型是深度学习的最新发展成果,融合了以上技术。
本申请实施例提供的方案,基于人工智能的机器学习技术,能够实现模型训练方法,以训练出动作生成模型,利用训练后的动作生成模型,能够实现机器人控制方法。
本申请实施例提供的模型训练方法,能够由计算机设备执行,本申请实施例提供的机器人控制方法能够由计算机设备或机器人执行。可选地,计算机设备为终端或服务器。可选地,该服务器是独立的物理服务器,或者,是多个物理服务器构成的服务器集群或者分布式系统,或者,是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,该终端是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电及车载终端等,但并不局限于此。可选地,机器人为任意类型的机器人,例如,机器人为物流机器人或其他机器人。
在一些实施例中,本申请实施例所涉及的计算机程序可被部署在一个计算机设备上执行,或者在位于一个地点的多个计算机设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算机设备上执行,分布在多个地点且通过通信网络互连的多个计算机设备能够组成区块链系统。
在一些实施例中,计算机设备提供为服务器。图1是本申请实施例提供的一种实施环境的示意图。参见图1,该实施环境包括多个机器人101和服务器102。每个机器人101和服务器102之间通过无线或者有线网络连接。
服务器102能够与机器人101进行交互,获取机器人101的历史信息及观测信息,进而能够利用多个机器人101的历史信息及观测信息,对动作生成模型进行训练。
在一种可能实现方式中,服务器102中部署与动作生成模型,服务器102对动作生成模型训练时,会与机器人101进行交互,以获取机器人的历史信息和观测信息,基于机器人的历史信息和观测信息,对动作生成模型进行训练。
另外,在服务器102对动作生成模型训练完成后,能够将动作生成模型部署在机器人101中,后续机器人101能够通过动作生成模型,以实现机器人控制方法。或者,在服务器102对动作生成模型训练完成后,能够将动作生成模型部署在服务器103中,服务器103用于为机器人101提供服务,服务器103与机器人101之间通过无线或者有线网络连接。服务器103用于通过动作生成模型,生成机器人101待执行的动作,向机器人101发送动作执行指令,以使机器人101能够执行动作执行指令所指示的动作。可选地,服务器102和服务器103能够同一服务器,或者,为不同的服务器。
图2是本申请实施例提供的一种模型训练方法的流程图,由计算机设备执行,如图2所示,该方法包括:
201、计算机设备获取第一历史信息及第一观测信息,第一历史信息包括第一机器人执行的历史动作及用于生成历史动作的历史观测信息,第一观测信息指示多个机器人的状态,多个机器人包括第一机器人且位于同一区域。
在本申请实施例中,机器人的动作具有连续性,机器人已经执行的动作会影响机器人下一次执行的动作。并且,位于同一区域的多个机器人之间也会存在影响,多个机器人之间可能存在依赖关系,对于任一机器人,该机器人所依赖的机器人会影响该机器人执行的动作。因此,以多个机器人中的第一机器人为例,获取第一机器人的历史信息及用于指示多个机器人的状态的观测信息,会利用第一机器人的历史信息及观测信息,结合第一机器人所依赖的第二机器人的历史信息及动作,对动作生成模型进行训练。
其中,第一机器人为任意类型的机器人,例如,第一机器人为物流机器人。第一机器人为多个机器人中的任一机器人,多个机器人在同一区域中能够执行动作。该区域为任意的区域,例如,该区域为任务区域,多个机器人在任务区域中执行动作,以完成某个任务。
第一观测信息指示位于同一区域的多个机器人的状态,该状态能够是任意的状态,可选地,状态包括机器人在区域中的位置、机器人类型或机器人待执行的动作中的至少一项。第一机器人执行的历史动作是指第一机器人在之前执行的一个或多个动作,历史观测信息是指为第一机器人生成历史动作时所用到的观测信息,以指示为第一机器人生成历史动作时多个机器人的状态。
202、计算机设备通过动作生成模型,基于第一历史信息及第一观测信息,生成第一动作,第一动作为第一机器人待执行的动作。
在本申请实施例中,在对动作生成模型进行训练时,目前还无法获知第一机器人所依赖的第二机器人,因此,基于第一历史信息及第一观测信息,生成第一机器人当前所要执行的动作,即第一动作。第一动作的准确性能够反映出动作生成模型的准确性。
其中,动作生成模型能够是任意的网络模型,动作生成模型用于为机器人生成待执行的动作。
203、计算机设备基于第一历史信息、第一观测信息及第一动作,获取第一机器人的依赖关系,依赖关系指示第一机器人执行的动作,依赖于第二机器人执行的动作及第二机器人的历史信息。
在本申请实施例中,第一观测信息能够指出多个机器人的状态,第一历史信息能够指示第一机器人执行的历史动作及用于生成历史动作的历史观测信息,且第一机器人执行的动作依赖于第二机器人执行的动作及历史信息,即第一历史信息、第一观测信息及第一动作均能够反映出第一机器人所依赖的机器人,因此,基于第一历史信息、第一观测信息及第一动作,获取第一机器人的依赖关系,以确定出第一机器人所依赖的第二机器人。
204、计算机设备基于依赖关系,获取第二历史信息及第二动作,第二历史信息为第二机器人的历史信息,第二动作为第二机器人待执行的动作。
在本申请实施例中,依赖关系能够反映出第一机器人所依赖的机器人,则基于依赖关系,确定出第一机器人所依赖的第二机器人,进而获取第二机器人的历史信息及第二机器人待执行的动作。
其中,第一机器人所依赖的机器人是指第一机器人执行的动作依赖于该机器人执行的动作及历史信息,第二机器人的历史信息包括第二机器人执行的历史动作及用于生成历史动作的历史观测信息,第二机器人待执行的动作即为第二机器人当前时刻待执行的动作。
205、计算机设备基于第一历史信息、第一观测信息、第一动作、第二历史信息及第二动作,对动作生成模型进行训练。
在本申请实施例中,将第一历史信息、第一观测信息、第一动作、第二历史信息及第二动作,构成训练数据,以便基于训练数据,对动作生成模型进行训练,以使动作生成模型能够学习利用第一机器人的历史信息及观测信息,结合第一机器人所依赖的第二机器人的历史信息及动作,为第一机器人生成动作,进而提升动作生成模型的性能,以提升动作生成模型生成的动作的准确性。
本申请实施例提供的方案中,考虑到机器人的动作具有连续性,且位于同一区域的多个机器人之间也会存在影响,并且,由于训练模型还无法获知多个机器人之间的依赖关系,因此,通过动作生成模型,利用第一机器人的历史信息及用于指示多个机器人的状态的观测信息,生成第一机器人待执行的动作,而后利用第一机器人待执行的动作、历史信息及观测信息,确定出第一机器人所依赖的第二机器人,进而获取第一机器人执行的动作所依赖的第二机器人的历史信息及动作,以便利用第一机器人待执行的动作、历史信息及观测信息、第二历史信息及第二动作、第二机器人的历史信息及动作,对动作生成模型进行训练,以使动作生成模型能够学习利用第一机器人的历史信息及观测信息,结合第一机器人所依赖的第二机器人的历史信息及动作,为第一机器人生成动作,进而提升动作生成模型的性能,以保证后续由动作生成模型为同一机器人生成的多个动作之间具有连续性,并能够体现出多个机器人之间的动作的关联性,保证生成的动作的准确性。
在图2所示实施例的基础上,本申请实施例还能够以第一历史信息、第一观测信息、第二历史信息及第二动作构建特征的方式,对动作生成模型进行训练,具体过程详见下述实施例。
图3是本申请实施例提供的一种模型训练方法的流程图,由计算机设备执行,如图3所示,该方法包括:
301、计算机设备获取第一历史信息及第一观测信息,第一历史信息包括第一机器人执行的历史动作及用于生成历史动作的历史观测信息,第一观测信息指示多个机器人的状态,多个机器人包括第一机器人且位于同一区域。
在一种可能实现方式中,第一观测信息是针对于第一机器人的观测信息。
在本申请实施例中,第一观测信息相当于是以第一机器人的视角来观测多个机器人的状态。
可选地,状态包括机器人在区域中的位置、机器人类型或机器人待执行的动作,则第一观测信息包括多个机器人的在区域中的位置、多个机器人类型及第四机器人待执行的动作,其中,第四机器人是多个机器人中当前已确定待执行动作的机器人。
在本申请实施例中,在确定第一机器人待执行的动作时,此时多个机器人中可能还有机器人当前未确定待执行的动作,则第一观测信息不包括这些未确定待执行的动作的机器人的待执行动作,包含第四机器人待执行的动作。
在一种可能实现方式中,对于获取第一历史信息及第一观测信息的方式,包括:计算机设备从服务器中获取第一历史信息及第一观测信息。
在本申请实施例中,服务器用于为多个机器人提供服务,多个机器人会将自身在区域中的位置会实时上报给服务器,以使服务器存储,并且,机器人在确定待执行的动作时,服务器也会进行存储,并且,服务器还会存储机器人的历史信息。也即是,服务器中存储有多个机器人在区域中的位置、多个机器人的机器人类型及机器人待执行的动作,计算机设备通过与服务器交互,能够从服务器中获取第一观测信息及第一历史信息。
302、计算机设备通过动作生成模型,基于第一历史信息及第一观测信息,生成第一动作,第一动作为第一机器人待执行的动作。
在一种可能实现方式中,生成第一动作的过程包括以下两种方式。
第一种方式:对第一历史信息及第一观测信息进行特征提取,得到第一观测特征;通过动作生成模型,对第一观测特征进行处理,得到第一动作。
在本申请实施例中,第一观测特征能够表征第一历史信息及第一观测信息,将第一观测特征作为动作生成模型的输入,以便动作生成模型对第一观测特征进行处理,以得到第一机器人待执行的动作,以使第一机器人待执行的动作在第一机器人执行的历史动作以及多个机器人的状态相关联。
可选地,获取第一观测特征的过程包括,通过第一编码模型,对第一历史信息及第一观测信息进行特征提取,得到第一观测特征。其中,第一编码模型为任意的编码网络,第一编码模型用于将历史信息及观测信息映射为观测特征。
可选地,第一历史信息、第一观测信息、第一观测特征满足以下关系:
其中,
第二种方式:获取通信信息,通信信息用于表示第一机器人所依赖的机器人的历史信息及待执行的动作,通信信息为空;通过动作生成模型,基于第一历史信息、第一观测信息及通信信息,生成第一动作。
在本申请实施例中,动作生成模型是利用第一历史信息、第一观测信息及通信信息来生成动作,且通信信息相当于是第一机器人所依赖的机器人的历史信息及待执行的动作,但是,此时还未能确定第一机器人所依赖的机器人,则以内容为空的通信信息来表示第一机器人所依赖的机器人的历史信息及待执行的动作,以便动作生成模型基于第一历史信息、第一观测信息及通信信息,生成第一动作,以保证动作生成模型的输入准确,以保证动作生成模型能够生成第一动作。
其中,通信信息能够以任意的形式表示,例如,通信信息是以向量的形式表示,向量中的元素均为0,以此来表示通信信息为空。
可选地,第二种方式包括:对第一历史信息及第一观测信息进行特征提取,得到第一观测特征;对通信信息进行特征提取,得到第一通信特征;通过动作生成模型,对第一观测特征及第一通信特征进行处理,得到第一动作。
其中,第一通信特征用于表征内容为空的通信信息。
可选地,获取第一通信特征的过程,包括:通过第二编码模型,对通信信息进行特征提取,得到第一通信特征。
其中,第二编码模型为任意的编码网络,第二编码模型用于将通信信息及观测信息映射为第一通信特征。
可选地,第一观测特征、第一通信特征及第一动作,满足以下关系:
其中,
303、计算机设备基于第一历史信息、第一观测信息及第一动作,获取第一机器人的依赖关系,依赖关系指示第一机器人执行的动作,依赖于第二机器人执行的动作及第二机器人的历史信息。
在一种可能实现方式中,第一机器人的依赖关系指示第一机器人是否依赖于每个第三机器人,第三机器人为多个机器人中除第一机器人以外的机器人。在本申请实施例中,第一机器人的依赖关系指示了第一机器人是否依赖于每个第三机器人,则基于该依赖关系,能够确定出第一机器人所依赖的机器人。
可选地,第一机器人的依赖关系包括多个依赖参数,多个依赖参数与多个第三机器人一一对应,每个依赖参数指示第一机器人是否依赖该依赖参数对应的第三机器人。例如,依赖参数包括0或1,依赖参数为0,表示第一机器人不依赖该依赖参数对应的第三机器人;依赖参数为1,表示第一机器人依赖该依赖参数对应的第三机器人。
304、计算机设备基于依赖关系,获取第二历史信息及第二动作,第二历史信息为第二机器人的历史信息,第二动作为第二机器人待执行的动作。
在本申请实施例中,第二历史信息及第二动作相当于第一机器人执行的动作所依赖的通信信息。
在一种可能实现方式中,该步骤304包括:计算机设备基于依赖关系,获取第二历史信息、第二观测信息及第二动作,其中,第二观测信息是第二机器人的观测信息,第二观测信息相当于是以第二机器人的视角来观测多个机器人的状态。
在本申请实施例中,第一机器人执行的动作依赖于第二机器人的历史信息、观测信息及执行的动作,第二动作是基于第二历史信息及第二观测信息生成。在第二历史信息、第二观测信息及第二动作相当于第一机器人执行的动作所依赖的通信信息。生成第二动作的过程与上述步骤302同理,在此不再赘述。
在一种可能实现方式中,该步骤304包括:基于依赖关系,确定多个第二机器人,获取每个第二机器人对应的第二历史信息及第二动作。
在本申请实施例中,基于第一机器人的依赖关系,能够确定出第一机器人依赖于多个第二机器人,则表示第一机器人执行的动作依赖于多个第二机器人的历史信息及执行的动作,则分别获取每个机器人对应的第二历史信息及第二动作,以便后续利用多个第二机器人对应的第二历史信息及第二动作,对动作生成模型进行训练。
305、计算机设备对第一历史信息及第一观测信息进行特征提取,得到第一观测特征。
该步骤305与上述步骤302中获取第一观测特征的过程同理,在此不再赘述。
需要说明的是,本申请实施例是在步骤302之后执行步骤305为例进行说明,而在另一实施例中,若按照步骤302中,利用第一观测特征来生成第一动作,则在生成第一动作时,先执行上述步骤305,而后利用第一观测特征再生成第一动作,本申请对步骤的执行时序不做限定。
306、计算机设备对第二历史信息及第二动作进行特征提取,得到通信特征。
其中,通信特征用于表征第二历史信息及第二动作。
在一种可能实现方式中,该步骤306包括:通过第二编码模型,对第二历史信息及第二动作进行特征提取,得到通信特征。
307、计算机设备基于第一观测特征、第一动作及通信特征,对动作生成模型进行训练。
需要说明的是,本申请实施例是以第一历史信息、第一观测信息、第二历史信息及第二动作构建特征的方式,对动作生成模型进行训练,而在另一实施例中,无需执行上述步骤305-307,而是采取其他方式基于第一历史信息、第一观测信息、第一动作、第二历史信息及第二动作,对动作生成模型进行训练。
在本申请实施例中,由于第一观测特征能够表征第一历史信息及第一观测信息,而通信特征相当于第一机器人待执行的动作所依赖的特征,而第一动作生成模型是基于动作生成模型生成,因此,基于第一观测特征、第一动作及通信特征,对动作生成模型进行训练,以提升动作生成模型的性能,能够保证后续动作生成模型生成的动作与第一机器人的历史信息、观测信息相关联,且能够与所依赖的机器人的历史信息及动作相关联,进而保证后续生成的动作的准确性。
在上述图3所示的实施例的基础上,本申请实施例还能够利用第一历史信息及第一观测信息来获取依赖特征,进而利用依赖特征及第一动作来获取依赖关系,具体过程详见下述实施例。
图4是本申请实施例提供的一种模型训练方法的流程图,由计算机设备执行,如图4所示,该方法包括:
401、计算机设备对第一历史信息及第一观测信息进行特征提取,得到依赖特征。
其中,依赖特征及第一观测特征是以不同的特征提取方式,对第一历史信息及第一观测信息进行特征提取得到的特征,依赖特征与第一观测特征不同。第一观测特征用于获取第一机器人的动作,依赖特征用于获取第一机器人的依赖关系。
在一种可能实现方式中,获取依赖特征的过程,包括:通过第三编码模型,对第一历史信息及第一观测信息进行特征提取,得到依赖特征。
其中,第三编码模型为任意的编码网络,第二编码模型用于将历史信息及观测信息映射为依赖特征。
可选地,第一历史信息、第一观测信息及依赖特征,满足以下关系:
其中,
402、计算机设备对依赖特征及第一动作的动作特征进行第一特征变换,得到第一特征。
在本申请实施例中,将依赖特征及第一动作的动作特征,映射到不同的特征空间下,利用映射得到的两种不同特征来预测第一机器人与每个机器人之间的依赖情况。第一特征变换与第二特征变换的变换方式同,变换得到的特征也不同,第一特征变换及第二特征变换用于将特征映射到不同的特征空间下。例如,第一特征变换用于将依赖特征和动作特征映射到查询空间下,第二特征变换用于将依赖特征和动作特征映射到签名空间下。不同的特征空间下的特征所表征的含义不同。
在一种可能实现方式中,该步骤402包括:通过第一变换模型,对依赖特征及第一动作的动作特征进行第一特征变换,得到第一特征。
其中,第一变换模型为任意的网络模型,第一变换模型用于将特征映射到查询空间,则第一特征相当于查询隐变量。第一变换模型为任意的网络模型。
可选地,依赖特征、第一动作的动作特征、第一特征,满足以下关系:
其中,q
403、计算机设备对依赖特征及动作特征进行多次第二特征变换,得到多个第二特征,多个第二特征与第三机器人一一对应,第三机器人为多个机器人中除第一机器人以外的机器人。
在本申请实施例中,不同的第二特征变换用于获取与不同的第三机器人对应的第二特征。每个第二特征与一个第三机器人对应,能够反映出第一机器人待执行的动作与第三机器人待执行的动作和历史信息的关联性。
在一种可能实现方式中,该步骤403包括:通过多个第二变换模型,对依赖特征及第一动作的动作特征进行多次第二特征变换,得到多个第二特征。
其中,第二变换模型为任意的网络模型,第二变换模型用于将特征映射到签名空间,则第二特征相当于签名隐变量。在本申请实施例中,多个第二变换模型均不同,每个第二变换模型与一个第三机器人对应,用于获取与第三机器人对应的第二特征。通过每个第二变换模型,对依赖特征及第一动作的动作特征进行第二特征变换,得到一个第二特征,则通过多个第二变换模型即可得到多个第二特征。
可选地,依赖特征、第一动作的动作特征、第二特征,满足以下关系:
其中,k
404、计算机设备基于多个第二特征及第一特征,获取依赖关系。
在本申请实施例中,每个第二特征与一个第三机器人对应,能够反映出第一机器人待执行的动作与第三机器人待执行的动作和历史信息的关联性,第一特征能够反映出第一机器人待执行的动作,则基于每个第二特征与第一特征,能够确定出每个第三机器人与第一机器人之间的依赖情况,进而得到第一机器人的依赖关系,该依赖关系指示哪些第一机器人依赖于哪些第三机器人,并指示第一机器人不依赖哪些第三机器人。
在本申请实施例中,通过将第一机器人的依赖特征和第一动作进行特征变换,以获取第一机器人与多个第三机器人之间的依赖情况,进而得到依赖关系,也能够反映出第一机器人对每个第三机器人的依赖程度,保证依赖关系的准确性。
在一种可能实现方式中,该步骤404包括:将多个第二特征分别与第一特征进行融合,得到多个依赖参数,依赖参数指示对应的第三机器人与第一机器人之间的依赖情况;将多个依赖参数,构成依赖关系。
在本申请实施例中,通过将任一第二特征与第一特征进行融合,得到依赖参数,该依赖参数指示该第二特征对应的第三机器人与第一机器人之间的依赖情况,按照上述方式,将每个第二特征与第一特征进行融合,即可得到多个依赖参数,将多个依赖参数构成依赖关系,以使依赖关系能够反映出多个第三机器人与第一机器人之间的依赖情况。
在本申请实施例中,采取融合的方式,将每个第三机器人对应的第二特征与第一特征进行融合,以得到用于指示每个第三机器人与第一机器人之间的依赖情况,以保证依赖参数的准确性,进而保证得到的依赖关系的准确性。
可选地,第一机器人的依赖关系满足以下关系:
其中,G
在本申请实施例中,利用第一历史信息及第一观测信息来获取依赖特征,进而利用依赖特征及第一动作的动作特征,采取注意力机制的方式,获取依赖关系,以使依赖关系能够反映出第一机器人与多个第三机器人之间的依赖程度以保证依赖关系的准确性。
需要说明的是,本申请实施例是对依赖特征及动作特征进行多种特征变换的方式获取依赖关系,而在另一实施例中,无需执行上述步骤402-404,而是采取其他方式,基于依赖特征及第一动作,获取第一机器人的依赖关系。
在本申请实施例中,由于第一机器人执行的动作与所依赖的机器人的历史信息及动作相关,且第一动作与第一机器人的依赖特征相关,因此,通过将第一机器人的依赖特征和第一动作,能够反向推导出以获取第一机器人与多个第三机器人之间的依赖情况,进而得到依赖关系,也能够反映出第一机器人对每个第三机器人的依赖程度,保证依赖关系的准确性。
在一种可能实现方式中,通过关系预测模型来获取依赖关系,也即是,获取依赖关系的过程包括:通过关系预测模型,对依赖特征及第一动作的动作特征进行第一特征变换,得到第一特征;对依赖特征及动作特征进行多次第二特征变换,得到多个第二特征;基于多个第二特征及第一特征,获取依赖关系。
可选地,对关系预测模型进行训练的过程,包括:对依赖关系进行排序;基于依赖关系及排序后的依赖关系,对关系预测模型进行训练。
在本申请实施例中,依赖关系指示第一机器人与多个第三机器人之间的依赖情况,则对依赖关系进行排序,以便能够确定出依赖关系是否包含循环依赖的情况,例如,循环依赖的情况包括机器人1依赖于机器人2,机器人2依赖于机器人3,机器人3依赖于机器人1。多个机器人循环依赖会导致多个机器人处于死循环,无法生成动作,因此,基于依赖关系及排序后的依赖关系,对关系预测模型进行训练,以使关系预测模型生成依赖关系时能够消除循环依赖的情况,避免依赖出现死循环,保证依赖关系的准确性。
其中,关系预测模型用于生成多个机器人的依赖关系,关系预测模型为任意的网络模型。可选地,依赖关系以节点图的形式表示,则关系预测模型为用于节点图的模型,其中,在节点图中,每个机器人对应一个节点,节点之间的连接关系即表示对应的机器人之间的依赖关系,节点之间的连接关系具有方向,以指示对应的机器人的具体依赖情况。
在上述图3所示的实施例的基础上,本申请实施例能够采取两种方式,基于第一观测特征、第一动作及通信特征,对动作生成模型进行训练,具体过程详见下述图5和图6所示的实施例。
图5是本申请实施例提供的一种模型训练方法的流程图,由计算机设备执行,如图5所示,该方法包括:
501、计算机设备通过动作生成模型,对第一观测特征及通信特征进行处理,得到第三动作;第三动作与动作生成模型的模型参数相关。
在本申请实施例中,通信特征能够表征第二机器人的历史信息及待执行的动作,则通过动作生成模型,对第一观测模型及通信特征进行处理,得到与动作生成模型的模型参数相关的第三动作,以使第三动作与通信特征相关。
其中,第三动作是由动作生成模型的模型参数表示,以体现出由动作生成模型预测出的第三动作与动作生成模型的模型参数的关联。
502、计算机设备基于第一动作与第三动作的比值,构建关系数据,关系数据指示数值与比值之间的关系。
在本申请实施例中,第一动作与第三动作的比值相当于第一动作与第三动作之间的差异,能够反映出动作生成模型的准确性,基于第一动作与第三动作的比值,构建关系数据,关系数据中第三动作是以模型参数来表示,而第一动作为已知,则该关系数据相当于指示数值与模型参数之间的关系。
503、计算机设备基于关系数据,确定数值取最小值时的模型参数的取值。
在本申请实施例中,关系数据相当于指示数值与模型参数之间的关系,则通过最小化关系数据,以确定数值为最小值时,模型参数的取值,将数值为最小值时,模型参数的取值确定为待更新的模型参数。
504、计算机设备基于确定的模型参数,更新动作生成模型。
在本申请实施例中,将确定的模型参数,更新动作生成模型,以使更新后的动作生成模型的模型参数为关系数据中数值为最小值时模型参数的取值,实现了对动作预测模型的更新。
需要说明的是,本申请实施例是以第三动作与动作生成模型的模型参数相关,为例进行说明,而在另一实施例中,无需执行上述步骤502-504,而是采取其他方式,基于第一动作及第三动作,对动作生成模型进行训练。
本申请实施例提供的方案中,第三动作是由动作生成模型的模型参数表示,以体现出由动作生成模型预测出的第三动作与动作生成模型的模型参数的关联,第一动作与第三动作的比值相当于第一动作与第三动作之间的差异,能够反映出动作生成模型的准确性,基于第一动作与第三动作的比值,构建关系数据,关系数据相当于指示数值与模型参数之间的关系,则通过最小化关系数据,以确定数值为最小值时,模型参数的取值,将数值为最小值时,模型参数的取值确定为待更新的模型参数,将确定的模型参数,更新动作生成模型,以使更新后的动作生成模型的模型参数为关系数据中数值为最小值时模型参数的取值,实现了对动作预测模型的更新,以提升动作预测模型的性能。
通过动作预测模型生成第一动作,以及结合通信特征生成的第三动作,而采取构建关系数据,并最小化关系数据的方式,来获取模型参数,进而更新动作预测模型,以提升动作预测模型的性能。
需要说明的是,上述图5所示的实施例是以第三动作与第一动作的比值来构建关系数据,而在另一实施例中,还能够通过奖励模型,来构建关系数据,则构建关系数据的过程,包括:通过奖励模型,基于第一观测特征,确定第一奖励,第一奖励为第一机器人执行第三动作后得到的奖励;基于第一奖励,确定第三动作的准确度;基于比值及第三动作的准确度,构建关系数据,关系数据指示数值与比值和第三动作的准确度之间的关系。
其中,第一奖励能够反映出第一机器人执行第三动作对于完成任务的作用。奖励模型用于利用观测特征来生成对应的动作的奖励,该奖励模型为任意的网络模型。第三动作的准确度能够反映出第三动作的好坏,在多个机器人联合执行任务的情况下,第三动作的准确度能够反映出第三动作对完成任务的贡献。
在本申请实施例中,由于第三动作的准确度能够反映出第三动作的好坏,也能够反映出动作生成模型的准确性,且第三动作的准确度与第一机器人执行第三动作后得到的奖励有关,因此,基于奖励模型,获取第一机器人执行第三动作后得到的奖励,进而得到第三动作的准确度,并基于比值及准确度来构建关系数据,后续能够基于关系数据来更新动作生成模型,以提升动作生成模型的性能,以提升动作生成模型生成的动作的准确性。
可选地,训练奖励模型的过程包括:对第三历史信息及第三观测信息进行特征提取,得到第二观测特征,第三历史信息包括第一历史信息及第一观测信息,第三观测信息指示第一机器人执行第一动作后,多个机器人的状态;通过奖励模型,对第二观测特征进行处理,得到第二奖励;基于第一奖励及第二奖励,对奖励模型进行训练。
在本申请实施例中,第三历史信息及第三观测信息相当于是利用第一机器人的第一动作、第一历史信息及第一观测信息,对动作生成模型进行训练后,在下一次训练动作生成模型时,所获取到的历史信息和观测信息。而在下一次动作生成模型训练时,第一历史信息及第一观测信息已成为第一机器人的历史信息,而第三观测信息相当于是下一次训练动作生成模型时多个机器人的状态。
基于第三历史信息及第三观测信息,获取第二观测特征的过程与上述获取第一观测特征的过程同理,在此不再赘述。
在本申请实施例中,通过奖励模型,对第二观测特征进行处理,得到第二奖励,将第一奖励与第二奖励作比较,能够反映出奖励模型的准确性,进而对奖励模型进行训练,以提升奖励模型的准确性。
图6是本申请实施例提供的一种模型训练方法的流程图,由计算机设备执行,如图6所示,该方法包括:
601、计算机设备基于第一动作及第一观测特征,确定第一动作的贡献度,贡献度指示第一机器人执行第一动作后作出的贡献。
在本申请实施例中,第一动作的贡献度能够反映出第一机器人执行第一动作后的贡献。可选地,第一动作的贡献度指示在多个机器人联合执行任务的情况下,第一机器人执行第一动作后对任务的贡献,也即是第一机器人执行第一动作后对完成任务的帮助。第一动作的贡献度越大,表示第一动作越准确,进而反映出动作生成模型越准确。其中,贡献度能够以任意的形式表示。
在一种可能实现方式中,该步骤601包括:通过个体效用模型,基于第一动作及第一观测特征,确定第一动作的贡献度。
其中,个体效用模型用于评估单个机器人执行动作后作出的贡献,个体效用模型为任意的网络模型。
可选地,第一动作的贡献度为
602、计算机设备基于第一动作、第二动作、第一观测特征及通信特征,确定第一动作与第二动作的联合贡献度。
在本申请实施例中,考虑到多个机器人的动作之间具有关联性,第一机器人执行的动作依赖于第二机器人的历史信息及执行的动作,因此,第一动作与第二动作之间具有关联性,而在第一动作和第二动作分别被执行的情况下能够得到联合贡献,也即是,得到联合贡献度,联合贡献度能够体现出第一动作及第二动作均被执行后作出的贡献。可选地,联合贡献度指示在多个机器人联合执行任务的情况下,第一机器人执行第一动作、第二机器人执行第二动作后对任务的贡献,也即是第一机器人执行第一动作、第二机器人执行第二动作后对完成任务的帮助。第一动作与第二动作的联合贡献度越大,表示第一动作与第二动作的联合贡献度越准确,进而反映出动作生成模型越准确。
在一种可能实现方式中,该步骤602包括:通过成对报酬模型,基于第一动作、第二动作、第一观测特征及通信特征,确定第一动作与第二动作的联合贡献度。
其中,通过成对报酬模型用于评估具有依赖关系的两个机器人执行动作后作出的贡献,成对报酬模型为任意的网络模型。
可选地,第一动作与第二动作的联合贡献度为
603、计算机设备基于第一动作的贡献度及联合贡献度,对动作生成模型进行训练。
在本申请实施例中,第一动作的贡献度及联合贡献度均能够反映出动作生成模型的准确性,因此,基于第一动作的贡献度及联合贡献度,对动作生成模型进行训练,以提升动作模型的准确性。
在一种可能实现方式中,该步骤603包括:确定第一动作的贡献度与联合贡献度的和值,基于和值,采取梯度下降法,对动作生成模型进行训练。
本申请实施例提供的方案中,采取确定贡献度的方式,确定出第一机器人执行第一动作后作出的贡献,以及第一机器人执行第一动作、第二机器人执行第二动作后作出的联合贡献,贡献的大小能够反映出动作是否准确,进而反映出动作生成模型的准确性,因此,基于第一动作的贡献度及联合贡献度,对动作生成模型进行训练,以提升动作模型的准确性。
需要说明的是,上述图2至图6所示的实施例,是以训练第一机器人对应的动作生成模型为例进行说明,而在另一实施例中,多个机器人中每个机器人对应有一个动作生成模型,则能够按照上述图2至图6所示的实施例,实现对多个机器人对应的动作生成模型进行联合训练,具体过程详见下述实施例。
本申请实施例提供的一种对多个机器人对应的动作生成模型进行联合训练的方式,以多个机器人的数量为n+1为例,n为大于0的整数,则联合训练过程,包括:
步骤1、以当前时刻为t为例,对于每个机器人,获取机器人的历史信息
其中,
步骤2、采取以下公式(10)通过每个机器人对应的动作生成模型,获取每个机器人待执行的动作,将每个机器人待执行的动作,作为每个机器人的决策数据。
其中,
步骤3、对于每个机器人,通过关系预测模型,基于机器人的依赖特征及决策数据,采取注意力机制,将依赖特征及决策特征(即待执行的动作)进行多次投影,分别投影到查询空间及签名空间,通过点乘注意力的方式,获取机器人之间的有向通信图,有向通信图即为机器人之间的依赖关系。其中,有向通信图能够以任意的形式表示,例如,有向通信图以矩阵的形式表示,矩阵中每个元素表示对应的两个机器人之间的依赖关系。
对于机器人i,采取以下公式(11)和(12),获取机器人i对应的依赖关系,将n+1个机器人的依赖关系构成有向通信图。
其中,G
在本申请实施例中,按照上述公式(11)和(12),能够获取到每个机器人的依赖关系,将多个机器人的依赖关系拼接成有向通信图G,以使有向通信图能够指示每个机器人是否依赖于其他机器人。有向通信图G能够表示为G={G
步骤4、基于有向通信图,在节点图中添加n+1个机器人对应的节点,将具有依赖关系的两个节点进行连接,且两个节点之间的连接线具有方向,具有方向的连接线指示两个节点的依赖情况,例如,具有方向的连接线指示第一节点依赖于第二节点,第二节点为连接线的箭头指向的节点。
步骤5、从节点图中确定根节点,从根节点开始遍历节点图中节点的连接关系,确定出每个机器人所依赖的机器人;对于每个机器人,获取每个机器人的通信信息,通信信息包括该机器人所依赖的机器人的历史信息、观测信息及待执行的动作;将每个机器人的历史信息、观测信息、待执行的动作及通信信息,构成经验数据。
可选地,经验数据能够表示为Ψ={s
步骤6、本申请利用经验数据,采取以下两种方式,对动作生成模型进行训练,详见下述步骤7和步骤8。
步骤7、基于联合策略,使用有向通信图,采取梯度优化方式,更新每个机器人的动作生成模型。
在本申请实施例中,将每个机器人所依赖的机器人称为该机器人的祖先机器人,基于有向通信图G,确定机器人i的祖先机器人集合L(i),联合策略π
其中,π
通过上述公式(6),构建关系数据,如以下公式(7),通过最小化公式(7)得到每个机器人的动作生成模型的模型参数,进而基于确定的模型参数,对每个机器人的动作生成模型进行更新。
/>
其中,T用于表示多个时刻的数量,n+1用于表示多个机器人的数量,
在训练奖励模型是,能够采取以下经验贝尔曼误差函数,对奖励模型进行训练。
其中,φ为奖励模型的参数,L(φ)为误差,n+1用于表示多个机器人的数量,T用于表示多个时刻的数量,r
步骤8、基于线性值分解网络与有向通信图的值函数,为每个机器人分配状态-动作值函数,更新每个机器人的动作生成模型。
在本申请实施例中,有向通信图以节点图的形式表示,节点图能够表示为G=(V,E),V用于表示节点图中的节点,E用于表示节点图中的边,也即是节点图中节点之间的连接关系。联合值函数Q,分解为个体效用模型
/>
其中,|V|用于表示节点图中的节点数量,
在本申请实施例中,利用上述值函数Q的取值,采取梯度下降法,对动作生成模型进行训练。基于线性值分解网络与有向通信图的值函数,能够推导出每个机器人的贡献,节点图中的环会降低,也即是能够避免有向通信图中的循环依赖的情况,降低了多个机器人之间的通信成本,并保证在经过有限的训练步骤后,动作生成模型能够收敛。
步骤9、采用以下公式(20)对关系预测模型进行更新。
首先,基于演员-评论家框架,对关系预测模型的模型参数进行更新的损失函数为:
l(θ
y
Z(G)=tr[I+exp(GoG)]-χ
其中,L(θ
在每个时间步长t,通过最大化上述公式(20)来优化更新图
其中,
其次,从上式(21)中搜索学习有向通信图G的无旋度分量,通过将有向通信图G投影到可容许解集(DAG)中来确保有向通信图的无环性。在本申请实施例中,用v(W,p)=WoRELU(grad(p))重新表述DAG。其中,v(W,p)是以另一种形式来表示的有向通信图,W是一种超参数,p是与有向通信图相关的参数,grad(p)表示参数p的梯度,grad(·)用于表示梯度流。在v(W,p)以矩阵的形式表示时,v(W,p)中三角矩阵M
其中,
当估计图
其中,
在本申请实施例中,上述三角矩阵M中的元素被优化,以此增强三角矩阵的斜对称性质。最后,通过最小化以下损失函数(24)消除关系预测模型中的环:
其中,
图7是本申请实施例提供的一种机器人控制方法的流程图,以该方法由机器人执行为例如图7所示,该方法包括:
701、第一机器人获取第一机器人的历史信息及观测信息,观测信息指示多个机器人的状态,多个机器人包括第一机器人且位于同一区域,历史信息包括第一机器人执行的历史动作及用于生成历史动作的历史观测信息。
该步骤与上述步骤301同理,在此不再赘述。
702、第一机器人基于第一机器人的依赖关系,获取第二机器人的历史信息及待执行的动作,依赖关系指示第一机器人执行的动作,依赖于第二机器人执行的动作及第二机器人的历史信息。
该步骤702与上述步骤304同理,在此不再赘述。
对于获取第一机器人的依赖关系的过程,按照上述图4所示的实施例,基于第一机器人的历史信息及观测信息,获取依赖特征,由于此时还未得到目标动作,因此,结合第一机器人在上一个时刻执行的动作及依赖特征,得到第一特征和多个第二特征,进而得到依赖关系。此过程与上述图4所示的实施例同理,在此不再赘述。
703、第一机器人通过动作生成模型,基于第一机器人的历史信息及观测信息、第二机器人的历史信息及待执行的动作,生成目标动作,目标动作为第一机器人待执行的动作。
该步骤与上述步骤302同理,在此不再赘述。
704、第一机器人控制第一机器人执行目标动作。
在本申请实施例中,第一机器人能够获取历史信息、观测信息及通信信息,并通过动作生成模型,确定待执行的动作进而执行动作,由动作生成模型为同一机器人生成的多个动作的连续性,并能够体现出多个机器人之间的动作的关联性,保证生成的动作的准确性,也能够实现了第一机器人能够准确的执行动作。在多个机器人配合来实现某个任务的情况下,基于本申请实施例提供的机器人控制方法,能够生成的动作的准确性,以实现机器人的精准控制,保证多个机器人能够配合来实现任务。
本申请实施例提供的模型训练方法及机器人控制方法能够应用于多种场景下,例如,机器人为物流机器人,应用在物流机器人智能化决策任务场景中,通过本申请实施例提供的模型训练方法,能够为物流机器人训练动作生成模型,而后按照本申请实施例提供的机器人控制方法,对多个物流机器人进行控制,以实现多个物流机器人之间配合来实现物体的搬运或摆放等。
本申请实施例通过使用动态可微有向通信图网络(即是关系预测网络),提高物流机器人之间的通信效率,将有向通信图网络训练建模为一个强化学习问题,使用非循环性内在奖励保证有向通信图网络收敛性,使用强化学习演员-评论家方法进行训练,消除机器人间冗余通信关系,降低算法训练计算复杂度,在保证动作最优的同时,提升联合训练的收敛速度。在控制机器人的过程中,机器人基于有向通信图接收其祖先机器人的历史信息和待执行的动作,结合自身的观测信息及历史信息输入动作生成模型,由动作生成模型为该机器人生成动作,并且在该机器人生成动作后,后向其他与其有依赖关系的机器人发送历史信息及待执行的动作。本申请实施例基于可训练深度有向通信图,针对复杂物流环境非稳态性,开放性特点,实现智能机器人决策实时性及通用性需求,降低人的主观错判风险。面对物流网络转型升级,智能调度决策需求大,降低运输代价提高效率,减轻转运枢纽堵塞从而提高资源利用率。不仅能够保证算法收敛性,降低环境的非稳态性,提升物流机器人群体联合策略性能。在已有的基准环境测试中,本申请实施例提供的方案能够获得更优的性能。由于本申请实施例提供的方案具有性能强、执行效率高、训练收敛快的特点,本申请实施例提供的方案的应用潜力巨大。
图8至图12为本申请实施例提供的对比多种模型的性能参数的示意图,如图8所示,对比指标为平均胜率、平均累计回报或学习速度。在多种测试环境中,将不同的多机器人通信强化学习算法,与本申请实施例提供的基于动态可微有向通信图的物流机器人智能化决策及强化学习方法进行性能对比。图8为本申请实施例提供的方案在多机器人协调挑战基准上,多个任务与其他多智能体强化学习通信方法的性能对比图,能够获知本申请在稳定胜率、平均回报与学习速度上优于其他强化学习算法。图9为本申请在多机器人强化学习环境多个地图任务与其他强化学习算法的性能对比图,能够获知本申请在稳定胜率、平均回报与学习速度上优于其他强化学习算法;图10为本申请在多机器人强化学习环境多个地图任务与更多的其他强化学习算法进行对比,能够获知本申请在稳定胜率、平均回报与学习速度上优于其他强化学习算法;图11为本申请在捕食者-被捕食者环境中以不同惩罚因子与其他强化学习通信方法的性能对比图,能够获知不同惩罚因子情况下,本申请均优于其他强化学习通信方法。图12为本申请实施例提供的模型训练方法的对比消融实验。对比方法包括不完全采用本申请实施例提供的模型训练方法的多个方法,在多个地图证明了本申请实施例提供的模型训练方法的完整性和有效性。
图13、图14和图15均是本申请实施例提供的模型训练方法的流程图。图在训练模型的过程中,通过预处理决策模块、机器人有向通信图生成模块、机器人通信学习模块及策略网络更新模块,实现动作生成模型的更新。
对于预处理决策模型:通过从机器人所处的环境中获取物流机器人的观测信息及历史信息,通过编码网络映射为观测特征与依赖特征,输入动作生成模型,由动作生成模型输出预决策数据,预决策数据包括决策动作(即机器人待执行的动作)。
对于机器人有向通信图生成模块:通过有向通信图网络,将机器人的依赖特征及预决策数据根据注意力机制,分别投影到查询空间及签名空间,并通过点乘注意力获取机器人间的有向通信图,即相互依赖程度。
对于机器人通信学习模块:根据有向通信图指示的依赖关系,机器人获取祖先机器人经过自注意力机制融合后的历史信息与祖先机器人的决策动作,通信次数为有向图深度,收集训练过程中的经验数据。
对于策略网络更新模块:基于线性值分解网络与有向通信图的值函数,为每个机器人分配状态-动作值函数,更新动作生成模型;或基于联合策略,使用深度有向图策略梯度优化方法更新动作生成模型;根据演员-评论家框架更新有向通信图网络的参数,消除有向通信图网络生成的有向通信图中的环。重复执行上述过程,直至迭代训练动作生成模型的次数达到次数阈值,或者,当前训练动作生成模型中的损失值小于损失阈值。
本方法基于物流机器人群体的历史信息、观测信息、通信信息以及决策动作,构建机器人间有向无环图,在高效通信的同时,保证算法表征能力,同时完成机器人间状态-动作效用分配。本申请实施例提供的方法,使用基于值函数与基于深度有向图策略梯度两种方式训练策略网络,同时对于机器人间依赖关系深度有向图进行训练,使得算法能够高效自主训练学习到最优联合策略与最优通信方式。
图16是本申请实施例提供的一种模型训练装置的结构示意图,如图16所示,该装置包括:
获取模块1601,用于获取第一历史信息及第一观测信息,第一历史信息包括第一机器人执行的历史动作及用于生成历史动作的历史观测信息,第一观测信息指示多个机器人的状态,多个机器人包括第一机器人且位于同一区域;
生成模块1602,用于通过动作生成模型,基于第一历史信息及第一观测信息,生成第一动作,第一动作为第一机器人待执行的动作;
获取模块1601,还用于基于第一历史信息、第一观测信息及第一动作,获取第一机器人的依赖关系,依赖关系指示第一机器人执行的动作,依赖于第二机器人执行的动作及第二机器人的历史信息;
获取模块1601,还用于基于依赖关系,获取第二历史信息及第二动作,第二历史信息为第二机器人的历史信息,第二动作为第二机器人待执行的动作;
训练模块1603,用于基于第一历史信息、第一观测信息、第一动作、第二历史信息及第二动作,对动作生成模型进行训练。
在一种可能实现方式中,训练模块1603,用于对第一历史信息及第一观测信息进行特征提取,得到第一观测特征;对第二历史信息及第二动作进行特征提取,得到通信特征;基于第一观测特征、第一动作及通信特征,对动作生成模型进行训练。
在另一种可能实现方式中,训练模块1603,用于通过动作生成模型,对第一观测特征及通信特征进行处理,得到第三动作;基于第一动作及第三动作,对动作生成模型进行训练。
在另一种可能实现方式中,第三动作与动作生成模型的模型参数相关,训练模块1603,用于基于第一动作与第三动作的比值,构建关系数据,关系数据指示数值与比值之间的关系;基于关系数据,确定数值取最小值时的模型参数的取值;基于确定的模型参数,更新动作生成模型。
在另一种可能实现方式中,训练模块1603,用于通过奖励模型,基于第一观测特征,确定第一奖励,第一奖励为第一机器人执行第三动作后得到的奖励;基于第一奖励,确定第三动作的准确度;基于比值及第三动作的准确度,构建关系数据,关系数据指示数值与比值和第三动作的准确度之间的关系。
在另一种可能实现方式中,如图17所示,装置还包括:
提取模块1604,用于对第三历史信息及第三观测信息进行特征提取,得到第二观测特征,第三历史信息包括第一历史信息及第一观测信息,第三观测信息指示第一机器人执行第一动作后,多个机器人的状态;
处理模块1605,用于通过奖励模型,对第二观测特征进行处理,得到第二奖励;
训练模块1603,还用于基于第一奖励及第二奖励,对奖励模型进行训练。
在另一种可能实现方式中,训练模块1603,用于基于第一动作及第一观测特征,确定第一动作的贡献度,贡献度指示第一机器人执行第一动作后作出的贡献;基于第一动作、第二动作、第一观测特征及通信特征,确定第一动作与第二动作的联合贡献度;基于第一动作的贡献度及联合贡献度,对动作生成模型进行训练。
在另一种可能实现方式中,如图17所示,装置还包括:
提取模块1604,用于对第一历史信息及第一观测信息进行特征提取,得到第一观测特征;
生成模块1602,用于通过动作生成模型,对第一观测特征进行处理,得到第一动作。
在另一种可能实现方式中,
获取模块1601,还用于获取通信信息,通信信息用于表示第一机器人所依赖的机器人的历史信息及待执行的动作,通信信息为空;
生成模块1602,还用于通过动作生成模型,基于第一历史信息、第一观测信息及通信信息,生成第一动作。
在另一种可能实现方式中,获取模块1601,用于对第一历史信息及第一观测信息进行特征提取,得到依赖特征;基于依赖特征及第一动作,获取第一机器人的依赖关系。
在另一种可能实现方式中,获取模块1601,用于对依赖特征及第一动作的动作特征进行第一特征变换,得到第一特征;对依赖特征及动作特征进行多次第二特征变换,得到多个第二特征,多个第二特征与第三机器人一一对应,第三机器人为多个机器人中除第一机器人以外的机器人;基于多个第二特征及第一特征,获取依赖关系。
在另一种可能实现方式中,获取模块1601,用于将多个第二特征分别与第一特征进行融合,得到多个依赖参数,依赖参数指示对应的第三机器人与第一机器人之间的依赖情况;将多个依赖参数,构成依赖关系。
在另一种可能实现方式中,基于依赖特征及第一动作,获取第一机器人的依赖关系由关系预测模型执行;如图17所示,装置还包括:
排序模块1606,用于对依赖关系进行排序;
训练模块1603,还用于基于依赖关系及排序后的依赖关系,对关系预测模型进行训练。
需要说明的是:上述实施例提供的模型训练装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的模型训练装置与模型训练方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图18是本申请实施例提供的一种机器人控制装置的结构示意图,如图18所示,该装置包括:
获取模块1801,用于获取第一机器人的历史信息及观测信息,观测信息指示多个机器人的状态,多个机器人包括第一机器人且位于同一区域,历史信息包括第一机器人执行的历史动作及用于生成历史动作的历史观测信息;
获取模块1801,还用于基于第一机器人的依赖关系,获取第二机器人的历史信息及待执行的动作,依赖关系指示第一机器人执行的动作,依赖于第二机器人执行的动作及第二机器人的历史信息;
生成模块1802,用于通过动作生成模型,基于第一机器人的历史信息及观测信息、第二机器人的历史信息及待执行的动作,生成目标动作,目标动作为第一机器人待执行的动作;
控制模块1803,用于控制第一机器人执行目标动作。
需要说明的是:上述实施例提供的机器人控制装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的机器人控制装置与机器人控制方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,存储器中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现上述实施例的模型训练方法所执行的操作;或者,以实现上述实施例的机器人控制方法所执行的操作。
可选地,计算机设备提供为终端。图19示出了本申请一个示例性实施例提供的终端1900的结构框图。该终端1900可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能语音交互设备、智能家电及车载终端等。终端1900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
终端1900包括有:处理器1901和存储器1902。
处理器1901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1901可以集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1902中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器1901所执行以实现本申请中方法实施例提供的模型训练方法或者机器人控制方法。
在一些实施例中,终端1900还可选包括有:外围设备接口1903和至少一个外围设备。处理器1901、存储器1902和外围设备接口1903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1903相连。具体地,外围设备包括:射频电路1904、显示屏1905、摄像头组件1906、音频电路1907和电源1908中的至少一种。
外围设备接口1903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1901和存储器1902。在一些实施例中,处理器1901、存储器1902和外围设备接口1903被集成在同一芯片或电路板上;在一些其他实施例中,处理器1901、存储器1902和外围设备接口1903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1905是触摸显示屏时,显示屏1905还具有采集在显示屏1905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1901进行处理。此时,显示屏1905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1905可以为一个,设置在终端1900的前面板;在另一些实施例中,显示屏1905可以为至少两个,分别设置在终端1900的不同表面或呈折叠设计;在另一些实施例中,显示屏1905可以是柔性显示屏,设置在终端1900的弯曲表面上或折叠面上。甚至,显示屏1905还可以设置成非矩形的不规则图形,也即异形屏。显示屏1905可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-EmittingDiode,有机发光二极管)等材质制备。
摄像头组件1906用于采集图像或视频。可选地,摄像头组件1906包括前置摄像头和后置摄像头。前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1901进行处理,或者输入至射频电路1904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1901或射频电路1904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1907还可以包括耳机插孔。
电源1908用于为终端1900中的各个组件进行供电。电源1908可以是交流电、直流电、一次性电池或可充电电池。当电源1908包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
本领域技术人员可以理解,图19中示出的结构并不构成对终端1900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
可选地,计算机设备提供为服务器。图20是本申请实施例提供的一种服务器的结构示意图,该服务器2000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)2001和一个或一个以上的存储器2002,其中,存储器2002中存储有至少一条计算机程序,至少一条计算机程序由处理器2001加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种机器人,机器人包括处理器和存储器,存储器中存储有至少一条计算机程序,至少一条计算机程序由处理器加载并执行以实现如上述方面的机器人控制方法所执行的操作。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现上述实施例的模型训练方法所执行的操作;或者,以实现上述实施例的机器人控制方法所执行的操作。
本申请实施例还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行以实现上述实施例的模型训练方法所执行的操作;或者,以实现上述实施例的机器人控制方法所执行的操作。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上仅为本申请实施例的可选实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
- 模型训练方法、广告推荐方法、相关装置、设备及介质
- 活体检测模型的训练方法、检测方法、装置、介质及设备
- 神经网络的训练方法、横向控制方法、装置、设备及介质
- 模型训练方法、装置、设备以及介质
- 机器学习模型训练方法、装置、存储介质和计算机设备
- 模型训练方法、机器人控制方法、装置、设备及介质
- 客服机器人的模型训练方法、装置、电子设备及介质