
本篇文章是博主强化学习RL领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅解。文章分类在强化学习专栏: 【强化学习】(13)---《多智能体信任域策略优化(MA-TRPO)算法》
信任域策略优化(Trust Region Policy Optimization, TRPO)是一种单智能体强化学习算法,通过限制策略更新的范围来保证稳定的性能提升。TRPO 在理论上保证了策略更新时的单调改进,但直接将其应用到多智能体场景时并不适用。多智能体信任域策略优化(Multi-Agent Trust Region Policy Optimization, MA-TRPO)就是一种专门针对多智能体环境的优化算法,旨在解决多智能体环境中的策略优化问题。
多智能体信任域策略优化(MA-TRPO)算法最早是在 2020 年由 Hepeng Li 和 Haibo He 提出,旨在扩展传统的信任域策略优化(TRPO)算法,使其能够适应多智能体强化学习(MARL)的复杂环境。该算法通过将策略更新过程转化为分布式共识优化问题,使多个智能体在不需要共享彼此的观测和奖励信息的情况下,独立优化各自的策略。
MA-TRPO 的关键优势在于,它允许智能体只通过与邻居共享概率比来进行训练,从而保护隐私并减少通信开销。实验表明,MA-TRPO 在合作任务中表现出较强的鲁棒性,并能够在复杂的多智能体任务中取得较好的性能。
如果你想深入研究这篇论文,相关文献见:Multi-Agent Trust Region Policy Optimization

MA-TRPO 是 TRPO 的一种扩展,专门用于多智能体环境。其核心思想是通过为每个智能体设计单独的策略优化过程,同时考虑智能体之间的相互影响和策略的协作性。该算法的主要目标是在多智能体环境中,保证每个智能体的策略更新时不仅能够获得个体的性能提升,同时还能促进整体团队的协调性和性能提升。
MA-TRPO 的核心思路可以总结为以下几点:
MA-TRPO 的整体流程可以分为以下几个步骤:

初始化策略网络

和价值网络

,这里

和

是每个智能体的策略和价值网络的参数。

进行交互,收集状态

、动作

、奖励

和下一状态

的数据。

。

,利用当前的价值网络

计算优势函数

。 优势函数可以通过以下公式计算:
![[ A_{\pi_{\theta_i}}(s_t, a_i) = Q_{\pi_{\theta_i}}(s_t, a_i) - V_{\phi_i}(s_t) ]](https://developer.qcloudimg.com/http-save/yehe-11391358/2033c80a02196a19884f6a77e81f182d.png)
其中

是动作值函数,可以通过累计未来的回报值来估计:
![[ Q_{\pi_{\theta_i}}(s_t, a_i) = \sum_{t'=t}^{T} \gamma^{t'-t} r_{t'} ]](https://developer.qcloudimg.com/http-save/yehe-11391358/78a0a31d73e286ec3c97b27a054a2a19.png)

是折扣因子,

是从

时刻到未来的累计奖励。
![[ \max_{\theta_i} \mathbb{E}{\pi{\theta_i}}\left[ \frac{\pi_{\theta_i}(a_i|s)}{\pi_{\theta_i^{\text{old}}}(a_i|s)} A_{\pi_{\theta_i^{\text{old}}}}(s, a_i) \right] ]](https://developer.qcloudimg.com/http-save/yehe-11391358/7fcc5bb86f1612babd17b94aeb8af9c1.png)
其中,

是策略的概率比值(importance sampling ratio),即当前策略和旧策略的比值。(

是根据旧策略计算的优势函数。 这个优化问题的约束是:
![[ D_{\text{KL}}(\pi_{\theta_i^{\text{old}}} || \pi_{\theta_i}) \leq \delta ]](https://developer.qcloudimg.com/http-save/yehe-11391358/ad5d6e1bbab5d3a8b4ef19dc8caada93.png)
这里

是 KL 散度,

是一个预设的小值,确保策略更新的步长不会太大,保证更新的稳定性。

。

后,可以将更新后的策略共享或同步到全局环境,视具体任务而定(在协作任务中可能会同步,在竞争任务中可能会保持独立)。
MA-TRPO 算法适用于以下场景:
多智能体信任域策略优化(MA-TRPO)算法通过引入信任域约束,结合多智能体环境的特点,有效解决了多智能体强化学习中的策略优化问题。该算法在保证策略稳定性的同时,提升了整体系统的性能,是多智能体强化学习领域中的一种有前景的方法。未来的发展可能会集中在降低计算复杂度、减少通信开销以及改进收敛性等方面。
# 初始化每个智能体的策略 π_θi 和价值函数 V_ϕi
# 设置信任域约束的超参数 δ (例如 0.01)
# 初始化每个智能体的策略参数 θ_i 和价值函数参数 ϕ_i
for each agent i do
initialize policy network π_θi and value network V_ϕi
initialize learning rates, KL divergence threshold δ
end for
# 迭代进行训练,直到达到预设的训练回合数
for each iteration do
# 收集数据
for each agent i do
initialize empty list of trajectories τ_i
for each episode do
reset environment and get initial state s_0
while not done do
# 每个智能体根据当前策略选择动作
for each agent i do
select action a_i ~ π_θi(a_i | s) # 根据当前策略选择动作
end for
# 执行动作并观察新的状态、奖励和终止标志
take actions a = (a_1, a_2, ..., a_N) in environment
observe next state s_, reward r_i for each agent i, and done
store (s, a, r, s') in τ_i # 将数据存储到轨迹列表中
s = s' # 更新状态
end while
end for
end for
# 计算优势函数和目标
for each agent i do
# 计算每个状态的价值估计 V_ϕi(s) 和优势函数 A_πθi(τ_i)
compute returns G_t from collected trajectories τ_i
compute value estimates V_ϕi(s) for each state in τ_i
compute advantage estimates A_πθi(s_t, a_i) = G_t - V_ϕi(s_t)
# 优化价值网络:最小化均方误差(MSE)
update ϕ_i by minimizing MSE loss L_V(ϕ_i) = (G_t - V_ϕi(s_t))^2
end for
# 策略更新
for each agent i do
# 计算目标函数 L(θ_i) 并使用共轭梯度法优化
compute policy gradient ∇L(θ_i) using collected data τ_i
# 计算 Fisher 信息矩阵,用于共轭梯度法
compute Fisher information matrix F
# 使用共轭梯度法求解更新步长
solve for step direction d using conjugate gradient: F * d = ∇L(θ_i)
# 计算最大步长大小
compute step size α using line search to satisfy KL constraint
# 更新策略参数 θ_i = θ_i + α * d
update policy network parameters θ_i = θ_i + α * d
end for
# 策略同步或更新
if applicable: synchronize updated policies or update global parameters
end for
。

,用于后续的策略和价值函数更新。

,并根据累计回报

计算优势函数

。优化价值网络参数 (\phi_i) 以最小化回报和状态价值之间的均方误差(MSE)。

,并使用共轭梯度法计算优化步长方向。使用 KL 散度限制来确保策略更新在一个稳定的范围内,通过线搜索方法调整步长大小,使得更新满足信任域的约束。更新每个智能体的策略参数

。
文章若有不当和不正确之处,还望理解与指出。由于部分文字、图片等来源于互联网,无法核实真实出处,如涉及相关争议,请联系博主删除。如有错误、疑问和侵权,欢迎评论留言联系作者