存在的问题&研究动机&研究思路
- 利用额外状态信息学习联合动作价值的策略是一种attractive的方式,但分散式的策略尚不清晰,因此提出QMIX。
- 在部分可观测的情况下,只能依靠每个智能体历史的局部观测信息进行决策。
- 分散式的策略可以通过集中式的方式进行训练。这可以获得额外的状态信息,消除智能体之间通信的约束。这种方式遵循CTDE框架。
- 通过全局状态和联合动作得到的总体的Q值不能很好的提取分散式的策略,即智能体只根据自己的局部观测值进行决策。
- 思路之一是放弃集中式的动作价值函数,直接让每个智能体学习自己的一个Q值(IQL),但是这种方法不容易收敛。另一种极端思路是采取CTDE框架学习一个集中式的critic来指导每个actor的训练,一种方法是COMA,但是这需要on-policy的学习,采样效率低,且智能体变多的时候效果不好。
- QMIX是介于IQL和COMA这两种极端方法之间,基于VDN的一种值分解方法。VDN将全局的动作价值函数看作是每个智能体Q值的累加。这限制打了功能的复杂性,并且没有使用额外的状体信息。
- 严格来说,VDN和QMIX的和都只能叫做效用函数,而非价值函数,因为它不代表奖励值的期望。
创新点
- QMIX包含agent networks(表示每个智能体的值)和混合网络mixing networks(将非线性结合为)。
此外,mixing networks具有positive的权重,以此在和之间施加一种单调性的关系:
mixing networks非负的权重也使得网络可以逼近任何单调的函数。 - 使用额外的状态信息进行训练,hypernetworks保证了权重的非负性。
实验
消融实验:
- QMIX-NS:首先与没有hypernetworks的mixing networks相比。即mixing networks按照标准方式训练,在没有状态信息s参与的情况下,并且取weights的绝对值以保证决策的单调性。
- QMIX-Lin:研究非线性混合的必要性。可以通过去除mixing networks的隐藏层,使算法变成VDN带加权的一种扩展,并且权重是由通过状态信息s计算得到。
- VDN-S:研究使用状态信息s来做hypernetworks输入的意义。可以在VDN求和的基础上加一个状态s相关项,即类似对状态s做一个embedding。
实验结论:
- 实验结果表明:以下两点对提升性能是很有必要的:
(1)使用额外的状态信息进行训练。
(2)的非线性混合。 - 在3m场景下,VND-S效果最好。证明了:在同构的场景下(也可能有智能体数量少的原因?),并非需要值函数的非线性混合。
- 在复杂的场景中,如果QMIX-NS表面,如果加入状态信息s,非线性混合不一定有用。
- 为了充分利用状态信息s,最好的就是使用非线性混合。