Bootstrap

阅读QTRAN:Learning to Factorize with Transformation for Cooperative Multi-Agent Reinforcement Learning

写在前面:这篇文章我也是前前后后看了几遍,还在网上找了一些资料,但是感觉始终也没太看明白,就先把目前的理解写在这里,等以后有了新的理解再更新。要强调一点的是,这篇文章我刚读的时候是真的超级懵,但是不放弃偶尔就读偶尔就读,再结合别人的理解确实还是会有逐渐深入的理解的,所以以后遇到难的文章也不要丧气,平常心慢慢来(当然主要可能还是我的水平不行,读起来才这么难,hh)


题目作者

在这里插入图片描述
ICML 19,作者的单位是KAIST,韩国科学技术院,韩国比较好的一个大学,这个组在多智能体强化学习上也是颇多产出的。

摘要

这篇文章是延续VDN,QMIX的工作,也是基于值分解的思路来解决多智能体强化学习合作问题。文章提出虽然VDN,QMIX都是IGM(后文解释)的充分条件,但是在具体的实现上分别引入了 Q i , Q t o t Q_i,Q_{tot} Qi,Qtot之间的加性、单调性假设限制,从而只能解决一部分的多智能体合作问题,对于一些可分解但是 Q i , Q t o t Q_i,Q_{tot} Qi,Qtot之间并不满足加和或者单调性性质的问题,就不能很好解决了。对此,本文中提出了一种新的分解方法,QTRAN,满足了IGM条件,而且并没有引入其他的假设限制,因此适用于更加广泛的问题。

相关工作介绍

注:后文中的 Q j t Q_{jt} Qjt和前面提到的 Q t o t Q_{tot} Qtot是一个意思,不同文章中符号不太一样。
IGM:对于 Q j t Q_{jt} Qjt,若存在 [ Q i ] [Q_i] [Qi]满足
在这里插入图片描述
也就是说对于一个联合动作价值函数 Q j t Q_{jt} Qjt,如果存在 [ Q i ] [Q_i] [Qi],使得 Q j t Q_{jt} Qjt的最优联合动作和对于 [ Q i ] [Q_i] [Qi]的最优动作联合相同,则可以认为 [ Q i ] [Q_i] [Qi]对于 Q j t Q_{jt} Qjt满足IGM,实际中我们在值分解的过程中所求的也就是对于 Q j t Q_{jt} Qjt满足IGM的 [ Q i ] [Q_i] [Qi],因为只有这样在分散执行的时候每个智能体根据自己的 Q i Q_i Qi选择 a i a_i ai组成a,和从集中式的角度选择联合动作 a ˉ \bar{a} aˉ才是一致的。

而前面的论文,即VDN,QMIX都提供了一种设计 [ Q i ] [Q_i] [Qi]或者说分解 Q j t Q_{jt} Qjt的方式,都是满足IGM的充分条件,写作如下(2)(3):
在这里插入图片描述
但是显然虽然这两个方法都满足IGM,但是都分别对 Q i , Q t o t Q_i,Q_{tot} Qi,Qtot之间的关系进行了限制,即认为它们之间的关系式加和或者单调的,因此对于一些多智能体合作任务,然而 Q i , Q t o t Q_i,Q_{tot} Qi,Qtot之间的关系并不是这种的问题,这两种方法就未必会应用的很好了,对此,本文提供了一种新的设计/产生 [ Q i ] [Q_i] [Qi]的方法,QTRAN,既满足IGM,且没有提出额外的假设。

方法

作者证明了,只要 [ Q i ] [Q_i] [Qi] Q j t Q_{jt} Qjt之间满足如下关系,则 [ Q i ] [Q_i] [Qi]对于 Q j t Q_{jt} Qjt满足IGM:

在这里插入图片描述
符号说明:
在这里插入图片描述
根据这个定理,我们可以把 [ Q i ] [Q_i] [Qi]的求解/或者说 Q j t Q_{jt} Qjt的分解问题建模成一个优化问题,决策变量就是 [ Q i ] [Q_i] [Qi],约束条件就是定理1,也就是当 u = u ˉ u=\bar{u} u=uˉ时,定理1中左式要尽可能靠近0,当 u ≠ u ˉ u \neq \bar{u} u=uˉ时,左式要为正,这样优化出来的 [ Q i ] [Q_i] [Qi]对于 Q j t Q_{jt} Qjt满足就IGM了。

在具体的实现中,QTRAN的说明图如下:
在这里插入图片描述
可以看出,对于定理一的左式, Q i Q_i Qi是用网络表示的,同时利用各个智能体的状态信息 h i ( t i , u i ) h_i(t_i,u_i) hi(ti,ui)的联合去估计了 V j t , Q j t V_{jt},Q_{jt} Vjt,Qjt,算法的loss定义为:
在这里插入图片描述
在这里插入图片描述
L o p t , L n o p t L_{opt},L_{nopt} Lopt,Lnopt分别是满足定理一的约束,因为这里的 Q j t Q_{jt} Qjt是使用网络估计的,因此还需要借助真实的奖励信息r来算一个TD-Loss
另外其他的一些说明:
在这里插入图片描述

当然论文里实现了两个版本的QTRAN,QTRAN-base和QTRAN-alt,后者的提出是因为作者发现当 u ≠ u ˉ u \neq \bar{u} u=uˉ时,定理一中的约束太松了导致训练很容易不稳定,因此提出了一个更紧的约束(道理是这样的但其实我还没太仔细看)。

写在后面

这篇文章目前我就读到这里了,但是其实这里我还有一个迷惑。在文章中可以推出 V j t V_{jt} Vjt需要是这个形式:在这里插入图片描述
但是在实际的算法中, V j t V_{jt} Vjt是用网络估计出来的,也不是很明确这个估计出来的值到底是表示什么,也没有别的东西来直接约束它,这样是合理的吗?

另外好多人说QTRAN的算法理论性很好,但是后续在求解的时候引入了很多近似、松弛,使得算法的实际性能不是很好,这一点我还没有具体体会和认识到,还需要继续学习。

最后推荐一个知乎的文章,对值分解这块讲得还挺好的,尤其是QTRAN的推导,链接在这里:知乎文章,这篇文章里说 V j t V_{jt} Vjt可以先是一个定义 Q j t , ∑ Q i Q_{jt},\sum Q_i Qjt,Qi之间差距的量,然后只要满足定理一的约束,那么 V j t V_{jt} Vjt就是上面这个形式,这样理解好像怎么定义 V j t V_{jt} Vjt都可以了,先暂定这样吧。

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;