多智能体强化学习-MADDPG

本文介绍了一种基于DDPG的多智能体强化学习算法MADDPG,该算法能够解决混合协作竞争环境下的问题。文章详细阐述了MADDPG的工作原理、训练流程及在多个实验场景中的应用表现。

论文地址:Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments.

代码地址:Multi-Agent Deep Deterministic Policy Gradient (MADDPG)

本文以DDPG(单智能体)算法为基础,提出一种CTDE集中式训练分布式执行的MADRL算法,提供了一个既可以适应于通信信道的协作场景,也可以应用于智能体之间只存在物理交互的竞争性场景

摘要

传统算法用于多智能体环境下的困难:

  • Q-learning受到环境不稳定性的挑战
  • 策略梯度的方法随着智能体数量增加,方差变大。
    本文的贡献:
  • 提出了一种actor-critic方法的变种:在考虑其他智能体action-policy的同时,能够学习到需要多智能体的协同policy;
  • 引入了一种训练方式,集成了各智能体的policy,来形成一个更加鲁棒的多智能体policy。
  • 在既合作又竞争的场景下进行测试,验证在这种场景下,智能体集群能够学习到物理和信息层面的合作策略。

引言

很多重要场景中会涉及到多个智能体之间的交互,在这种共同的交互演化过程中,会有新的行为出现,问题会变得更加复杂。
传统的强化学习方法,例如Q-learning,policy gradient不适用于多智能体环境。主要问题有以下几个方面:

  • 维度爆炸:多智能体系统中动作空间,状态空间和参数数量大幅度增加,迫使计算机量呈指数递增,导致维度爆炸。
  • 环境非平稳:在训练过程中,每个智能体都在变化,而且从每个智能体的角度来看,环境都会变得不稳定,严重阻碍了直接利用先前的经验重放。
  • 信度分配:
    针对以上,本文提出了一个通用的多智能体学习算法:
  • 智能体在执行时只使用自己的观测的学习策略
  • 不假设环境模型和智能体之间的通信方法
  • 适用于合作交互场景,竞争场景,合作竞争混合场景
    本文采用集中训练,分散执行框架,训练时允许policy适用额外的信息,这些信息在测试时不会被用到。本文提出了一种actor-critic policy gradient方法的扩展(Q-learning无法胜任,因为一般来说Q函数在训练和测试时不能包含不同的信息),critic网络包含了其他智能体策略的额外信息,而actor网络只用到智能体自身的观测信息。训练完成后,分散执行,智能体仅使用自身的信息,该方法适用于合作和竞争的环境。

研究背景

策略梯度方法会有高方差梯度估计。在多智能体中,这个问题尤为凸显,因为一个智能体的奖励受到了其他智能体行为的影响。当智能体策略优化过程中不考虑其他智能体的行为时,仅以智能体自己的行为为条件的奖励表现出更多的可变性。在本文中,有一个简单的设定,在此设定下,梯度更新往正确方向上前进的概率随着智能体数量呈指数下降。
假设一:具有二元行为的N个智能体(通信动作,物理动作): P ( a i = 1 ) = θ i P(a_i=1)=\theta_i P(ai=1)=θi,其中 R ( a 1 , . . . , a N ) = 1 a 1 = . . . = a N R(a_1,...,a_N)=1_{a_1}=...=a_N R(a1,...,aN)=1a1=...=aN。假设在一个不知情的情景,其中智能体被初始化为 θ i = 0.5 , ∀ i \theta_i=0.5,\forall i θi=0.5,i。用策略梯度估计成本 J J J的梯度,有:
P ( < ∇ ^ J , ∇ J > > 0 ) ∝ ( 0.5 ) N P(<\hat \nabla J,\nabla J> >0)\varpropto(0.5)^N P(<^J,J>>0)(0.5)N
∇ ^ J \hat \nabla J ^J是单样本的策略梯度估计,而 ∇ J \nabla J J是真实的梯度。
常用的用于缓解值函数高方差的方法,在多智能体环境下是有问题的。
确定性策略梯度(DPG)算法:可以将策略梯度框架扩展到确定性策略 μ θ : S − > A \mu_\theta : S->A μθ:S>A。特别是在一定条件下,可以把目标函数 J ( θ ) = E s ∼ p μ [ R ( s , a ) ] J(\theta)=E_{s\sim p^\mu}[R(s,a)] J(θ)=Espμ[R(s,a)]重写为:
∇ J ( θ ) = E s ∼ D [ ∇ θ μ θ ( a ∣ s ) ∇ a Q μ ( s , a ) ∣ a = μ θ ( s ) ] . ( 3 ) \nabla J(\theta)=E_{s\sim D}[\nabla_\theta \mu_\theta(a|s)\nabla_aQ^\mu(s,a)|_{a=\mu_\theta(s)}]. (3) J(θ)=EsD[θμθ(as)aQμ(s,a)a=μθ(s)].(3)
由于这个定理依赖于 ∇ a Q μ ( s , a ) \nabla_aQ^\mu(s,a) aQμ(s,a),需要动作空间 A A A(策略 μ \mu μ)连续。

方法

多智能体actor-critic

在这里插入图片描述

算法约束条件:

  • 学习的策略在执行时只能使用智能体自己的观察信息
  • 不去假定环境动力学模型
  • 不去假定任何智能体之间的通信假设
    满足上述要求,将产生一个通用的多智能体学习算法,不仅可以应用具有明确通信方式的合作场景,还可以应用于竞争场景以及只涉及智能体之间的物理交互场景。
    分散执行,集中训练框架:在训练时,允许使用额外的信息进行(包括其他智能体的策略),在测试执行时,这些信息不会被用到。(在Q-learning中训练和测试信息必须一致,因此Q-learning在这不能使用)。本文提出的actor-critic策略梯度方法的简单扩展,critic增加了关于其他智能体策略的额外信息。
    具体方法:policy由 θ = θ 1 , θ 2 , . . . . . . , θ N \theta={\theta_1,\theta_2,......,\theta_N} θ=θ1,θ2,......,θN参数化的具有N个智能体的博弈场景,所有智能体的策略集合为 π = p i 1 , . . . . . . , π N \pi={pi_1,......,\pi_N} π=pi1,......,πN,智能体 i i i的期望收益梯度: J ( θ i ) = E [ R i ] J(\theta_i)=E[R_i] J(θi)=E[Ri]
    ∇ θ i J ( θ i ) = E s ∼ p u , a i ∼ π i [ ∇ θ i l o g π i ( a i ∣ o i ) Q i π ( x , a 1 , . . . . . . , a N ) ] \nabla_{\theta_i}J(\theta_i)=E_{s\sim p^u,a_i \sim \pi_i}[\nabla\theta_ilog\pi_i(a_i|o_i)Q_i^\pi(x,a_1,......,a_N)] θ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值