无监督RL:PAE: Reinforcement Learning from External Knowledge for Efficient Exploration

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(ks0,K;θ),输入状态以及知识集合,预测符合的片段知识 k ∈ K k\in K kK。每一个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,s0RHW×Cs^0,EposRHW×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(dk QKT)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(atpst,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(ks)=Ekp(k),sπ[logp(ks)]Ekp(k)[logp(k)]Ekp(k),sπ[logqϕ(ks)logp(k)].
上述第二项公式 p ( k ∣ s ) p(k|s) p(ks)无法计算,因此训练一个判别器 q ϕ ( k ∣ s ) q_{\phi}(k|s) qϕ(ks)去近似。将这个变分下界作为reward,鼓励actor强化知识与状态的相关性
r I = log ⁡ q ϕ ( k ∣ p s ) − log ⁡ p ( k ) . r_I=\log q_\phi(k|^ps)-\log p(k). rI=logqϕ(kps)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)=kK(k=k)log(qϕ(kps)).

综上所述,算法从Planner 中采样一段知识 k,并将其提供给 Actor 。Actor采用条件策略网络 π a ( a t ∣ p s t , k ; ω ) \pi_a(a_t|^ps_t,k;\omega) πa(atpst,k;ω)在这些知识 k 引导的环境中做出决策。Actor 的动机是探索提供更高奖励以及与 知识k 有密切关系的状态。判别器网络 q ϕ ( k ∣ p s ) q_\phi(k|^ps) qϕ(kps)使用 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(atst,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={+αβifttift<tort>tmax

采用的强化学习算法为基于TorchBest的IMPALA,

伪代码

在这里插入图片描述

  • 19
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值