前言
还不知道发在了哪里。该文章认为之前的方法是强加了 Q t o t Q_{tot} Qtot 和 Q i Q^i Qi 之间的某种假设,缺少理论基础。除此之外,他们在将个体 Q i Q^i Qi 转为 Q t o t Q_{tot} Qtot 时,没有明确地考虑个体对整个系统agent级别的影响。
Theoretical Analysis of Global and Individual Q-values
首先联合动作值函数 Q t o t ( s , a ) Q_{tot}(s,\textbf{a}) Qtot(s,a),应用隐函数定理,也就将其看做了关于 Q i Q^i Qi 的函数。作者假设没有独立的agent与整个group不相关,因为独立的agent不应该是group的成员,应该当做独立的agent去优化其策略。也就是说 Q i Q^i Qi 的变化会影响 Q t o t Q_{tot} Qtot,所以偏导不为0:
∂ Q t o t ∂ Q i ≠ 0 \frac{\partial Q_{tot}}{\partial Q^i} \neq 0 ∂Qi∂Qtot=0
作者分析接近动作空间中最大值点时, Q t o t Q_{tot} Qtot 和 Q i Q^i Qi 的局部行为,假设状态是固定的,由于最值点 a o a_o ao 处梯度会消失,所以:
∂ Q t o t ∂ a i = ∂ Q t o t ∂ Q i ∂ Q i ∂ a i = 0 \frac{\partial Q_{tot}}{\partial a^i}=\frac{\partial Q_{tot}}{\partial Q^i}\frac{\partial Q^i}{\partial a^i}=0 ∂ai∂Qtot=∂Qi∂Qtot∂ai∂Qi=0
所以
∂ Q i ∂ a i ( a 0 ) = 0 \frac{\partial Q^i}{\partial a^i}(a_0)=0 ∂ai∂Qi(a0)=0
然后进行泰勒二元展开:
Q
i
(
a
i
)
=
α
i
+
β
i
(
a
i
−
a
o
i
)
2
+
o
(
(
a
i
−
a
o
i
)
2
)
Q^i(a^i)=\alpha_i+\beta_i(a^i-a^i_o)^2+o((a^i-a^i_o)^2)
Qi(ai)=αi+βi(ai−aoi)2+o((ai−aoi)2)
然后我们就得到了接近最优点
a
o
→
\overrightarrow{a_o}
ao 时的非线性组合,定理为:
假设动作空间是连续的,没有独立agent,存在常量
c
(
s
)
,
λ
i
(
s
)
c(s),\lambda_i(s)
c(s),λi(s),使得
Q
t
o
t
Q_{tot}
Qtot 的局部扩展满足:
Q
t
o
t
(
s
,
a
)
≈
c
(
s
)
+
∑
i
,
h
λ
i
,
h
(
s
)
Q
i
(
s
,
a
i
)
Q_{tot}(s,\textbf{a})\approx c(s)+\sum\limits_{i,h}\lambda_{i,h}(s)Q^i(s,a^i)
Qtot(s,a)≈c(s)+i,h∑λi,h(s)Qi(s,ai)
λ
i
,
h
\lambda_{i,h}
λi,h 是所有 h 阶偏导
∂
h
Q
t
o
t
∂
Q
i
1
⋯
∂
Q
i
h
\frac{\partial^h Q_{tot}}{\partial Q^{i1}\cdots\partial Q^{ih}}
∂Qi1⋯∂Qih∂hQtot 的线性函数,并且在 h 超线性衰减。也正因此,其包含了非线性信息,比如
λ
i
,
2
\lambda_{i,2}
λi,2 对应二阶项
Q
i
Q
j
Q^iQ^j
QiQj。
这个定理的证明解读可以参考:https://zhuanlan.zhihu.com/p/151347887
The Practical Implementation of Qatten
作者使用self-attention,用多头来表示多阶。
关于self-attention的分析可以参考 ICLR2020 的:Are Transformers universal approximators of sequence-to-sequence functions?