Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments

多智能体强化学习的相关问题:

  1. 分层强化学习(hierarchical reinforcement learning)- In Advances in neural information processing systems分层强化学习(Learning-representations-in-Model-Free-HRL)—知乎

  2. 多智能体自我学习(multi-agent self-play):将RL算法扩展到多智能体环境中分层强化学习(Self-play)—知乎

  • D. Silver, A. Huang, C. J. Maddison, A. Guez, L. Sifre, G. van den Driessche, J. Schrittwieser, I. Antonoglou, V. Panneershelvam, M. Lanctot, S. Dieleman, D. Grewe, J. Nham, N. Kalchbrenner, I. Sutskever, T. Lillicrap, M. Leach, K. Kavukcuoglu, T. Graepel, and D. Hassabis. Mastering the game of Go with deep neural networks and tree search. Nature, 529(7587):484 –
    489, 2016.
  • S. Sukhbaatar, I. Kostrikov, A. Szlam, and R. Fergus. Intrinsic motivation and automatic curricula via asymmetric self-play. arXiv preprint arXiv:1703.05407, 2017.

在DQN中,经验回放的使用提高了Q learning的稳定性,但在多智能体环境的非稳定性妨碍了经验回放的直接使用,因为策略会随着训练的过程而发生改变。使用策略梯度方法会有很高的方差,解决这个问题需要使用基于模型的策略优化,这需要world的动力学可求导模型,但这会带来adversarial training method的不稳定。

文章提出了通用多智能体强化学习算法

算法的目标

  • 使得智能体在执行时,学习到的策略只使用local information(智能体自己的观察)
  • 不假设环境动力学的一个differentiable模型和多智能体之间通信方法的特定结构
  • 能够同时应用于涉及到physical和communicative行为的合作、竞争或者混合合作和竞争的interaction

具体的方法

使用集中训练分散执行的框架,允许策略使用额外的信息来简化训练,只要这些信息在测试时不被使用。提出的算法对actor-critic策略梯度方法进行了扩展,其中critic知道关于其他智能体策略的额外信息,但actor只可以使用local信息。在训练结束后,执行阶段只有local actors可以被用合作和竞争环境中,并执行动作。因为完全集中化不需要开发离散通信协议。

因为智能体在critic函数中使用其他智能体的决策策略,智能体在线学习其他智能体的近似模型,并在自己的策略学习过程中有效地使用它们。

使用ensemble of policies 方法训练智能体来提高多智能体策略的稳定性。

现有方法的缺陷:不能考虑到所有的interaction方式,往往只考虑合作的方式。通过optimistic和hysteretic的Q function更新
来提高集体奖励,或者当智能体为同质智能体时,通过共享policy参数的方法来间接达到合作。每个智能体都有一个critic,使得在竞争环境中每个智能体都可以有不同的奖励函数。算法可以用于考虑了具有explicit communication的合作环境和只涉及到智能体之间的物理interactions 的竞争博弈。

在这里插入图片描述
设N个智能体策略的参数为 θ = { θ 1 , ⋯   , θ N } \mathbb{\theta}=\left\{ \theta_{1}, \cdots, \theta_{N} \right\} θ={θ1,,θN},所有智能体的策略为 π = { π 1 , ⋯   , π N } \mathbb{\pi}=\left\{ \pi_{1}, \cdots, \pi_{N} \right\} π={π1,,πN}。智能体 i i i的期望return为 J ( θ i ) = E [ R i ] J(\theta_{i})=\mathbb{E}[R_{i}] J(θi)=E[Ri]
∇ θ i J ( θ i ) = E s ∼ p μ , 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})=\mathbb{E}_{s\sim p^{\mu}, a_{i} \sim \pi_{i}}[\nabla_{\theta_{i}}log \pi_{i}(a_{i} \mid o_i) Q^{\pi}_i (x,a_1,\cdots,a_N)] θiJ(θi)=Espμ,aiπi[θilogπi(aioi)Qiπ(x,a1,,aN)]
在最简单的情况下, x x x可以是所有智能体的观察信息 x = ( o 1 , ⋯   , o N ) x=(o_1, \cdots,o_N) x=(o1,,oN) Q i π Q^{\pi}_i Qiπ输入还包括其他智能体的动作和关于当前状态的其余可用信息。因为每个智能体的 Q i π Q^{\pi}_i Qiπ都是分开学习的,所以每个智能体都可以由任意的reward结构,包括竞争环境中的conflicting reward。

考虑确定性策略,则对于每个智能体有:
∇ θ i J ( μ i ) = E x , a ∼ D [ ∇ θ i l o g μ i ( a i ∣ o i ) ∇ a i Q i μ ( x , a 1 , ⋯   , a N ) ∣ a i = μ i ( o i ) ] \nabla_{\theta_{i}}J(\mu_i)=\mathbb{E}_{x, a \sim \mathcal{D}}[\nabla_{\theta_{i}}log \mu_{i}(a_{i} \mid o_i) \nabla_{a_i} Q^{\mu}_i (x,a_1,\cdots,a_N)\mid_{a_i=\mu_{i}(o_i)}] θiJ(μi)=Ex,aD[θilogμi(aioi)aiQiμ(x,a1,,aN)ai=μi(oi)]
考虑连续性策略 μ θ i \mu_{\theta_{i}} μθi,简写为 μ i \mu_{i} μi D \mathcal{D} D是包含 ( x , x ′ , a 1 , ⋯   , a N , r 1 , ⋯   , r N ) (x, x^{\prime},a_1,\cdots, a_N,r_1,\cdots,r_N) (x,x,a1,,aN,r1,,rN)元组的经验回放缓冲区。centralized动作价值 Q i π Q^{\pi}_i Qiπ的更新为
L ( θ i ) = E x , a , r , x ′ [ ( Q i μ ( x , a 1 , ⋯   , a N ) − y ) 2 ] , y = r i + γ Q i μ ′ ∣ a j ′ = μ j ′ ( o j ) \mathcal{L}(\theta_{i})=\mathbb{E}_{x,a,r,x^{\prime}}[(Q^{\mu}_i(x,a_1,\cdots,a_N)-y)^{2}],y=r_i+\gamma Q^{\mu^{\prime}}_{i}|{a^{\prime}_{j}=\mu^{\prime}_{j}(o_j)} L(θi)=Ex,a,r,x[(Qiμ(x,a1,,aN)y)2],y=ri+γQiμaj=μj(oj)
在对动作价值函数进行更新时,需要知道其他智能体的策略。并不一定需要知道其他智能体的观察和策略。如果训练的目标是在模拟中展现复杂的communicative行为,observations和policies对所有智能体而都是可用的。如果对于从observations学习其他智能体的策略是必要的,就可以relax这个假设。

推断其他智能体的策略

智能体 i i i对智能体 j j j的策略的近似 μ ^ ϕ i j \widehat{\mu}_{\phi^{j}_{i}} μ ϕij,对参数 ϕ \phi ϕ进行估计
L ( ϕ i j ) = − E o j , a j [ l o g μ ^ i j ( a j ∣ o j ) + λ H ( μ ^ i j ) ] \mathcal{L}(\phi^{j}_{i})=-\mathbb{E}_{o_j,a_j}[log\widehat{\mu}^{j}_{i}(a_j |o_j)+\lambda H(\widehat{\mu}^{j}_{i})] L(ϕij)=Eoj,aj[logμ ij(ajoj)+λH(μ ij)]
智能体使用策略集成

过训练多个子策略,并随机选择执行子策略,来解决多智能体竞争中的非稳定问题。假设 μ i \mu_i μi是K个不同子策略 μ i ( k ) \mu^{(k)}_{i} μi(k)的集合。对于每个智能体 i i i,最大化集合目标 J e ( μ i ) = E k ∼ u n i f ( 1 , K ) , s ∼ p μ , a ∼ μ i ( k ) [ R i ( s , a ) ] J_{e}(\mu_{i})=\mathbb{E}_{k\sim unif(1,K),s\sim p^{\mu},a\sim \mu^{(k)}_{i}}[R_{i}(s,a)] Je(μi)=Ekunif(1,K),spμ,aμi(k)[Ri(s,a)].
每个子策略 μ i ( k ) \mu^{(k)}_{i} μi(k)都由一个回放缓冲区 D i k \mathcal{D}^{k}_{i} Dik;关于参数 θ i ( k ) \theta^{(k)}_{i} θi(k)的梯度为
∇ θ i ( k ) J e ( μ i ) = 1 K E x , a ∼ D i ( k ) [ ∇ θ i ( k ) μ i ( k ) ( a i ∣ o i ) ∇ a i Q μ i ( x , a 1 , ⋯   , a N ) ∣ a i = μ i ( k ) ( o i ) ] \nabla_{\theta^{(k)}_{i}}J_{e}(\mu_i)=\frac{1}{K} \mathbb{E}_{x,a\sim \mathcal{D}^{(k)}_{i}}[\nabla_{\theta^{(k)}_i} \mu^{(k)}_{i}(a_i|o_i)\nabla_{a_i}Q^{\mu_i}(x,a_1,\cdots,a_N)|_{a_i=\mu^{(k)}_{i}(o_i)}] θi(k)Je(μi)=K1Ex,aDi(k)[θi(k)μi(k)(aioi)aiQμi(x,a1,,aN)ai=μi(k)(oi)]

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值