本公开涉及人工智能,尤其涉及一种强化学习与行为树融合的方法及装置、电子设备和存储介质。
背景技术:
1、随着技术的发展,机器人行业不断朝着自动化、智能化发展,智能体在游戏、机器人、作战仿真等行业得到了广泛研究。行为树凭借其可解释性强、模块化和高响应性的特点,在智能体研究领域得到了越来越多的关注。
2、行为树作为一种智能策略建模方式,在机器人控制、游戏ai等领域发挥着重要的作用。其模块化的特点不仅能够提高复杂策略的开发效率,也极大地简化了策略的管理和维护。然而在实际应用中,行为树大多依靠专家经验构建,需要耗费大量精力手动调整,缺乏相应的学习机制。
技术实现思路
1、有鉴于此,本公开提出了一种智能体控制方案。
2、根据本公开的一方面,提供了一种智能体控制方法,应用于装载行为树的智能体,所述行为树包括:学习节点和奖励节点,所述方法包括:一种智能体控制方法,其特征在于,应用于装载行为树的智能体,所述行为树包括:学习节点和奖励节点,所述方法包括:在环境内执行目标任务的情况下,获取当前时刻的环境观测结果;所述奖励节点根据所述环境观测结果,确定对当前时刻下环境状态的第一奖励值;所述学习节点根据所述环境观测结果和所述第一奖励值,得到预测结果并更新所述学习节点对应的第一参数,所述预测结果用于确定下一时刻所述智能体执行的第一动作;直到在第一动作满足第一条件的情况下,将最后一次确定的预测结果作为所述学习节点的最终输出结果,所述最终输出结果用于确定在所述环境内执行所述目标任务的情况下所述智能体执行的目标动作。
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、所述第一动作为:所述学习参数节点对应的动作节点或条件节点根据所述运动参数输出的动作;
29、根据所述环境观测结果和所述第一奖励值,更新所述第一参数;
30、所述学习参数节点还用于:
31、将所述运动参数输入到所述至少一个动作节点或条件节点;
32、在所述至少一个动作节点或条件节点的输出满足所述第一条件的情况下,将最后一次确定的运动参数作为所述至少一个动作节点或条件节点的参数。
33、在一种可能的实现方式中,所述行为树包括:奖励池,所述奖励池包括至少一个消息队列,消息队列与任务相互对应,
34、所述奖励节点用于:
35、将所述第一奖励值与所述目标任务对应的目标消息队列相关联;
36、所述学习节点还用于:
37、基于所述目标任务,顺序获取所述目标消息队列关联的第一奖励;
38、在所述环境终止的情况下,基于所述目标任务获取目标队列中剩余的第一奖励,并利用所述剩余的第一奖励更新所述第一参数。
39、在一种可能的实现方式中,所述根据所述环境观测结果,确定各所述第三动作的第二执行概率,包括:
40、所述学习切换节点根据环境观测结果,得到作为各所述第一动作节点对应的动作的分数;
41、对各所述分数进行标准化处理,得到各所述第二执行概率;
42、所述装置包括:非法动作确定单元,
43、所述非法动作确定单元用于:
44、根据环境观测结果,将各所述第一动作节点对应的动作中的部分动作确定为非法动作;
45、将所述非法动作对应的分数设置为预设值,该预设值使得所述非法动作不会被执行。
46、在一种可能的实现方式中,所述学习切换节点接收节点返回的状态包括:运行和失败,所述学习切换节点包括:第一学习切换节点、第二学习切换节点,第三学习切换节点;
47、所述第一学习切换节点,用于在所述第一学习切换节点的子节点返回的状态为运行的情况下,选择上一时刻的目标动作节点作为当前时刻的目标动作节点;
48、所述第二学习切换节点,用于根据预设判断条件进行判断,并根据判断结果,确定是否继续确定目标动作节点;
49、所述第三学习切换节点,用于在所述第三学习切换节点的子节点返回的状态为失败的情况下,选择上一时刻的目标动作节点作为当前时刻的目标动作节点。
50、根据本公开的另一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
51、根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
52、根据本公开的另一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
53、在本公开实施例中,行为树包括奖励节点,使得智能体在执行动作后,可以针对环境对该动作做出的反馈,获取环境观测结果,确定第一奖励值。并且行为树包括学习节点,可以根据环境观测结果和第一奖励值训练学习节点;直至满足第一条件,确定出学习节点的最终输出结果。这样一来,行为树的节点可以自动地确定完成目标任务所要执行的动作,降低了对专家经验的依赖,降低了手动调整的比例,在满足准确率要求的前提下,提高了建立行为树的效率。
54、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
1.一种智能体控制方法,其特征在于,应用于装载行为树的智能体,所述行为树包括:学习节点和奖励节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述学习节点包括:学习动作节点,所述预测结果为所述第一动作,所述学习节点对应多个预设的第二动作;
3.根据权利要求1所述的方法,其特征在于,所述学习节点包括:学习切换节点,所述预测结果为:目标动作节点;所述行为树包括:动作节点,所述学习切换节点的子节点包括:至少两个第一动作节点,所述第一动作节点对应至少一个预设的第三动作;
4.根据权利要求1所述的方法,其特征在于,所述学习节点包括:学习参数节点,所述学习参数节点对应至少一个动作节点或条件节点;
5.根据权利要求1所述的方法,其特征在于,所述行为树包括:奖励池,所述奖励池包括至少一个消息队列,消息队列与任务相互对应,所述方法还包括:
6.根据权利要求3所述的方法,其特征在于,所述根据所述环境观测结果,确定各所述第三动作的第二执行概率,包括:
7.根据权利要求3所述的方法,其特征在于,所述学习切换节点接收节点返回的状态包括:运行和失败,所述学习切换节点包括:第一学习切换节点、第二学习切换节点,第三学习切换节点;
8.一种智能体控制装置,其特征在于,所述装置中设置行为树,所述行为树包括:学习节点和奖励节点,所述装置包括:
9.一种电子设备,其特征在于,包括:
10.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至7中任意一项所述的方法。
