QTRAN算法总结

论文原文:QTRAN: Learning to Factorize with Transformation for Cooperative Multi-Agent Reinforcement learning

参考文章:

(35条消息) 多智能体强化学习(一) IQL、VDN、QMIX、QTRAN算法详解_小小何先生的博客-CSDN博客_iql算法

QTRAN 算法详解(VDN和QMIX的升级版本) - 知乎 (zhihu.com)


到目前为止已经看过很多篇MARL的论文了,首先来总结一下学到的内容

MARL研究的问题是,假设有N个智能体合作(也可能是竞争或者半合作半竞争,但是IQL\COMA\VDN\QMIX这些算法里似乎都只讨论了合作关系)完成一项任务。具体而言,在状态s_{t} 下,每个智能体i选择各自的动作u_{t}^i ,由这些动作组成联合动作u_{t} ,执行u_{t} 后获得全局奖励Q(s_{t} ,u_{t} ),这个奖励是对于所有智能体而言的,每个智能体的局部奖励Q_{i} (s_{t} ,u_{t}^i )未知。如果使用全局奖励去训练actor网络,那么很可能会训练出“懒惰的”智能体。于是便需要一个神经网络来分别拟合每个智能体的局部奖励,以保证:当每个智能体的动作u^i 都使局部奖励Q_{i} 取得最大值时,这些动作组成的联合动作u正好能使全局奖励Q也取得最大值。即:

IGM条件

这种关系在QTRAN的论文中被定义为IGM(Individual-Global-Max)条件

VDN为了满足IGM条件,将值函数(全局奖励)分解成各局部奖励之和的形式:

VDN的IGM

QMIX提出了只要全局奖励和局部奖励的单调性一致即可:

QMIX的IGM

VDN和QMIX的想法对于(1)式来说都是充分非必要的。

QTRAN的关键思路,就是将原始的整体值函数Q(\tau,u ) 映射到一个新的值函数\dot{Q}(\tau ,u) 使得这两个函数的最优联合动作是等价的。这样就可以通过分解\dot{Q} 来得到Q_{i} ,同时我们还要知道\dot{Q} Q之间的关系,保证全局最优。

可进行值函数分解的条件:

定理1:当Q(\tau ,u)[Q_{i} (\tau _{i}  ,u_{i} )]满足下列关系时,Q(\tau ,u)可以被分解成[Q_{i} (\tau _{i}  ,u_{i} )]

\sum_{i=1}^N Q_{i} (\tau _{i}  ,u_{i} )-Q(\tau ,u)+V(\tau )=0(当u=\tilde{u} 时)(4a)\sum_{i=1}^N Q_{i} (\tau _{i}  ,u_{i} )-Q(\tau ,u)+V(\tau )\geq 0(当u\neq \tilde{u} 时)(4b)

其中\tilde{u_{i} } =argmax_{u_{i} } Q_{i} (\tau _{i}  ,u_{i} )V(\tau )=max_{u} Q(\tau ,u)-\sum_{i=1}^NQ_{i}(\tau _{i} ,\tilde{u_{i}}  )

(证明略)

映射方式:

对于新的值函数\dot{Q} ,作者直接将它定义为\dot{Q} (\tau ,u):=\sum_{i=1}^N Q_{i} (\tau _{i}  ,u_{i} ),这其实就是VDN中的分解方式,它和真实的Q之间存在差距,所以作者用V(\tau )来修正\dot{Q} Q之间的误差,于是就有了:max_{u} Q(\tau ,u)=\dot{Q} (\tau ,\tilde{u} )+V(\tau )

算法设计:

根据上面的分析,这里至少有三样东西是要学习的,分别是Q_{i} QV(\tau )。因此,QTRAN算法框架中,相对应地包含了下列三个重要的模块:

1. 智能体网络 (Individual action-value network): f_{q} :(\tau _{i},u_{i}  )\rightarrow Q_{i}

2. 联合动作-值网络 (Joint action-value network):f_{r} :(\tau,u  )\rightarrow Q

3. 状态值网络 (State-value network):f_{v} :\tau \rightarrow V

QTRAN算法框图

由于QTRAN的训练目标有两个: QV。因此,损失函数设计如下:

损失函数

其中L_{td} 用于拟合QL_{opt} L_{nopt} 用于拟合V,他们的定义如下:

L_{opt} 用于保证(4a)成立;L_{nopt} 用于保证(4b)成立

QTRAN-alt

将定理1中(4b)的条件替换成这个公式,定理1依然成立:

为了方便计算(7)式中的\min函数,作者参考COMA算法中的反事实基准线(counterfactual baseline) 思想,提出反事实联合网络 (counterfactual joint network)

最终,\dot{Q} (\tau ,\cdot ,u_{-i} )=Q_{i} (\tau _{i} ,\cdot )+\sum_{j\neq i} Q_{j} (\tau _{j} ,u_{j}  )

这样,L_{nopt} 可以改写成:

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容