ICLR 2024
paper
Intro
文章提出的算法Planner-Actor-Evaluator(PAE)利用预训练模型所涵盖的外部知识帮助智能体高效探索与样本利用。PAE集成了Planner的知识状态对齐机制、Actor的互信息技能控制和评估器的自适应内在探索奖励,以实现1)有效的跨模态信息融合,2)知识与状态之间的联系增强,3)复杂任务的分层掌握。
Method
Planner 配备了状态-知识对齐机制。这种机制使 Planner 能够访问外部知识源并检索与当前状态一致的合适知识。这种对齐的知识逐渐提供给 Actor,增加了复杂性。Actor 利用 Planner 提供的状态信息和外部知识进行联合推理。它包含一个交叉注意力机制,允许 Actor 精确地关注关键状态和外部知识特征。此外,Actor 使用判别网络来反转规划器的指导,加强状态和知识之间的联系。评估者根据 Planner 提供的外部知识的质量和 Actor 的推理有效性来计算内在奖励。这些内在奖励通过强化学习方法,指导Planner和Actor的独立更新。
Planner
Planner的policy表示为
π
p
(
k
∣
s
0
,
K
;
θ
)
\pi_{p}(k|s_{0},\mathcal{K};\theta)
πp(k∣s0,K;θ),输入状态以及知识集合,预测符合的片段知识
k
∈
K
k\in K
k∈K。每一个episode开始时,Planner 都会为actor提供预测新的知识,直至 Actor 达到由知识指导的内在目标后改变。同时,只有当 Actor 使用提供的知识完成任务时,Planner 才会收到奖励。
为了捕捉环境与知识中的隐含信息,分别通过encoder进行编码,其中环境状态还嵌入位置信息
s
^
0
=
C
o
n
v
(
s
0
)
+
E
p
o
s
,
s
0
∈
R
H
W
×
C
s
^
0
,
E
p
o
s
∈
R
H
W
×
d
s
,
\hat{\mathbf{s}}_0=\mathrm{Conv}(s_0)+\mathbf{E}_{pos},\quad s_0\in\mathbb{R}^{HW\times C}\quad\hat{\mathbf{s}}_0,\mathbf{E}_{pos}\in\mathbb{R}^{HW\times d_s},
s^0=Conv(s0)+Epos,s0∈RHW×Cs^0,Epos∈RHW×ds,
知识的embedding首先采用Bert进行特征提取,在经过线性层映射得到编码后的知识特征:
k
^
=
[
k
^
(
1
)
,
k
^
(
2
)
,
…
,
k
^
(
n
)
]
=
P
r
o
j
(
L
M
(
[
k
(
1
)
,
k
(
2
)
,
…
,
k
(
n
)
]
)
)
,
k
^
∈
R
n
×
d
k
,
\hat{\mathbf{k}}=[\hat{k}^{(1)},\hat{k}^{(2)},\ldots,\hat{k}^{(n)}]=\mathrm{Proj}(\mathrm{LM}([k^{(1)},k^{(2)},\ldots,k^{(n)}])),\quad\hat{\mathbf{k}}\in\mathbb{R}^{n\times d_{k}},
k^=[k^(1),k^(2),…,k^(n)]=Proj(LM([k(1),k(2),…,k(n)])),k^∈Rn×dk,
状态与知识编码后的信息将采用注意力机制进行对齐(Alignment)
k
^
s
0
=
A
t
t
e
n
t
i
o
n
(
Q
,
K
,
V
)
=
S
o
f
t
M
a
x
(
Q
K
T
d
k
)
V
w
h
e
r
e
Q
=
k
^
W
Q
,
K
=
s
^
0
W
K
,
V
=
s
^
0
W
V
,
\begin{aligned} \hat{\mathbf{k}}_{s_{0}}& =\mathrm{Attention}(Q,K,V)=\mathrm{SoftMax}\left(\frac{QK^{T}}{\sqrt{d_{k}}}\right)V \\ \mathrm{where}Q& =\hat{\mathbf{k}}W_{Q},K=\hat{\mathbf{s}}_{0}W_{K},V=\hat{\mathbf{s}}_{0}W_{V}, \end{aligned}
k^s0whereQ=Attention(Q,K,V)=SoftMax(dkQKT)V=k^WQ,K=s^0WK,V=s^0WV,
注意力机制的结果 k ^ s 0 = [ k ^ s 0 ( 1 ) , k ^ s 0 ( 2 ) , … , k ^ s 0 ( n ) ] \hat{\mathbf{k}}_{s_{0}}=[\hat{k}_{s_{0}}^{(1)},\hat{k}_{s_{0}}^{(2)},\ldots,\hat{k}_{s_{0}}^{(n)}] k^s0=[k^s0(1),k^s0(2),…,k^s0(n)]描述了当前状态下各个知识的符合程度。然后, k ^ s 0 \hat{\mathbf{k}}_{s_{0}} k^s0将线性投影到 n 个一维尺度上并经过 softmax 层表示概率值,帮助 Planner 为 Actor 选择合适的指令。
Actor
Planner提供知识后,actor策略为
π
a
(
a
t
∣
p
s
t
,
k
;
ω
)
\pi_a(a_t|^ps_t,k;\omega)
πa(at∣pst,k;ω)。 类似Planner,Actor 必须以自然语言形式全面掌握知识。但是流程上,卷积层的位置actor与planner不同。actor直接将embedding的state结合位置编码,与知识进行对齐。
对齐后的结果将与
C
o
n
v
(
p
s
t
)
Conv(p_{s_t})
Conv(pst)拼接,在经过线性层以及softmax,得到策略预测结果。
其次,算法希望知识影响 Actor 达到的状态,这样不同的知识会可以表示不同的技能。因此,采用最大化状态与知识的互信息,加强二者之间的相关性。
I
(
s
;
k
)
=
H
(
k
)
−
H
(
k
∣
s
)
=
E
k
∼
p
(
k
)
,
s
∼
π
[
log
p
(
k
∣
s
)
]
−
E
k
∼
p
(
k
)
[
log
p
(
k
)
]
≥
E
k
∼
p
(
k
)
,
s
∼
π
[
log
q
ϕ
(
k
∣
s
)
−
log
p
(
k
)
]
.
\begin{aligned} I(s;k)& =\mathcal{H}(k)-\mathcal{H}(k|s) \\ &=\mathbb{E}_{k\sim p(k),s\sim\pi}[\log p(k|s)]-\mathbb{E}_{k\sim p(k)}[\log p(k)] \\ &\geq\mathbb{E}_{k\sim p(k),s\sim\pi}\left[\log q_{\phi}(k|s)-\log p(k)\right]. \end{aligned}
I(s;k)=H(k)−H(k∣s)=Ek∼p(k),s∼π[logp(k∣s)]−Ek∼p(k)[logp(k)]≥Ek∼p(k),s∼π[logqϕ(k∣s)−logp(k)].
上述第二项公式
p
(
k
∣
s
)
p(k|s)
p(k∣s)无法计算,因此训练一个判别器
q
ϕ
(
k
∣
s
)
q_{\phi}(k|s)
qϕ(k∣s)去近似。将这个变分下界作为reward,鼓励actor强化知识与状态的相关性
r
I
=
log
q
ϕ
(
k
∣
p
s
)
−
log
p
(
k
)
.
r_I=\log q_\phi(k|^ps)-\log p(k).
rI=logqϕ(k∣ps)−logp(k).
判别器则采用交叉熵损失函数进行优化
L
ϕ
(
p
s
,
k
)
=
−
∑
k
′
∈
K
(
k
′
=
k
)
⋅
log
(
q
ϕ
(
k
′
∣
p
s
)
)
.
\mathcal{L}_\phi(^ps,k)=-\sum_{k'\in\mathcal{K}}(k'=k)\cdot\log(q_\phi(k'|^ps)).
Lϕ(ps,k)=−k′∈K∑(k′=k)⋅log(qϕ(k′∣ps)).
综上所述,算法从Planner 中采样一段知识 k,并将其提供给 Actor 。Actor采用条件策略网络 π a ( a t ∣ p s t , k ; ω ) \pi_a(a_t|^ps_t,k;\omega) πa(at∣pst,k;ω)在这些知识 k 引导的环境中做出决策。Actor 的动机是探索提供更高奖励以及与 知识k 有密切关系的状态。判别器网络 q ϕ ( k ∣ p s ) q_\phi(k|^ps) qϕ(k∣ps)使用 Planner 提供的 k 作为基本事实,并通过监督学习进行更新,以更好地从访问的状态中推断出知识 k。
Evaluator
为了增强RL在long-term以及稀疏环境的探索能力,PAE对reward加入额外的奖励机制,用于策略的高效训练。对于Actor的奖励为:
r
a
c
t
o
r
=
r
e
x
+
r
i
n
(
I
(
π
a
(
a
t
∣
s
t
,
k
;
ω
)
↦
k
)
)
+
α
I
r
I
,
r_{actor}=r_{ex}+r_{in}(\mathbb{I}(\pi_{a}(a_{t}|s_{t},k;\omega)\mapsto k))+\alpha_{I}r_{I},
ractor=rex+rin(I(πa(at∣st,k;ω)↦k))+αIrI,
其中
r
i
n
r_{in}
rin内在奖励机制表示actor在知识的引导下完成任务
而对于Planner,额外加入的内在奖励则是与actor是否能在有限steps下完成子任务相关:
r
p
l
a
n
n
e
r
=
r
e
x
+
r
i
n
;
r
i
n
=
{
+
α
if
t
≥
t
∗
−
β
if
t
<
t
∗
or
t
>
t
m
a
x
r_{planner}=r_{ex}+r_{in};r_{in}=\left\{\begin{array}{ll}+\alpha&\text{if}t\geq t^*\\-\beta&\text{if}t<t^*\text{or}t>t_{max}\end{array}\right.
rplanner=rex+rin;rin={+α−βift≥t∗ift<t∗ort>tmax
采用的强化学习算法为基于TorchBest的IMPALA,