RIIT: Rethinking the Importance of Implementation Tricks in Multi-Agent Reinforcement Learning 笔记

前言

这篇文章很不错,其指出了当前很多值分解类方法所谓的改进其实名不副实,其实我也深受其扰。以QPLEX为例,其受Dueling DQN启发,使用优势函数重新形式化IGM,但其中的Transformation模块不可否认相比QMIX使用了更多的集中式信息,更不用说表达能力更强的self-attention网络和更多的网络参数。所以有时候我觉得后来的SOTA使用更多的集中式信息、更具表达力的网络和更多的参数,理应有更好的效果,当然不可否认他们提出了新颖的思路。另外就是优化器等一些算法本身之外的因素也会对实验结果造成影响,毕竟RMSprop并不总比Adam好。但科研又不是搞比赛,一些设置还是需要保持一致。除此之外还有算法的实现,Pymarl中agent网络用了double的方式,但这在论文中没有体现。有时候我也觉得很困扰,现在有一篇论文说出了我的部分心声,我感到了共鸣,并且我觉得作者付出了挺多的。但我觉得遗憾的是,对于每个trick的研究更像是albation study,我觉得应该研究单独增加这个trick的效果,而不是在使用所有trick的基础上更改这个trick,因为这样就看不出来这个trick的提升效果了。此外他们在SC2.4.10上实验,与pymarl和其他算法使用的4.6不符,难以与原论文中的效果比较。

作者研究了QMIX-based算法实现技巧的影响,发现影响巨大:经过很小的微调,QMIX达到了极高的胜率,并且在SMAC上取得了SOTA效果。更进一步地,作者发现单调性条件在一些协作任务中提高了采样效率,并理论证明了纯协作任务可以被单调mixing network表示。作者也提出了新的policy-based的方法——RIIT,取得了SOTA效果。

作者认为value-based的方法:QMIX、Qatten、WQMIX、QPLEX,和policy-based的方法:LICA、DOP,虽然声称通过弱化单调性约束或者扩展至policy-based方法,显著提高了QMIX的表现,然而他们没有承认其在实现中使用了tricks,这些对好的表现至关重要。由于比较标准不一致并且缺乏可靠的baseline,对于研究人员判断他们所提供的性能提升是因为真正的改进的架构,还是因为实现技巧仍然具有挑战性。

文章的主要贡献在于:

  1. 研究实现技巧如何影响QMIX测试性能的,并将QMIX微调成了SMAC上的SOTA;
  2. 发现QMIX的单调性条件在一些协作任务上提高了采样效率,提出了新的policy-based方法:RIIT来验证单调性条件的重要性,并在policy-based中实现了SOTA效果(说明value-based还是牛啊);
  3. 最后通过理论证明,对于纯协作任务,单调性约束不会造成性能的损失(这部分其实…)。

代码:https://github.com/hijkzzz/pymarl2

Importance of Tricks

Optimization

RMSProp稳定,但没有动量可能影响收敛速度,作者使用Adam:
在这里插入图片描述
在这里插入图片描述
说明:Adam可以加速网络收敛,可以完整利用并行采样的大量样本。但更新缓慢时,会倾向于过拟合。

建议:使用Adam,快速更新样本

Eligibility Traces

资格迹平衡了return-based的方法和bootstrap方法,减速了RL算法的收敛。对QMIX使用 Q ( λ ) Q(\lambda) Q(λ)
在这里插入图片描述
在这里插入图片描述
说明:没有充分训练的Q网络通常有较大的偏差,影响bootstrap returns。QMIX中更尤甚,因为单调性条件限制了模型表达能力。 Q ( λ ) Q(\lambda) Q(λ)通过降低偏差可以更快收敛,但由于方差和off-policy的偏差,较大的 λ \lambda λ 可能无法收敛。

建议:使用较小 λ \lambda λ Q ( λ ) Q(\lambda) Q(λ)

Replay Buffer Size

在这里插入图片描述
说明:size变大会不稳定,原因可能在于:

  1. 多智能体任务中样本比单智能体淘汰地更快
  2. Adam在样本更新更快时表现更好
  3. Q ( λ ) Q(\lambda) Q(λ)使用新样本比使用旧样本收敛更有效

建议:使用较小的size

Rollout Process Number

Accelerated methods for deep reinforcement learning中提到总样本数确定,rollout processes不一致或未指明时,中位测试表现也会不一致。
在这里插入图片描述
说明:在A3C中,总样本数可以这样计算:
S = E ⋅ P ⋅ I S=E\cdot P \cdot I S=EPI
S S S是总样本数, E E E是每个episode的样本数, P P P是rollout process数, I I I是策略迭代数。实验中,rollout process少,策略迭代次数就多,策略迭代次数越多,效果变好,然而增加了训练时间,降低了稳定性。

建议:当样本难以获取时使用较少的rollout process,否则就多一点。

Exploration Steps

从SMAC和WQMIX论文也值得,一些难图应该增加探索过程的,作者也研究了这个
在这里插入图片描述
说明:适当增加epsilon annealing steps,太长了反而适得其反

建议:在hard-to-explore的图上适当增加epsilon annealing steps长度

Reward Shaping

在这里插入图片描述
说明:通过奖赏重塑,QMIX也能在被单调性的任务中找到最优解。

建议:增加任务的重要奖赏,降低可能造成扰乱的奖赏。

Tricks Overall Impact

在这里插入图片描述
通过trick发挥了QMIX的实力

Rethinking and Analysis

Our Benchmarks

作者统一了设置,对算法进行比较:

  1. 将每个算法的网络大小调整到合适的size
  2. 每个算法都用Adam+大batch size优化
  3. 为了加速模型收敛,每个算法都用资格迹来估计TD target值
  4. 以及下面这些
    在这里插入图片描述

作者不使用QMIX最好的参数与其他比较,然后比较结果如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Table 5中,测试结果实际上表明WQMIX和Qatten in isolated form导致比QMIX低的性能。Figure 8显示了QPLEX的策略在6h_vs_8z和corridor测试中崩溃了(即后期出现了退化),但是在3s5z_vs_3s6z中比QMIX收敛快,作者相信其源于复杂的attention机制和大量的参数。Figure 8 and Table 5也显示,当采样大小和网络大小降低时,LICA表现糟糕。Figure 9 and Table 5显示在Cooperative Predator-Prey上所有算法都表现良好。QMIX实现了SOTA效果,VDN也很好。所谓大道至简,搞得花里胡哨就是灌水,当然我也想灌…

Albation Study of Monotonicity

基于两个事实:

  1. 这些新算法弱化了单调性条件,但并没有比QMIX和VDN表现更好(6h_vs_8z)
  2. Deep Multi-Agent Reinforcement Learning for Decentralized Continuous Cooperative Control中提到单调性条件使得在连续协作任务中表现提升

在这里插入图片描述
作者将LICA和单调性的mixing network结合,进行了下列优化:

  1. 将LICA中的策略mixing critic替换为单调性mixing critic
  2. 用offline样本用one-step TD error loss训练critic network
  3. 用online样本端到端地训练actor和用TD( λ \lambda λ)训练critic
    在这里插入图片描述

单调性条件很关键,并且Table 5也显示RIIT在policy-based的MA算法中表现最好。

Theoretical Analysis

定义1. 协作任务. 对于一个有N(N>1)个agent的任务,所有的agent有一个共同目标。

假设1. 对于一个有N个agent的协作任务,用 N \mathbb{N} N记做一个agent集合。给定一个真实状态 s s s,全局 Q t o t Q_{tot} Qtot可以表示为独立 Q i Q_i Qi的非线性映射 Q t o t = f ϕ ( s ; Q 1 , ⋯   , Q N ) Q_{tot}=f_{\phi}(s;Q_1,\cdots,Q_N) Qtot=fϕ(s;Q1,,QN)

定义2. Hu的协作任务. 给定一个有agent集合 N \mathbb{N} N的协作任务,对于所有的状态 s s s,如果有一个子集合 K ⊆ N , K ≠ ∅ \mathbb{K}\sube\mathbb{N}, \mathbb{K}\neq\empty KN,K=,当其余 Q j Q_j Qj不变时, Q i Q_i Qi增加则 Q t o t Q_{tot} Qtot增加。

定义3. 竞争. 一方 Q i Q_i Qi的增加导致另一方 Q j Q_j Qj的降低。

定义4. 纯协作任务. 没有竞争情况的Hu的协作任务

命题1. 纯协作任务可以用单调的mixing network表示

证明. 反证,如果Hu的协作任务不能被单调的mixing network表示,则有竞争,不是纯协作任务。
在这里插入图片描述
单调性约束避免在无效参数空间搜索,显著提高了采样效率。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值