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

智能体的控制方法、装置、电子设备和存储介质与流程

2023-03-18 02:56:48 来源:中国专利 TAG:


1.本公开涉及ai(artificial intelligence,人工智能)领域,具体涉及机器学习和自然语言处理技术领域,尤其涉及智能体的控制方法、装置、电子设备和存储介质。


背景技术:

2.随着智能控制技术的不断发展,机器学习(包括深度学习、强化学习、监督学习、非监督学习)技术已经被广泛应用于智能机器人、无人机、无人车、工业物联网等众多领域。其中,多智能体对抗是智能控制领域的研究热点,多智能体对抗主要驱动己方智能体有效完成与敌方智能体的对抗任务,比如,己方智能体协作完成跟随、防御、攻击等对抗任务。


技术实现要素:

3.本公开提供了一种用于智能体的控制方法、装置、电子设备和存储介质。
4.根据本公开的一方面,提供了一种智能体的控制方法,包括:
5.获取多个智能体的目标状态数据,其中,所述多个智能体包括属于第一对象的至少一个智能体和属于第二对象的至少一个智能体;
6.根据所述多个智能体的目标状态数据,生成状态序列;
7.将所述状态序列输入智能体策略模型,以根据所述智能体策略模型的输出,确定动作序列;其中,所述动作序列中包括属于所述第一对象的各智能体的目标控制动作;
8.根据所述动作序列中的各目标控制动作,对属于所述第一对象的各智能体进行动作控制。
9.根据本公开的另一方面,提供了一种智能体的控制装置,包括:
10.获取模块,用于获取多个智能体的目标状态数据,其中,所述多个智能体包括属于第一对象的至少一个智能体和属于第二对象的至少一个智能体;
11.生成模块,用于根据所述多个智能体的目标状态数据,生成状态序列;
12.确定模块,用于将所述状态序列输入智能体策略模型,以根据所述智能体策略模型的输出,确定动作序列;其中,所述动作序列中包括属于所述第一对象的各智能体的目标控制动作;
13.控制模块,用于根据所述动作序列中的各目标控制动作,对属于所述第一对象的各智能体进行动作控制。
14.根据本公开的又一方面,提供了一种电子设备,包括:
15.至少一个处理器;以及
16.与所述至少一个处理器通信连接的存储器;其中,
17.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开上述一方面提出的智能体的控制方法。
18.根据本公开的再一方面,提供了一种计算机指令的非瞬时计算机可读存储介质,
所述计算机指令用于使所述计算机执行本公开上述一方面提出的智能体的控制方法。
19.根据本公开的还一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开上述一方面提出的智能体的控制方法。
20.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
21.附图用于更好地理解本方案,不构成对本公开的限定。其中:
22.图1为本公开实施例一所提供的智能体的控制方法的流程示意图;
23.图2为强化学习原理示意图;
24.图3为本公开实施例二所提供的智能体的控制方法的流程示意图;
25.图4为本公开实施例三所提供的智能体的控制方法的流程示意图;
26.图5为本公开实施例四所提供的智能体的控制方法的流程示意图;
27.图6为本公开实施例五所提供的智能体的控制方法的流程示意图;
28.图7为本公开实施例所提供的基于时空特征融合和双路解码动作来实现多智能体对抗的原理示意图;
29.图8为本公开实施例六所提供的智能体的控制装置的结构示意图;
30.图9示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
31.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
32.相关技术中,主要包括以下几种多智能体对抗方案:
33.第一种,基于课程学习的无人机空中博弈对抗方案。
34.该方案中使用课程学习和模仿学习在对抗场景下训练无人机策略,由于课程学习中的机动动作难度分类与模仿学习中的专家数据均依赖大量的人力资源,人工成本较高。并且,该方案依赖特定的仿真环境,当更换仿真环境时,需要重新投入上述人工成本,泛化性较差。
35.第二种,融合专家系统与强化学习的多智能体博弈对抗方案。
36.该方案中,第一,需要依赖专家经验,第二,虽然采用分层强化学习可以降低对抗学习的难度,但是同时也降低了学习的上限,理由为:学习的上限即为专家经验,而非学习出的一些出乎意外但非常灵活的操作。
37.第三种,基于动态图神经网络的多智能体对抗方案。
38.该方案中,直接采用图神经网络构建智能体之间的图结构,以此来表示智能体之间的关系,但是在建图之前的特征处理与关系计算较为简单,建图准确性难以保证,可能会导致错误的累积传递。
39.针对上述存在的至少一项问题,本公开提出一种智能体的控制方法、装置、电子设
备和存储介质。
40.下面参考附图描述本公开实施例的智能体的控制方法、装置、电子设备和存储介质。
41.图1为本公开实施例一所提供的智能体的控制方法的流程示意图。在具体描述本公开实施例之前,为了便于理解,首先对常用技术词进行介绍:
42.强化学习,是一种机器学习,如图2所示,强化学习是通过反馈(即奖励)学习策略的方法。其中,策略是一种能够根据观察值输出动作的逻辑,策略也可以是神经网络等模型。强化学习可以应用于机器人控制、游戏ai、调度策略、组合优化等应用场景。
43.本公开实施例以该智能体的控制方法被配置于智能体的控制装置中来举例说明,该智能体的控制装置可以应用于任一电子设备中,以使该电子设备可以执行智能体的控制功能。
44.其中,电子设备可以为任一具有计算能力的设备,例如可以为pc(personal computer,个人电脑)、移动终端、服务器等,移动终端例如可以为车载设备、手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
45.如图1所示,该智能体的控制方法可以包括以下步骤:
46.步骤101,获取多个智能体的目标状态数据,其中,多个智能体包括属于第一对象的至少一个智能体和属于第二对象的至少一个智能体。
47.在本公开实施例中,第一对象和第二对象为不同的对象,比如,第一对象可以为己方,第二对象可以为敌方。
48.在本公开实施例中,目标状态数据可以包括智能体的位姿、位置、速度、装载的武器等信息。
49.在本公开实施例中,可以获取属于第一对象的至少一个智能体的目标状态数据和属于至少一个第二对象的至少一个智能体的目标状态数据。
50.步骤102,根据多个智能体的目标状态数据,生成状态序列。
51.在本公开实施例中,可以根据多个智能体的目标状态数据,生成状态序列。
52.作为一种示例,标记属于第一对象的智能体个数为n,属于第二对象的智能体个数为m,假设第一对象为己方,第二对象为敌方,则属于第一对象的智能体的目标状态数据可以分别为:己方智能体1的目标状态数据s
11
,己方智能体2的目标状态数据s
12


,己方智能体n的目标状态数据s
1n
,属于第二对象的智能体的目标状态数据可以分别为:敌方智能体1的目标状态数据s
21
,敌方智能体2的目标状态数据s
22


,敌方智能体n的目标状态数据s
2m
,状态序列可以为{s
11
,s
12
,

,s
1n
,s
21
,s
22
,

,s
2m
}。
53.步骤103,将状态序列输入智能体策略模型,以根据智能体策略模型的输出,确定动作序列;其中,动作序列中包括属于第一对象的各智能体的目标控制动作。
54.在本公开实施例中,目标控制动作可以包括移动控制动作,其中,移动控制动作用于指示智能体的移动速度、移动方向和移动高度中的至少一项,比如,当智能体为无人机时,移动控制动作可以用于指示无人机的飞行速度、航向和高度。或者,目标控制动作可以包括移动控制动作和攻击控制动作,其中,攻击控制动作用于指示待发射的目标武器和待攻击的属于第二对象的目标智能体。
55.在本公开实施例中,可以将状态序列输入智能体策略模型,以根据智能体策略模
型的输出,确定动作序列,其中,动作序列中可以包括属于第一对象的各智能体的目标控制动作。
56.作为一种示例,动作序列可以为{a
11
,a
12
,

,a
1n
},其中,a
11
为己方智能体1的目标控制动作,a
12
为己方智能体2的目标控制动作,

,a
1n
为己方智能体n的目标控制动作。
57.步骤104,根据动作序列中的各目标控制动作,对属于第一对象的各智能体进行动作控制。
58.在本公开实施例中,可以根据动作序列中的各目标控制动作,对属于第一对象的各智能体进行动作控制。
59.仍以上述例子进行示例,可以根据a
11
对己方智能体1进行动作控制,根据a
12
对己方智能体2进行动作控制,

,根据a
1n
对己方智能体n进行动作控制。
60.本公开实施例的智能体的控制方法,通过根据多个智能体的目标状态数据生成状态序列,并将状态序列输入智能体策略模型,以根据智能体策略模型的输出,确定动作序列;其中,动作序列中包括属于第一对象的各智能体的目标控制动作;根据动作序列中的各目标控制动作,对属于第一对象的各智能体进行动作控制。由此,可以实现在多智能对抗场景中,对属于第一对象的各个智能体(比如己方智能体)进行动作控制,从而使得属于第一对象的各个智能体协作完成对抗任务。
61.需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均在征得用户同意的前提下进行,并且均符合相关法律法规的规定,且不违背公序良俗。
62.为了清楚说明本公开上述实施例中是如何获取每个智能体的目标状态数据的,本公开还提出一种智能体的控制方法。
63.图3为本公开实施例二所提供的智能体的控制方法的流程示意图。
64.如图3所示,该智能体的控制方法可以包括以下步骤:
65.步骤301,针对多个智能体中的任一智能体,获取智能体在当前时刻的第一状态数据。
66.其中,多个智能体包括属于第一对象的至少一个智能体和属于第二对象的至少一个智能体。
67.在本公开实施例中,第一状态数据可以包括智能体在当前时刻的位姿、位置、速度、装载的武器等信息。
68.需要说明的是,在多智能体的对抗场景中,每个智能体装载的武器信息是透明的,比如,每个智能体上初始装载有多少武器是已知的,通过对各智能体进行跟踪,可以确定各智能体已发射的武器,从而根据各智能体初始装载的武器和已发射的武器,确定剩余装载的武器。并且,通过对各智能体进行追踪,可以确定各智能体的位姿、位置、速度等信息。
69.在本公开实施例的一种可能的实现方式中,针对任意一个智能体,该智能体在当前时刻的第一状态数据可以通过以下步骤确定:
70.1、获取该智能体在当前时刻的第一子状态数据。
71.其中,第一子状态数据用于指示智能体在当前时刻的位置信息、速度信息和装载的武器信息中的至少一项。
72.2、获取第一智能体在当前时刻的第二子状态数据;其中,第二子状态数据用于指
示第一智能体在当前时刻的位置信息、速度信息和装载的武器信息中的至少一项,第一智能体与上述智能体属于同一对象,且第一智能体在当前时刻与上述智能体之间的距离小于第一距离阈值。
73.其中,第一距离阈值为预先设定的距离阈值。也就是说,针对任意一个智能体,可以获取与该智能体距离较近,且属于同一对象的其他智能体在当前时刻的第二子状态数据。
74.3、获取第二智能体在当前时刻的第三子状态数据,其中,第三子状态数据用于指示第二智能体在当前时刻的位置信息、速度信息和装载的武器信息中的至少一项,第二智能体与上述智能体属于不同对象,且第二智能体在当前时刻与上述智能体之间的距离小于第二距离阈值。
75.其中,第二距离阈值也为预先设定的距离阈值。也就是说,针对任意一个智能体,可以获取与该智能体距离较近,且属于不同对象的其他智能体在当前时刻的第三子状态数据。
76.4、根据第一子状态数据、第二子状态数据和第三子状态数据中的至少一项,生成上述智能体在当前时刻的第一状态数据。
77.作为一种示例,可以将第一子状态数据、第二子状态数据和第三子状态数据中的其中一项,作为该智能体的第一状态数据。
78.作为另一种示例,可以将第一子状态数据、第二子状态数据和第三子状态数据中的任意两项,作为该智能体的第一状态数据。
79.作为又一种示例,可以将第一子状态数据、第二子状态数据和第三子状态数据,作为该智能体的第一状态数据。
80.由此,可以实现基于空间维度上与某个智能体位置较近的其他智能体的状态信息,来确定该智能体的状态信息,从而可以实现基于空间维度上的多种信息,来预测属于第一对象的各智能体的目标控制动作,可以提升预测结果的可靠性。
81.步骤302,获取智能体在当前时刻之前的至少一个历史时刻的第二状态数据。
82.在本公开实施例中,历史时刻为当前时刻之前的时刻,比如,标记当前时刻为t时刻,则历史时刻可以为t-1时刻,t-2时刻、t-3时刻等。
83.在本公开实施例中,第二状态数据可以包括智能体在历史时刻的位姿、位置、速度、装载的武器等信息。
84.需要说明的是,考虑到历史时刻的个数越多,模型复杂程度越高,因此,在本公开实施例的一种可能的实现方式中,为了兼顾模型的复杂程度和预测精度,历史时刻的个数可以不超过3个。
85.在本公开实施例中,针对任意一个智能体,可以获取该智能体在当前时刻之前的至少一个历史时刻的第二状态数据。
86.在本公开实施例的一种可能的实现方式中,针对任意一个智能体,该智能体在任一历史时刻的第二状态数据可以通过以下步骤确定:
87.1、获取该智能体在历史时刻的第一历史子状态数据。
88.其中,第一历史子状态数据用于指示智能体在该历史时刻的位置信息、速度信息和装载的武器信息中的至少一项。
89.2、获取第三智能体在历史时刻的第二历史子状态数据;其中,第二历史子状态数据用于指示第三智能体在历史时刻的位置信息、速度信息和装载的武器信息中的至少一项,第三智能体与该智能体属于同一对象,且第三智能体在该历史时刻与该智能体之间的距离小于第一距离阈值。
90.也就是说,针对任意一个智能体,可以获取与该智能体距离较近,且属于同一对象的其他智能体在历史时刻的第二历史子状态数据。
91.3、获取第四智能体在历史时刻的第三历史子状态数据,其中,第三历史子状态数据用于指示第四智能体在历史时刻的位置信息、速度信息和装载的武器信息中的至少一项,第四智能体与该智能体属于不同对象,且第四智能体在历史时刻与智能体之间的距离小于第二距离阈值。
92.也就是说,针对任意一个智能体,可以获取与该智能体距离较近,且属于不同对象的其他智能体在历史时刻的第三历史子状态数据。
93.4、根据第一历史子状态数据、第二历史子状态数据和第三历史子状态数据中的至少一项,生成该智能体在历史时刻的第二状态数据。
94.作为一种示例,可以将第一历史子状态数据、第二历史子状态数据和第三历史子状态数据中的其中一项,作为该智能体的第二状态数据。
95.作为另一种示例,可以将第一历史子状态数据、第二历史子状态数据和第三历史子状态数据中的任意两项,作为该智能体的第二状态数据。
96.作为又一种示例,可以将第一历史子状态数据、第二历史子状态数据和第三历史子状态数据,作为该智能体的第二状态数据。
97.步骤303,根据当前时刻的第一状态数据和至少一个历史时刻的第二状态数据,生成智能体的目标状态数据。
98.在本公开实施例中,可以根据当前时刻的第一状态数据和至少一个历史时刻的第二状态数据,生成上述智能体的目标状态数据。
99.步骤304,根据多个智能体的目标状态数据,生成状态序列。
100.步骤305,将状态序列输入智能体策略模型,以根据智能体策略模型的输出,确定动作序列;其中,动作序列中包括属于第一对象的各智能体的目标控制动作。
101.步骤306,根据动作序列中的各目标控制动作,对属于第一对象的各智能体进行动作控制。
102.步骤304至306的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
103.本公开实施例的智能体的控制方法,可以实现基于各智能体在时间维度上多个时刻的状态信息,预测属于第一对象的各智能体的目标控制动作,可以提升预测结果的可靠性。
104.为了清楚说明本公开上述实施例中是如何根据状态序列确定动作序列的,本公开还提出一种智能体的控制方法。
105.图4为本公开实施例三所提供的智能体的控制方法的流程示意图。
106.如图4所示,该智能体的控制方法可以包括以下步骤:
107.步骤401,获取多个智能体的目标状态数据,其中,多个智能体包括属于第一对象
的至少一个智能体和属于第二对象的至少一个智能体。
108.步骤402,根据多个智能体的目标状态数据,生成状态序列。
109.步骤401至402的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
110.步骤403,对状态序列进行归一化处理。
111.在本公开实施例中,可以基于归一化算法,对状态序列中的各状态数据进行归一化处理。
112.需要说明的是,实际应用时,也可以无需对状态序列进行归一化处理,本公开对此并不做限制。
113.步骤404,采用智能体策略模型的编码层基于注意力机制对归一化处理后的状态序列进行编码,以得到编码特征。
114.在本公开实施例中,可以采用智能体策略模型的编码层基于注意力机制对归一化处理后的状态序列进行编码,以得到编码特征。
115.步骤405,采用智能体策略模型的解码层对编码特征进行解码,以得到动作序列。
116.其中,动作序列中包括属于第一对象的各智能体的目标控制动作。需要说明的是,前述实施例中对动作序列的解释说明也适用于该实施例,在此不做赘述。
117.在本公开实施例中,可以采用智能体策略模型的解码层,对编码特征进行解码,得到动作序列。
118.步骤406,根据动作序列中的各目标控制动作,对属于第一对象的各智能体进行动作控制。
119.步骤406的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
120.本公开实施例的智能体的控制方法,通过编码层对状态序列进行编码,可以得到表征当前各智能体之间的对抗态势的编码特征,并且,基于注意力机制对状态序列进行编码,可以编码得到属于第一对象的各智能体与属于第二对象的各智能体之间的相对态势。通过解码层对编码特征进行解码,可以有效得到各智能体的控制动作。
121.为了清楚说明本公开上述实施例中是如何对编码特征进行解码得到动作序列的,本公开还提出一种智能体的控制方法。
122.图5为本公开实施例四所提供的智能体的控制方法的流程示意图。
123.如图5所示,该智能体的控制方法可以包括以下步骤:
124.步骤501,获取多个智能体的目标状态数据;其中,多个智能体包括属于第一对象的至少一个智能体和属于第二对象的至少一个智能体,属于第一对象的智能体的个数为n。
125.步骤502,根据多个智能体的目标状态数据,生成状态序列。
126.步骤503,对状态序列进行归一化处理。
127.步骤504,采用智能体策略模型的编码层基于注意力机制对归一化处理后的状态序列进行编码,以得到编码特征。
128.步骤501至504的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
129.步骤505,采用智能体策略模型的解码层对编码特征进行解码,以得到动作序列中的首个属于第一对象的智能体的目标控制动作。
130.其中,动作序列中包括属于第一对象的各智能体的目标控制动作。需要说明的是,前述实施例中对动作序列和目标控制动作的解释说明也适用于该实施例,在此不做赘述。
131.在本公开实施例中,可以采用智能体策略模型的解码层对编码特征进行序列解码,以得到动作序列。即,可以首先采用解码层对编码特征进行解码,以得到动作序列中的首个属于第一对象的智能体的目标控制动作。
132.在本公开实施例的一种可能的实现方式中,可以采用解码层对编码特征进行解码,以得到动作序列中的首个属于第一对象的智能体执行多种控制动作的概率,从而可以根据首个属于第一对象的智能体执行多种控制动作的概率,从多种控制动作中确定概率最大的控制动作,并将该概率最大的控制动作,作为首个属于第一对象的智能体的目标控制动作。
133.由此,将概率最大的控制动作作为智能体的目标控制动作,可以提升控制动作预测结果的准确性。
134.在本公开实施例的另一种可能的实现方式中,可以采用解码层对编码特征进行解码,以得到动作序列中的首个属于第一对象的智能体执行多种控制动作的概率,并根据首个属于第一对象的智能体执行多种控制动作的概率,生成概率分布,从而可以对概率分布进行采样(比如随机采样)得到采样概率,并将该采样概率对应的控制动作,作为首个属于第一对象的智能体的目标控制动作。
135.由此,不仅可以将概率最大的控制动作作为智能体的目标控制动作,还可以将采样概率对应的控制动作作为智能体的目标控制动作,可以实现基于不同方式,确定智能体的目标控制动作,提升该方法的灵活性和适用性。
136.步骤506,采用解码层基于动作序列中第i个属于第一对象的智能体的目标控制动作,对编码特征进行解码,以得到动作序列中的第i 1个属于第一对象的智能体的目标控制动作;其中,i为小于n的正整数。
137.在本公开实施例中,可以采用解码层基于动作序列中的首个属于第一对象的智能体的目标控制动作,对编码特征进行解码,以得到动作序列中的第2个属于第一对象的智能体的目标控制动作。
138.作为一种示例,可以采用解码层基于动作序列中的首个属于第一对象的智能体的目标控制动作,对编码特征进行解码,以得到动作序列中的第2个属于第一对象的智能体执行多种控制动作的概率,从而可以根据第2个属于第一对象的智能体执行多种控制动作的概率,从多种控制动作中确定概率最大的控制动作,并将该概率最大的控制动作,作为第2个属于第一对象的智能体的目标控制动作。
139.作为另一种示例,可以采用解码层基于动作序列中的首个属于第一对象的智能体的目标控制动作,对编码特征进行解码,以得到动作序列中的第2个属于第一对象的智能体执行多种控制动作的概率,并根据第2个属于第一对象的智能体执行多种控制动作的概率,生成概率分布,从而可以对概率分布进行采样(比如随机采样)得到采样概率,并将该采样概率对应的控制动作,作为第2个属于第一对象的智能体的目标控制动作。
140.同理,可以采用解码层基于动作序列中的第2个属于第一对象的智能体的目标控制动作,对编码特征进行解码,以得到动作序列中的第3个属于第一对象的智能体的目标控制动作。
141.需要说明的是,动作序列中的第3个属于第一对象的智能体的目标控制动作的确定方式,与动作序列中的首个属于第一对象的智能体或动作序列中的第2个属于第一对象的智能体的目标控制动作的确定方式类似,在此不做赘述。
142.以此类推,可以采用解码层基于动作序列中的第n-1个属于第一对象的智能体的目标控制动作,对编码特征进行解码,以得到动作序列中的第n个属于第一对象的智能体的目标控制动作。
143.步骤507,根据动作序列中的各目标控制动作,对属于第一对象的各智能体进行动作控制。
144.步骤507的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
145.本公开实施例的智能体的控制方法,可以实现通过解码层进行序列解码的方式,有效得到属于第一对象的各智能体的目标控制动作。并且,通过序列解码更有利于作出具有一定协作的策略,从而使得属于第一对象的各个智能体协作完成对抗任务。
146.为了清楚说明本公开上述实施例中是如何对编码特征进行解码得到动作序列的,本公开还提出一种智能体的控制方法。
147.图6为本公开实施例五所提供的智能体的控制方法的流程示意图。
148.如图6所示,该智能体的控制方法可以包括以下步骤:
149.步骤601,获取多个智能体的目标状态数据;其中,多个智能体包括属于第一对象的至少一个智能体和属于第二对象的至少一个智能体,属于第一对象的智能体的个数为n。
150.步骤602,根据多个智能体的目标状态数据,生成状态序列。
151.步骤603,对状态序列进行归一化处理。
152.步骤604,采用智能体策略模型的编码层基于注意力机制对归一化处理后的状态序列进行编码,以得到编码特征。
153.步骤601至604的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
154.步骤605,采用智能体策略模型的第一解码层对编码特征进行解码,以得到动作序列中的首个属于第一对象的智能体的移动控制动作;其中,移动控制动作,用于指示对应智能体的移动速度、移动方向和移动高度中的至少一项。
155.在本公开实施例中,智能体策略模型的解码层可以包括第一解码层,可以通过第一解码层对编码特征进行解码,以得到动作序列中的首个属于第一对象的智能体的移动控制动作。
156.其中,移动控制动作,用于指示对应智能体的移动速度、移动方向和移动高度中的至少一项。比如,当智能体为无人机时,移动控制动作可以用于指示无人机的飞行速度、航向、高度。
157.作为一种可能的实现方式,解码层还可以包括分类层和第二解码层,可以采用分类层对编码特征进行分类,以得到首个属于第一对象的智能体的分类类别。
158.在分类类别指示首个属于第一对象的智能体的动作意图为攻击的情况下,目标控制动作还可以包括攻击控制动作,可以将编码特征输入第二解码层,以通过第二解码层对编码特征进行解码,以得到攻击控制动作;其中,攻击控制动作,用于指示待发射的目标武器和待攻击的属于第二对象的目标智能体。
159.在分类类别指示首个属于第一对象的智能体的动作意图为非攻击的情况下,目标控制动作可以仅包括移动控制动作,此时,可以无需将编码特征输入至第二解码层进行解码。
160.由此,目标控制动作不仅可以包括移动控制动作,还可以包括攻击控制动作,可以使得各智能体能够更好地应对对抗任务,高效地完成对抗任务。
161.步骤606,采用解码层基于动作序列中第i个属于第一对象的智能体的目标控制动作,对编码特征进行解码,以得到动作序列中的第i 1个属于第一对象的智能体的目标控制动作;其中,i为小于或等于n的正整数。
162.在本公开实施例中,可以采用第一解码层基于动作序列中首个属于第一对象的智能体的移动控制动作,对编码特征进行解码,以得到动作序列中的第2个属于第一对象的智能体的移动控制动作。
163.可选地,还可以采用分类层对编码特征进行分类,以得到第2个属于第一对象的智能体的分类类别。在分类类别指示第2个属于第一对象的智能体的动作意图为攻击的情况下,目标控制动作还可以包括攻击控制动作,可以将编码特征输入第二解码层,以通过第二解码层对编码特征进行解码,以得到攻击控制动作。而在分类类别指示第2个属于第一对象的智能体的动作意图为非攻击的情况下,目标控制动作可以仅包括移动控制动作,此时,可以无需将编码特征输入至第二解码层进行解码。
164.同理,可以采用第一解码层基于动作序列中第2个属于第一对象的智能体的移动控制动作,对编码特征进行解码,以得到动作序列中的第3个属于第一对象的智能体的移动控制动作。
165.可选地,还可以采用分类层对编码特征进行分类,以得到第3个属于第一对象的智能体的分类类别。在分类类别指示第3个属于第一对象的智能体的动作意图为攻击的情况下,目标控制动作还可以包括攻击控制动作,可以将编码特征输入第二解码层,以通过第二解码层对编码特征进行解码,以得到攻击控制动作。而在分类类别指示第3个属于第一对象的智能体的动作意图为非攻击的情况下,目标控制动作可以仅包括移动控制动作,此时,可以无需将编码特征输入至第二解码层进行解码。
166.以此类推,可以采用第一解码层基于动作序列中第n-1个属于第一对象的智能体的移动控制动作,对编码特征进行解码,以得到动作序列中的第n个属于第一对象的智能体的移动控制动作。
167.可选地,还可以采用分类层对编码特征进行分类,以得到第n个属于第一对象的智能体的分类类别。在分类类别指示第n个属于第一对象的智能体的动作意图为攻击的情况下,目标控制动作还可以包括攻击控制动作,可以将编码特征输入第二解码层,以通过第二解码层对编码特征进行解码,以得到攻击控制动作。而在分类类别指示第n个属于第一对象的智能体的动作意图为非攻击的情况下,目标控制动作可以仅包括移动控制动作,此时,可以无需将编码特征输入至第二解码层进行解码。
168.步骤607,根据动作序列中的各目标控制动作,对属于第一对象的各智能体进行动作控制。
169.步骤607的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
170.本公开实施例的智能体的控制方法,可以实现基于第一解码层预测属于第一对象
的各智能体的移动控制动作,从而可以根据移动控制动作对属于第一对象的各智能体进行移动控制,以避免属于第一对象的各智能体被属于第二对象的各智能体击落。
171.在本公开的任意一个实施例之中,可以基于时空特征融合和双路解码动作,来实现多智能体对抗,实现原理可以如图7所示。例如,可以将多智能体对抗任务视为一个强化学习任务,即最大化己方所有智能体取得的期望奖励(战胜对方智能体)。其中,强化学习包括环境、奖励、智能体策略(本公开中记为智能体策略模型)、状态空间、动作空间这五部分,其中状态空间具有基于时空特征融合的特点,动作空间具有双路解码动作的特征,而智能体策略模型为一个支持上述状态输出与动作输出的神经网络,具体描述如下所示:
172.1)状态空间:状态是智能体策略模型的输入数据,状态由己方所有智能体和可获取的敌方所有智能体的信息构成。以智能体为无人机进行示例,单独某个智能体的状态可以包括该智能体的位置信息、速度信息和装载的武器信息;最终输入到智能体策略模型中的每个智能体的状态包括时空两个维度,空间上包括该智能体的状态(位置信息、速度信息、武器信息)、与该智能体最近的m架己方智能体的状态(位置信息、速度信息、武器信息)、与该智能体最近的n架敌方智能体的状态(位置信息、速度信息、武器信息),时间上除了当前时刻各智能体的信息外,还包括历史前t个时刻的信息(t可以取1、2、3,考虑模型的复杂程度,t的取值一般不超过3)。
173.需要说明的是,融合时空信息可以在一定程度上明晰敌方智能体的动作意图或作战意图(比如攻击、包抄、远离等),并在此基础上连贯地输出己方某个智能体的动作意图或作战意图(比如攻击、跟随、逃跑等)。
174.2)动作空间:动作是智能体策略模型的输出数据,由于是多智能体对抗,所以动作空间是对己方所有智能体的控制;对于每个智能体,其动作空间可由以下部分组成:1)移动控制,包括速度,航向,高度;2)攻击控制,控制各种武器进行开火,并根据需要指定射击目标。
175.最终模型输出的动作为双路解码,一方面是每个智能体输出的动作依赖前一个智能体已确定的输出动作,形成智能体之间的依赖,通过序列解码更有利于作出具有一定协作的策略;另一方面是每个智能体输出的控制动作包括移动控制与攻击控制,其中攻击控制,先确定是否攻击,而当确定攻击时才需要明确攻击对象,这样就形成了一个动作的序列解码,以降低动作复杂度(在攻击同时确定攻击对象,这样的动作种类会随着敌方智能体数量的增加而增加),减缓模型压力;其中移动控制中的各变量均为连续值,可选的,可以将连续值离散化,以降低动作复杂度。
176.3)智能体策略模型:智能体策略模型是强化学习的核心,这里采用神经网络结构。其中,智能体策略模型的输入为所有智能体的状态组合,输出为己方所有智能体的动作组合,其中状态组合与动作组合已经在状态空间、动作空间中详细描述。为了支持上述输入与输出,神经网络结构可以进行如下设计:
177.a、输入层:输入的状态包括数值型和类别型(比如智能体中是否有人、智能体类型等),其中数值型需要进行归一化处理以保证数据的均衡。当智能体被击毁或退出对战时,需要将对应位置补充上默认值,以确保模型输入的智能体相对位置的一致性,降低学习难度。
178.b、输出层:输出的动作组合包括移动控制和攻击控制,其中移动控制若不进行离
散化则为连续型动作,一般假设动作服从正态分布n(μ,σ2),神经网络预测出正态分布的均值μ和方差σ2,再根据正态分布的均值与方差进行采样,得到待执行的动作;其中攻击控制为离散动作,则神经网络预测出执行每种动作的概率,可以根据概率分布进行采样,也可以直接执行概率最大的动作。
179.需要说明的是,由于攻击有一定范围,在选择攻击对象时,需要选择在可攻击范围内且仍存活的敌方智能体,可以通过掩码方式实现,而无需引入规则。
180.其中,掩码方式是指:如果敌方初始有5个智能体,则在对抗开始时可从这5个智能体中选择攻击对象,经过一段时间战斗后,如果敌方只剩3个存活的智能体,则在选择攻击对象时,只从这3个存活的智能体中选择攻击对象,将其余2个非存活的智能体的选择概率进行掩码mask,从而不影响整体的概率分布(此时,3个存活的敌方智能体的选择概率之和为1)。
181.其中,规则是指:无论敌方智能体中存活几个智能体,均输出所有智能体的选择概率(比如输出5个智能体的选择概率),之后,可从存活的智能体中确定选择概率最高的智能体,并作为攻击对象。
182.c、中间层:中间层采用包括编码层和解码层结构的transformer网络,其中输入层经编码层编码后,可以很好的表征当前的对战态势,其中编码层中的自注意力self-attention机制可以编码己方各智能体之间与敌方所有智能体的相对状态;基于解码层可以支持不同智能体的序列解码操作,而一个智能体的动作组合(移动 攻击)则通过类似的操作进行解码即可。
183.综上,在状态表征方面,通过融合智能体的历史状态(时间维度)与其他智能体的状态(空间维度)来得到当前智能体更好的状态表示;在动作解码方面,通过建模结构化的组合行动空间以及建模多智能体之间的决策协作,可以学习到非常复杂的协作策略,且在数量,种类,对战态势发生变化时具有一定的鲁棒性。发明人将该方案应用到空中智能博弈大赛中取得不错效果,支持多线索跟进,促进多智能体对抗的商业落地。
184.本公开中,通过精细化地设计智能体策略模型的网络结构,在状态空间与动作空间更好地适应多智能体对抗场景,而无需通过引入需要人工干预的课程学习、模仿学习等优化整体训练过程的方式来提升策略效果。并且,在动作空间上提出的双路动作解码,通过建模结构化的组合行动空间以及建模多智能体之间的决策协作,可以学习到非常复杂的协作策略,即,通过融合时空特征学习更好的状态表示,通过自回归方式建模结构化的组合动作空间以及建模多智能体之间的决策协作,可以学习到非常复杂的协作策略,且在智能体数量、种类、对战态势发生变化时具有一定的鲁棒性。
185.与上述图1至图6实施例提供的智能体的控制方法相对应,本公开还提供一种智能体的控制装置,由于本公开实施例提供的智能体的控制装置与上述图1至图6实施例提供的智能体的控制方法相对应,因此在智能体的控制方法的实施方式也适用于本公开实施例提供的智能体的控制装置,在本公开实施例中不再详细描述。
186.图8为本公开实施例六所提供的智能体的控制装置的结构示意图。
187.如图8所示,该智能体的控制装置800可以包括:获取模块801、生成模块802、确定模块803以及控制模块804。
188.其中,获取模块801,用于获取多个智能体的目标状态数据,其中,多个智能体包括
属于第一对象的至少一个智能体和属于第二对象的至少一个智能体。
189.生成模块802,用于根据多个智能体的目标状态数据,生成状态序列。
190.确定模块803,用于将状态序列输入智能体策略模型,以根据智能体策略模型的输出,确定动作序列;其中,动作序列中包括属于第一对象的各智能体的目标控制动作。
191.控制模块804,用于根据动作序列中的各目标控制动作,对属于第一对象的各智能体进行动作控制。
192.在本公开实施例的一种可能的实现方式中,获取模块801,用于:针对任一智能体,获取智能体在当前时刻的第一状态数据;获取智能体在当前时刻之前的至少一个历史时刻的第二状态数据;根据当前时刻的第一状态数据和至少一个历史时刻的第二状态数据,生成智能体的目标状态数据。
193.在本公开实施例的一种可能的实现方式中,获取模块801,用于:获取智能体在当前时刻的第一子状态数据,其中,第一子状态数据用于指示智能体在当前时刻的位置信息、速度信息和装载的武器信息中的至少一项;获取第一智能体在当前时刻的第二子状态数据;其中,第二子状态数据用于指示第一智能体在当前时刻的位置信息、速度信息和装载的武器信息中的至少一项,第一智能体与智能体属于同一对象,且第一智能体在当前时刻与智能体之间的距离小于第一距离阈值;获取第二智能体在当前时刻的第三子状态数据,其中,第三子状态数据用于指示第二智能体在当前时刻的位置信息、速度信息和装载的武器信息中的至少一项,第二智能体与智能体属于不同对象,且第二智能体在当前时刻与智能体之间的距离小于第二距离阈值;根据第一子状态数据、第二子状态数据和第三子状态数据中的至少一项,生成智能体的第一状态数据。
194.在本公开实施例的一种可能的实现方式中,确定模块803,可以包括:
195.处理单元,用于对状态序列进行归一化处理。
196.编码单元,用于采用智能体策略模型的编码层基于注意力机制对归一化处理后的状态序列进行编码,以得到编码特征。
197.解码单元,用于采用智能体策略模型的解码层对编码特征进行解码,以得到动作序列。
198.在本公开实施例的一种可能的实现方式中,属于第一对象的智能体的个数为n,解码单元,用于:采用解码层对编码特征进行解码,以得到动作序列中的首个属于第一对象的智能体的目标控制动作;采用解码层基于动作序列中第i个属于第一对象的智能体的目标控制动作,对编码特征进行解码,以得到动作序列中的第i 1个属于第一对象的智能体的目标控制动作;其中,i为小于或等于n的正整数。
199.在本公开实施例的一种可能的实现方式中,解码单元,用于:采用解码层对编码特征进行解码,以得到动作序列中的首个属于第一对象的智能体执行多种控制动作的概率;根据首个属于第一对象的智能体执行多种控制动作的概率,从多种控制动作中确定概率最大的控制动作;将概率最大的控制动作,作为首个属于第一对象的智能体的目标控制动作。
200.在本公开实施例的一种可能的实现方式中,解码单元,用于:采用解码层对编码特征进行解码,以得到动作序列中的首个属于第一对象的智能体执行多种控制动作的概率;根据首个属于第一对象的智能体执行多种控制动作的概率,生成概率分布;对概率分布进行采样,以得到采样概率;将采样概率对应的控制动作,作为首个属于第一对象的智能体的
903中,还可存储电子设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。i/o(input/output,输入/输出)接口905也连接至总线904。
211.电子设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
212.计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于cpu(central processing unit,中央处理单元)、gpu(graphic processing units,图形处理单元)、各种专用的ai(artificial intelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、dsp(digital signal processor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如上述智能体的控制方法。例如,在一些实施例中,上述智能体的控制方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到电子设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的智能体的控制方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述智能体的控制方法。
213.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、fpga(field programmable gate array,现场可编程门阵列)、asic(application-specific integrated circuit,专用集成电路)、assp(application specific standard product,专用标准产品)、soc(system on chip,芯片上系统的系统)、cpld(complex programmable logic device,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
214.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
215.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、ram、rom、eprom(electrically programmable read-only-memory,可擦除可
编程只读存储器)或快闪存储器、光纤、cd-rom(compact disc read-only memory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
216.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(cathode-ray tube,阴极射线管)或者lcd(liquid crystal display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
217.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:lan(local area network,局域网)、wan(wide area network,广域网)、互联网和区块链网络。
218.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(virtual private server,虚拟专用服务器)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
219.其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
220.根据本公开实施例的技术方案,通过根据多个智能体的目标状态数据生成状态序列,并将状态序列输入智能体策略模型,以根据智能体策略模型的输出,确定动作序列;其中,动作序列中包括属于第一对象的各智能体的目标控制动作;根据动作序列中的各目标控制动作,对属于第一对象的各智能体进行动作控制。由此,可以实现在多智能对抗场景中,对属于第一对象的各个智能体(比如己方智能体)进行动作控制,从而使得属于第一对象的各个智能体协作完成对抗任务。
221.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提出的技术方案所期望的结果,本文在此不进行限制。
222.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献