Adaptive Value Decomposition with Greedy Marginal Contribution Computation for Cooperative Multi-Agent Reinforcement Learning
Dec-POMDP
本文的研究对象是 decentralized partially observable Markov decision process (Dec-POMDP), 我们首先来看一下它和经典的MDP有什么不同?(1) 奖励设定不同, 这里没有给到每一个agent的奖励, 只有一个整体奖励(team reward)
r
t
o
t
(
s
,
u
)
r_{tot}(\bm{s}, \bm{u})
rtot(s,u).
(2) 每个agent
i
i
i 观测到的不是它自己的状态
s
i
s_{i}
si, 它的观测要根据具体的设定来确定, 为表示区分常用
o
i
o_{i}
oi 来表示.
(3) 新增了一个叫做 view range 的概念, 每个 agent 都有一个 view range, 在这个范围里面的其他 agent 对它来说是有关联的, 也就是它们之间会相互影响, 且它的观测信息里包含它们的信息, 超出这个范围的 agent 视为无关, 完全独立, 其状态也不可见.
一些基本的符号: N N N: agent数量.
本文做了如下的一些假设:
reward 机制
考虑 agent i i i 的奖励, 定义 agent i i i 视野范围内的 agent 集合为它的团队(team), 记其数量为 M i M_{i} Mi, 作者认为 i i i 自己的奖励 r t e a m i r_{team}^{i} rteami 与 joint state, joint action 有关, 而根据设定(3), 只有 view range 里的 agent 对它有影响, 因此只需包含 view range 里的 agent 的状态和动作, 根据设定, view range 里其他 agent 的状态信息在 o i o_{i} oi 中包含, 在此基础上加上其它 agent 采取的动作 u i − u_{i}^{-} ui−, 以及agent i i i 本身的动作 u i u_i ui, 即可得到 joint action, 所有 agent 获得的奖励之和是 team reward r t o t r_{tot} rtot, 即
r
t
o
t
(
s
,
u
)
=
∑
i
=
1
N
r
t
e
a
m
i
(
o
i
,
u
i
−
,
u
i
)
r_{tot}(\bm{s}, \bm{u})=\sum_{i=1}^{N}r_{team}^{i}(o_{i}, u_{i}^{-}, u_{i})
rtot(s,u)=i=1∑Nrteami(oi,ui−,ui)
对于
r
t
e
a
m
i
r_{team}^{i}
rteami 的具体形式, 作者也做了如下的论断: 每一个 agent 都有一个 team, 同时它还可能在其他 agent的 team 里面, 作者认为
Q
t
o
t
Q_{tot}
Qtot 的构成形式是, 每个 agent 的 team 都有一个 reward, 加和得到
Q
t
o
t
Q_{tot}
Qtot, 在一个 team 里面, team reward 又均匀分配给每个 agent. 每个 agent 最终得到的 reward 就是它从它所参与到的team 的 reward 里面分到的 reward 累加得到的. 打个比方, 有 10 个人, 每个人都有一个公司, 同时也在别人的公司里参股, 到年底分红时, (认为分红是均分), 每个人得到的钱是它创办/参股的公司的分红加和. 用符号语言描述如下:
r t o t ( s , u ) = ∑ i = 1 N r ^ 1 ( o i , u i ) + ∑ 1 ≤ i < j ≤ N r ^ 2 ( o i , o j , u i , u j ) + . . . + r ^ N ( o 1 , . . . , o N , u 1 , . . . , u N ) r_{tot}(\mathbf{s},\mathbf{u}) = \sum\limits_{i=1}^{N}\hat{r}_{1}(o_{i}, u_{i}) + \sum\limits_{1\leq i<j\leq N} \hat{r}_{2}(o_{i},o_{j}, u_{i}, u_{j})+...+ \hat{r}_{N}(o_{1},..., o_{N}, u_{1}, ..., u_{N}) rtot(s,u)=i=1∑Nr^1(oi,ui)+1≤i<j≤N∑r^2(oi,oj,ui,uj)+...+r^N(o1,...,oN,u1,...,uN)
其中 r ^ n ( . . . ) \hat{r}_{n}(...) r^n(...) 表示由这 n n n 个 agent 组成的所有 team 的 reward 之和, 如果这个team 不存在这一项就是 0 0 0, r ^ 2 ( o i , o j , u i , u j ) \hat{r}_{2}(o_{i},o_{j}, u_{i}, u_{j}) r^2(oi,oj,ui,uj) 是指 i i i, j j j 组成的 team (例如 i i i 为中心, 包含 j j j 的team 和 j j j 为中心, 包含 i i i 的 team) 的 reward.
每一个 agent 的 reward 如下:
r t e a m i ( o i , u i − , u i ) = r ^ 1 ( o i , u i ) + 1 2 ∑ 1 ≤ j ≤ N , j ≠ i r ^ 2 ( o i , o j , u i , u j ) + . . . + 1 N r ^ N ( o 1 , . . . , o N , u 1 , . . . , u N ) r_{team}^{i}(o_{i}, u_{i}^{-}, u_{i}) = \hat{r}_{1}(o_{i}, u_{i}) + \frac{1}{2}\sum\limits_{1 \leq j\leq N, j\neq i} \hat{r}_{2}(o_{i},o_{j}, u_{i}, u_{j})+...+ \frac{1}{N}\hat{r}_{N}(o_{1},..., o_{N}, u_{1}, ..., u_{N}) rteami(oi,ui−,ui)=r^1(oi,ui)+211≤j≤N,j=i∑r^2(oi,oj,ui,uj)+...+N1r^N(o1,...,oN,u1,...,uN)
价值函数
team reward 对应得到的 Q 函数:
Q
t
o
t
π
(
s
,
u
)
Q_{tot}^{\bm \pi}(\bm{s}, \bm{u})
Qtotπ(s,u),
Q
t
o
t
π
(
s
,
u
)
=
E
τ
∼
π
∣
s
0
=
s
,
u
0
=
u
{
∑
t
=
0
∞
γ
t
r
t
o
t
}
=
E
τ
∼
π
∣
s
0
=
s
,
u
0
=
u
{
∑
t
=
0
∞
γ
t
∑
i
=
1
N
r
t
e
a
m
i
}
=
∑
i
=
1
N
E
τ
∼
π
∣
s
0
=
s
,
u
0
=
u
{
∑
t
=
0
∞
γ
t
r
t
e
a
m
i
}
Q_{tot}^{\bm\pi}(\bm{s}, \bm{u})=\mathbb{E}_{\bm\tau\sim \bm\pi|_{\bm{s_{0}}=\bm{s}, \bm{u_{0}}=\bm{u}}}\{\sum_{t=0}^{\infty}\gamma^{t}r_{tot}\}=\mathbb{E}_{_{\bm\tau\sim \bm\pi|_{\bm{s_{0}}=\bm{s}, \bm{u_{0}}=\bm{u}}}}\{\sum_{t=0}^{\infty}\gamma^{t}\sum_{i=1}^{N}r_{team}^{i}\} \\=\sum_{i=1}^{N}\mathbb{E}_{_{\bm\tau\sim \bm\pi|_{\bm{s_{0}}=\bm{s}, \bm{u_{0}}=\bm{u}}}}\{\sum_{t=0}^{\infty}\gamma^{t}r_{team}^{i}\}
Qtotπ(s,u)=Eτ∼π∣s0=s,u0=u{t=0∑∞γtrtot}=Eτ∼π∣s0=s,u0=u{t=0∑∞γti=1∑Nrteami}=i=1∑NEτ∼π∣s0=s,u0=u{t=0∑∞γtrteami}
定义
E
τ
∼
π
∣
s
0
=
s
,
u
0
=
u
{
∑
t
=
0
∞
γ
t
r
t
e
a
m
i
}
=
Q
i
π
(
s
i
,
u
i
−
,
u
i
)
\mathbb{E}_{_{\bm\tau\sim \bm\pi|_{\bm{s_{0}}=\bm{s}, \bm{u_{0}}=\bm{u}}}}\{\sum_{t=0}^{\infty}\gamma^{t}r_{team}^{i}\}=Q^{\bm{\pi}}_{i}(s_{i}, u_{i}^{-}, u_{i})
Eτ∼π∣s0=s,u0=u{∑t=0∞γtrteami}=Qiπ(si,ui−,ui), 这里
Q
i
π
(
s
i
,
u
i
−
,
u
i
)
Q^{\bm{\pi}}_{i}(s_{i}, u_{i}^{-}, u_{i})
Qiπ(si,ui−,ui) 被称作agent
i
i
i 的 individual Q 函数,则
Q
t
o
t
(
s
,
u
)
Q_{tot}(\bm{s}, \bm{u})
Qtot(s,u) 可以分解成这种形式:
Q
t
o
t
π
(
s
,
u
)
=
∑
i
=
1
N
Q
i
π
(
s
i
,
u
i
−
,
u
i
)
Q_{tot}^{\bm\pi}(\bm{s}, \bm{u})=\sum_{i=1}^{N}Q^{\bm{\pi}}_{i}(s_{i}, u_{i}^{-}, u_{i})
Qtotπ(s,u)=i=1∑NQiπ(si,ui−,ui)
还可以得到如下的结论:
u
∗
=
arg max
u
Q
t
o
t
(
s
,
u
)
\bm{u}^{*}=\argmax_{\bm u}Q_{tot}(\bm{s}, \bm{u})
u∗=argmaxuQtot(s,u) 满足
u i ∗ = arg max u i Q i π ( s i , u i ∗ − , u i ) u_{i}^{*}=\argmax_{u_{i}} Q^{\bm{\pi}}_{i}(s_{i}, u_{i}^{*-}, u_{i}) ui∗=uiargmaxQiπ(si,ui∗−,ui)
也就是说最佳的 joint action 一定是一个纳什均衡, 每一个 agent 站在自己的角度来看待自己的动作都是最优的.
策略
本文没有采用 actor network 来近似 policy, policy 的近似形式如下: 刚刚定义的
Q
i
π
(
s
i
,
u
i
−
,
u
i
)
Q^{\bm{\pi}}_{i}(s_{i}, u_{i}^{-}, u_{i})
Qiπ(si,ui−,ui) 被称作 centralized Q 函数, 下文中的下标中标注
c
c
c, 作者还为每个 agent 定义了一个函数 decentralized Q:
Q
i
(
s
i
,
u
i
)
Q_{i}(s_{i}, u_{i})
Qi(si,ui), 下文中的下标中标注
p
p
p, 且认为策略是对于这个 Q 函数 greedy 的:
π
(
s
i
)
=
arg max
u
i
Q
p
,
i
(
s
i
,
u
i
)
\pi(s_{i})=\argmax_{u_{i}} {Q_{p,i}(s_{i}, u_{i})}
π(si)=uiargmaxQp,i(si,ui)
Q value function 的近似
把 Q i Q_{i} Qi 近似地取成如下形式: Q p , i ( s i , u i ) ≈ Q p , i ( τ i , u i ) Q_{p,i}(s_{i}, u_{i})\approx Q_{p,i}(\tau_{i}, u_{i}) Qp,i(si,ui)≈Qp,i(τi,ui), 其中 τ i , t = { o i , 1 , u i , 1 , . . . , o i , t } \tau_{i, t}=\{o_{i,1}, u_{i,1}, ..., o_{i,t}\} τi,t={oi,1,ui,1,...,oi,t}, 称为 history. Q c , i π ( s i , u i − , u i ) Q^{\bm{\pi}}_{c,i}(s_{i}, u_{i}^{-}, u_{i}) Qc,iπ(si,ui−,ui) 同理.
Q p Q_p Qp 的 target
当 M i = 0 M_i = 0 Mi=0 时, Q c , i π ( s i , u i − , u i ) Q^{\bm{\pi}}_{c,i}(s_{i}, u_{i}^{-}, u_{i}) Qc,iπ(si,ui−,ui) 退化为只与 s i , u i s_i, u_i si,ui 有关, 因此文中把 Q c , i π ( s i , u i − , u i ) Q^{\bm{\pi}}_{c,i}(s_{i}, u_{i}^{-}, u_{i}) Qc,iπ(si,ui−,ui) 表示为
Q
c
,
i
π
(
s
i
,
u
i
−
,
u
i
)
=
{
Q
c
o
l
l
,
i
π
(
s
i
,
u
i
−
,
u
i
)
,
M
i
>
0
Q
a
l
o
n
e
,
i
π
(
s
i
,
u
i
)
,
M
i
=
0
Q_{c,i}^{\bm \pi}(s_{i}, u_{i}^{-}, u_{i}) = \begin{cases} & Q_{coll, i}^{\bm \pi}(s_{i}, u_{i}^{-}, u_{i}),& M_{i} \gt 0 \\ & Q_{alone,i}^{\bm \pi}(s_{i}, u_{i}),&M_{i} = 0 \end{cases}
Qc,iπ(si,ui−,ui)={Qcoll,iπ(si,ui−,ui),Qalone,iπ(si,ui),Mi>0Mi=0
coll 是 collaborate 的缩写.
⋆ \star ⋆ Q p Q_{p} Qp 的 target 如下:
L p ( μ ) = { E [ Q p , i ( τ i , u i ) − ϕ i ∗ ( τ i , u i ) ] 2 , M i > 0 E [ Q p , i ( τ i , u i ) − Q a l o n e , i π ( τ i , u i ) ] , M i = 0 L_{p}(\mu) = \begin{cases} & \mathbb{E}[Q_{p,i}(\tau_{i}, u_{i})-\phi_{i}^{*}(\tau_{i}, u_{i})]^2, & M_{i} \gt 0 \\ & \mathbb{E}[Q_{p,i}(\tau_{i}, u_{i})-Q_{alone,i}^{\bm \pi}(\tau_{i},u_{i})], & M_{i}=0 \end{cases} Lp(μ)={E[Qp,i(τi,ui)−ϕi∗(τi,ui)]2,E[Qp,i(τi,ui)−Qalone,iπ(τi,ui)],Mi>0Mi=0
其中
ϕ
i
∗
(
τ
i
,
u
i
)
=
Q
c
o
l
l
,
i
π
(
τ
i
,
u
i
∗
−
,
u
i
)
−
Q
c
o
l
l
,
i
π
(
τ
i
,
u
i
∗
−
,
u
i
s
e
l
f
i
s
h
)
\phi_{i}^{*}(\tau_{i}, u_{i})=Q_{coll, i}^{\bm \pi}(\tau_{i}, u_{i}^{*-}, u_{i})-Q_{coll, i}^{\bm \pi}(\tau_{i}, u_{i}^{*-}, u_{i}^{selfish})
ϕi∗(τi,ui)=Qcoll,iπ(τi,ui∗−,ui)−Qcoll,iπ(τi,ui∗−,uiselfish)
(
u
i
∗
−
,
u
i
∗
)
=
arg max
u
i
−
,
u
i
(
Q
c
o
l
l
i
(
τ
i
,
u
i
−
,
u
i
)
)
(u_{i}^{*-}, u_{i}^{*})=\argmax_{u_{i}^{-}, u_{i}}(Q_{coll}^{i}(\tau_{i}, u_{i}^{-}, u_{i}))
(ui∗−,ui∗)=argmaxui−,ui(Qcolli(τi,ui−,ui))
ϕ
i
∗
(
τ
i
,
u
i
)
\phi_{i}^{*}(\tau_{i}, u_{i})
ϕi∗(τi,ui) 的意思是动作
u
i
u_{i}
ui 相较于完全 selfish 的动作的 advantage, 作者认为完全 selfish 的动作通常是最差的, 只有趋于合作才能提高 reward.
其他 agent 的动作为何选用
u
i
∗
−
u_{i}^{*-}
ui∗−? 文中解释: we encourage the agent to learn each action’s value based on the optimistic belief that the possibility of other agents to take non-cooperative action is zero so that all other agents would cooperate with itself. As the main problem in the non-monotonic environment is that agents tend to take lazy actions fearing other agents not cooperating, this optimistic belief can facilitate exploration by increasing the probability of sampling cooperative actions and promises that agents will jump off the suboptimal policy to converge to the optimal cooperative policy. 简言之, 作者就是防止 agent 因为害怕其它 agent 不合作而采用不合作的动作, 所以在为 agent 选择动作的时候强行施加了一个 optimistic assumption, 让 agent 始终认为其他 agent 会和它合作.
selfish 的动作怎么选? 文中提出令
u
i
s
e
l
f
i
s
h
=
arg max
u
i
Q
a
l
o
n
e
,
i
π
(
τ
i
,
u
i
)
u_{i}^{selfish}=\argmax_{u_{i}}Q_{alone,i}^{\bm\pi}(\tau_{i}, u_{i})
uiselfish=argmaxuiQalone,iπ(τi,ui). 当
M
i
=
0
M_{i}=0
Mi=0 时, 说明它的 view range 里只有它自己, 此时的
Q
a
l
o
n
e
,
i
π
Q_{alone,i}^{\bm \pi}
Qalone,iπ 可以认为是 selfish 的, 因此 selfish 的动作可以这么取.
采用 attention 机制对其他agent的信息进行 encode
为介绍原理, 我们引入论文 Actor-Attention-Critic for Multi-Agent Reinforcement Learning 中相关部分的介绍:
加入 agent
i
i
i 收到了一组其他 agent 的观测和动作信息: observation
o
=
{
o
i
}
\bm{o}=\{o_{i}\}
o={oi},
i
=
1
,
.
.
.
,
N
i=1,..., N
i=1,...,N 和 action
a
=
{
a
i
}
\bm{a}=\{a_{i}\}
a={ai},
i
=
1
,
.
.
.
,
N
i=1,..., N
i=1,...,N, attention 机制是这样对其进行 encode 的:
(1) 对每个 agent 的 observation 和 action 进行编码, 采用一个 one-layer MLP 作为 embedding function, 记为
e
k
=
g
(
o
k
,
a
k
)
e_{k}=g(o_{k},a_{k})
ek=g(ok,ak);
(2) 计算每个 agent
j
≠
i
j\neq i
j=i 的信息重要程度, 以一个权重系数
α
j
\alpha_{j}
αj 表示, 称为 “attention 系数”:
α
j
∝
exp
(
e
j
T
W
k
e
y
T
W
q
u
e
r
y
e
i
)
α_j \propto \exp(e_{j}^T W_{key}^TW_{query}e_i)
αj∝exp(ejTWkeyTWqueryei)
这里
W
k
e
y
W_{key}
Wkey 和
W
q
u
e
r
y
W_{query}
Wquery 都是一个长宽等于 embedding 长度的方阵, 是可学习的变量组成的, 分别对
e
j
e_{j}
ej 和
e
i
e_{i}
ei 的信息进行二次提取, 提取后的信息称为 key 和 query. 其设计思想是这样的,
e
j
T
W
k
e
y
T
W
q
u
e
r
y
e
i
e_{j}^T W_{key}^TW_{query}e_i
ejTWkeyTWqueryei 实际上是对二次提取后的 embedding 信息进行一个内积, 计算其相近的程度, 这里
exp
\exp
exp 函数防止梯度消失. 这里认为 embedding 和
e
i
e_{i}
ei 的 embedding 相似程度高的 agent 是重要的 agent, 因此又以其作为权重系数.
(3) 计算其他 agent 的信息 encode 的结果:
x
i
=
∑
j
≠
i
α
j
h
(
V
g
(
o
i
,
a
i
)
)
x_{i} = \sum\limits_{j\neq i}\alpha_{j}h(Vg(o_{i}, a_{i}))
xi=j=i∑αjh(Vg(oi,ai))
其中
V
V
V 是一个 shared matrix, 也是可学习的参数组成的,
h
h
h 是 element-wise nonlinearity, 也就是激活函数,
h
(
V
g
(
o
i
,
a
i
)
)
h(Vg(o_{i}, a_{i}))
h(Vg(oi,ai)) 记作
v
j
v_{j}
vj.