【技术实现步骤摘要】
一种基于多智能体最大熵强化学习的合作博弈方法
[0001]本专利技术属于机器学习领域,具体涉及一种基于多智能体最大熵强化学习的合作博弈方法。
技术介绍
[0002]首先进行关键术语定义:
[0003]智能体:智能体指任何能通过传感器感知环境并通过执行器作用于环境的实体。
[0004]强化学习:强化学习是机器学习的一个子领域,主要是通过制定智能体的奖励和惩罚机制来实现智能体在特定任务下能够获得最大的期望收益,从而使学习到的模型能够针对不同的状态做出最优的决策。
[0005]最大熵模型:熵是热力学中表征物质状态的参量之一,其物理意义是体系混乱程度的度量,后由香农引入到信息论。信息熵是信息不确定程度的度量,最大熵原理认为在所有可能的概率模型中,熵最大的模型就是最好的模型。
[0006]随机博弈:随机博弈是一类由一个或多个参与者进行的具有状态转移概率的动态博弈,在博弈中的每一阶段的开始,博弈处于某种特定状态,然后每个参与者选取某种动作,接着获得由当前状态和所选动作所决定的收益。之后,博弈发展到下一阶段 ...
【技术保护点】
【技术特征摘要】
1.一种基于多智能体最大熵强化学习的合作博弈方法,其特征在于,该方法具体包括如下步骤:步骤1:构建基于多智能体最大熵强化学习的合作博弈模型,该合作博弈模型包括N个智能体,每个智能体包括四个网络,分别是策略网络、值函数网络、目标策略网络、目标值函数网络,N个智能体就有4*N个网络,N为正整数;任意一个智能体的策略网络和值函数网络统称为该智能体的网络,任意一个智能体的目标策略网络和目标值函数网络统称为该智能体的目标网络,智能体的网络的作用是与环境进行交互,而智能体的目标网络的作用是更新自身的策略;策略网络负责生成对应的动作与环境进行交互,同时负责生成值函数网络更新时需要的动作,根据策略网络更新目标策略网络,目标策略网络负责生成目标值函数网络更新时需要的动作;值函数网络负责计算出策略网络更新时需要的梯度,同时根据值函数网络更新目标值函数网络,目标值函数网络负责生成值函数网络更新时所需的学习目标;所述基于多智能体最大熵强化学习的合作博弈模型还包括一个经验重放池,经验重放池中的每一条数据是由s、a、r、s
′
、d组成的一个向量,s、a、r、s
′
、d分别表示当前状态、所有智能体动作组合在一起的联合动作、获得的收益、下一状态、是否到达终止状态;步骤2:初始化基于多智能体最大熵强化学习的合作博弈模型中所有智能体的策略网络和值函数网络的参数,接下来初始化所有智能体的目标策略网络和目标值函数网络的参数,最后初始化经验重放池;训练基于多智能体最大熵强化学习的合作博弈模型的过程共执行D个周期,其中,D为正整数;步骤3:对于每一个周期,首先初始化随机博弈的初始状态,然后从初始状态所处的时刻开始,执行T轮博弈,每一轮博弈每个智能体都会根据自身选择的动作得到收益,每个周期中每个智能体获得的最终收益为其T轮博弈得到的平均收益,即其T轮博弈得到的总收益除以T,其中,T为正整数;步骤4:对于当前周期中的每一轮博弈,每个智能体根据自己当前的策略网络采样出当前状态下的动作,然后执行所有智能体的动作,并分别获得每个智能体相应的收益和新的状态,将当前时刻下所有智能体的信息整合为一条数据存入经验重放池中,同时将当前状态更新为下一状态;步骤5:针对当前周期中的每一轮博弈,从经验重放池中随机采样出M条数据,由此计算出更新策略网络所需的目标函数梯度和更新值函数网络所需的损失函数,用于更新策略网络和值函数网络的参数,通过更新后的策略网络和值函数网络的参数软更新目标策略网络和目标值函数网络的参数,其中,M由人为预先设置,如果经验重放池中的数据量不足M条,则重复步骤4直到经验重放池中的数据量大于M条,其中,M为正整数;步骤6:完成了一个周期的训练后,将上一周期训练得到的网络参数作为下一周期训练的初始网络参数,这里的网络指每个智能体的策略网络、值函数网络、目标策略网络、目标值函数网络;步骤7:重复步骤3至步骤6直到D个周期全部训练完成,得到训练好的基于多智能体最大熵强化学习的合作博弈模型;步骤8:对训练好的基于多智能体最大熵强化学习的合作博弈模型进行测试验证,得到验证后的基于多智能体最大熵强化学习的合作博弈模型;步骤9:通过验证后的基于多智能体最大熵强化学习的合作博弈模型中的策略网络来
进行新的一个周期的随机博弈,实现随机博弈环境下的合作博弈方法。2.根据权利要求1所述的基于多智能体最大熵强化学习的合作博弈方法,其特征在于,所述步骤5中更新策略网络和值函数网络的参数的方法具体包括:将多智能体中的环境称为随机博弈,定义一个随机博弈为一个五元组形式<S,A,r,p,γ>,其中S表示状态空间,A表示联合动作空间,r表示获得的收益,p表示状态转移矩阵,γ表示折扣因子;任意一个智能体i的策略定义为其中,i=1,2,...,N,θ
i
为智能体i的策略网络参数,π表示策略,a
i
表示智能体i选择的动作,上标i表示智能体的编号,表示智能体i的策略,也就是在当前状态s下选择动作a
i
的概率分布,之后为了简便起见,省略掉智能体i的策略的下标θ
i
,即通过π
i
来代替使用
‑
i表示除i之外的其他智能体;最大熵强化学习不仅最大化每个智能体的收益,同时最大化每个智能体策略的熵,满足最大化收益以及最大化策略的熵的策略被称为最优策略,最优策略的定义如下:其中π
i,*
表示智能体i的最优策略,π
i
表示智能体i能够选择的策略,t枚举了一个周期里的每一个时间步,即每一轮博弈,s
t
表示当前时刻t环境所处的当前状态,表示在当前时刻t智能体i选择的动作,表示当前时刻t除了智能体i之外的其他智能体的联合动作;表示在当前状态s
t
,智能体i选择动作同时除了智能体i之外的其他智能体洗择动作智能体i获得的收益;ρ
π
表示随机博弈在多智能体选择的联合策略为π=(π
i
,π
‑
i
)时达到的稳定分布,表示数据满足分布ρ
π
下的期望;α表示熵的系数,为预设值,取值范围为0<α<1;表示在当前状态s
t
智能体i的策略的熵,它的具体形式如下:其中,表示在当前状态s
t
智能体i选择动作的概率分布;定义多智能体最大熵强化学习中的值函数为未来收益与策略的熵之和的期望再加上当前收益,具体形式如下:其中,表示在当前状态s
t
,智能体i选择动作同时除了智能体i之外的其他智能体选择动作的值函数网络;l表示从下一时刻开始到无穷的计数器,γ表示预设的折扣因子,其取值范围为0<γ<1,即离当前时刻越远的收益和熵对当前时刻的影响越小;表示在时刻t+l智能体i获得的收益,s
t+l
表示在时刻t+l环境所处的状态;由公式(1)得到每个智能体的目标函数定义为以下形式:
其中表示智能体i采取策略π
i
的目标函数,通过求出一个周期中每一轮博弈累计的收益和累计的智能体i的策略的熵来评判一个策略的好坏;通过公式(3)定义的值函数将每个智能体的目标函数改写为:这里为了简便书写,省略了时间步下标t;对目标函数采用策略梯度的方法进行求导得到:其中表示对变量θ
i
求梯度;使用参数拟合Q
π
(s,a
i
,a
‑
i
),即更新值函数网络所需的损失函数通过均方误差表示为:其中表示参数为的值函数网络的损失函数,s表示当前状态,a
i
表示在当前状态智能体i选择的动作,a
‑
i
表示在当前状态除了智能体i之外的其他智能体的联合动作,s
′
表示下一状态,d表示是否达到终止状态,表示经验重放池,表示数据(s,a
i
,a
‑
i
,s
′
,d)满足在经验重放池中的分布下的期望,y表示值函数网络更新时所需的学习目标,它的定义如下:其中r
i
(s,a
i
,a
‑
i
)表示在当前状态s,智能体i选择动作a
i
,同时除了智能体i之外的其他智能体选择动作a
‑
i
,智能体i获得的收益;表示目标值函数网络的参数,表示目标值函数网络,s
′
表示下一状态,a
i,
′
表示下一时刻智能体i采取的动作,a
‑
i,
′
表示下一时刻除了智能体i之外的其他智能体采取的联合动作,a
i,
′
和a
‑
i,
′
分别是通过各自在下一状态s
′
下的策略π
i
(
·
|s
′
)、π
‑
i
(
·
|s
′
)采样而来;将公式(6)中的Q
π
替换成更新策略网络所需的目标函数梯度表示为:在每个周期的每一次博弈更新策略网络和值函数网络参数时通过采样来模拟公式(7)中的期望并通过采样来模拟公式(9)中的期望在经验重放池中随机采样出M个样本其中s
j
表示第j个样本的当前状态;表示第j个样本的联合动作,它是由第j个样本中智能体i的动作和除了智能体i之外的其他智能体的联合动作组成;表示第j个样本获得的收益,它是由第j个样本中智能体i的收益和除了...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。