HSD
相关资料
- 论文链接:Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Hierarchical
- 代码地址:
算法地址https://github.com/011235813/hierarchical-marl
所提方法是什么
提出了一种完全合作的分层MARL方法,算法为CTDE框架。智能体学会利用内在和外在奖励结合的潜在技能进行合作。假设所有的智能体都有相同的观测空间和动作空间;每个智能体根据个人的观测采取个人的动作。定义了带有技能发现的分层MARL的目标,并描述为解决优化问题的方法。
假设两层MARL,有
N
N
N个智能体,
z
n
∈
Z
z^{n} \in \mathcal{Z}
zn∈Z表示隐藏变量,每一个对应一个技能。
Z
\mathcal{Z}
Z用one-hot编码,将
Z
\mathcal{Z}
Z推广为一个学习的连续嵌入空间(不明白),
Z
\mathcal{Z}
Z为上级策略
μ
n
:
O
↦
Z
,
∀
n
∈
[
N
]
\mu^{n}: O \mapsto\mathcal{Z}, \forall n \in[N]
μn:O↦Z,∀n∈[N]的动作空间。
μ
n
\mu^{n}
μn为智能体局部观测到技能的映射。每次
z
n
z^{n}
zn的选择都持续进行
t
s
e
g
t_{\mathrm{seg}}
tseg时间步长,令
T
=
K
t
s
e
g
T=K t_{\mathrm{seg}}
T=Ktseg表示一个episode,一共有K个时间点进行上层技能的选择。以选定的潜在技能为条件,并给予智能体局部观测,然后下层的政策
π
n
:
O
×
Z
↦
A
\pi^{n}: O \times \mathcal{Z} \mapsto \mathcal{A}
πn:O×Z↦A输出一个原始动作。每个
z
n
∈
Z
z^{n} \in \mathcal{Z}
zn∈Z,和隐藏条件
π
n
(
⋅
;
z
n
)
\pi^{n}\left(\cdot ; z^{n}\right)
πn(⋅;zn)是一个技能。在上层,
μ
\boldsymbol{\mu}
μ学会选择技能来优化外部团队奖励函数
R
:
S
×
{
A
}
n
=
1
N
↦
R
R: \mathcal{S} \times\{\mathcal{A}\}_{n=1}^{N} \mapsto \mathbb{R}
R:S×{A}n=1N↦R。在下层,通过优化下层奖励
R
L
R_{L}
RL,
{
π
n
}
n
=
1
N
\left\{\pi^{n}\right\}_{n=1}^{N}
{πn}n=1N学习选择原始动作来产生有用和可解码的动作。结合这两个层次的学习,将分层MARL视为一个双层优化问题:
max
μ
,
π
E
z
∼
μ
,
P
[
E
s
t
,
a
t
∼
π
,
P
[
∑
t
=
1
T
γ
t
R
(
s
t
,
a
t
)
]
]
π
n
∈
argmax
π
E
z
∼
μ
,
P
[
∑
k
=
1
K
E
τ
k
n
∼
π
,
P
[
R
L
(
z
k
n
,
τ
k
n
)
]
]
,
∀
n
∈
[
N
]
\begin{array}{l} \max _{\mu, \pi} \mathbb{E}_{\mathbf{z} \sim \mu, P}\left[\mathbb{E}_{s_{t}, a_{t} \sim \pi, P}\left[\sum_{t=1}^{T} \gamma^{t} R\left(s_{t}, \mathbf{a}_{t}\right)\right]\right] \\ \pi^{n} \in \underset{\pi}{\operatorname{argmax}} \mathbb{E}_{\mathbf{z} \sim \mu, P}\left[\sum_{k=1}^{K} \mathbb{E}_{\tau_{k}^{n} \sim \pi, P}\left[R_{L}\left(z_{k}^{n}, \tau_{k}^{n}\right)\right]\right], \forall n \in[N] \end{array}
maxμ,πEz∼μ,P[Est,at∼π,P[∑t=1TγtR(st,at)]]πn∈πargmaxEz∼μ,P[∑k=1KEτkn∼π,P[RL(zkn,τkn)]],∀n∈[N]
其中
R
L
(
z
n
,
τ
n
)
:
=
∑
(
s
t
,
a
t
)
∈
τ
n
R
L
(
z
n
,
s
t
,
a
t
)
R_{L}\left(z^{n}, \tau^{n}\right):=\sum_{\left(s_{t}, a_{t}\right) \in \tau^{n}} R_{L}\left(z^{n}, s_{t}, a_{t}\right)
RL(zn,τn):=∑(st,at)∈τnRL(zn,st,at)表示智能体n沿轨迹获得的下层奖励的总和。