ML-Agents新算法MA-POCA:用注意力机制突破智能体数量限制
ML-Agents新算法MA-POCA:用注意力机制突破智能体数量限制
MA-POCA(Multi-Agent Policy Optimization with Credit Assignment)是Unity官方于2021年11月推出的一种多智能体强化学习算法,首次应用于Unity的强化学习插件ML-Agents中,并取得了令人满意的效果。ML-Agents使得创建强化学习训练环境变得非常便捷。
MADDPG算法简介
在介绍MA-POCA之前,我们先了解一下多智能体深度强化学习的代表算法MADDPG。MADDPG是一种典型的中心化训练和非中心化执行的算法。在训练时,Critic需要知道所有智能体的动作信息才能做出评判;而在执行时,每个智能体仅需根据局部观测信息采取行动。
以两个智能体为例,其数学表达式如下:
[ r(s, a_1) = E_{a_2 \in A, s' \in S}[r_1(s')p(s'|s, a_1, a_2)\pi_2(a_2|s)] ]
[ p_1(s'|s, a_1) = \sum_{a_2\in A} p(s'|s, a_1, a_2)\pi_2(a_2|s) ]
MADDPG算法在以下约束下运行:
- 学习到的策略只能使用本地信息
- 无需知道实际的可微分动力学模型
- 对智能体之间的通讯方式不做任何假设
MA-POCA算法的改进
MA-POCA是基于COMA算法的改进版本,特别针对游戏中复杂多变的环境,更好地适应了智能体数量和种类不确定的场合。它在集中式训练、分布式执行的AC框架上提出了两个重要改进:
注意力机制的引入:使用注意力机制的特殊神经网络结构,可以处理不确定数量的智能体输入,替代了COMA算法中全耦合的吸收状态。
死后信用分配问题的解决:MA-POCA提供了良好的解决方法,使智能体能够做出利他性决策,牺牲自身以实现团队利益最大化。同时,智能体可以随时加入或退出多智能体小组,这对应于游戏中角色的复活与死亡。
此外,MA-POCA采用了与PPO一致的信赖域切割方式,并将GAE的参数应用于TD更新,因此,MA-POCA和PPO可以共用一套超参数。
死后信用分配问题
在合作环境中,当一个智能体的当前行为导致其自身终止(例如自我牺牲)时,它将无法再观察到环境状态或获得后续奖励。因此,智能体必须学会最大化这些无法实际得到的奖励,这就是死后信用分配问题。
虽然通过引入吸收状态可以表达已灭亡的智能体状态,但在实际使用中会让吸收状态的数量不恒定,从而使基于神经网络的函数近似器的训练变得复杂。MA-POCA通过在Critic网络的输入部分加入自注意力网络,解决了这些问题,使得网络可以随时添加和删除智能体。
应用案例
MA-POCA算法在多个ML-Agents案例中得到了应用,包括:
- 地牢逃脱
- 推箱子游戏
- 双人足球
这些案例展示了MA-POCA在处理复杂多智能体环境中的优势和实用性。
本文原文来自CSDN