参考博客:多智能体强化学习算法【二】【MADDPG、QMIX、MAPPO】
超级经典,是基于DDPG算法改进的
DDPG:相当于DQN+Actor-Critic,target网络,eval网络,同时使用了经验回放机制
通过“集中式训练分布式执行”的思路,计算出每个智能体的最优策略。
Counterfactual Multi-Agent Policy Gradients:解决了合作式的MARL中,如何为各个agent分配奖励的问题。设置一个反事实基线(counterfactual baseline),将action与默认action的reward比较,若更高则说明做出了贡献。
对比:
a. COMA针对离散动作,学习的是 随机策略。而MADDPG针对连续动作,学习的是确定性策略。这在它们策略梯度函数的表达式上能够体现出区别。
b. COMA主要针对多智能体 协作任务,因此只有一个critic评价团队整体的回报。MADDPG既可以做协作任务,也可以做竞争任务,每个智能体都对应一个奖励函数,因此每个智能体对应一个critic。
c. 在原文中,COMA使用了 历史观测、动作序列作为网络的输入,而MADDPG没有使用历史序列。因此COMA的网络结构中包含了GRU层,而MADDPG的网络均为2-3个隐层的MLP。
d. COMA中所有智能体的actor网络 共享参数,输入端加上智能体ID以示区别。而MADDPG则没有共享参数;
d. COMA使用 反事实基线作为actor网络的优化目标,而MADDPG直接使用Q函数作为每个智能体actor网路的优化目标。
多智能体强化学习(二) MAPPO算法详解
主要是提升效率,偏工业
前面提到的 policy-based 方法中,中心化的值函数是直接使用全局信息进行建模,没有考虑个体的特点。在多智能体系统是由大规模的多个个体构成时,这样的值函数是难以学习或者是训练到收敛的,很难推导出理想的策略。
并且仅依靠局部观测值,无法判断当前奖励是由于自身的行为还是环境中其他队友的行为而获得的。如果给每个agent都配一个reward function,会把问题变复杂,并且通用性也不强。
Value-Decomposition Networks For Cooperative Multi-Agent Learning:核心是将全局的 Q(s,a)值分解为各个局部 Qi(si,ai)的加权和,每个智能体拥有各自的局部值函数
是对VDN算法的改善,作者改善了值函数分解的网络结构,考虑了系统全局状态 以及分布式策略的单调性约束,有效地增强了网络对整体Q函数的拟合能力。
QMIX 在 VDN 的基础上实现了两点改进: