一种面向混合行为空间的批约束离线强化学习算法

文档序号:33050896发布日期:2023-01-24 23:18阅读:70来源:国知局
一种面向混合行为空间的批约束离线强化学习算法

1.本发明涉及计算机生成兵力行为决策建模技术领域,具体讲,涉及面向智能兵力对抗强化学习中基于离线强化学习的兵力混合行为空间决策建模技术领域。


背景技术:

2.计算机技术是目前作战仿真研究的重要手段和有效途径。其中,计算机生成兵力技术(computer generated forces,cgf)是军用仿真特别是分布交互作战仿真的重要支撑技术,其中人类的作战行为一直是cgf的研究热点。由于兵力仿真系统一般具有复杂的非线性和不确定性等特征,随着人工智能技术的迅猛发展和领域深化,基于强化学习技术进行cgf行为决策建模的方法成为当今热点研究方向。
3.然而,强化学习技术在兵力行为决策领域中的应用目前最主要的挑战是训练效率问题,其主要体现在以下几个方面:(1)强化学习的训练过程要进行大量的探索,本质上是试错的学习方法,核心思想是从已有的交互经验中高效稳定地优化策略,趋近任务目标。在复杂兵力决策任务中,须要与仿真环境进行成千上万轮的完整交互,才能训练得到较优策略;(2)强化学习训练效率依赖于仿真环境的推进速率。兵力智能体与仿真环境在线交互的过程中逐步完成策略的探索和强化,每一个时间步上智能体须要和仿真环境完成双向的交互。仿真环境的推进速率很大程度上决定了强化学习的训练效率。而且,兵力对抗仿真场景规模大,复杂度高,单步推进所需的计算量庞大,更加依赖于硬件的计算能力,导致大规模联合兵力对抗仿真环境很难在高倍率下运行;(3)强化学习的数据无法高效重复利用。智能体与仿真环境始终在线交互,利用自身策略与环境的交互数据完成策略评估与自演化,旧版本的迭代策略与环境的交互数据只在当次迭代中被利用。尽管存在“异策略(off-policy)”的强化学习方法,可以将旧的迭代策略与环境的交互数据缓存起来作为新策略优化的训练样本,但是现有的异策略强化学习本质上还是动态的不完全异策略方法,使用的缓存依然是有限的,缓存会随着策略的更新而更新,旧的数据无法高效利用。离线强化学习范式为突破上述问题提供了新的技术途径。强化学习本质上是充分探索仿真环境状态,积累试错经验而达到策略自演化的学习方法。离线数据集中大量不同类型的策略产生的交互数据实际上蕴含了大量的兵力智能体对仿真环境的探索边界和采样空间。离线强化学习可以脱离与仿真环境的在线交互,完成兵力智能体行为决策模型的强化学习离线训练,通过高效利用历史交互数据而快速得到较优的智能对抗策略,从而减少兵力智能体与仿真环境的真实在线交互时间,提高强化学习的效率。然而,离线强化学习在兵力行为决策场景中的有效应用面临混合行为空间外推误差两个制约条件。
4.(一)混合行为空间问题。兵力行为决策问题的一个典型特征是其往往同时涉及离散的行为空间和连续的行为空间,具体表现一般是参数化的行为动作空间,兵力行为决策问题中典型混合行为空间示意图如图1所示。混合行为空间的特征贯穿于利用强化学习方法进行兵力行为决策问题建模的全过程当中。强化学习中行为动作空间的类型是刻画问题的一种非常重要的性质,往往直接决定了采用何种强化学习算法进行解决。深度强化学习
算法一般面向离散动作空间和连续动作空间其中一种进行设计,无法有效解决混合行为空间,即连续值参数化的离散动作空间的问题。因此需要针对混合行为空间的兵力行为决策问题进行针对性的离线深度强化学习算法设计,使得一般性的兵力行为决策问题能够利用深度强化学习方法得到建模和解决。
5.(二)外推误差问题。离线强化学习本质上也是一种异策略(off-policy)学习,利用不同于当前待优化策略的采样策略产生的交互数据来进行策略优化。其面临基本的外推误差(extrapolation error)问题:离线数据集中的采样数据分布与待优化策略的数据分布存在偏差,进而导致值函数估计的偏差和错误的策略优化方向。具体表现为:(1)离线数据集中缺少某个“状态-行为”对数据,那么依赖于数据的某个附近状态或者行为的值函数估计会无法更新,误差会进一步因为时序差分机制而扩散;(2)离线数据集中存在某个“状态-行为”对的数据,但是由于采样策略的探索倾向和探索边界的存在,数据探索不够充分,导致从离线样本上估计的值函数存在误差;(3)即使离线数据集中的交互数据是充分的,训练时从数据集一般是按照均匀采样,训练的误差依然会严重受到样本不均衡性的影响。
6.现有的强化学习算法大多或者针对离散行为空间、或者针对连续行为空间,在针对混合行为空间的强化学习算法中,均为基于在线的范式进行学习,缺乏充分利用离线数据集进行强化学习的方案。


技术实现要素:

7.为解决上述问题,本发明将actor-critic架构推广到混合行为空间,并且基于离散数据集,提出了一种面向混合行为空间的批约束离线强化学习算法。
8.本发明针对面向计算机生成兵力行为决策建模问题,提出一种面向混合行为空间的批约束离线强化学习算法。本方法针对混合行为空间的兵力行为决策问题进行针对性的算法设计,采用离线强化学习范式,脱离与仿真环境的在线交互,通过高效利用历史交互数据而快速得到较优的智能对抗策略,从而减少兵力智能体与仿真环境的真实在线交互时间,提高强化学习的效率。本发明的具体技术方案如下:
9.一种面向混合行为空间的批约束离线强化学习算法,其算法结构图见图2,包括以下步骤:
10.s1,针对混合行为空间的特点,设计一个离散生成器网络和一个连续生成器网络两个生成器网络在前向推理时共享一个状态向量作为输入,输入层宽度都为所述状态向量的维度,所述两个生成器网络用于在特定状态下联合生成一个参数化动作,其中,通过多轮训练保证联合生成的所述参数化动作与预设离散数据集在所述特定状态下对应动作的相似性;
11.s2,设置一个驱动器网络ξ
φ
,所述驱动器网络用于与所述离散生成器网络或所述连续生成器网络联合组成策略模型,所述策略模型用于输出最终的参数化行为策略,其中,所述驱动器网络输入层和输出层宽度相同,所述驱动器网络对所述两个生成器网络的联合输出进行二次表征,并驱动生成新的参数化向量;
12.s3,设置两个critic网络和用于估计所述s1两个生成器网络和所述s2驱动器网络联合构成的强化学习actor网络输出的参数化向量的价值,所述两个critic网络
的结构相同,且输入层宽度等于所述驱动器网络的输出层宽度和所述状态向量维度之和,所述两个critic网络各输出一个标量值q,作为当前时间步上参数化向量的价值估计,用于对critic网络进行网络参数更新。
13.进一步地,所述s1包括:准备离线数据集,其中,所述离线数据集由预设算法策略与环境交互所形成的“状态—行为—奖励—新状态”短序列构成,其中行为是参数化动作;按照预先配置信息配置离线训练的一个或多个参数,初始化两个actor网络,初始化两个critic网络,初始化一个扰动网络,并对所述actor网络、critic网络和扰动网络进行k轮训练,其中,所述k为预设值;从离线数据集随机抽取个“状态—行为—奖励—新状态”短序列,将所述短序列中的状态向量输入所述两个生成器网络进行前向计算;更新离散生成器网络及连续生成器网络的参数值。
14.进一步地,所述步骤s1具体流程为:
15.s1-1:准备有奖励信息的离线数据集所述离线数据集由预设算法策略与环境交互所形成的“状态—行为—奖励—新状态”短序列(s,a,r,s

)构成,其中行为a是参数化动作;
16.s1-2:设置离线训练时小批量样本的大小n,设置驱动器网络参数更新率α,设置critic网络参数更新率τ,设置critic网络综合权重λ,设置离线强化学习训练的迭代轮数t;
17.s1-3:初始化两个actor网络初始化两个critic网络初始化一个扰动网络ξ
φ

18.s1-4:进行第k轮训练,训练完成后执行k=k+1;
19.s1-5:从离线数据集随机抽取n个“状态—行为—奖励—新状态”短序列(s,a,r,s

);
20.s1-6:将短序列中的状态向量s输入所述两个生成器网络,其中,所述离散生成器网络由编码器e和解码器d组成,由自变分编码器vae模型实现,所述编码器e的输入是当前状态向量s和离散行为ad,输出是表征离散行为的分布其均值为μ,方差为σ;所述解码器d的输入是当前状态向量s和分布输出是根据此分布抽样得到的动作此动作为当前状态下的离散动作部分;
21.所述离散生成器网络按下式进行前向计算:
[0022][0023][0024][0025]
其中,softmax(
·
)表示对网络输出进行softmax操作,将输入转换为输出的概率值;sample(a)表示按照每个离散动作的概率值进行随机抽样;表示在连续生成器网络输出的所有离散动作的参数值组成的向量中取对应于动作的子向量;
[0026]
其中,与数据集中对应的参数化行为中的离散动作相似的动作记为第一动作,所述离散生成器网络用于在生成特定状态s下,为所述第一动作选择的分布概率,所述离散
生成器网络输出层宽度是k,所述k是可选离散动作的个数,所述k等于离散动作空间的维度,网络的每个输出f
a1
,f
a2
,

,f
ak
对应k个离散动作,通过对输出层施加softmax(f)操作,将k个网络输出值映射为每个离散动作的概率值,然后根据此概率值确定的概率分布进行随机采样确定生成的某个离散动作
[0027]
其中,与数据集中对应的参数化动作中的连续参数相似的动作记为第二动作,所述连续生成器网络用于在生成特定状态s下,为所述第二动作配套参数向量述连续生成器网络用于在生成特定状态s下,为所述第二动作配套参数向量表示目标动作的自由度,所述连续生成器输出层宽度是所有离散动作的自由度之和即所有离散动作的配套参数总个数,每个输出对应不同动作的某个连续值参数,与离散actor网络生成的离散动作配套的连续值参数是连续actor网络全部输出的一个子向量,两个actor网络的联合输出确定了生成的参数化动作元组
[0028]
s1-7:按照下式更新离散生成器网络及连续生成器网络的参数值;
[0029][0030][0031]
其中,n
batch
表示训练中的一批样本数量,生成器网络在某状态s下通过随机抽样和子向量抽取后,联合生成的参数化动作在离线数据集中此状态对应的动作a附近;
[0032]
进一步地,所述s2包括:将所述两个生成器网络的联合输出作为所述驱动器网络的输入并进行前向计算,所述驱动器网络输入层和输出层宽度相同;按照最大化值的方向更新所述两个生成器网络和所述扰动网络的参数;按照确定性策略梯度dpg的方式进行求导并确定所述驱动器网络的更新方向。
[0033]
进一步地,所述步骤s2具体流程为:
[0034]
s2-1:将所述两个生成器网络的联合输出作为所述驱动器网络的输入,所述驱动器网络输入层和输出层宽度相同,均为所述两个生成器网络的输出层宽度之和按下式进行前向计算:
[0035][0036]
其中,表示每个离散动作的价值,表示所有离散动作的连续值参组成的联合向量,ξ
φ
代表一个驱动器网络,φ表示其网络参数,智能体执行的动作为代表一个驱动器网络,φ表示其网络参数,智能体执行的动作为以及中与a
*
对应的参数,所述两个生成器网络内部隐含有加入随机噪声的作用,用于增加探索多样性;
[0037]
s2-2:按照最大化q值的方向更新参数,其公式如下:
[0038][0039]
s2-3:所述驱动器网络的更新方向可以按照确定性策略梯度dpg的方式进行求导,其公式如下所示:
[0040]
critic结构上,形成混合行为空间上actor-critic结构的批约束异策略算法,基于离线强化学习范式,利用此算法在离线数据集上基于有奖励的交互数据完成离线强化学习训练,为兵力行为决策问题提供了一种面向混合行为空间的批约束离线强化学习方案。
附图说明
[0062]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。其中:
[0063]
图1是典型混合行为空间示意图
[0064]
图2是一种面向混合行为空间的批约束离线强化学习算法结构图
具体实施方式
[0065]
为使本发明的技术方案更加清楚,下面结合附图和具体实施方式对本发明进行进一步的详细描述。在下面的描述中结合图2算法结构图阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
[0066]
具体地,一种面向混合行为空间的批约束离线强化学习算法,具体包括以下步骤:
[0067]
s1,参数化行为的批约束步骤,该步骤针对混合行为空间的特点,设计一个离散生成器网络和一个连续生成器网络两个生成器网络在前向推理时共享一个状态向量作为输入,输入层宽度都为所述状态向量的维度,所述两个生成器网络用于在特定状态下联合生成一个参数化动作,其中,通过多轮训练保证联合生成的所述参数化动作与预设离散数据集在所述特定状态下对应动作的相似性,以满足批约束条件,进而保证算法在离线训练场景下能够收敛;
[0068]
s2,参数化行为二次表征步骤,该步骤设置一个驱动器网络ξ
φ
,所述驱动器网络用于与所述离散生成器网络或所述连续生成器网络联合组成策略模型,所述策略模型用于输出最终的参数化行为策略,其中,所述驱动器网络输入层和输出层宽度相同,所述驱动器网络对所述两个生成器网络的联合输出进行二次表征,并驱动生成新的参数化向量;
[0069]
s3,参数化行为价值估计及优化步骤,该步骤设置两个critic网络和用于估计所述s1两个生成器网络和所述s2驱动器网络联合构成的强化学习actor网络输出的参数化向量的价值,所述两个critic网络的结构相同,且输入层宽度等于所述驱动器网络的输出层宽度和所述状态向量维度之和,所述两个critic网络各输出一个标量值q,作为当前时间步上参数化向量的价值估计,对critic网络进行网络参数更新;
[0070]
进一步地,所述步骤s1具体流程为:
[0071]
s1-1:准备有奖励信息的离线数据集所述离线数据集由预设算法策略与环境交互所形成的“状态—行为—奖励—新状态”短序列(s,a,r,s

)构成,其中行为a是参数化动作;
[0072]
s1-2:设置离线训练时小批量样本的大小n,设置驱动器网络参数更新率α,设置
critic网络参数更新率τ,设置critic网络综合权重λ,设置离线强化学习训练的迭代轮数t;
[0073]
s1-3:初始化两个actor网络初始化两个critic网络初始化一个扰动网络ξ
φ

[0074]
s1-4:进行第k轮训练,执行k=k+1;
[0075]
s1-5:从离线数据集随机抽取n个“状态—行为—奖励—新状态”短序列(s,a,r,s

);
[0076]
s1-6:将短序列中的状态向量s输入所述两个生成器网络,其中,所述离散生成器网络由编码器e和解码器d组成,由自变分编码器vae模型实现,所述编码器e的输入是当前状态向量s和离散行为ad,输出是表征离散行为的分布其均值为μ,方差为σ;所述解码器d的输入是当前状态向量s和分布输出是根据此分布抽样得到的动作此动作为当前状态下的离散动作部分;
[0077]
所述离散生成器网络按下式进行前向计算:
[0078][0079][0080][0081]
其中,softmax(
·
)表示对网络输出进行softmax操作,使其输出转换为概率值;sample(a)表示按照每个离散动作的概率值进行随机抽样;表示在连续生成器网络输出的所有离散动作的参数值组成的向量中取对应于动作的子向量;
[0082]
其中,与数据集中对应的参数化行为中的离散动作相似的动作记为第一动作,所述离散生成器网络用于在生成特定状态s下,为所述第一动作选择的分布概率,所述离散生成器网络输出层宽度是k,所述k是可选离散动作的个数,所述k等于离散动作空间的维度,网络的每个输出f
a1
,f
a2
,

,f
ak
对应k个离散动作,通过对输出层施加softmax(f)操作,将k个网络输出值映射为每个离散动作的概率值,然后根据此概率值确定的概率分布进行随机采样确定生成的某个离散动作
[0083]
其中,与数据集中对应的参数化动作中的连续参数相似的动作记为第二动作,所述连续生成器网络用于在生成特定状态s下,为所述第二动作配套参数向量述连续生成器网络用于在生成特定状态s下,为所述第二动作配套参数向量表示目标动作的自由度,所述连续生成器输出层宽度是所有离散动作的自由度之和即所有离散动作的配套参数总个数,每个输出对应不同动作的某个连续值参数,与离散actor网络生成的离散动作配套的连续值参数是连续actor网络全部输出的一个子向量,两个actor网络的联合输出确定了生成的参数化动作元组
[0084]
s1-7:按照下式更新离散生成器网络及连续生成器网络的参数值;
[0085]
[0086][0087]
其中,n
batch
表示训练中的一批样本数量,生成器网络在某状态s下通过随机抽样和子向量抽取后,联合生成的参数化动作在离线数据集中此状态对应的动作a附近,为了将参数化动作限制在批约束范围内,两个生成器网络的优化方向如上式所示;
[0088]
进一步地,所属步骤s2具体流程为:
[0089]
s2-1:将所述两个生成器网络的联合输出作为所述驱动器网络的输入,所述驱动器网络输入层和输出层宽度相同,均为所述两个生成器网络的输出层宽度之和按下式进行前向计算:
[0090][0091]
其中,表示每个离散动作的价值,表示所有离散动作的连续值参组成的联合向量,ξ
φ
代表一个驱动器网络,φ表示其网络参数,智能体执行的动作为代表一个驱动器网络,φ表示其网络参数,智能体执行的动作为以及中与a
*
对应的参数,所述两个生成器网络内部隐含有加入随机噪声的作用,用于增加探索多样性;
[0092]
s2-2:按照最大化q值的方向更新参数,其公式如下:
[0093][0094]
s2-3:所述驱动器网络的更新方向可以按照确定性策略梯度dpg的方式进行求导,其公式如下所示:
[0095][0096]
其中,是步骤s3所设计的某个critic网络,两个生成器网络和一个驱动器网络联合构成了强化学习ac架构中的actor模型;
[0097]
进一步地,所述步骤s3具体流程为:
[0098]
s3-1:设计两个critic网络和用于估计actor输出的参数化向量的价值,公式如下:
[0099]
q1=q(s,a;θ1),
[0100]
q2=q(s,a;θ2),
[0101]
其中,两个critic网络的结构相同,输入层宽度等于驱动器网络输出层宽度和状态向量维度之和,所述两个critic网络各输出一个标量值q,作为当前时间步上参数化向量的价值估计;
[0102]
s3-2:利用单步td目标作为critic网络的更新目标,对所述两个critic网络的输出加入权重得到综合td目标,更新公式如下:
[0103][0104]
其中,γ为所述折扣因子,λ为所述critic网络权重,qj′
表示critic网络对下一个
时间步上的价值估计,其公式如下:
[0105]q′j=q(s

,a

;θj),
[0106]
其中,s

为下一时刻状态,θj为当前网络j参数;
[0107]
s3-3:更新所述两个critic网络的参数,其更新公式如下:
[0108][0109]
其中,n_batch表示训练中的一批样本数量,qj为当前时刻价值;
[0110]
s3-4:判断当前训练总轮数是否大于t,如果小于,则执行k=k+1,并返回s1-4执行,否则执行s3-5;
[0111]
s3-5:结束。
[0112]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1