一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于训练模型的方法和装置与流程

2021-12-03 23:36:00 来源:中国专利 TAG:


1.本公开的实施例涉及计算机技术领域,尤其涉及用于训练模型的方法、装置和用于控制智能体的方法、装置。


背景技术:

2.强化学习是智能体(agent)以“试错”的方式进行学习,通过与环境进行交互获得奖赏,进而利用奖赏指导行为,目标是使智能体获得最大的奖赏。
3.目前,在强化学习的研究中,受限于高昂的实验成本和安全性等诸多现实因素,往往无法直接与真实环境进行交互,而只能利用收集的离线经验数据进行强化学习。


技术实现要素:

4.本公开的实施例提出了用于训练模型的方法、装置和用于控制智能体的方法、装置。
5.第一方面,本公开的实施例提供了一种用于训练模型的方法,该方法包括:获取预置的样本状态转移轨迹数据集合,其中,样本状态转移轨迹数据包括至少一个样本单步状态转移数据,样本单步状态转移数据包括样本状态值、样本动作值、后续样本状态值以及样本奖励值;获取初始动作选择模型和环境模型;基于初始动作选择模型和环境模型,执行如下训练步骤:从样本状态转移轨迹数据集合包括的样本状态转移轨迹数据中选择样本状态值作为目标状态值,以及利用目标状态值,执行以下处理步骤:将目标状态值输入初始动作选择模型,获得动作值作为目标动作值;将目标状态值和所获得的目标动作值输入环境模型,获得仿真后续状态值和仿真奖励值;将所获得的仿真后续状态值作为目标状态值,重复执行处理步骤,直至满足预设处理条件,获得仿真状态转移轨迹数据;将样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据组成训练样本集合;利用所组成的训练样本集合对初始动作选择模型进行训练,获得训练后动作选择模型。
6.在一些实施例中,该方法还包括:确定是否满足预设训练完成条件;响应于不满足预设训练完成条件,将训练后动作选择模型作为初始动作选择模型,继续执行训练步骤。
7.在一些实施例中,获取环境模型包括:获取至少两个环境模型;以及将目标状态值和所获得的目标动作值输入环境模型,获得仿真后续状态值和仿真奖励值包括:将目标状态值和所获得的目标动作值分别输入至少两个环境模型,获得至少两个候选后续状态值和至少两个候选奖励值;基于至少两个候选后续状态值,生成仿真后续状态值,以及基于至少两个候选奖励值,生成仿真奖励值。
8.在一些实施例中,获取环境模型包括:获取初始环境模型;利用样本状态转移轨迹数据集合中的样本单步状态转移数据对初始环境模型进行训练,获得环境模型。
9.在一些实施例中,将样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据组成训练样本集合包括:从样本状态转移轨迹
数据集合中选择与仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据;将所选择的样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据组成训练样本集合。
10.在一些实施例中,从样本状态转移轨迹数据集合中选择与所获得的仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据包括:从样本状态转移轨迹数据集合中选择所包括的轨迹起点与仿真状态转移轨迹数据的轨迹起点相同的样本状态转移轨迹数据。
11.在一些实施例中,从样本状态转移轨迹数据集合中选择与所获得的仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据包括:从样本状态转移轨迹数据集合中选择所对应的轨迹长度与所获得的仿真状态转移轨迹数据对应的轨迹长度相同的样本状态转移轨迹数据。
12.在一些实施例中,利用所组成的训练样本集合对初始动作选择模型进行训练,获得训练后动作选择模型包括:从所组成的训练样本集合中选择训练样本;确定初始动作选择模型服从的分布与所选择的训练样本中的数据服从的分布之间的差异;将所确定的差异作为训练初始动作选择模型的惩罚项,对初始动作选择模型进行训练,获得训练后动作选择模型。
13.第二方面,本公开的实施例提供了一种用于控制智能体的方法,该方法包括:获取当前环境状态对应的状态值;将所获取的状态值输入预先训练的动作选择模型,获得动作值,其中,动作值用于指示目标智能体在当前环境状态下可执行的动作,动作选择模型是利用上述第一方面所描述的方法中任一实施例的方法训练获得的模型;控制目标智能体执行所获得的动作值所指示的动作。
14.第三方面,本公开的实施例提供了一种用于训练模型的装置,该装置包括:第一获取单元,被配置成获取预置的样本状态转移轨迹数据集合,其中,样本状态转移轨迹数据包括至少一个样本单步状态转移数据,样本单步状态转移数据包括样本状态值、样本动作值、后续样本状态值以及样本奖励值;第二获取单元,被配置成获取初始动作选择模型和环境模型;第一执行单元,被配置成基于初始动作选择模型和环境模型,执行如下训练步骤:从样本状态转移轨迹数据集合包括的样本状态转移轨迹数据中选择样本状态值作为目标状态值,以及利用目标状态值,执行以下处理步骤:将目标状态值输入初始动作选择模型,获得动作值作为目标动作值;将目标状态值和所获得的目标动作值输入环境模型,获得仿真后续状态值和仿真奖励值;将所获得的仿真后续状态值作为目标状态值,重复执行处理步骤,直至满足预设处理条件,获得仿真状态转移轨迹数据;将样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据组成训练样本集合;利用所组成的训练样本集合对初始动作选择模型进行训练,获得训练后动作选择模型。
15.在一些实施例中,该装置还包括:确定单元,被配置成确定是否满足预设训练完成条件;第二执行单元,被配置成响应于不满足预设训练完成条件,将训练后动作选择模型作为初始动作选择模型,继续执行训练步骤。
16.在一些实施例中,第二获取单元进一步被配置成:获取至少两个环境模型;以及第一执行单元进一步被配置成:将目标状态值和所获得的目标动作值分别输入至少两个环境模型,获得至少两个候选后续状态值和至少两个候选奖励值;基于至少两个候选后续状态
值,生成仿真后续状态值,以及基于至少两个候选奖励值,生成仿真奖励值。
17.在一些实施例中,第二获取单元包括:获取模块,被配置成获取初始环境模型;训练模块,被配置成利用样本状态转移轨迹数据集合中的样本单步状态转移数据对初始环境模型进行训练,获得环境模型。
18.在一些实施例中,第一执行单元进一步被配置成:从样本状态转移轨迹数据集合中选择与仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据;将所选择的样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据组成训练样本集合。
19.在一些实施例中,第一执行单元进一步被配置成:从样本状态转移轨迹数据集合中选择所包括的轨迹起点与仿真状态转移轨迹数据的轨迹起点相同的样本状态转移轨迹数据。
20.在一些实施例中,第一执行单元进一步被配置成:从样本状态转移轨迹数据集合中选择所对应的轨迹长度与所获得的仿真状态转移轨迹数据对应的轨迹长度相同的样本状态转移轨迹数据。
21.在一些实施例中,第一执行单元进一步被配置成:从所组成的训练样本集合中选择训练样本;确定初始动作选择模型服从的分布与所选择的训练样本中的数据服从的分布之间的差异;将所确定的差异作为训练初始动作选择模型的惩罚项,对初始动作选择模型进行训练,获得训练后动作选择模型。
22.第四方面,本公开的实施例提供了一种用于控制智能体的装置,该装置包括:第三获取单元,被配置成获取当前环境状态对应的状态值;输入单元,被配置成将所获取的状态值输入预先训练的动作选择模型,获得动作值,其中,动作值用于指示目标智能体在当前环境状态下可执行的动作,动作选择模型是利用上述第一方面所描述的方法中任一实施例的方法训练获得的模型;控制单元,被配置成控制目标智能体执行所获得的动作值所指示的动作。
23.第五方面,本公开的实施例提供了一种服务器,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述第一方面和第二方面所描述的方法中任一实施例的方法。
24.第六方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面和第二方面所描述的方法中任一实施例的方法。
25.本公开的实施例提供的用于训练模型的方法和装置,通过获取预置的样本状态转移轨迹数据集合,其中,样本状态转移轨迹数据包括至少一个样本单步状态转移数据,样本单步状态转移数据包括样本状态值、样本动作值、后续样本状态值以及样本奖励值,而后获取初始动作选择模型和环境模型,接着基于初始动作选择模型和环境模型,执行如下训练步骤:从样本状态转移轨迹数据集合包括的样本状态转移轨迹数据中选择样本状态值作为目标状态值,以及利用目标状态值,执行以下处理步骤:将目标状态值输入初始动作选择模型,获得动作值作为目标动作值;将目标状态值和所获得的目标动作值输入环境模型,获得仿真后续状态值和仿真奖励值;将所获得的仿真后续状态值作为目标状态值,重复执行处理步骤,直至满足预设处理条件,获得仿真状态转移轨迹数据;将样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据组成训练
样本集合;利用所组成的训练样本集合对初始动作选择模型进行训练,获得训练后动作选择模型,从而可以基于样本状态转移轨迹数据,获得仿真环境模型所对应的仿真训练样本,增加了用于训练动作选择模型的训练样本的数量,实现了对样本状态转移轨迹数据的充分利用,有助于利用获得的仿真训练样本和样本状态转移轨迹数据对应的真实训练样本,训练获得泛化能力更强的动作选择模型,进而基于动作选择模型进行更为准确、可靠的智能体控制。
26.本公开的实施例提供的用于控制智能体的方法和装置,通过获取当前环境状态对应的状态值,而后将所获取的状态值输入预先训练的动作选择模型,获得动作值,其中,动作值用于指示目标智能体在当前环境状态下可执行的动作,动作选择模型是利用上述第一方面所描述的方法中任一实施例的方法训练获得的模型,最后控制目标智能体执行所获得的动作值所指示的动作,从而可以基于泛化能力更强的动作选择模型,实现更为准确、可靠的智能体控制,提高了智能体控制的准确性和可靠性。
附图说明
27.通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
28.图1是本公开的一个实施例可以应用于其中的示例性系统架构图;
29.图2是根据本公开的用于训练模型的方法的一个实施例的流程图;
30.图3是根据本公开的实施例的用于训练模型的方法的一个应用场景的示意图;
31.图4是根据本公开的用于控制智能体的方法的一个实施例的流程图;
32.图5是根据本公开的实施例的用于控制智能体的方法的一个应用场景的示意图;
33.图6是根据本公开的用于训练模型的装置的一个实施例的结构示意图;
34.图7是根据本公开的用于控制智能体的装置的一个实施例的结构示意图
35.图8是适于用来实现本公开的实施例的服务器的计算机系统的结构示意图。
具体实施方式
36.下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
37.需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
38.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
39.图1示出了可以应用本公开的用于训练模型的方法、用于训练模型的装置、用于控制智能体的方法或用于控制智能体的装置的实施例的示例性系统架构100。
40.如图1所示,系统架构100可以包括智能体101、102、103,网络104和服务器105。网络104用以在智能体101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
41.智能体101、102、103可以通过网络104与服务器105交互,以接收或发送消息等。智
能体101、102、103可以是硬件,也可以是软件。当智能体101、102、103为硬件时,可以是各种智能电子设备,包括但不限于智能手机、智能电脑、智能机器人、智能冰箱、无人车、无人机等等。当智能体101、102、103为软件时,可以安装在上述所列举的智能电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
42.服务器105可以是提供各种服务的服务器,例如利用智能体101、102、103发送的样本状态转移轨迹数据集合训练模型的模型训练服务器。模型训练服务器可以利用接收到的样本状态转移轨迹数据集合等数据进行模型,获得训练完成的模型(例如动作选择模型);或者,服务器105也可以是对智能体101、102、103进行控制的后台服务器。后台服务器可以对获取到的当前环境状态的状态值等数据进行分析等处理,并获得处理结果(例如动作值),进而基于处理结果对智能体101、102、103进行控制。
43.需要说明的是,本公开的实施例所提供的用于训练模型的方法可以由服务器105执行,相应地,用于训练模型的装置可以设置于服务器105中。此外,本公开的实施例所提供的用于控制智能体的方法可以由服务器105执行,相应地,用于控制智能体的装置可以设置于服务器105中。
44.需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
45.应该理解,图1中的智能体、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的智能体、网络和服务器。
46.继续参考图2,示出了根据本公开的用于训练模型的方法的一个实施例的流程200。该用于训练模型的方法,包括以下步骤:
47.步骤201,获取预置的样本状态转移轨迹数据集合。
48.在本实施例中,用于训练模型的方法的执行主体(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从远程或本地获取预置的样本状态转移轨迹数据集合。其中,样本状态转移轨迹数据集合中可以包括多个样本状态转移轨迹数据。样本状态转移轨迹数据可以是从离线经验数据中获取的数据。样本状态转移轨迹数据可以包括至少一个样本单步状态转移数据。样本单步状态转移数据包括样本状态值、样本动作值、后续样本状态值以及样本奖励值。
49.样本状态值可以用于表征样本状态。样本状态具体指的是样本环境状态。需要说明的是,实践中,可以采用各种数据表征样本状态,例如可以利用环境图像表征样本状态,或者利用环境温度值表征样本状态。在本公开中,将表征样本状态的数据称为样本状态值。
50.样本动作值可以用于表征在样本状态样本智能体执行的样本动作。样本智能体可以是预先确定的各种智能设备,例如可以是智能冰箱、智能手机、智能汽车等等。实践中,可以采用各种数据表征样本智能体在样本状态下执行的样本动作,例如可以利用样本智能体行进的方向和距离表征样本动作,或者可以利用样本智能体上升的温度值表征样本动作。在本公开中,将表征样本智能体执行的样本动作的数据称为样本动作值。
51.后续样本状态值用于表征样本智能体执行样本动作后样本状态转换成的后续样
本状态。作为示例,样本状态值为-20摄氏度,样本智能体执行的样本动作是上升10摄氏度,则后续样本状态值为-10摄氏度。可以理解的是,与样本状态值相类似,本公开将表征后续样本状态的数据称为后续样本状态值。
52.样本奖励值可以用于表征样本智能体在样本状态执行样本动作而获得的样本奖励。样本奖励可以基于环境状态转移的优劣程度确定,例如,当从样本状态转移至后续样本状态是朝向完成任务的方向转移,则可以为样本智能体的样本动作分配相对多的样本奖励(对应的样本奖励值大;当从样本状态转移至后续样本状态是向与完成任务相反的方向转移,则可以为样本智能体的样本动作分配相对少的样本奖励(对应的样本奖励值小)。
53.在本实施例中,样本单步状态转移数据对应一次状态转移,而多个连续的样本单步状态转移数据可以组成样本状态转移轨迹数据。其中,样本状态转移轨迹数据可以记录状态转移的轨迹。
54.作为示例,样本状态转移轨迹数据可以为(s1,a1,r1,s2,a2,r2,s3,a3,r3,s4),其中,si为用于表征样本状态的样本状态值,ai为用于表征样本动作的样本动作值,ri为用于表征样本奖励的样本奖励值,i=1、2、3
……
n。进而可以看出,样本状态转移轨迹数据记录了样本状态从s1转移到s2,再从s2转移到s3,最后从s3转移到s4,即记录了状态转移的轨迹s1-s2-s3-s4。而每一次状态转移可以对应一个样本单步状态转移数据,进而,样本状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3,a3,r3,s4)可以包括三个样本单步状态转移数据,分别为(s1,a1,r1,s2)、(s2,a2,r2,s3)和(s3,a3,r3,s4)。
55.步骤202,获取初始动作选择模型和环境模型。
56.在本实施例中,上述执行主体可以获取初始动作选择模型和环境模型。其中,初始动作选择模型可以是预先确定的、待对其进行训练的动作选择模型。具体的,初始选择模型可以是未经训练的动作选择模型,也可以是经过训练、但未训练完成的动作选择模型。动作选择模型可以用于为智能体选择动作,具体可以用于表征状态值与动作值的对应关系。实践中,将当前状态的状态值输入动作选择模型,动作选择模型可以输出动作值,所输出的动作值所指示的动作即为动作选择模型为智能体选择的动作。
57.需要说明的是,实践中,可以针对某个智能体或者某类智能体设置动作选择模型,进而,所设置的动作选择模型可以为该智能体或该类智能体选择动作。在本公开中,可以将所获取的初始动作选择模型所针对的智能体(某个或者某类智能体)称为目标智能体。
58.在本实施例中,环境模型可以是对现实环境进行模拟而获得的仿真环境模型。具体的,环境模型可以用于表征状态值、动作值和后续状态值、奖励值的对应关系。实践中,将当前状态的状态值和智能体执行的动作所对应的动作值输入环境模型,环境模型可以输出后续状态对应的后续状态值和为智能体执行的动作分配的奖励所对应的奖励值。
59.在本实施例中,可以采用各种方法获取环境模型。例如,可以从本地或者通信连接的其他电子设备获取预先模拟出的环境模型。
60.在本实施例的一些可选的实现方式中,上述执行主体可以通过以下步骤获取环境模型:首先,上述执行主体可以获取初始环境模型。然后,上述执行主体可以利用步骤201中得到的样本状态转移轨迹数据集合中的样本单步状态转移数据对初始环境模型进行训练,获得环境模型。
61.具体的,上述执行主体可以将样本单步状态转移数据中的样本状态值和样本动作
值作为初始环境模型的输入,将样本单步状态转移数据中的后续样本状态值和样本奖励值作为初始环境模型的期望输出,利用机器学习方法,对初始环境模型进行训练,直至满足预设条件(例如训练次数达到预设次数,或者损失值小于或等于预设阈值),获得训练完成的初始环境模型作为环境模型。
62.本实现方式利用所获取的样本状态转移轨迹数据训练环境模型,可以使得获得的环境模型更接近于产生样本状态转移轨迹数据的环境,有助于后续利用环境模型和样本状态转移轨迹数据更为准确、合理地训练初始动作选择模型。
63.在本实施例中,上述执行主体可以获取一个环境模型,也可以获取至少两个环境模型。
64.特别的,当上述执行主体通过上述可选的实现方式中记载的、利用样本状态转移轨迹数据集合对初始环境模型进行训练的方式获取环境模型时,可以获取原始环境模型,然后使用不同的模型参数对原始环境模型进行初始化,获得至少两个初始环境模型,进而上述执行主体可以利用样本状态转移轨迹数据集合分别对至少两个初始环境模型进行训练,获得至少两个环境模型。其中,原始环境模型可以是预先确定的、待对其进行训练的环境模型。
65.需要说明的是,本步骤202可以在步骤201执行之前执行,也可以在步骤201执行之后执行,本公开只给出一种执行方式,不应将此作为对本公开的限制。
66.步骤203,基于初始动作选择模型和环境模型,执行训练步骤。
67.在本实施例中,基于步骤202中得到的初始动作选择模型和环境模型,上述执行主体可以执行以下训练步骤(步骤2031-步骤2034):
68.步骤2031,从样本状态转移轨迹数据集合包括的样本状态转移轨迹数据中选择样本状态值作为目标状态值,以及利用目标状态值,执行以下处理步骤:
69.第一步,将目标状态值输入初始动作选择模型,获得动作值作为目标动作值。
70.在这里,目标状态值可以为用于扩展训练样本的状态值。具体的,上述执行主体可以采用各种方法从样本状态转移轨迹数据中选择目标状态值,作为示例,上述执行主体可以采用随机选取的方式从样本状态转移轨迹数据中选择目标状态值;或者,上述执行主体可以从样本状态转移轨迹数据中选择状态转移轨迹的起点作为目标状态值。例如,样本状态转移轨迹数据为(s1,a1,r1,s2,a2,r2,s3,a3,r3,s4),对应的状态转移轨迹为s1-s2-s3-s4,则可以选择轨迹的起点s1作为目标状态值。
71.可以理解,初始动作选择模型用于表征状态值与动作值的对应关系,因此,将目标状态值输入初始动作选择模型,可以获得初始动作选择模型输出的、目标状态值对应的动作值,进而,上述执行主体可以将初始动作选择模型输出的动作值作为目标状态值对应的目标动作值。
72.第二步,将目标状态值和所获得的目标动作值输入环境模型,获得仿真后续状态值和仿真奖励值。
73.在本实施例中,所获取的环境模型是对真实环境进行模拟而获得的仿真环境模型,进而,将目标状态值和目标动作值输入环境模型,可以获得仿真环境模型反馈的仿真后续状态值和仿真奖励值。
74.在本实施例的一些可选的实现方式中,当上述执行主体在步骤202中获取到至少
两个环境模型时,上述执行主体可以通过以下步骤获得仿真后续状态值和仿真奖励值:首先,将目标状态值和所获得的目标动作值分别输入至少两个环境模型,获得至少两个候选后续状态值和至少两个候选奖励值,其中,至少两个环境模型中的每个环境模型可以输出一个候选后续状态值和一个候选奖励值。然后,上述执行主体可以基于至少两个候选后续状态值,生成仿真后续状态值,以及基于至少两个候选奖励值,生成仿真奖励值。
75.具体的,上述执行主体可以采用各种方法基于至少两个候选后续状态值,生成仿真后续状态值,例如,上述执行主体可以从至少两个候选后续状态值中随机选择一个候选后续状态值作为仿真后续状态值;或者,上述执行主体可以对至少两个候选后续状态值进行均值计算,将计算结果作为仿真后续状态值。
76.相类似的,基于至少两个候选奖励值生成仿真奖励值的方法可以与上述基于至少两个候选后续状态值生成仿真后续状态值的方法相同,此处不再赘述。
77.本实现方式可以基于多个仿真环境模型,生成用于扩展训练样本的仿真后续状态值和仿真奖励值,以此,可以增加仿真后续状态值和仿真奖励值的随机性和多样性,有助于扩展基于仿真后续状态值和仿真奖励值生成的训练样本的分布空间,进而利用所生成的训练样本,训练获得泛化能力更强的动作选择模型。
78.步骤2032,将所获得的仿真后续状态值作为目标状态值,重复执行处理步骤,直至满足预设处理条件,获得仿真状态转移轨迹数据。
79.在本实施例中,上述执行主体可以将步骤2031中得到的仿真后续状态值作为新的目标状态值,以及利用新的目标状态值,重复执行上述处理步骤,直到满足预设处理条件,便可以获得由仿真单步状态转移数据组成的仿真状态转移轨迹数据。其中,预设处理条件可以为预先确定的各种条件,例如可以是处理步骤的执行次数大于或等于预设次数;或者可以为最新获得的仿真后续状态值与最新的目标状态值的差异小于或等于预设阈值(对应收敛)。
80.在本实施例中,仿真状态转移轨迹数据由仿真单步状态转移数据组成。仿真单步状态转移数据可以包括目标状态值、目标动作值、仿真后续状态值和仿真奖励值。仿真状态转移轨迹数据中的每个仿真单步状态转移数据对应一次状态转移,而每次处理步骤的执行对应了一次从目标状态值到仿真后续状态值的转移,因此,每次处理步骤的执行可以对应一次状态转移,即对应一个仿真单步状态转移数据。
81.作为示例,预设处理条件为处理步骤的执行次数大于或等于两次。则第一次执行处理步骤时,可以首先将目标状态值1输入初始动作选择模型,获得目标动作值1,然后将目标动作值1和目标状态值1输入环境模型,获得仿真后续状态值2和仿真奖励值1。接着,上述执行主体可以将仿真后续状态值2作为新的目标状态值2,第二次执行处理步骤,获得目标动作值2、仿真后续状态值3和仿真奖励值2。此时确定处理步骤的执行次数(两次)大于或等于两次(即满足预设处理条件),停止处理步骤的执行,利用通过处理步骤获得的目标状态值1、目标动作值1、仿真奖励值1、目标状态值2、目标动作值2、仿真奖励值2和仿真后续状态值3组成仿真状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3),其中,s1表征目标状态值1;a1表征目标动作值1;r1表征仿真奖励值1;s2表征目标状态值2;a2表征目标动作值2;r2表征仿真奖励值2;s3表征仿真后续状态值3。
82.可以理解,在该示例中,仿真状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3)记录了
两次状态转移,分别为从s1到s2的转移(对应第一次处理步骤的执行)和从s2到s3的转移(对应第二次处理步骤的执行)。进而,仿真状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3)包括两个仿真单步状态转移数据,分别为(s1,a1,r1,s2)和(s2,a2,r2,s3)。
83.步骤2033,将样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据组成训练样本集合。
84.在本实施例中,基于步骤201中得到的样本状态转移轨迹数据和步骤2032中得到的仿真状态转移轨迹数据,上述执行主体可以分别将样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据作为训练样本,进而组成训练样本集合,其中,训练样本集合中的每个训练样本为一个单步状态转移数据(仿真单步状态转移数据或样本状态转移数据)。
85.具体的,上述执行主体可以将样本状态转移轨迹数据集合中的全部样本状态转移轨迹数据包括的样本单步状态转移数据确定为训练样本,或者,上述执行主体可以从样本状态转移轨迹数据集合中选择目标状态转移轨迹数据,进而将目标状态转移轨迹数据中的样本单步状态转移数据确定为训练样本。在这里,上述执行主体可以采用各种方法选择目标状态转移轨迹数据。
86.在本实施例的一些可选的实现方式中,上述执行主体可以从样本状态转移轨迹数据集合中选择与仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据作为目标状态转移轨迹数据,进而上述执行主体可以将所选择的、与仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据组成训练样本集合。
87.在这里,与仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据可以是与仿真状态转移轨迹数据相似的样本状态转移轨迹数据。具体的,上述执行主体可以采用各种方法从样本状态转移轨迹数据集合中选择与仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据。
88.在本实施例的一些可选的实现方式中,上述执行主体可以从样本状态转移轨迹数据集合中选择所包括的轨迹起点与仿真状态转移轨迹数据的轨迹起点相同的样本状态转移轨迹数据作为与仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据。这里,轨迹起点指的是状态转移轨迹的起点,即状态转移过程中的初始状态值。
89.作为示例,仿真状态转移轨迹数据为(s1,a1,r1,s2,a2,r2,s3);样本状态转移轨迹数据集合包括样本状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3)和样本状态转移轨迹数据(s7,a7,r7,s8,a8,r8,s9),样本状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3)对应的状态转移轨迹为s1-s2-s3;样本状态转移轨迹数据(s7,a7,r7,s8,a8,r8,s9)对应的状态转移轨迹为s7-s8-s9;仿真状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3)对应的状态转移轨迹为s1-s2-s3,由于s1和s1是相同的状态值,所以样本状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3)包括的轨迹起点与仿真状态转移轨迹数据的轨迹起点相同,进而,上述执行主体可以选择样本状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3)作为与仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据。
90.在本实施例的一些可选的实现方式中,上述执行主体还可以从样本状态转移轨迹数据集合中选择所对应的轨迹长度与所获得的仿真状态转移轨迹数据对应的轨迹长度相
同的样本状态转移轨迹数据作为与仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据。这里,轨迹长度指的是状态转移轨迹的长度。
91.作为示例,仿真状态转移轨迹数据为(s1,a1,r1,s2,a2,r2,s3);样本状态转移轨迹数据集合包括样本状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3)和样本状态转移轨迹数据(s7,a7,r7,s8),样本状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3)对应的状态转移轨迹为s1-s2-s3;样本状态转移轨迹数据(s7,a7,r7,s8)对应的状态转移轨迹为s7-s8;仿真状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3)对应的状态转移轨迹为s1-s2-s3,进而可以看出,样本状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3)对应的状态转移轨迹的轨迹长度为3;样本状态转移轨迹数据(s7,a7,r7,s8)对应的状态转移轨迹的轨迹长度为2;仿真状态转移轨迹数据对应的状态转移轨迹的轨迹长度为3,与样本状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3)对应的状态转移轨迹的轨迹长度相同,进而,上述执行主体可以选择样本状态转移轨迹数据(s1,a1,r1,s2,a2,r2,s3)作为与仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据。
92.特别的,为了更严格地选择样本状态转移轨迹数据,以更有效地训练初始动作选择模型,上述执行主体还可以从样本状态转移轨迹数据集合中选择同时满足以上两个可选的实现方式中指出的选择条件的样本状态转移轨迹数据作为与仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据。可以理解,两个可选的实现方式中指出的选择条件包括:一、所包括的轨迹起点与仿真状态转移轨迹数据的轨迹起点相同;二、所对应的轨迹长度与所获得的仿真状态转移轨迹数据对应的轨迹长度相同。
93.步骤2034,利用所组成的训练样本集合对初始动作选择模型进行训练,获得训练后动作选择模型。
94.在本实施例中,上述执行主体可以利用步骤2033中获得的训练样本集合,对初始动作选择模型进行训练,获得训练后动作选择模型。
95.具体的,上述执行主体可以利用训练样本集合中的训练样本,采用强化学习算法对初始动作选择模型进行训练,以获得训练后动作选择模型。
96.具体的,强化学习算法定义值函数来表示动作选择策略下期望的未来回报。要寻找的最优策略(即训练完成的动作选择模型)即为使得任意时刻未来回报的期望值都是最大的策略。在本实施例中,上述执行主体可以首先采用现有的actor-critic方法,在单步状态转移数据(即训练样本)上最小化贝尔曼误差来学习一个动作值函数,然后通过最大化动作值函数来进行策略更新(即调整初始动作选择模型的参数,获得训练后动作选择模型)。
97.在本实施例的一些可选的实现方式中,为了使得通过强化学习算法学习的策略与产生样本状态转移轨迹数据集合的策略相接近,上述执行主体还可以通过以下步骤训练初始动作选择模型:首先,上述执行主体可以从所组成的训练样本集合中选择训练样本。然后,上述执行主体可以确定初始动作选择模型服从的分布与所选择的训练样本中的数据服从的分布之间的差异。最后,上述执行主体可以将所确定的差异作为训练初始动作选择模型的惩罚项,对初始动作选择模型进行训练,获得训练后动作选择模型。
98.在这里,上述执行主体可以采用各种方法从训练样本集合中选择训练样本,例如可以采用随机选择的方法选择。
99.在本实现方式中,可以采用各种方法确定初始动作选择模型服从的分布与所选择
的训练样本中的数据服从的分布之间的差异,例如可以采用确定kl散度或者wasserstein距离的方法确定。
100.实践中,惩罚项也叫做正则化项,用于添加到目标函数(例如上述动作值函数)中,在目标函数获得最优解(例如最大的未来期望值)的情况下,惩罚项达到最小值。作为示例,目标函数为y=x,目标是使y最大,惩罚项为z,则可以将惩罚项添加到目标函数中获得新的目标函数y=x-z,以使得z越小,y越大。进而当y达到最大值时,z可以达到最小值。
101.本实现方式将初始动作选择模型服从的分布与所选择的训练样本中的数据服从的分布之间的差异作为惩罚项,可以在训练获得能够产生最大的未来期望值的动作选择模型的同时,使得训练获得的动作选择模型接近产生训练样本的策略。可以理解,产生训练样本的策略是经过历史经验验证的策略,具有更高的安全性和稳定性,因此,本实现方式通过添加惩罚项,可以使所学习的策略接近产生训练样本的策略,进而获得更高的安全性和稳定性。
102.在本实施例的一些可选的实现方式中,执行步骤2034后,上述执行主体还可以执行以下步骤:确定是否满足预设训练完成条件。响应于确定不满足预设训练完成条件,将步骤2034中获得的训练后动作选择模型作为初始动作选择模型,继续执行上述训练步骤(步骤2031-步骤2034)。
103.在这里,预设训练完成条件可以是针对动作选择模型的训练过程预先设置的条件,当满足预设训练完成条件时,可以表征动作选择模型训练完成。具体的,预设训练完成条件可以是各种条件,例如可以是训练次数达到预设次数,或者可以是训练样本集合中的训练样本被使用完。
104.继续参见图3,图3是根据本实施例的用于训练模型的方法的应用场景的一个示意图。
105.在图3的应用场景中,服务器301可以首先获取预置的样本状态转移轨迹数据集合302,其中,样本状态转移轨迹数据集合302包括样本状态转移轨迹数据3021和样本状态转移轨迹数据3022。样本状态转移轨迹数据3021、3022分别包括至少一个样本单步状态转移数据。每个样本单步状态转移数据包括样本状态值、样本动作值、后续样本状态值以及样本奖励值。
106.然后,服务器301可以获取初始动作选择模型303和环境模型304。
107.接着,服务器301可以基于初始动作选择模型303和环境模型304,执行如下训练步骤:
108.第一步,从样本状态转移轨迹数据集合302包括的样本状态转移轨迹数据中选择样本状态值作为目标状态值305,以及利用目标状态值305,执行以下处理步骤:将目标状态值305输入初始动作选择模型303,获得动作值作为目标动作值306;将目标状态值305和所获得的目标动作值306输入环境模型304,获得仿真后续状态值307和仿真奖励值308。
109.第二步,将所获得的仿真后续状态值307作为目标状态值305,重复执行处理步骤,直至满足预设处理条件(例如处理步骤执行了两次),获得仿真状态转移轨迹数据309。
110.然后,服务器301可以将样本状态转移轨迹数据3021和/或样本状态转移轨迹数据3022中的样本单步状态转移数据和仿真状态转移轨迹数据309中的仿真单步状态转移数据组成训练样本集合310。
111.最后,服务器301可以利用所组成的训练样本集合310对初始动作选择模型303进行训练,获得训练后动作选择模型311。
112.本公开的上述实施例提供的方法可以基于样本状态转移轨迹数据,获得仿真环境模型所对应的仿真训练样本,增加了用于训练动作选择模型的训练样本的数量,实现了对样本状态转移轨迹数据的充分利用,有助于利用获得的仿真训练样本和样本状态转移轨迹数据对应的真实训练样本,训练获得泛化能力更强的动作选择模型,进而基于动作选择模型进行更为准确、可靠的智能体控制。
113.继续参考图4,示出了根据本公开的用于控制智能体的方法的一个实施例的流程400。该用于控制智能体的方法,包括以下步骤:
114.步骤401,获取当前环境状态对应的状态值。
115.在本实施例中,用于控制智能体的方法的执行主体(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式从远程或本地获取当前环境状态对应的状态值。
116.在本公开中,将用于表征当前环境状态的数据称为当前环境状态对应的状态值。其中,用于表征当前环境状态的数据(即当前环境状态对应的状态值)可以是用于表征当前环境状态的各种数据,例如,可以是当前环境的图像、当前环境的温度等。
117.步骤402,将所获取的状态值输入预先训练的动作选择模型,获得动作值。
118.在本实施例中,基于步骤401中得到的状态值,上述执行主体可以将该状态值输入预先训练的动作选择模型,获得动作值。其中,动作值用于指示目标智能体在当前环境状态下可执行的动作。目标智能体可以是上述执行主体可以控制的智能体。动作选择模型可以是针对目标智能体设置的模型,用于为目标智能体选择动作。
119.具体的,动作选择模型可以是利用图2对应的实施例中的任一实施例的方法训练获得的模型。具体的训练过程可以参考图2对应的实施例,此处不再赘述。
120.步骤403,控制目标智能体执行所获得的动作值所指示的动作。
121.在本实施例中,基于步骤402中得到的动作值,上述执行主体可以控制目标智能体执行该动作值所指示的动作。具体的,上述执行主体可以向目标智能体发送动作值对应的动作指令,以控制目标智能体执行该动作值所指示的动作。
122.作为示例,动作值为-10,则上述执行主体可以向目标智能冰箱发送用于指示目标智能冰箱降温10摄氏度的动作指令,以控制目标智能冰箱执行降温10摄氏度的动作。
123.继续参见图5,图5是根据本实施例的用于控制智能体的方法的应用场景的一个示意图。
124.在图5的应用场景中,服务器501首先获取当前环境状态对应的状态值502。然后,服务器501可以将所获取的状态值502输入预先训练的动作选择模型503,获得动作值504,其中,动作值504可以用于指示目标智能体505在当前环境状态下可执行的动作,动作选择模型503是采用图2对应的实施例中任一实施例的方法训练获得的模型。最后,服务器301可以向目标智能体505发送动作值504对应的动作指令506,以控制目标智能体505执行所获得的动作值504所指示的动作。
125.本公开的上述实施例提供的方法可以基于图2对应的实施例中训练获得泛化能力更强的动作选择模型,进而可以利用泛化能力更强的动作选择模型,实现更为准确、可靠的智能体控制,提高了智能体控制的准确性和可靠性。
126.进一步参考图6,作为对上述各图所示方法的实现,本公开提供了一种用于训练模型的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
127.如图6所示,本实施例的用于训练模型的装置600包括:第一获取单元601、第二获取单元602和第一执行单元603。其中,第一获取单元601被配置成获取预置的样本状态转移轨迹数据集合,其中,样本状态转移轨迹数据包括至少一个样本单步状态转移数据,样本单步状态转移数据包括样本状态值、样本动作值、后续样本状态值以及样本奖励值;第二获取单元602被配置成获取初始动作选择模型和环境模型;第一执行单元603被配置成基于初始动作选择模型和环境模型,执行如下训练步骤:从样本状态转移轨迹数据集合包括的样本状态转移轨迹数据中选择样本状态值作为目标状态值,以及利用目标状态值,执行以下处理步骤:将目标状态值输入初始动作选择模型,获得动作值作为目标动作值;将目标状态值和所获得的目标动作值输入环境模型,获得仿真后续状态值和仿真奖励值;将所获得的仿真后续状态值作为目标状态值,重复执行处理步骤,直至满足预设处理条件,获得仿真状态转移轨迹数据;将样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据组成训练样本集合;利用所组成的训练样本集合对初始动作选择模型进行训练,获得训练后动作选择模型。
128.在本实施例中,用于训练模型的装置600的第一获取单元601可以通过有线连接方式或者无线连接方式从远程或本地获取预置的样本状态转移轨迹数据集合。其中,样本状态转移轨迹数据集合中可以包括多个样本状态转移轨迹数据。样本状态转移轨迹数据可以是从离线经验数据中获取的数据。样本状态转移轨迹数据可以包括至少一个样本单步状态转移数据。样本单步状态转移数据包括样本状态值、样本动作值、后续样本状态值以及样本奖励值。
129.样本状态值可以用于表征样本状态。样本状态具体指的是样本环境状态。样本动作值可以用于表征在样本状态样本智能体执行的样本动作。样本智能体可以是预先确定的各种智能设备。后续样本状态值用于表征样本智能体执行样本动作后样本状态转换成的后续样本状态。样本奖励值可以用于表征样本智能体在样本状态执行样本动作而获得的样本奖励。样本奖励可以基于环境状态转移的优劣程度确定。
130.在本实施例中,样本单步状态转移数据对应一次状态转移,而多个连续的样本单步状态转移数据可以组成样本状态转移轨迹数据。其中,样本状态转移轨迹数据可以记录状态转移的轨迹。
131.在本实施例中,第二获取单元602可以获取初始动作选择模型和环境模型。其中,初始动作选择模型可以是预先确定的、待对其进行训练的动作选择模型。动作选择模型可以用于为智能体选择动作,具体可以用于表征状态值与动作值的对应关系。环境模型可以是对现实环境进行模拟而获得的仿真环境模型。具体的,环境模型可以用于表征状态值、动作值和后续状态值、奖励值的对应关系。
132.在本实施例中,基于第二获取单元602得到的初始动作选择模型和环境模型,第一执行单元603可以执行以下训练步骤(步骤6031-步骤6034):
133.步骤6031,从样本状态转移轨迹数据集合包括的样本状态转移轨迹数据中选择样本状态值作为目标状态值,以及利用目标状态值,执行以下处理步骤:
134.第一步,将目标状态值输入初始动作选择模型,获得动作值作为目标动作值。
135.第二步,将目标状态值和所获得的目标动作值输入环境模型,获得仿真后续状态值和仿真奖励值。
136.步骤6032,将所获得的仿真后续状态值作为目标状态值,重复执行处理步骤,直至满足预设处理条件,获得仿真状态转移轨迹数据。
137.在本实施例中,第一执行单元603可以将步骤6031中得到的仿真后续状态值作为新的目标状态值,以及利用新的目标状态值,重复执行上述处理步骤,直到满足预设处理条件,便可以获得由仿真单步状态转移数据组成的仿真状态转移轨迹数据。其中,预设处理条件可以为预先确定的各种条件。
138.在本实施例中,仿真状态转移轨迹数据由仿真单步状态转移数据组成。仿真单步状态转移数据可以包括目标状态值、目标动作值、仿真后续状态值和仿真奖励值。仿真状态转移轨迹数据中的每个仿真单步状态转移数据对应一次状态转移,而每次处理步骤的执行对应了一次从目标状态值到仿真后续状态值的转移,因此,每次处理步骤的执行可以对应一次状态转移,即对应一个仿真单步状态转移数据。
139.步骤6033,将样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据组成训练样本集合。
140.在本实施例中,基于第一获取单元601得到的样本状态转移轨迹数据和步骤6032中得到的仿真状态转移轨迹数据,第一执行单元603可以分别将样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据作为训练样本,进而组成训练样本集合,其中,训练样本集合中的每个训练样本为一个单步状态转移数据(仿真单步状态转移数据或样本状态转移数据)。
141.步骤6034,利用所组成的训练样本集合对初始动作选择模型进行训练,获得训练后动作选择模型。
142.在本实施例中,第一执行单元603可以利用步骤6033中获得的训练样本集合,对初始动作选择模型进行训练,获得训练后动作选择模型。
143.在本实施例的一些可选的实现方式中,装置600还包括:确定单元(图中未示出),被配置成确定是否满足预设训练完成条件;第二执行单元(图中未示出),被配置成响应于不满足预设训练完成条件,将训练后动作选择模型作为初始动作选择模型,继续执行训练步骤。
144.在本实施例的一些可选的实现方式中,第二获取单元602进一步被配置成:获取至少两个环境模型;以及第一执行单元603进一步被配置成:将目标状态值和所获得的目标动作值分别输入至少两个环境模型,获得至少两个候选后续状态值和至少两个候选奖励值;基于至少两个候选后续状态值,生成仿真后续状态值,以及基于至少两个候选奖励值,生成仿真奖励值。
145.在本实施例的一些可选的实现方式中,第二获取单元602包括:获取模块(图中未示出),被配置成获取初始环境模型;训练模块(图中未示出),被配置成利用样本状态转移轨迹数据集合中的样本单步状态转移数据对初始环境模型进行训练,获得环境模型。
146.在本实施例的一些可选的实现方式中,第一执行单元603进一步被配置成:从样本状态转移轨迹数据集合中选择与仿真状态转移轨迹数据相匹配的样本状态转移轨迹数据;
将所选择的样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据组成训练样本集合。
147.在本实施例的一些可选的实现方式中,第一执行单元603进一步被配置成:从样本状态转移轨迹数据集合中选择所包括的轨迹起点与仿真状态转移轨迹数据的轨迹起点相同的样本状态转移轨迹数据。
148.在本实施例的一些可选的实现方式中,第一执行单元603进一步被配置成:从样本状态转移轨迹数据集合中选择所对应的轨迹长度与所获得的仿真状态转移轨迹数据对应的轨迹长度相同的样本状态转移轨迹数据。
149.在本实施例的一些可选的实现方式中,第一执行单元603进一步被配置成:从所组成的训练样本集合中选择训练样本;确定初始动作选择模型服从的分布与所选择的训练样本中的数据服从的分布之间的差异;将所确定的差异作为训练初始动作选择模型的惩罚项,对初始动作选择模型进行训练,获得训练后动作选择模型。
150.可以理解的是,该装置600中记载的诸单元与参考图2描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于装置600及其中包含的单元,在此不再赘述。
151.本公开的上述实施例提供的装置600可以基于样本状态转移轨迹数据,获得仿真环境模型所对应的仿真训练样本,增加了用于训练动作选择模型的训练样本的数量,实现了对样本状态转移轨迹数据的充分利用,有助于利用获得的仿真训练样本和样本状态转移轨迹数据对应的真实训练样本,训练获得泛化能力更强的动作选择模型,进而基于动作选择模型进行更为准确、可靠的智能体控制。
152.进一步参考图7,作为对上述各图所示方法的实现,本公开提供了一种用于控制智能体的装置的一个实施例,该装置实施例与图4所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
153.如图7所示,本实施例的用于控制智能体的装置700包括:第三获取单元701、输入单元702和控制单元703。其中,第三获取单元701被配置成获取当前环境状态对应的状态值;输入单元702被配置成将所获取的状态值输入预先训练的动作选择模型,获得动作值,其中,动作值用于指示目标智能体在当前环境状态下可执行的动作,动作选择模型是利用图2对应的实施例中任一实施例的方法训练获得的模型;控制单元703被配置成控制目标智能体执行所获得的动作值所指示的动作。
154.在本实施例中,用于控制智能体的装置700的第三获取单元701可以通过有线连接方式或者无线连接方式从远程或本地获取当前环境状态对应的状态值。
155.在本公开中,将用于表征当前环境状态的数据称为当前环境状态对应的状态值。其中,用于表征当前环境状态的数据(即当前环境状态对应的状态值)可以是用于表征当前环境状态的各种数据,例如,可以是当前环境的图像、当前环境的温度等。
156.在本实施例中,基于第三获取单元701得到的状态值,输入单元702可以将该状态值输入预先训练的动作选择模型,获得动作值。其中,动作值用于指示目标智能体在当前环境状态下可执行的动作。目标智能体可以是上述装置700可以控制的智能体。动作选择模型可以是针对目标智能体设置的模型,用于为目标智能体选择动作。
157.具体的,动作选择模型可以是利用图2对应的实施例中的任一实施例的方法训练
获得的模型。具体的训练过程可以参考图2对应的实施例,此处不再赘述。
158.在本实施例中,基于输入单元702得到的动作值,控制单元703可以控制目标智能体执行该动作值所指示的动作。具体的,控制单元703可以向目标智能体发送动作值对应的动作指令,以控制目标智能体执行该动作值所指示的动作。
159.可以理解的是,该装置700中记载的诸单元与参考图4描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于装置700及其中包含的单元,在此不再赘述。
160.本公开的上述实施例提供的装置700可以基于图2对应的实施例中训练获得泛化能力更强的动作选择模型,进而可以利用泛化能力更强的动作选择模型,实现更为准确、可靠的智能体控制,提高了智能体控制的准确性和可靠性。
161.下面参考图8,其示出了适于用来实现本公开实施例的服务器(例如图1中的服务器)800的结构示意图。图8示出的服务器仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
162.如图8所示,服务器800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储装置808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram 803中,还存储有服务器800操作所需的各种程序和数据。处理装置801、rom 802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
163.通常,以下装置可以连接至i/o接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许服务器800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的服务器800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
164.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从rom 802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。
165.需要说明的是,本公开所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其
中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
166.上述计算机可读介质可以是上述服务器中所包含的;也可以是单独存在,而未装配入该服务器中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该服务器执行时,使得该服务器:获取预置的样本状态转移轨迹数据集合,其中,样本状态转移轨迹数据包括至少一个样本单步状态转移数据,样本单步状态转移数据包括样本状态值、样本动作值、后续样本状态值以及样本奖励值;获取初始动作选择模型和环境模型;基于初始动作选择模型和环境模型,执行如下训练步骤:从样本状态转移轨迹数据集合包括的样本状态转移轨迹数据中选择样本状态值作为目标状态值,以及利用目标状态值,执行以下处理步骤:将目标状态值输入初始动作选择模型,获得动作值作为目标动作值;将目标状态值和所获得的目标动作值输入环境模型,获得仿真后续状态值和仿真奖励值;将所获得的仿真后续状态值作为目标状态值,重复执行处理步骤,直至满足预设处理条件,获得仿真状态转移轨迹数据;将样本状态转移轨迹数据中的样本单步状态转移数据和仿真状态转移轨迹数据中的仿真单步状态转移数据组成训练样本集合;利用所组成的训练样本集合对初始动作选择模型进行训练,获得训练后动作选择模型。
167.此外,当上述一个或者多个程序被该服务器执行时,还可以使得该服务器:获取当前环境状态对应的状态值;将所获取的状态值输入预先训练的动作选择模型,获得动作值,其中,动作值用于指示目标智能体在当前环境状态下可执行的动作,动作选择模型是利用图2对应的实施例中任一实施例的方法训练获得的模型;控制目标智能体执行所获得的动作值所指示的动作。
168.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
169.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执
行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
170.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取样本状态转移轨迹数据集合的单元”。
171.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献