多智能体强化学习算法

Malthusian Reinforcement Learning

Posted by MY on August 10, 2020

论文链接:Malthusian Reinforcement Learning, AAMAS 2019

一、问题

单智能体强化学习通常依赖于内在动机,但是纵观人类历史发展,内在动机并不能解释许多行为,如人类迁徙。迁徙通常与气候变化或人口规模增长有关。本文研究了这种人口规模变化是否可以作为多智能体强化学习中的一种算法机制。这种算法机制称作马尔萨斯强化学习。之所以称为马尔萨斯强化学习,是因为任何亚群的回报提高直接转化为随后的episode中该亚群人口规模的增加。

本文研究了两个问题:

  • 与基于内在动机的算法相比,马尔萨斯强化学习在避免陷入局部最优策略方面是否更好?
  • 马尔萨斯强化学习中制定联合政策来实施异构共生行为是否比self-play的方法容易?

二、解法

马尔萨斯强化学习框架与标准强化学习的区别如下:

  • 马尔萨斯强化学习可以看作是“社区协同进化”的算法。它产生了一组社区,在本文中称为岛屿。每个岛屿都有一群执行策略的智能体。
  • 每个个体都是一个物种的成员。同一物种的所有个体共享一个策略网络。
  • 该算法在两个时间尺度上展开,分别对应于人口动态(生态)时间和策略执行(行为)时间。
  • 人口动态与个体强化学习的回报相关。如果给定物种的个体在特定的岛屿上表现良好,那么将来该物种在该岛屿上的人口将会增加。
  • 在每个episode中,给定物种的所有个体积累的经验用于v-trace算法训练公共神经网络。由特定物种的个体产生的经验仅用于更新自己的物种神经网络。在每个episode之后,每个物种在岛屿上的分布都会通过类似策略梯度的更新规则进行更新。
  • 生物学上,现实的种群动态都包含指数增长的可能性。实际上,它们受到承载能力即环境特性的限制。为了确保可以使用有限的计算资源执行该操作,种群动态通过维护所有岛屿上每个物种的概率分布来进行。分配给任何给定岛屿的概率可能会根据在该岛获得的单个收益而增加或减少,但始终被约束为一个有效的概率分布。在任何给定的岛屿上,人口在每个episode都不同,但是在整个群岛中,个体的数量始终是恒定的。

框架地变量和参数的设置如下:

abmJJO.png

人口动态决定了每个物种如何分配到每个岛屿上。在每个时间步长$e$,每个物种$l$的每个个体$k^{l}$得到的分数为$\phi_{k^{l}, e}$,这恰好是其在生态时间标度的一个步骤中所有的行为规模时间步长上的累积奖励。 然后按以下公式计算每个物种在每个岛屿的得分:

\[\phi_{i, e}^{l}=\left(\sum_{k^{l} \in \Psi_{i, e}^{l}} \phi_{k^{l}, e}\right) /\left|\Psi_{i, e}^{l}\right| \text { and } 0 \text { if } \Psi_{i, e}^{l}=\emptyset\]

每种物种在岛上的分布$\mu^{l}(i)=e^{w_{i}^{l}} / \sum_{j} e^{w_{j}^{l}}$根据带有熵正则化的策略梯度进行更新。根据策略梯度更新,物种$l$在所有岛屿上的分布权重发生如下变化:

\[w_{e+1}^{l}=w_{e}^{l}+\alpha\left[\sum_{i \in\left\{1, \ldots, N_{I}\right\}} \nabla_{w^{l}} \mu^{l}(i)\left(\phi_{i, e}^{l}-\eta \log \mu^{l}(i)\right)\right]\]

其中,熵正则项的目的是强制每个物种的最小种群保留在次优岛上。因此,人口分布会随着生态时间的变化而变化,以最大程度地减少以下损失:

\[\left[\sum_{i \in\left\{1, \ldots, N_{I}\right\}} \mu^{l}(i)\left(\phi_{i, e}^{l}-\eta \log \mu^{l}(i)\right)\right]\]

整个方法的流程示意图如下:

abmYWD.png

三、实验内容

实验一验证了探索问题。具体的实验环境和设置比较繁杂在此不做陈述,详见原文。对比马尔萨斯强化学习与传统强化学习,得出的结论是:经过马尔萨斯强化学习训练的物种个体发现了全局最佳的策略,尽管他们的大部分经验来自多人游戏的岛屿。 由两个baseline个体强化学习算法训练的个体完全无法逃脱局部最优。除此之外还验证了动态人口规模的重要性,对比了固定人口规模与动态人口规模,动态人口规模可以持续探索到最优策略,而固定人口规模在探索到最优策略之后又收敛到了次优策略。

实验二验证了互利(不是合作)的问题。实验环境和设置详见原文。本实验设置的原因是self-play不擅长解决这种互利问题:

  • 互利双方的分工需要同一个网络表征,浪费网络的表征能力。
  • 通过self-play的策略需要一种切换机制来确定在任何给定情况下要发出哪个子策略。切换策略的复杂性本身与环境中部分可观察性的程度有关。如果其他人的策略不容易被观察到,可能很难确定在任何给定时间(例如,互利双方关系)中执行互利关系各部分所需的个人的正确比例。
  • 使用self-play学习一个不同的策略集合会更容易,每个策略都只实施其互利伙伴关系的一部分。但这必须要求预先知道每个策略副本的数量,从而增加了许多新的难以调整的超参数(每个物种一个)。

结论是多物种的效果优于单物种的效果,即不同的物种可以很快演化为共生关系中的不同的角色,而单物种则会慢很多,原因即为上述分析。

最终结论:这种方法可以视为社区协同进化,并且显示出比通过内在动机训练的独立个体体产生更好的结果(避免局部最优)

四、缺点

  • 对于方法设置的描述不太清晰,人口学与生物学的例子讲得不够清楚
  • 未使用最先进的遗传和进化算法。

五、优点

  • 研究角度新颖,可以认为是开辟了一个新的研究方向
  • 实验的理论分析非常充分,紧密结合了人口学和生物学的知识

支付宝打赏 微信打赏

您的打赏是对我最大的鼓励!


Share
Comments
Advertisements