1.本技术涉及互联网技术领域,特别涉及目标对象控制方法和装置、计算设备、计算机可读存储介质及计算机程序产品。
背景技术:2.目前,深度强化学习控制算法在对机器人进行控制方面得到了广泛的应用,并在此算法基础之上发展出了各种控制机器人的神经网络。不同的神经网络在不同的应用场景具有不同的性能,在稀疏奖励的环境中,如何提升控制机器人的神经网络的性能,成为亟待解决的问题。
3.在相关技术中,一种技术方案称为后见之明经验回放(hindsight experience replay,her),通过随机对环境交互数据进行修改,根据机器人曾经达到过的环境状态来修改目标值,来提升控制机器人的神经网络的训练效果,但效果不显著。另外一种技术方案称为基于后见之明经验回放的能量的优先回放(her energy based prioritization,herebp),应用在控制机械手的三维环境中,通过物理公式计算两个目标之间动能差、势能差和旋转势能差来优先回放训练数据,从而提高控制机械手的神经网络的训练效果,但这种技术方案可应用场景太少,泛化能力较差。另有一种技术方案称为课程引导的后见之明经验回放(curriculum-guided,cher),该技术方案根据特定场景的特征提出了一种函数用来计算回放数据的优先级,同样仅适用于该特定场景的应用,泛化能力较差。还有一种技术方案称为价值分歧采样(value disagreement sampling,vds),通过计算环境交互数据的目标值的不确定性来回放训练数据,来提升控制机器人的神经网络的训练效果,但这要求环境可以被修改或设计。以上各技术方案泛化能力较差,需要修改环境。
技术实现要素:4.鉴于此,本技术提供了目标对象控制方法和装置、计算设备、计算机可读存储介质及计算机程序产品,期望缓解或克服上面提到的部分或全部缺陷以及其他可能的缺陷。
5.根据本技术的第一方面,提供了一种目标对象控制方法,包括:获取来源于智能体网络的多个环境交互数据并基于所述多个环境交互数据确定候选样本数据集,其中所述多个环境交互数据中的每个环境交互数据至少包括环境状态、目标值、执行动作,所述候选样本数据集包括至少一部分环境交互数据,所述智能体网络包括执行者网络和评价网络,所述执行者网络用于基于环境状态和目标值来确定执行动作,所述评价网络包括多个子评价网络,每个子评价网络用于基于所述环境状态、所述目标值和所述执行动作来评价所述执行者网络;将候选样本数据集中的每个候选样本数据分别输入到所述评价网络的多个子评价网络,并利用各个自评价网络的输出值的一致性来确定所述候选样本数据的采样优先级;根据所述每个候选样本数据的采样优先级来对所述候选样本数据集进行采样;基于被采样的候选样本数据对所述智能体网络进行训练;根据所述经训练的智能体网络中的执行者网络对所述目标对象进行控制。
6.根据本技术的第二方面,提供了一种目标对象控制装置,包括:获取模块,配置为获取来源于智能体网络的多个环境交互数据并基于所述多个环境交互数据确定候选样本数据集,其中所述多个环境交互数据中的每个环境交互数据至少包括环境状态、目标值、执行动作,所述候选样本数据集包括至少一部分环境交互数据,所述智能体网络包括执行者网络和评价网络,所述执行者网络用于基于环境状态和目标值来确定执行动作,所述评价网络包括多个子评价网络,每个子评价网络用于基于所述环境状态、所述目标值和所述执行动作来评价所述执行者网络;确定模块,配置为将候选样本数据集中的每个候选样本数据分别输入到所述评价网络的多个子评价网络,并利用各个子评价网络的输出值的一致性来确定所述候选样本数据的采样优先级;采样模块,配置为根据所述每个候选样本数据的采样优先级来对所述候选样本数据集进行采样;训练模块,配置为基于被采样的候选样本数据对所述智能体网络进行训练;控制模块,配置为根据所述经训练的智能体网络中的执行者网络对所述目标对象进行控制。
7.根据本技术的第三方面,提供了一种计算设备,包括存储器和处理器,其中所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时促使所述处理器执行根据本技术一些实施例的目标对象控制方法的步骤。
8.根据本技术的第四方面,提供了一种计算机可读存储介质,其上存储计算机可读指令,所述计算机可读指令在被执行时实现根据本技术一些实施例的目标对象控制方法。
9.根据本技术的第五方面,提供了一种计算机程序产品,包括计算机指令,计算机指令在被处理器执行时实现根据本技术一些实施例的目标对象控制方法的步骤。
10.在根据本技术一些实施例的目标对象控制方法和装置中,由于在稀疏奖励的环境中,具有高一致性的候选样本数据也具有较低的不确定性,体现了执行动作的较高的学习价值,因此这种数据可以显著提高智能体网络的控制性能,本方法和装置通过设计智能体网络,使用智能体网络的评价网络多个子评价网络的输出值的一致性来衡量每个候选样本数据的采样优先级,以及优先采用高采样优先级的候选样本数据来训练智能体网络,这能够显著提高智能体网络的性能。此外,根据候选样本数据对应的输出值的一致性来回放候选样本数据并不限制智能体网络的应用范围,该训练方法有较高的泛化能力,能够适应于各种环境,且不要求对环境进行修改或设计。
11.根据下文描述的实施例,本技术的这些和其它优点将变得清楚,并且参考下文描述的实施例来阐明本技术的这些和其它优点。
附图说明
12.现在将更详细并且参考附图来描述本技术的实施例,其中:图1示出了根据本技术的一些实施例的稀疏奖励的应用场景;图2示出了根据本技术的一些实施例的目标对象控制方法的示例性应用场景;图3示出了根据本技术的一些实施例的目标对象控制方法的流程图;图4示出了根据本技术的一些实施例的智能体网络的示意图;图5示出了根据本技术的一些实施例的确定候选样本数据的采样优先级的流程图;图6示出了根据本技术的一些实施例的目标对象控制方法的示意图;
图7a-7j示出了根据本技术实施例的目标对象控制方法在各种场景下应用的示意图;图8a-8d示出了根据本技术的一些实施例的目标对象控制方法在不同测试场景下的效果示意图;图9示出了根据本技术的一些实施例的目标对象控制装置的示例性结构框图;图10示出了一个示例系统,其包括代表可以实现本文描述的各种方法的一个或多个系统和/或设备的示例计算设备。
具体实施方式
13.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本技术将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
14.此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本技术的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本技术的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组件、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本技术的各方面。
15.附图中所示的方框图仅仅是功能实体,不必然与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
16.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
17.应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本技术概念的教示。如本文中所使用,术语“和/或”及类似术语包括相关联的列出项目中的任一个、多个和全部的所有组合。
18.本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本技术所必须的,因此不能用于限制本技术的保护范围。
19.在详细介绍本技术的实施例之前,为了清楚起见,首先对一些相关的概念进行解释。
20.机器学习(machine learning, ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
21.强化学习:通常用于解决序列决策问题,主要包括环境和智能体两个组成成分,智
能体根据环境状态预测执行动作,环境根据智能体的执行动作转化到新的环境状态并反馈一个数值的奖励,智能体根据环境反馈的奖励不断优化策略。
22.确定性策略梯度算法(deterministic deep policy gradient,ddpg):一种常见的强化学习算法,包含执行者和评价两部分网络,执行者网络根据环境状态确定执行动作,评价网络的输入为环境状态和动作,预测在该环境状态下采取这个动作的奖励值。随着学习的进行,执行者网络的策略越来越好,评价网络预测的奖励值越来越准确。在本技术中,根据这种算法设计的神经网络可以用作智能体网络的基本结构。
23.环境交互数据:环境与目标对象进行交互而产生的数据,通常包括环境状态、目标值、执行动作、奖励值、反馈的环境状态。
24.环境状态:指通过一些数值对环境进行描述,例如环境状态包括的二维或三维坐标、运动速度、旋转速度、运动方向等数值。
25.目标值:指希望目标对象达到环境中特定的数值,目标值中的数值是环境状态中的数值的一部分,例如目标值可以仅是在二维环境中希望到达的特定横纵坐标,而不包含速度数值。
26.执行动作:智能体网络根据环境状态能够控制目标对象做出的各种动作中,确定最有利于达到目标值的动作。例如,在环境状态,智能体网络可以控制目标对象做出左转或前进的动作,通过计算最终所确定的执行动作可以是左转动作。
27.反馈的环境状态:环境在接收到智能体网络的执行动作后,反馈给智能体网络的新的环境状态。
28.奖励值:奖励值是目标对象在执行动作之后从环境中所获取的回报值。
29.后见之明经验回放(hindsight experience replay,her):一种解决在目标导向环境中奖励稀疏问题的强化学习算法。在稀疏奖励的环境中,目标对象只有在达到目标值后才会得到为0的奖励值,在其余环境状态都只能获取-1的奖励值。在这种环境,目标对象得到的反馈的环境状态大都是奖励值为-1的环境状态,负向的奖励值导致智能体网络很难学习到策略。该方法通过修改经验池中数据的目标值为已到达的环境状态,来提高对失败数据的利用效率。
30.采样:从一批样本数据中根据每个样本数据的概率抽取一定量的样本数据作为这批样本数据的代表。
31.图1示出了根据本技术的一些实施例的稀疏奖励的应用场景100。应用场景100中包括目标对象r、目标地点a、到达地点b。
32.在应用场景100中,目标对象r被设定为前往目标地点a,目标对象r的候选样本数据的目标值可以是目标地点a的位置坐标,目标对象r的候选样本数据的环境状态可以是目标对象r的位置坐标,目标对象r在智能体网络的控制下,以目标地点a为目标做出若干执行动作,例如执行了五十步,最终到达了到达地点b。
33.例如,在应用场景100中,实现目标值,即到达目标地点a,则将奖励值为0,否则为-1。那么,目标对象r与环境的五十次交互,即环境对五十个执行动作反馈的奖励值均为-1。也就说,在应用场景100中,目标对象r能够获得奖励的情况是非常少的,而不能够获得奖励的情况是非常多的,这样的应用场景100为稀疏奖励的环境。根据本技术的实施例的目标对象控制方法可以应用于这种场景,并且所训练的智能体网络具有较好的性能。
34.图2示出了根据本技术的一些实施例的目标对象控制方法的示例性应用场景200。应用场景200中可以包括目标对象201、网络202、服务器203,服务器203通过网络202与目标对象201通信地耦合在一起。在该实施例中仅示出了一个目标对象201,但这不是限制性的,可以同时存在多个目标对象与服务器203通信地耦合在一起。目标对象201可以是任何类型的机器人。
35.在该实施例中,预先搭建智能体网络,智能体网络包括执行者网络和评价网络,执行者网络用于基于环境状态和目标值来确定执行动作,评价网络包括多个子评价网络,每个子评价网络用于基于环境状态、目标值和执行动作来评价执行者网络。这些智能体网络可以具有相同的神经网络结构,神经网络的各个参数可以被随机初始化。
36.在该实施例中,首先,服务器203获取来源于智能体网络的多个环境交互数据并基于多个环境交互数据确定候选样本数据集,其中多个环境交互数据中的每个环境交互数据至少包括环境状态、目标值、执行动作,候选样本数据集包括至少一部分环境交互数据。来源于智能体网络的多个环境交互数据可以是使用其中一个智能体网络控制目标对象与环境产生交互而得到的环境交互数据。
37.服务器203然后可以将候选样本数据集中的每个候选样本数据分别输入到评价网络的多个子评价网络,并利用各个子评价网络的输出值的一致性来确定候选样本数据的采样优先级。
38.服务器203进而根据每个候选样本数据的采样优先级来对候选样本数据集进行采样。
39.服务器203基于被采样的候选样本数据对智能体网络进行训练。
40.训练结束后,服务器203根据经训练的智能体网络中的执行者网络对目标对象进行控制。在控制过程中,例如服务器203根据目标对象201的环境状态和目标值给出关于具体的执行动作的指令,目标对象201根据指令中的执行动作做出动作,并将执行动作后所产生的环境交互数据传送给服务器203。这些中间产生的环境交互数据可以被服务器203用来重复前述训练步骤,实现对智能体网络的不断优化。
41.在图2所示的应用场景中,根据本技术的一些实施例的目标对象控制方法在服务器203上实施,但这仅仅是示意性的而非限制性的,根据本技术的一些实施例的目标对象控制方法还可以在其他具有具备充分的计算资源和计算能力的主体上实施,例如可以在具备充分的计算资源和计算能力的目标对象201上实施等。当然,也可以部分在服务器203上实施,部分在目标对象201上实施,这不是限制性的。
42.本领域普通技术人员所理解的,服务器203的实例可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
43.图3示出了根据本技术的一些实施例的目标对象控制方法的流程图。所示方法300可以在服务器(例如可以在图2所示的服务器203)上实施。在一些实施例中,在目标对象201具备充分的计算资源和计算能力的情况下,可以直接在目标对象201上执行根据本技术的一些实施例的目标对象控制方法。在另一些实施例中,根据本技术的一些实施例的目标对
象控制方法也可以由服务器203、目标对象201相组合地执行。如图3所示,根据本技术一些实施例的目标对象控制方法可以包括步骤s301-s306。
44.在步骤s301中,获取来源于智能体网络的多个环境交互数据并基于多个环境交互数据确定候选样本数据集,其中多个环境交互数据中的每个环境交互数据至少包括环境状态、目标值、执行动作,候选样本数据集包括至少一部分环境交互数据,智能体网络包括执行者网络和评价网络,执行者网络用于基于环境状态和目标值来确定执行动作,评价网络包括多个子评价网络,每个子评价网络用于基于环境状态、目标值和执行动作来评价执行者网络。在该实施例中,为了计算各个候选样本数据的采样优先级,搭建了多个子评价网络,每个子评价网络的输出值都是确定候选样本数据的采样优先级的一个因素。关于智能体网络的建立,例如可以按照确定性策略梯度算法(deterministic deep policy gradient,ddpg)分建立执行者网络和评价网络的多个子评价网络。输出值的一致性表示各个输出值的相似程度。例如,输出值2和4之间的一致性要高于输出值2和5之间的一致性。
45.在一些实施例中,每个环境交互数据还包括反馈的环境状态;并且其中获取来源于智能体网络的多个环境交互数据并基于多个环境交互数据确定候选样本数据集,包括:获取来源于智能体网络的多个环境交互数据;对于多个环境交互数据中的至少部分环境交互数据中的每个环境交互数据,基于环境交互数据的反馈的环境状态来修改环境交互数据的目标值;基于经修改的至少部分环境交互数据,更新所述多个环境交互数据以确定候选样本数据集。
46.在图1所示的实施例中,如果反馈的环境状态中的数值符合目标值,则奖励值为0,如果反馈的环境状态的数值与目标值不相符,则奖励值为-1。在图1所示的实施例中,对于所产生的环境交互数据,可以直接将到达的环境状态b点的坐标值作为目标值,使得候选样本数据的奖励值成为0。另外,还可以将目标对象201从环境状态到所到达的环境状态b点之间的五十步执行操作中,根据这五十步中任一步对应的环境交互数据的反馈的环境状态来修改目标值,这样该环境交互数据的奖励值也是0。这些被修改的环境交互数据都作为候选样本数据。为了减小候选样本数据的数量,针对每个环境交互数据,可以仅做一次修改。
47.由于本实施例可以面向稀疏奖励环境,所以通过修改环境交互数据的方式可以显著提升智能体网络的学习效率。
48.在步骤s302中,将候选样本数据集中的每个候选样本数据分别输入到评价网络的多个子评价网络,并利用各个子评价网络的输出值的一致性来确定候选样本数据的采样优先级。候选样本数据对应的输出值具有较高的一致性意味着也具有较低的不确定性,利用该候选样本数据进行训练可以较为有效的提升智能体网络的性能。因此候选样本数据对应的输出值的一致性是确定训练数据的采样优先级的良好指标。
49.在步骤s303中,根据每个候选样本数据的采样优先级来对候选样本数据集进行采样。因为候选样本数据对应的输出值的一致性是确定训练数据的采样优先级的良好指标,所以高采样优先级的候选样本数据更可能被优先回放到训练过程中。在实践中,可能还存在其他提升智能体网络性能的指标,因此在选择用于训练智能体网络的候选样本数据时,按照采样的方式进行,即不排除低采样优先级的候选样本数据用于智能体的训练。
50.在步骤s304中,基于被采样的候选样本数据对智能体网络进行训练。因为评价网络可以评价执行者网络,所以可以使用评价网络来调整执行者网络的参数。
51.在步骤s305中,根据经训练的智能体网络中的执行者网络对目标对象进行控制。在实践过程中,不再需要评价网络的评价作用,为了简便起见,可以仅使用执行者网络对目标对象进行控制。
52.在根据本技术一些实施例的目标对象控制装置中,由于在稀疏奖励的环境中,具有高一致性的候选样本数据也具有较低的不确定性,体现了执行动作的较高的学习价值,因此这种数据可以显著提高智能体网络的控制性能,本方法通过设计智能体网络,使用智能体网络的评价网络多个子评价网络的输出值的一致性来衡量每个候选样本数据的采样优先级,以及优先采用高采样优先级的候选样本数据来训练智能体网络,这能够显著提高智能体网络的性能。此外,根据候选样本数据对应的输出值的一致性来回放候选样本数据并不限制智能体网络的应用范围,该训练方法有较高的泛化能力,能够适应于各种环境,且不要求对环境进行修改或设计。
53.在一些实施例中,该智能体网络的执行者网络包括多个子执行者网络;并且其中多个子执行者网络均包括特征提取层和预测层,特征特区层用于提取候选样本数据的特征,预测层用于根据候选样本数据的特征来确定执行动作;并且其中多个子执行者网络共同使用同一特征提取层。由于智能体网络的多个子执行者网络共同使用同一特征提取层,智能体网络的多个子执行者网络的预测层的预测对象来自于同一特征提取层,并且在多个子执行者网络的训练过程中,都对该特征提取层的参数进行调整。在一些实施例中,该特征提取层可以是两层全连接层。
54.在一些实施例中,每个子评价网络的输出值为预测的奖励值,并且其中将候选样本数据集中的每个候选样本数据分别输入到评价网络的多个子评价网络,并利用候选样本数据对应的输出值的一致性来确定候选样本数据的采样优先级,包括:对于候选样本数据集中的每个候选样本数据,分别执行下述步骤:将候选样本数据分别输入到评价网络的多个子评价网络,得到多个预测的奖励值;利用候选样本数据对应的多个预测的奖励值的一致性来确定候选样本数据的采样优先级。
55.图4示出了根据本技术的一些实施例的智能体网络的示意图。图4示出了n个子执行者网络所共同使用的特征提取层401,n可以是任何大于1的自然数,第一子执行者网络的预测层402,第n子执行者网络的预测层403,n个子评价网络所共同的特征提取层404,第一子评价网络的预测层405,第n子评价网络的预测层406。
56.在该实施例中,可以向n个子执行者网络所共同的特征提取层401输入环境状态s、目标值g,特征提取层401提取这些数据的特征,并将所提取的特征传送给智能体网络的执行者网络的预测层401、402等,第一子执行者网络的预测层402根据所提取的特征,确定执行动作a1,第n子执行者网络的预测层403根据所提取的特征,确定执行动作an。
57.另外,可以向n个子评价网络所共同的特征提取层404输入执行动作a、环境状态s、目标值g,特征提取层401提取这些数据的特征,并将所提取的特征传送给智能体网络的评价网络的预测层405、406等,第一子评价网络的预测层405根据所提取的特征,预测奖励值r1,第n子评价网络的预测层406根据所提取的特征,预测奖励值rn。
58.关于如何获取多个环境交互数据,在一些实施例中,每个环境交互数据的执行动作由智能体网络中的执行者网络根据环境交互数据的环境状态和目标值而确定。例如,在图4所示的智能体网络的执行者网络中随机选择一个子执行者网络,例如选中第k子执行者
网络,其中1《k《n,使用第k子执行者网络根据所输入的环境状态和目标值,通过控制目标对象与环境进行交互,连续做出若干执行动作,这个过程中所产生的若干环境交互数据可以直接作为步骤s301中获取的多个环境交互数据。
59.确定候选样本数据的采样优先级可以具有不同的实现方式。在一些实施例中,利用候选样本数据对应的多个预测的奖励值的一致性来确定候选样本数据的采样优先级,包括:确定候选样本数据的多个预测的奖励值的方差,作为候选样本数据的方差;根据候选样本数据的方差来确定候选样本数据的采样优先级,其中候选样本数据的采样优先级与相应的方差成负相关。在该实施例中,由于智能体网络的评价网络的多个子评价网络是被随机初始化的,每个子评价网络针对同一候选样本数据预测的奖励值也是不一致的,因此可以通过这些预测的奖励值的一致性来确定候选样本数据的采样优先级。
60.进一步地,在一些实施例中,根据候选样本数据的方差来确定候选样本数据的采样优先级,包括:将候选样本数据集的各个候选样本数据的方差中的最大的方差与候选样本数据的方差的差值作为候选样本数据的中间采样优先级;将候选样本数据集的各个候选样本数据的中间采样优先级之和作为总采样优先级;基于候选样本数据的中间采样优先级与总采样优先级之商来确定候选样本数据的采样优先级。作为一种数学工具,方差可以较好的反映数据的一致性。因此针对每个候选样本数据对应的多个预测的奖励值,可以计算该多个预测的奖励值的方差,从而较为准确的确定候选样本数据的采样优先级。方差越大,说明多个预测的奖励值偏移平均值较大,越不一致,方差越小,说明多个预测的奖励值偏移平均值较小,越一致,因此,应当将候选样本数据的采样优先级与候选样本数据的多个预测的奖励值的方差建立负相关关系。作为示例,可以将对应方差的倒数作为候选样本数据的采样优先级。
61.进一步地,图5示出了根据本技术的一些实施例的确定候选样本数据的采样优先级的流程图,包括步骤s501-s503。该实施例为对步骤s302的扩展。
62.在步骤s501,将候选样本数据集的方差中的最大的方差与候选样本数据的方差的差值作为候选样本数据的中间采样优先级。假定候选样本数据集的方差中的最大的方差为a,对于候选样本数据集的中的任一候选样本数据m的方差b,则候选样本数据m的中间采样优先级为a-b。每个候选样本数据的方差的系数为-1,所以每个候选样本数据的中间采样优先级与相应的方差成负相关。将候选样本数据的方差加上候选样本数据集的方差中的最大的方差可以确保各个候选样本数据的中间采样优先级大于等于零,这可以确保采样概率为正值。
63.在步骤s502,将多个候选样本数据的中间采样优先级之和作为总采样优先级。总采样优先级指示了该多个候选样本数据的总的一致性。
64.在步骤s503,基于候选样本数据的中间采样优先级与总采样优先级之商来确定候选样本数据的采样优先级。按照这样的方式,每个候选样本数据的采样优先级被确定为中间采样优先级高占总采样优先级的百分比,其值处于0到100%之间,并且其和为1,因此可以直接用作采样概率。
65.进一步地,在一些实施例中,基于候选样本数据的中间采样优先级与总采样优先级之商来确定候选样本数据的采样优先级,包括:将预设参数作为幂,对候选样本数据的中间采样优先级与总采样优先级之商进行幂运算,作为候选样本数据的采样优先级,其中预
设参数大于零。该预设参数起到调节区分度的作用,具体而言,当预设参数被设置为0到1之间的数值时,各个候选样本数据之间的采样优先级的区分度不明显,各个采样优先级之间差距比较接近,当预设参数被设置为大于1的数值时,各个候选样本数据的采样优先级之间的区分度明显,各个采样优先级之间差距比较大。可以根据具体情况选择不同的预设参数来调节各个候选样本数据的采样优先级之间的区分度。
66.在一些实施例中,可以根据公式(1)来确定候选样本数据的采样优先级:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中是候选样本数据i的采样优先级,a是候选样本数据集,是候选样本数据集的各个候选样本数据的方差中的最大的方差,是候选样本数据i的方差,是极小值,用于防止出现分子为零的情况,是候选样本数据集a中各个候选样本数据的中间采样优先级之和与极小值的和,作为总采样优先级。
67.在确定多个候选样本数据的采样优先级之后,该多个候选样本数据的采样优先级之和可能大于1,也可能在0到1之间,这对于采样来说是有缺陷,导致可能无法抽到任何候选样本数据。在一些实施例中,根据每个候选样本数据的采样优先级来对候选样本数据集进行采样,包括:将候选样本数据集的采样优先级归一化,以得到每个候选样本数据的归一化结果;将每个候选样本数据的归一化结果作为候选样本数据的被采样概率;按照每个候选样本数据的被采样概率来对候选样本数据集进行采样。经过归一化操作后,各个候选样本数据的采样优先级均处于0到1之间,并且其和为1,可以直接作为采样概率使用。
68.在一些实施例中,每个环境交互数据还包括奖励值;并且其中基于被采样的候选样本数据对智能体网络进行训练,包括:对于每个智能体网络,分别执行下述步骤:根据被采样的候选样本数据的环境状态和目标值,使用智能体网络的执行者网络来计算智能体网络的执行动作;根据智能体网络的执行动作、被采样的候选样本数据的环境状态和目标值,使用智能体网络的评价网络的多个子评价网络来预测智能体网络的执行动作的奖励值;基于所预测的奖励值和被采样的候选样本数据的奖励值,对评价网络的参数和相应的执行者网络的参数进行调整。在该实施例中,虽然被采样的候选样本数据包括执行动作,但该执行动作未被用来输入到任何子评价网络来预测奖励值,而是将执行者网络所确定的执行动作输入到子评价网络。
69.图6示出了根据本技术的一些实施例的目标对象控制方法的示意图。
70.在该实施例中,首先由智能体网络604中的执行者网络针对环境状态和目标值,控制目标对象与环境进行交互,从而得到一组环境交互数据,这些环境交互数据形成多个环境交互数据602。然后对环境交互数据602中的部分环境交互数据进行修改,得到候选样本数据集603。然后计算候选样本数据集603中每个候选样本数据的采样优先级并根据采样优先级来采样,使用被采样的候选样本数据来训练智能体网络604。在训练过程中,智能体网络604的执行者网络所产生的执行动作可以用于控制目标对象601,从而产生多个环境交互数据,这些环境交互数据可以用来重复前述过程,实现对智能体网络604的不断优化。
71.图7a-7j示出了根据本技术实施例的目标对象控制方法在各种场景下应用的示意
图,其中,如图7a所示,是机器手部伸展的场景(handreach-v0),其中执行者网络控制机器手用它的大拇指和一个选定的机器手指去触及暗影701,这里的目标对象是机器手。如图7b所示,是机器手控制方块的示意图,这里的目标对象是机器手,如果是设定了移动位置的场景(handmanipulateblockfull-v0),则执行者网络控制机器手操纵一个方块702,直到它达到一个期望的移动位置和旋转角度;如果是没有设定移动位置且设定为仅垂直方向旋转的场景(handmanipulateblockz-v0),执行者网络控制机器手操纵一个方块702在垂直方向上旋转到目标角度;如果是没有设定移动位置且设定为仅平行方向旋转的场景(handmanipulateblockparallel-v0),执行者网络控制机器手操纵一个方块702在水平方向上旋转到目标角度;如果是没有设定移动位置且设定为三维方向旋转的场景(handmanipulateblockxyz-v0),执行者网络控制机器手操纵一个方块702在任意方向上旋转到目标角度。如图7c所示,是机器手操作一个鸡蛋或球体的示意图,这里的目标对象是机器手,如果是指定了移动位置的场景(handmanipulateeggfull-v0),则执行者网络控制控制机器手必须操纵一个鸡蛋或球体703,直到它达到一个理想的移动位置和旋转角度,如果是没有指定移动位置的场景(handmanipulateeggrotate-v0),则仅操纵操纵一个鸡蛋或球体703达到一个理想的旋转角度。如图7d所示,是机器手操作一支笔或木棒的示意图,这里的目标对象是机器手,如果是指定了移动位置的场景(handmanipulatepenfull-v0),则执行者网络控制机器手操纵一支笔或木棒704,直到它达到一个理想的移动位置和旋转角度,如果是没有指定移动位置的场景(handmanipulatepenrotate-v0),则仅操纵一支笔或木棒704达到一个理想的旋转角度。图7e是机器人到达某位置的场景(fetchreach) ,这里的目标对象是机器人,执行者网络控制机器人的末端效应器705移动到所需的移动位置。图7f是机器人滑动的场景(fetchslide),执行者网络控制机器人在一定方向上进行移动,并在所需的目标上休息,这里的目标对象是机器人。图7g是机器人推动的场景(fetchpush),执行者网络控制机器人移动一个盒子706,直到盒子706到达所需的移动位置,这里的目标对象是机器人。图7h是机器人拾取的场景(fetchpickandplace),执行者网络控制机器人用它的夹子从桌子上拿起一个盒子707,并把盒子707移到桌子上方的移动位置,这里的目标对象是机器人。图7i是无墙壁二维场景(pointmassemptyenv-v1),机器人可以在到达二维场景中的任意一个点,目标点是二维场景中指定点,执行者网络控制机器人到达目标点,这里的目标对象是机器人。图7j是中间墙壁二维场景(pointmassemptyenv-v1),二维场景中间存在一面墙壁,执行者网络控制机器人到达目标点,但不可以控制机器人直接跨越该墙壁而到达目标点,这里的目标对象是机器人。
72.图8a-d示出了根据本技术的一些实施例的目标对象控制方法在不同测试场景下的效果示意图。如图8a-d所示,每个子图表示在一种测试场景下的效果曲线图。测试场景1对应于图7i的场景(pointmassemptyenv-v1)。测试场景2对应于图7j的场景(pointmassemptyenv-v1)。测试场景3是机器臂场景(reacher-v2),执行者网络控制机器臂到达目标位置。测试场景4对应于图7e的场景。测试场景5对应于图7g的场景。测试场景6对应于图7f的场景(fetchreach)。测试场景7对应于图7h的场景(fetchpickandplace)。测试场景8对应于图7a的场景(handreach-v0)。测试场景9对应于图7d的无移动位置的场景(handmanipulatepenrotate-v0)。测试场景10对应于图7c的无移动位置的场景(handmanipulateeggrotate-v0)。测试场景11对应于图7c的有移动位置的场景
(handmanipulatepenfull-v0)。测试场景12对应于图7d的有移动位置的场景(handmanipulateeggfull-v0)。测试场景13对应于图7b的有移动位置的场景(handmanipulateblockfull-v0)。测试场景14对应于图7b的无移动位置且仅垂直方向旋转的测试场景(handmanipulateblockz-v0)。测试场景15对应于图7b的无移动位置且三维方向旋转的场景(handmanipulateblockxyz-v0)。测试场景16对应于图7b的无移动位置且仅平行方向旋转的场景(handmanipulateblockparallel-v0)。在测试场景1-16中,每个子图的纵坐标表示成功率,横坐标表示目标对象的步数,实线所标识的效果为本技术的执行者网络的效果,其他虚线所标识的效果是her、herebp、cher、vds技术方案的效果。从图中可以看出根据本技术的一些实施例的目标对象控制方法所得到的执行者网络在各个测试场景相对于其他技术方案具有良好的性能,泛化能力强,且不需要修改或设计环境。
73.图9示出了根据本技术的一些实施例的目标对象控制装置900的示例性结构框图。该装置900装置与至少一个槽位之间存在可变更的关联关系,所述至少一个槽位中的每个槽位具有对应的客户端,所述装置保存有针对每个槽位的版本信息、以及与每个槽位对应的序列号的分配相关的分配信息,该装置900包括:获取模块901、确定模块902、采样模块903、训练模块904、控制模块905。获取模块901被配置为获取来源于智能体网络的多个环境交互数据并基于多个环境交互数据确定候选样本数据集,其中多个环境交互数据中的每个环境交互数据至少包括环境状态、目标值、执行动作,候选样本数据集包括至少一部分环境交互数据,智能体网络包括执行者网络和评价网络,执行者网络用于基于环境状态和目标值来确定执行动作,评价网络包括多个子评价网络,每个子评价网络用于基于环境状态、目标值和执行动作来评价执行者网络。确定模块902被配置为将候选样本数据集中的每个候选样本数据分别输入到评价网络的多个子评价网络,并利用候选样本数据对应的输出值的一致性来确定候选样本数据的采样优先级。采样模块903配置为根据每个候选样本数据的采样优先级来对候选样本数据集进行采样。训练模块904配置为基于被采样的候选样本数据对智能体网络进行训练。控制模块905配置为根据经训练的智能体网络中的执行者网络对目标对象进行控制。
74.应注意,上述各种模块可以以软件或硬件或两者的组合来实现。多个不同模块可以在同一软件或硬件结构中实现,或者一个模块可以由多个不同的软件或硬件结构实现。
75.在根据本技术一些实施例的目标对象控制装置中,由于在稀疏奖励的环境中,具有高一致性的候选样本数据也具有较低的不确定性,体现了执行动作的较高的学习价值,因此这种数据可以显著提高智能体网络的控制性能,本装置通过设计智能体网络,使用智能体网络的评价网络多个子评价网络的输出值的一致性来衡量每个候选样本数据的采样优先级,以及优先采用高采样优先级的候选样本数据来训练智能体网络,这能够显著提高智能体网络的性能。此外,根据候选样本数据对应的输出值的一致性来回放候选样本数据并不限制智能体网络的应用范围,该训练方法有较高的泛化能力,能够适应于各种环境,且不要求对环境进行修改或设计。
76.图10图示了示例系统1000,其包括代表可以实现本文描述的各种方法的一个或多个系统和/或设备的示例计算设备1010。计算设备1010可以是例如服务提供商的服务器、与服务器相关联的设备、片上系统、和/或任何其它合适的计算设备或计算系统。上面参照图9描述的目标对象控制装置900可以采取计算设备1010的形式。替换地,目标对象控制装置
900可以以应用1016的形式被实现为计算机程序。
77.如图示的示例计算设备1010包括彼此通信耦合的处理系统1011、一个或多个计算机可读介质1012以及一个或多个i/o接口1013。尽管未示出,但是计算设备1010还可以包括系统总线或其他数据和命令传送系统,其将各种组件彼此耦合。系统总线可以包括不同总线结构的任何一个或组合,总线结构诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种总线架构中的任何一种的处理器或局部总线。还构思了各种其他示例,诸如控制和数据线。
78.处理系统1011代表使用硬件执行一个或多个操作的功能。因此,处理系统1011被图示为包括可被配置成处理器、功能块等的硬件元件1014。这可以包括在硬件中实现为专用集成电路或使用一个或多个半导体形成的其它逻辑器件。硬件元件1014不受其形成的材料或其中采用的处理机构的限制。例如,处理器可以由(多个)半导体和/或晶体管(例如,电子集成电路(ic))组成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
79.计算机可读介质1012被图示为包括存储器/存储装置1015。存储器/存储装置1015表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储装置1015可以包括易失性介质(诸如随机存取存储器(ram))和/或非易失性介质(诸如只读存储器(rom)、闪存、光盘、磁盘等)。存储器/存储装置1015可以包括固定介质(例如,ram、rom、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。计算机可读介质1012可以以下面进一步描述的各种其他方式进行配置。
80.一个或多个i/o接口1013代表允许用户使用各种输入设备向计算设备1010输入命令和信息并且可选地还允许使用各种输出设备将信息呈现给用户和/或其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置成检测物理触摸的容性或其他传感器)、相机(例如,可以采用可见或不可见的波长(诸如红外频率)将不涉及触摸的运动检测为手势)等等。输出设备的示例包括显示设备、扬声器、打印机、网卡、触觉响应设备等。因此,计算设备1010可以以下面进一步描述的各种方式进行配置以支持用户交互。
81.计算设备1010还包括应用1016。应用1016可以例如是目标对象控制装置900的软件实例,并且与计算设备1010中的其他元件相组合地实现本文描述的技术。
82.本技术提供了一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算设备执行上述各种可选实现方式中提供的由第一方或第二方实施的时移播放方法。
83.本文可以在软件硬件元件或程序模块的一般上下文中描述各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文所使用的术语“模块”,“功能”和“组件”一般表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。
84.所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质传输。计算机可读介质可以包括可由计算设备1010访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信
号介质”。
85.与单纯的信号传输、载波或信号本身相反,“计算机可读存储介质”是指能够持久存储信息的介质和/或设备,和/或有形的存储装置。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质和/或以适用于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据)的方法或技术实现的存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于ram、rom、eeprom、闪存或其它存储器技术、cd-rom、数字通用盘(dvd)或其他光学存储装置、硬盘、盒式磁带、磁带,磁盘存储装置或其他磁存储设备,或其他存储设备、有形介质或适于存储期望信息并可以由计算机访问的制品。
[0086]“计算机可读信号介质”是指被配置成诸如经由网络将指令发送到计算设备1010的硬件的信号承载介质。信号介质典型地可以将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波、数据信号或其它传输机制的调制数据信号中。信号介质还包括任何信息传递介质。术语“调制数据信号”是指这样的信号,该信号的特征中的一个或多个被设置或改变,从而将信息编码到该信号中。作为示例而非限制,通信介质包括诸如有线网络或直接连线的有线介质以及诸如声、rf、红外和其它无线介质的无线介质。
[0087]
如前,硬件元件1014和计算机可读介质1012代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其在一些实施例中可以用于实现本文描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统、专用集成电路(asic)、现场可编程门阵列(fpga)、复杂可编程逻辑器件(cpld)以及硅中的其它实现或其他硬件设备的组件。在这种上下文中,硬件元件可以作为执行由硬件元件所体现的指令、模块和/或逻辑所定义的程序任务的处理设备,以及用于存储用于执行的指令的硬件设备,例如,先前描述的计算机可读存储介质。
[0088]
前述的组合也可以用于实现本文的各种技术和模块。因此,可以将软件、硬件或程序模块和其它程序模块实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件1014体现的一个或多个指令和/或逻辑。计算设备1010可以被配置成实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如通过使用处理系统的计算机可读存储介质和/或硬件元件1014,可以至少部分地以硬件来实现将模块实现为可由计算设备1010作为软件执行的模块。指令和/或功能可以由一个或多个制品(例如,一个或多个计算设备1010和/或处理系统1011)可执行/可操作以实现本文所述的技术、模块和示例。
[0089]
在各种实施方式中,计算设备1010可以采用各种不同的配置。例如,计算设备1010可以被实现为包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等的计算机类设备。计算设备1010还可以被实现为包括诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等移动设备的移动装置类设备。计算设备1010还可以实现为电视类设备,其包括具有或连接到休闲观看环境中的一般地较大屏幕的设备。这些设备包括电视、机顶盒、游戏机等。
[0090]
本文描述的技术可以由计算设备1010的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。功能还可以通过使用分布式系统、诸如通过如下所述的平台1022而在“云”1020上全部或部分地实现。
[0091]
云1020包括和/或代表用于资源1024的平台1022。平台1322抽象云1020的硬件(例
如,服务器)和软件资源的底层功能。资源1024可以包括在远离计算设备1010的服务器上执行计算机处理时可以使用的应用和/或数据。资源1024还可以包括通过因特网和/或通过诸如蜂窝或wi-fi网络的订户网络提供的服务。
[0092]
平台1022可以抽象资源和功能以将计算设备1010与其他计算设备连接。平台1022还可以用于抽象资源的分级以提供遇到的对于经由平台1022实现的资源1024的需求的相应水平的分级。因此,在互连设备实施例中,本文描述的功能的实现可以分布在整个系统1000内。例如,功能可以部分地在计算设备1010上以及通过抽象云1020的功能的平台1022来实现。
[0093]
本公开提供了一种计算机可读存储介质,其上存储有计算机可读指令,计算机可读指令在被执行时实现上述的任一方法。
[0094]
本公开提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算设备执行上述各种可选实现方式中提供的任一方法。
[0095]
应当理解,为清楚起见,参考不同的功能单元对本技术的实施例进行了描述。然而,将明显的是,在不偏离本技术的情况下,每个功能单元的功能性可以被实施在单个单元中、实施在多个单元中或作为其它功能单元的一部分被实施。例如,被说明成由单个单元执行的功能性可以由多个不同的单元来执行。因此,对特定功能单元的参考仅被视为对用于提供所描述的功能性的适当单元的参考,而不是表明严格的逻辑或物理结构或组织。因此,本技术可以被实施在单个单元中,或者可以在物理上和功能上被分布在不同的单元和电路之间。
[0096]
尽管已经结合一些实施例描述了本技术,但是其不旨在被限于在本文中所阐述的特定形式。相反,本技术的范围仅由所附权利要求来限制。附加地,尽管单独的特征可以被包括在不同的权利要求中,但是这些可以可能地被有利地组合,并且包括在不同权利要求中不暗示特征的组合不是可行的和/或有利的。特征在权利要求中的次序不暗示特征必须以其工作的任何特定次序。此外,在权利要求中,词“包括”不排除其它元件,并且术语“一”或“一个”不排除多个。权利要求中的附图标记仅作为明确的例子被提供,不应该被解释为以任何方式限制权利要求的范围。