在多个智能体的情况下进行强化学习,MDP和policy gradiant都不能很好胜任,因此Trust Region Policy Optimisation in Multi-Agent Reinforcement Learning | PDF提出HATRPO/HAPPO训练方式。同时参考了Numerical Optimization

状态价值函数

定义:

含义:
在初始状态为 的条件下,遵循策略 时,期望获得的 累计折扣回报。用来衡量某个状态本身的“好坏”。

状态-动作价值函数

定义:

含义:
在状态 下先执行动作 ,之后遵循策略 ,期望获得的 累计折扣回报。用来衡量某个动作在某个状态下的“好坏”。

策略目标函数

定义:

含义:
策略 整个初始状态分布 下的期望累计回报,是强化学习中需要最大化的最终目标。 因此,我们的目标是最大化这个函数:(假定所有智能体共享同样的奖励函数)

同时定义优势函数,对于单智能体和多智能体,定义分别为:

信赖域算法

信赖域方法是一类用于数值优化的迭代算法。它的核心思想是:

  • 在每一步迭代时,不是直接在全局搜索下降方向,而是在当前点附近建立一个局部近似模型(通常是二次模型),然后只在一个“可信”的区域(trust region)内对这个近似模型进行优化。 定理: 设 是当前策略, 是下一个候选策略。我们定义 是用上一步的策略来构造近似下一步的奖励函数;KL 散度(常写 ​),用来度量新旧策略的分布差,在信赖域法里作为约束/惩罚控制更新“别走太远”。 那么以下不等式成立: 其中 所以当当前策略和下一步策略距离很近的时候,只根据上一步推断出来的会和非常接近。所以agent可以通过信赖域来迭代其策略:

但是这种方法并不实用,计算困难,论文提出TRPO算法,即: 每一次迭代,TRPO在策略构建一个KL球,使得和真实奖励函数相近。为了减轻计算散度的期望的计算负担,论文提出了PPO算法:

  • 策略比(新/旧策略在同一 上的相对概率)。

  • 优势函数(常用 GAE 估计)。

  • :把 限制在

  • 外层 :在“未裁剪值”和“裁剪后值”之间取更保守的那个,避免过度乐观。

  • (动作优于平均):希望 增大 其概率()。若 r>1+ϵr>1+\epsilon,被截断为 ,通过 限制上涨幅度

  • (动作劣于平均):希望 降低 其概率()。若 ,被截断为 ,通过 限制下跌幅度

信赖域算法在MARL中的应用

一种原始的应用方法是直接共享参数,用聚合轨迹进行策略训练,这个方法由MAPPO提出: 但是MAPPO有致命的缺陷:参数共享决定了智能体只能有相同的action space,可能导致并不能找到最优策略。因此论文提出可以使用HAPPO和HATRPO算法。

多智能体的优势函数 在任何一个合作马可夫游戏中,给定一个联合策略,对于任何状态,以及任何智能体子集,定义如下方程:

  • 求和符号右侧式子表示一组代理 同时把动作从“旧策略的基线动作”换成给定的新动作 ​ 时产生的联合优势(对旧策略 而言)。
  • 等式右侧表示前 个代理已用新动作 ​,再让第 个代理把动作改为 ​ 所带来的边际优势;把这些边际优势从 加起来,恰好等于“所有人一起改”的联合优势。 设 π 是一个联合策略, 是其他代理 的某个其他联合策略,而 是代理 的某个其他策略。那么 请注意,对于任何 ,我们有
  • 含义:在旧策略的状态分布 ​ 下,让前 个代理按 出动作,第 ​ 个代理按 出动作,计算“​ 个代理的边际优势”的期望。它是一个局部/代理目标,衡量“把第 ​ 个体从旧策略换成 的收益”,条件是其他体用 。即用每个智能体的更新策略的优势函数加和表示代理函数(在常见实践中)。 image.png

HATRPO/HAPPO

算法1使用的是散度,难估计且不光滑。同TRPO中的方法,将这个约束转为

最后的目标变成了求以下这个目标的最大值:

然后同TRPO一样:

  • 把目标在​​ 处做一阶近似,梯度记为
  • 把期望 在该点做二阶近似,Hessian 即 Fisher 信息矩阵

最后一步是求之后没看懂总之 HAPPO的目标是最大化