LfO: Replacing Rewards with Examples: Example-Based Policy Search via Recursive Classification

15 篇文章 0 订阅
1 篇文章 0 订阅

NIPS 2021 Oral
paper
code

问题研究在没有奖励的情况下,如何利用成功的演示数据帮助智能体进行强化学习。文章给出的方法是利用PU分类方法学习二元分类器,该分类器可以看作是价值函数用于策略学习

Intro

在这里插入图片描述

传统强化学习需要人工设置奖励函数,但是在许多情况下设定较为困难,反而在一些已被解决的任务中,比较容易获取到成功的事例。受这一观察的启发,我们从第一性原理推导出控制算法,在给定成功结果状态的示例下,该算法旨在访问具有高概率导致成功结果的状态。先前的工作分两个阶段处理类似的问题设置,首先学习一个辅助奖励函数,然后使用另一个强化学习算法优化这个奖励函数。相比之下,本文推导出一种基于递归分类的方法RCE,该方法避开辅助奖励函数,而是直接从转换和成功结果中学习价值函数。

Method

该问题下智能体无法获取环境的奖励函数,但额外有一个由成功示例构成的数据集 S ∗ \mathcal{S}^* S。算法的核心是构建一个“价值函数”,这个函数是通过Positive-Unlabeled 分类得到。PU训练一个分类器将数据分为从条件分布 p π ( s t , a t ∣ e + = 1 ) p^\pi(s_t,a_t|e_{+}=1) pπ(st,ate+=1)中采样的“正”状态-动作对,以及从边际分布采样的负样本 p ( s t , a t ) p(s_t,a_t) p(st,at)。其中二元随机变量 e t ∈ { 0 , 1 } e_t \in \{0,1\} et{0,1}表示任务是否在时间 t 解决。该分类器训练后,对能够帮助任务完成的样本概率表示为
C θ π ( s t , a t ) = p π ( s t , a t ∣ e t + = 1 ) p ( e t + = 1 ) p π ( s t , a t ∣ e t + = 1 ) p ( e t + = 1 ) + p ( s t , a t ) ( 4 ) C_\theta^\pi(\mathbf{s_t},\mathbf{a_t})=\frac{p^\pi(\mathbf{s_t},\mathbf{a_t}\mid\mathbf{e_{t+}}=1)p(\mathbf{e_{t+}}=1)}{p^\pi(\mathbf{s_t},\mathbf{a_t}\mid\mathbf{e_{t+}}=1)p(\mathbf{e_{t+}}=1)+p(\mathbf{s_t},\mathbf{a_t})} (4) Cθπ(st,at)=pπ(st,atet+=1)p(et+=1)+p(st,at)pπ(st,atet+=1)p(et+=1)4

该分类器的预测概率告诉我们样本未来解决任务的概率:
C θ π ( s t , a t ) 1 − C θ π ( s t , a t ) = p π ( e t + = 1 ∣ s t , a t ) . \frac{C_\theta^\pi(\mathbf{s_t},\mathbf{a_t})}{1-C_\theta^\pi(\mathbf{s_t},\mathbf{a_t})}=p^\pi(\mathbf{e_{t+}}=1\mid\mathbf{s_t},\mathbf{a_t}). 1Cθπ(st,at)Cθπ(st,at)=pπ(et+=1st,at).

该分类器由神经网络构成,通过最大似然优化参数
L π ( θ ) ≜ p ( e t + = 1 ) E p ( s t , a t ∣ e t + = 1 ) [ log ⁡ C θ π ( s t , a t ) ] + E p ( s t , a t ) [ log ⁡ ( 1 − C θ π ( s t , a t ) ) ] . ( 6 ) \begin{aligned}\mathcal{L}^{\pi}(\theta)&\triangleq p(\mathbf{e_{t+}}=1)\mathbb{E}_{p(\mathbf{s_{t}},\mathbf{a_{t}}|\mathbf{e_{t+}}=1)}[\log C_{\theta}^{\pi}(\mathbf{s_{t}},\mathbf{a_{t}})]\\&+\mathbb{E}_{p(\mathbf{s_{t}},\mathbf{a_{t}})}[\log(1-C_{\theta}^{\pi}(\mathbf{s_{t}},\mathbf{a_{t}}))].\quad(6)\end{aligned} Lπ(θ)p(et+=1)Ep(st,atet+=1)[logCθπ(st,at)]+Ep(st,at)[log(1Cθπ(st,at))].(6)
第一个期望值的计算无法通过采样估计,因此需要变形。
第一步由贝叶斯
p ( s t , a t ∣ e t + = 1 ) p ( e t + = 1 ) = p π ( e t + = 1 ∣ s t , a t ) p ( s t , a t ) . p(\mathbf{s_{t}},\mathbf{a_{t}}\mid\mathbf{e_{t+}}=1)p(\mathbf{e_{t+}}=1)=p^{\pi}(\mathbf{e_{t+}}=1\mid\mathbf{s_{t}},\mathbf{a_{t}})p(\mathbf{s_{t}},\mathbf{a_{t}}). p(st,atet+=1)p(et+=1)=pπ(et+=1st,at)p(st,at).
第二步
p π ( e t + ∣ s t , a t ) ≜ E p π ( s t + ∣ s t , a t ) [ p ( e t + ∣ s t + ) ] , p^\pi(\mathbf{e_{t+}}\mid\mathbf{s_t},\mathbf{a_t})\triangleq\mathbb{E}_{p^\pi(\mathbf{s_{t+}}\mid\mathbf{s_t},\mathbf{a_t})}[p(\mathbf{e_{t+}}\mid\mathbf{s_{t+}})], pπ(et+st,at)Epπ(st+st,at)[p(et+st+)],
where the (discounted) distribution over future states is
p π ( s t + ∣ s t , a t ) ≜ ( 1 − γ ) ∑ Δ = 0 ∞ p π ( s t + Δ = s t + ∣ s t , a t ) . p^\pi(\mathbf{s_{t+}}\mid\mathbf{s_t},\mathbf{a_t})\triangleq(1-\gamma)\sum_{\Delta=0}^\infty p^\pi(s_{t+\Delta}=\mathbf{s_{t+}}\mid\mathbf{s_t},\mathbf{a_t}). pπ(st+st,at)(1γ)Δ=0pπ(st+Δ=st+st,at).
因此
p π ( e t + = 1 ∣ s t , a t ) = ( 1 − γ ) p ( e t = 1 ∣ s t ) (7) + γ E p ( s t + 1 ∣ s t , a t ) , [ p π ( e t + = 1 ∣ s t + 1 , a t + 1 ) ] . \begin{aligned}p^{\pi}(\mathbf{e_{t+}}&=1\mid\mathbf{s_{t}},\mathbf{a_{t}})=(1-\gamma)p(\mathbf{e_{t}}=1\mid\mathbf{s_{t}})&\text{(7)}\\&+\gamma\mathbb{E}_{p(\mathbf{s_{t+1}|s_{t},a_{t})},}\left[p^{\pi}(\mathbf{e_{t+}}=1\mid\mathbf{s_{t+1}},\mathbf{a_{t+1}})\right].\end{aligned} pπ(et+=1st,at)=(1γ)p(et=1st)+γEp(st+1st,at),[pπ(et+=1st+1,at+1)].(7)

第三步,带入损失函数计算期望。假设 p U ( e t + = 1 ) = 1 p_{U}(\mathbf{e_{t+}}=1)=1 pU(et+=1)=1
L π ( θ ) = ( 1 − γ ) E p U ( s t ∣ e t = 1 ) , p ( a t ∣ s t ) [ log ⁡ C θ π ( s t , a t ) ⏟ ( a ) ] (8) + E p ( s t , a t , s t + 1 ) [ γ w log ⁡ C θ π ( s t , a t ) ⏟ ( b ) + log ⁡ ( 1 − C θ π ( s t , a t ) ) ⏟ ( c ) ] , where w = E p ( a t + 1 ∣ s t + 1 ) [ C θ π ( s t + 1 , a t + 1 ) 1 − C θ π ( s t + 1 , a t + 1 ) ] (9) \begin{aligned}\mathcal{L}^{\pi}(\theta)=&(1-\gamma)\mathbb{E}_{p_U(\mathbf{s_t}|\mathbf{e_t}=1),p(a_t|s_t)}[\underbrace{\log C_\theta^\pi(\mathbf{s_t},\mathbf{a_t})}_{(a)}]&\text{(8)}\\&+\mathbb{E}_{p(\mathbf{s_t},\mathbf{a_t},\mathbf{s_{t+1}})}[\underbrace{\gamma w\log C_\theta^\pi(\mathbf{s_t},\mathbf{a_t})}_{(b)}+\underbrace{\log(1-C_\theta^\pi(\mathbf{s_t},\mathbf{a_t}))}_{(c)}],\\\text{where}\\&w=\mathbb{E}_{p(\mathbf{a_{t+1}}|\mathbf{s_{t+1}})}\left[\frac{C_\theta^\pi(\mathbf{s_{t+1}},\mathbf{a_{t+1}})}{1-C_\theta^\pi(\mathbf{s_{t+1}},\mathbf{a_{t+1}})}\right]&\text{(9)}\end{aligned} Lπ(θ)=where(1γ)EpU(stet=1),p(atst)[(a) logCθπ(st,at)]+Ep(st,at,st+1)[(b) γwlogCθπ(st,at)+(c) log(1Cθπ(st,at))],w=Ep(at+1st+1)[1Cθπ(st+1,at+1)Cθπ(st+1,at+1)](8)(9)
其中第一项的期望可以通过采样成功示例的方式进行估计 s ∗ ∼ p ( s t ∣ e t = 1 ) \mathbf{s^*}\sim p(\mathbf{s_t}\mid\mathbf{e_t}=1) sp(stet=1)。方程直观的解释是第一项 (a) 训练分类器为成功示例本身预测 1,第三项(c)训练分类器对随机样本预测0 。重要是第二项 (b),它类似于时间差异学习中的“bootstrapping”术语 (Sutton, 1988)。对于(b),训练分类器以预测未来成功的概率取决于下一个时间步成功的概率( ω \omega ω),实践中发现(b)采用n-steps效果更好

那原始的最大似然问题转化为最小化两个交叉熵损失函数
min ⁡ θ ( 1 − γ ) E p ( s t ∣ e t = 1 ) , a t ∼ π ( a t ∣ s t ) [ C E ( C ( s t , a t ) ; y = 1 ) ] ( 10 ) + ( 1 + γ w ) E p ( s t , a t , s t + 1 ) [ C E ( C ( s t , a t ) ; y = γ w γ w + 1 ) ] . \min_{\theta}(1-\gamma)\mathbb{E}_{p(s_t|e_t=1),\mathbf{a_{t}}\sim\pi(\mathbf{a_{t}}|\mathbf{s_{t}})}\left[\mathcal{C}\mathcal{E}(C(\mathbf{s_{t}},\mathbf{a_{t}});y=1)\right]\quad(10)\\+(1+\gamma w)\mathbb{E}_{p(\mathbf{s_{t}},\mathbf{a_{t}},\mathbf{s_{t+1}})}\left[\mathcal{C}\mathcal{E}\left(C(\mathbf{s_{t}},\mathbf{a_{t}});y=\frac{\gamma w}{\gamma w+1}\right)\right]. θmin(1γ)Ep(stet=1),atπ(atst)[CE(C(st,at);y=1)](10)+(1+γw)Ep(st,at,st+1)[CE(C(st,at);y=γw+1γw)].
与现有的 actor-critic RL 算法非常相似,将标准 MSE 损失被替换为两个交叉熵损失,一个用于成功示例,一个用于重放缓冲区的经验。其中,对成功样本的动作是采用当前策略 π ϕ \pi_{\phi} πϕ,相较于behavior policy(对buffer中的数据进行BC得到)有更好的性能表现

分类器优化后便可看作是价值函数用来优化策略
max ⁡ ϕ E π ϕ ( a t ∣ s t ) [ C θ π ( s t , a t ) ] . \max_{\phi}\mathbb{E}_{\pi_{\phi}(\mathbf{a_{t}}|\mathbf{s_{t}})}[C_{\theta}^{\pi}(\mathbf{s_{t}},\mathbf{a_{t}})]. ϕmaxEπϕ(atst)[Cθπ(st,at)].

伪代码

在这里插入图片描述

results

在这里插入图片描述

在这里插入图片描述

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值