离线强化学习-1(背景介绍)

离线强化学习主要分为两篇文章,本篇主要简述RL的发展主线,引出Offline RL的Problem Statement以及面临的难题。下篇对这些难题的解决方法探索,进行细述。

概述

文章定位:这是一篇关于Offline RL的整理,根据Sergey Levine大佬的Tutorial:Offline Reinforcement Learning: Tutorial, Review, and Perspectives on Open Problems结合多篇阅读过的Paper来深化下Offline RL的主线。

Offline RL的任务:在一个静态数据集 D = { ( s , a , r , s ′ ) } \mathcal D=\{(s,a,r,s')\} D={(s,a,r,s)}上学习一个较优策略(起码比supervised learning要好一点)
Offline RL的数据集:D4RL、NeoRL、RL unplugged
Offline RL评估标准:Online Interaction、Off-Policy Evaluation、Expert evaluate
补充说明:有环境simulator的话,将learned policy进行online interaction评估即可;但如果没有simulator或者online interaction的成本很高(healthcare、recommendation system),那只能用Off-policy evaluation(OPE)的方式去估计learned policy期望回报的大小来评估。(或者更直接,domain expert来肉眼对learned policy进行评估)

Offline RL的评估环境:在静态数据集 D \mathcal D D训练一个learned policy,希望它在真实测试环境上表现得更好。(所以训练的效果不一定能反映测试的效果,根据OOD(Out-of-distribution)的理论,一取决于数据集的sufficient coverage,二取决于训练环境中提取到的invariance即learned policy能否泛化到测试环境)

Offline RL的制约因素

  1. exploration 无法探索,所有性能的提升都取决于datasets中cover到的high reward region够不够(数据集 fundamental problem)
  2. 测试时,会遇到训练集中没有的状态即distributional shift
  3. RL都会遇到的问题,high-dimensional continuous的state与action怎么处理?Long horizon导致的compounding error怎么减轻即domain/task complexity

一、简述RL的发展主线

The reward function defines what an agent should do, and a reinforcement learning algorithm determines how to do it

  1. 最基础的是:MDP ( M = ( S , A , T , d 0 , r , γ ) ) (\mathcal {M=(S,A,T},d_0,r,\gamma)) (M=(S,A,T,d0,r,γ))、POMDP ( M = ( S , A , O , T , E , d 0 , r , γ ) ) (\mathcal {M=(S,A,O,T,E},d_0,r,\gamma)) (M=(S,A,O,T,E,d0,r,γ)),在 ( s t , a t ) (s_t,a_t) (st,at)上定义了Markov Chain1
  2. 由此定义出主要受策略 π ( a t ∣ s t ) \pi(a_t|s_t) π(atst)影响的trajectory distribution p π ( τ ) = d 0 ( s 0 ) ∏ t = 0 h π ( a t ∣ s t ) T ( s t + 1 ∣ s t , a t ) p_\pi(\tau)=d_0(s_0)\prod_{t=0}^h\pi(a_t|s_t)T(s_{t+1}|s_t,a_t) pπ(τ)=d0(s0)t=0hπ(atst)T(st+1st,at),在该 p π ( τ ) p_\pi(\tau) pπ(τ)上定义RL objective J ( π ) = E τ ∼ p π ( τ ) [ ∑ t = 0 H γ t r ( s t , a t ) ] J(\pi)=\mathbb E_{\tau\sim p_{\pi}(\tau)}\left[\sum_{t=0}^H\gamma^tr(s_t,a_t)\right] J(π)=Eτpπ(τ)[t=0Hγtr(st,at)],可将 p π ( τ ) p_\pi(\tau) pπ(τ)分解成 d π ( s ) π ( a ∣ s ) d^\pi(s)\pi(a|s) dπ(s)π(as) ,即将轨迹分布=状态分布 × \times ×策略分布
  3. d t π ( s t ) d^\pi_t(s_t) dtπ(st) d π ( s ) d^\pi(s) dπ(s)观测统计量 π θ ( a ∣ s ) \pi_\theta(a|s) πθ(as) π ( a ∣ s ) \pi(a|s) π(as)参数模型
  4. π θ ( a ∣ s ) \pi_\theta(a|s) πθ(as)通过与经验相关的统计量控制的探索策略,形成behavior policy π β ( a ∣ s ) \pi_\beta(a|s) πβ(as)与环境 M \mathcal M M交互得到experience,根据experience以某种学习机制更新 π θ ( a ∣ s ) \pi_\theta(a|s) πθ(as)
  5. 为了优化RL objective J ( π ) J(\pi) J(π)有不同的学习机制:Policy Gradients、Value Learning (Dynamics Programming)、Actor-Critic、Model-based等四种主流方法
  6. 在每个主流方法中,因为horizon可变长、可有限、可无限,所以具体计算的方式各不相同,计算目标梯度 ∇ θ J ( π θ ) \nabla_\theta J(\pi_\theta) θJ(πθ)而估计的对象(如Advantage、Q-function、Value function、trajectory return等)也各有差别,但信息的流向是一致的:人为定义的监督信息reward function r ( s t , a t ) → r(s_t,a_t)\rightarrow r(st,at) RL objective J ( π ) J(\pi) J(π)的折中处理 → \rightarrow 关于目标梯度 ∇ θ J ( π θ ) \nabla_\theta J(\pi_\theta) θJ(πθ)的计算方式 → \rightarrow 计算 ∇ θ J ( π θ ) \nabla_\theta J(\pi_\theta) θJ(πθ)所需对象的近似估计

接下来言简意赅地总结下这四个主流方法的主要思路:

评估策略 π θ \pi_\theta πθ的好坏,自然是用它去和环境交互得到experience,根据自身得到的experience去更新,即on-policy objective:
J ( π θ ) = E τ ∼ p π θ ( τ ) [ r ( τ ) ] = E τ ∼ p π θ ( τ ) [ ∑ t = 0 H γ t r ( s t , a t ) ] ( 0 ) = ∑ t = 0 H E s t ∼ d t π θ ( s t ) , a t ∼ π θ ( a t ∣ s t ) [ γ t r ( s t , a t ) ] ( 1 ) = ∑ t = 0 H E ( s t , a t ) ∼ p t π θ ( s , a ) [ γ t r ( s t , a t ) ] → 1 1 − γ E s ∼ d π θ ( s t ) , a ∼ π θ ( a ∣ s ) [ r ( s , a ) ]    ( 2 ) → 1 1 − γ E ( s t , a t ) ∼ p π θ ( s , a ) [ r ( s t , a t ) ] \begin{aligned} J(\pi_\theta) & = \mathbb E_{\tau\sim p_{\pi_\theta}(\tau)}\left[r(\tau)\right]\\ & = \mathbb E_{\tau\sim p_{\pi_\theta}(\tau)}\left[\sum_{t=0}^H\gamma^tr(s_t,a_t)\right]\quad \quad \quad \quad \quad(0)\\ &=\sum_{t=0}^H\mathbb E_{s_t\sim d^{\pi_\theta}_t(s_t), a_t\sim \pi_\theta(a_t|s_t)}\left[\gamma^tr(s_t,a_t)\right]\quad (1)\\ &=\sum_{t=0}^H\mathbb E_{(s_t,a_t)\sim p^{\pi_\theta}_t(s,a)}\left[\gamma^tr(s_t,a_t)\right]\\ &\rightarrow\frac{1}{1-\gamma}\mathbb E_{s\sim d^{\pi_\theta}(s_t),a\sim \pi_\theta(a|s)}\left[r(s,a)\right]\quad \quad \text{ }\text{ }(2)\\ &\rightarrow \frac{1}{1-\gamma} \mathbb E_{(s_t,a_t)\sim p^{\pi_\theta}(s,a)}[r(s_t,a_t)] \end{aligned} J(πθ)=Eτpπθ(τ)[r(τ)]=Eτpπθ(τ)[t=0Hγtr(st,at)](0)=t=0HEstdtπθ(st),atπθ(atst)[γtr(st,at)](1)=t=0HE(st,at)ptπθ(s,a)[γtr(st,at)]1γ1Esdπθ(st),aπθ(as)[r(s,a)]  (2)1γ1E(st,at)pπθ(s,a)[r(st,at)]

整个On-Policy Objective是用来评估策略 π θ \pi_\theta πθ的:

  • (0)构建的方式:被 π θ \pi_\theta πθ决定的trajectory distribution p π θ ( τ ) p_{\pi_\theta}(\tau) pπθ(τ)下,策略的好坏由trajectory return r ( τ ) r(\tau) r(τ)进行评估。具体计算用 π θ ( a ∣ s ) \pi_\theta(a|s) πθ(as)与环境交互 p ( s t + 1 ∣ s t , a t ) p(s_{t+1}|s_t,a_t) p(st+1st,at)序列长度为 H H H的轨迹,然后得到的n个轨迹 { τ i } i = 1 n \{\tau_i\}_{i=1}^n {τi}i=1n,每个 τ i \tau_i τi计算一个return,平均得到trajectory return的估计
  • (1)构建的方式:当Horizon是有限的情况下,按时间的角度对收集的n个轨迹 { τ i } i = 1 n \{\tau_i\}_{i=1}^n {τi}i=1n进行划分,从中(experience)统计每个时间刻t的状态分布 d t π θ ( s t ) d_t^{\pi_\theta}(s_t) dtπθ(st),从 π θ \pi_\theta πθ采样一些action丢进人为设计的reward function,得到策略 π θ \pi_\theta πθ在当前时刻t的期望奖励 E s t ∼ d t π θ ( s t ) , a t ∼ π θ ( a t ∣ s t ) [ γ t r ( s t , a t ) ] \mathbb E_{s_t\sim d^{\pi_\theta}_t(s_t), a_t\sim \pi_\theta(a_t|s_t)}\left[\gamma^tr(s_t,a_t)\right] Estdtπθ(st),atπθ(atst)[γtr(st,at)]后将其累积
  • (2)构建的方式,当Horizon是无限的情况下,不断用策略 π θ \pi_\theta πθ与环境交互收集transitions ( s , a , r , s ′ ) (s,a,r,s') (s,a,r,s),从这些experience中统计状态的稳态分布 d π θ ( s ) d^{\pi_\theta}(s) dπθ(s),在该稳态分布上采样策略 π θ ( a ∣ s ) \pi_\theta(a|s) πθ(as)丢进reward function进行评估。

1. 1 Policy Gradients2

对policy的评估,采用自身,只参数化Policy,on-policy目标梯度推导后:
∇ θ J ( π θ ) = ∑ t = 0 H E s t ∼ d t π ( s t ) , a t ∼ π θ ( a t ∣ s t ) [ γ t ∇ θ log ⁡ π θ ( a t ∣ s t ) A ^ ( s t , a t ) ] \nabla_{\theta} J\left(\pi_{\theta}\right)=\sum_{t=0}^{H} \mathbb{E}_{\mathbf{s}_{t} \sim d_{t}^{\pi}\left(\mathbf{s}_{t}\right), \mathbf{a}_{t} \sim \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right)}\left[\gamma^{t} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{t} \mid \mathbf{s}_{t}\right) \hat{A}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)\right] θJ(πθ)=t=0HEstdtπ(st),atπθ(atst)[γtθlogπθ(atst)A^(st,at)]

后续关键就是怎么估计这个Advantage,可以用Monte-Carlo estimator,可以用TD error或GAE等方式从experience中拟合估计得到。后续的改进如结合policy distribution的约束的induced与enforced得到的TRPO、PPO等,可参考之前的文章CS285 le5-le9
1

1.2 Value Learning 3

对于某个策略 π \pi π的值评估方式(Bellman Operator):
Q π ( s t , a t ) = r ( s t , a t ) + γ E s t + 1 ∼ T ( s t + 1 ∣ s t , a t ) , a t + 1 ∼ π ( a t + 1 ∣ s t + 1 ) [ Q π ( s t + 1 , a t + 1 ) ) ] \left.Q^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\gamma \mathbb{E}_{\mathbf{s}_{t+1} \sim T\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right), \mathbf{a}_{t+1} \sim \pi\left(\mathbf{a}_{t+1} \mid \mathbf{s}_{t+1}\right)}\left[Q^{\pi}\left(\mathbf{s}_{t+1}, \mathbf{a}_{t+1}\right)\right)\right] Qπ(st,at)=r(st,at)+γEst+1T(st+1st,at),at+1π(at+1st+1)[Qπ(st+1,at+1))]

Value learning将policy选择为 π ( a t ∣ s t ) = δ ( a t = arg max ⁡ Q ( s t , a t ) ) \pi(a_t|s_t)=\delta(a_t=\argmax Q(s_t,a_t)) π(atst)=δ(at=argmaxQ(st,at)),只参数化一个值函数 Q ϕ ( s , a ) Q_\phi(s,a) Qϕ(s,a)来逼近最优策略 π ∗ \pi^* π对应的值函数 Q ∗ ( s , a ) Q^*(s,a) Q(s,a),对于最优策略的Q满足(Bellman Optimality operator):

Q ∗ ( s t , a t ) = r ( s t , a t ) + γ E s t + 1 ∼ T ( s t + 1 ∣ s t , a t ) [ max ⁡ a t + 1 Q ∗ ( s t + 1 , a t + 1 ) ] (*) Q^*(s_t,a_t)=r(s_t,a_t)+\gamma\mathbb E_{s_{t+1}\sim T(s_{t+1}|s_t,a_t)}\left[\max_{a_{t+1}}Q^*(s_{t+1},a_{t+1})\right]\tag{*} Q(st,at)=r(st,at)+γEst+1T(st+1st,at)[at+1maxQ(st+1,at+1)](*)

把这个(*)式当作 Q ϕ ( s , a ) Q_\phi(s,a) Qϕ(s,a)的Objective,把左边与右边选MSE loss进行优化:(这里关于环境的期望 s t + 1 ∼ T ( s t + 1 ∣ s t , a t ) s_{t+1}\sim T(s_{t+1}|s_t,a_t) st+1T(st+1st,at)被一个样本近似了)
[ Q ϕ ( s , a ) − ( r i + γ max ⁡ a ′ Q ϕ ( s ′ , a ′ ) ] 2 \left[Q_\phi(s,a)-(r_i+\gamma \max_{a'}Q_\phi(s',a')\right]^2 [Qϕ(s,a)(ri+γamaxQϕ(s,a)]2

2

1.3 Actor-Critic4

Value learning是选择好policy的形式的,然后参数化的Q函数来逼近最优策略的Q函数。
而Actor-Critic则既参数化policy π θ \pi_\theta πθ,又参数化value function Q ϕ ( s , a ) Q_\phi(s,a) Qϕ(s,a),只不过这个value function是用来拟合并评估当前策略的即 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a),拟合好的 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)来给policy π θ \pi_\theta πθ的更新提供指导:
Q π ( s t , a t ) = r ( s t , a t ) + γ E s t + 1 ∼ T ( s t + 1 ∣ s t , a t ) , a t + 1 ∼ π θ ( a t + 1 ∣ s t + 1 ) [ Q π ( s t + 1 , a t + 1 ) ] Q^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\gamma \mathbb{E}_{\mathbf{s}_{t+1} \sim T\left(\mathbf{s}_{t+1} \mid \mathbf{s}_{t}, \mathbf{a}_{t}\right), \mathbf{a}_{t+1} \sim \pi_{\theta}\left(\mathbf{a}_{t+1} \mid \mathbf{s}_{t+1}\right)}\left[Q^{\pi}\left(\mathbf{s}_{t+1}, \mathbf{a}_{t+1}\right)\right] Qπ(st,at)=r(st,at)+γEst+1T(st+1st,at),at+1πθ(at+1st+1)[Qπ(st+1,at+1)]
3

1.4 Model-based RL

上面三个要么参数化policy,要么参数化value,现在对环境的transition/dynamics model进行参数化,即 T ( s t + 1 ∣ s t , a t ) → T ψ ( s t + 1 ∣ s t , a t ) T(s_{t+1}|s_t,a_t)\rightarrow T_\psi(s_{t+1}|s_t,a_t) T(st+1st,at)Tψ(st+1st,at)

从收集的experience中 D = { ( s , a , s ′ ) } \mathcal D= \{(s,a,s')\} D={(s,a,s)}来训练得到一个 T ψ ( s t + 1 ∣ s t , a t ) T_\psi(s_{t+1}|s_t,a_t) Tψ(st+1st,at):

  1. T ψ ( s t + 1 ∣ s t , a t ) T_\psi(s_{t+1}|s_t,a_t) Tψ(st+1st,at)结合planning algorithms在测试进行使用(trajectory optimization)
  2. T ψ ( s t + 1 ∣ s t , a t ) T_\psi(s_{t+1}|s_t,a_t) Tψ(st+1st,at)通过back propagation through time来更新learned policy π θ ( a t ∣ s t ) \pi_\theta(a_t|s_t) πθ(atst) (BPTT)
  3. T ψ ( s t + 1 ∣ s t , a t ) T_\psi(s_{t+1}|s_t,a_t) Tψ(st+1st,at)通过生成样本,来对 D \mathcal D D做数据增强后使用model-free algorithms(Dyna-style)

1.5 总结

  • Policy Gradient 根据On-Policy Objective J ( π θ ) J(\pi_\theta) J(πθ)计算目标梯度 ∇ θ J ( π θ ) \nabla_\theta J(\pi_\theta) θJ(πθ)直接对Policy π θ \pi_\theta πθ进行更新
  • ∇ θ J ( π θ ) \nabla_\theta J(\pi_\theta) θJ(πθ)的计算中要求 A ^ ( s t , a t ) \hat A(s_t,a_t) A^(st,at),该玩意从on-policy得到的trajectory experience中估计来(MC、TD、value-fitting)
  • 因此PG需要考量的是policy的结构richer与否,objective、regularization的设定是否与问题结构相符,信息流(梯度流)的计算是否准确(unbiased consistent estimator),有哪些约束能帮助policy更快找到optimal region

  • Value Learning显示选择了policy的结构为 δ ( a = arg max ⁡ a Q ϕ ( s , a ) ) \delta(a=\argmax_a Q_\phi(s,a)) δ(a=aargmaxQϕ(s,a)),然后参数化值函数 Q ϕ ( s , a ) Q_\phi(s,a) Qϕ(s,a)来逼近最优策略的值函数 Q ∗ ( s , a ) Q^*(s,a) Q(s,a)
  • Value Learning根据Bellman Optimality Operator计算MSE目标的梯度,对Q值进行更新
  • 因此Value-based需要考量的是policy选择 ϵ \epsilon ϵ-greedy这种结构是否expressive,Q-value的learning是否accurate且robust,Q-function class的结构richer与否,Bellman Optimality Objective、regularization的设定是否满足问题结构

  • Actor-Critic扩展了Policy结构的richness π θ ( a ∣ s ) \pi_\theta(a|s) πθ(as)即actor、也融入了对actor指导的value learning的Q值结构 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)即critic
  • 因此Actor-Critic需要同时考虑Actor、Critic的结构、objective、regularzation、Optimization的方式是否符合问题结构

具体看看Algorithm1、Algorithm2、Algorithm3的流程图中policy objective与value objective计算方式的不一样。

趁机总结一波的原因是Offline RL只不过是在一个静态数据集用上面的方法(model-free,model-based记为modern RL),modern RL方法与Offline RL的主要区别是additional interaction with environment。仅此而已。
但因为Offline RL不能与环境交互,就导致了一些学错的策略,无法根据环境的反馈进行纠正,这些error就在long horizon的情况下不断放大,导致learned policy比behavior cloning得到的imitated policy还要差。
因此,在非常熟悉modern RL方法的情况下,Offline RL主要解决的问题是distribution shift,即out-of-distribution的内容。下篇文章的主旨便是Offline RL为了解决distribution shift所做的努力与尝试。

二、Offline RL问题建模

In offline RL, the whole point is to learn a policy that does something differently (presumably better) from the pattern of behavior observed in the dataset D

已有:静态数据集 D = { ( s t i , a t i , s t + 1 i , r t i ) } i = 1 n \mathcal D=\{(s^i_t,a_t^i,s_{t+1}^i,r_t^i)\}_{i=1}^n D={(sti,ati,st+1i,rti)}i=1n中状态分布为 d π β ( s ) d^{\pi_\beta}(s) dπβ(s),策略分布为 π β ( a ∣ s ) \pi_\beta(a|s) πβ(as),联合分布为 d π β ( s , a ) d^{\pi_\beta}(s,a) dπβ(s,a)
目的:在静态数据集 D \mathcal D D训练一个learned policy π ( a ∣ s ) \pi(a|s) π(as),希望 π ( a ∣ s ) \pi(a|s) π(as)真实测试环境上表现得更好。(所以训练的效果不一定能反映测试的效果,根据OOD(Out-of-distribution)的理论,一取决于数据集的sufficient coverage,二取决于训练环境中提取到的invariance即learned policy能否泛化到测试环境)

目前假设上述从数据中的量已知,对Offline RL的问题进行建模。(叨叨一波:很多问题的建模本质都是在学习分布与分布之间的映射,学习该映射需要分布的目标、分布的度量、分布的结构,从具体计算的角度,却只有样本。而分布约束的施加一般在分布的supports或是分布的density上)

样本与分布的鸿沟,是现实与理想的差距。

这里有一些问题需要自我思考(实则非常重要,每一个已知都是道坎):

  1. 如果状态是多维连续的,怎么计算 d π β ( s ) d^{\pi_\beta}(s) dπβ(s)?怎么统计呢?
  2. 如果动作是连续的,那在连续的状态下,怎么计算 π β ( a ∣ s ) \pi_\beta(a|s) πβ(as)
  3. 然后又是怎么算得 d π β ( s , a ) d^{\pi_\beta}(s,a) dπβ(s,a)的?

在已知数据集 D \mathcal D D的情况下,Offline RL的目标可以设定为:

  1. On-Policy Objective
    J ( π θ ) = ∫ p π θ ( τ ) r ( τ ) d τ = ∫ p π β ( τ ) p π θ ( τ ) p π β ( τ ) r ( τ ) d τ = E τ ∼ p π β ( τ ) [ p π θ ( τ ) p π β ( τ ) r ( τ ) ] = E τ ∼ p π β ( τ ) [ d 0 ( s 0 ) ∏ t = 0 H π θ ( a t ∣ s t ) p ( s t + 1 ∣ s t , a t ) d 0 ( s 0 ) ∏ t = 0 H π β ( a t ∣ s t ) p ( s t + 1 ∣ s t , a t ) r ( τ ) ] = E τ ∼ p π β ( τ ) [ ( ∏ t = 0 H π θ ( a t ∣ s t ) π β ( a t ∣ s t ) ) ∑ t = 0 H γ t r ( s t , a t ) ] \begin{aligned} J(\pi_\theta)&=\int p_{\pi_\theta}(\tau)r(\tau)d\tau\\ &=\int p_{\pi_\beta}(\tau)\frac{p_{\pi_\theta(\tau)}}{p_{\pi_\beta(\tau)}}r(\tau)d\tau\\ &=\mathbb E_{\tau\sim p_{\pi_\beta(\tau)}}\left[\frac{p_{\pi_\theta(\tau)}}{p_{\pi_\beta(\tau)}}r(\tau)\right]\\ &=\mathbb E_{\tau\sim p_{\pi_\beta(\tau)}}\left[\frac{d_0(s_0)\prod_{t=0}^H\pi_\theta(a_t|s_t)p(s_{t+1}|s_t,a_t)}{d_0(s_0)\prod_{t=0}^H\pi_\beta(a_t|s_t)p(s_{t+1}|s_t,a_t)}r(\tau)\right]\\ &=E_{\tau\sim p_{\pi_\beta(\tau)}}\left[\left(\prod_{t=0}^H\frac{\pi_\theta(a_t|s_t)}{\pi_\beta(a_t|s_t)}\right)\sum_{t=0}^H\gamma^tr(s_t,a_t)\right] \end{aligned} J(πθ)=pπθ(τ)r(τ)dτ=pπβ(τ)pπβ(τ)pπθ(τ)r(τ)dτ=Eτpπβ(τ)[pπβ(τ)pπθ(τ)r(τ)]=Eτpπβ(τ)[d0(s0)t=0Hπβ(atst)p(st+1st,at)d0(s0)t=0Hπθ(atst)p(st+1st,at)r(τ)]=Eτpπβ(τ)[(t=0Hπβ(atst)πθ(atst))t=0Hγtr(st,at)]
  2. Off-Policy Objective (Biased)
    J π β ( π θ ) = E s ∼ d π β [ V π θ ( s ) ] = E s ∼ d π β [ E a ∼ π θ ( a ∣ s ) [ Q π θ ( s , a ) ] ] = E s ∼ d π β [ E a ∼ π θ ( a ∣ s ) [ r ( s , a ) + γ E s ′ ∼ d π β [ V π θ ( s ′ ) ] ] ] \begin{aligned} J_{\pi_\beta}(\pi_\theta)&=\mathbb E_{s\sim d^{\pi_\beta}}\left[V^{\pi_\theta}(s)\right]\\ &=\mathbb E_{s\sim d^{\pi_\beta}}\left[\mathbb E_{a\sim \pi_\theta(a|s)}[Q^{\pi_\theta}(s,a)]\right]\\ &=\mathbb E_{s\sim d^{\pi_\beta}}\left[\mathbb E_{a\sim \pi_\theta(a|s)}[r(s,a)+\gamma \mathbb E_{s'\sim d^{\pi_\beta}}[V^{\pi_\theta}(s')]]\right] \end{aligned} Jπβ(πθ)=Esdπβ[Vπθ(s)]=Esdπβ[Eaπθ(as)[Qπθ(s,a)]]=Esdπβ[Eaπθ(as)[r(s,a)+γEsdπβ[Vπθ(s)]]]

两个Objective是不一样的,具体细节的经典论述论文可参考5

  • 状态、动作是离散的话,只需要一个Q table就能从 D \mathcal D D中统计得到 d π β ( s , a ) d^{\pi_\beta}(s,a) dπβ(s,a) d π β ( s ) d^{\pi_\beta}(s) dπβ(s) π β ( a ∣ s ) \pi_\beta(a|s) πβ(as)
  • 状态是连续的,动作是离散的,简单的话,将状态中每一个连续的维度分区间离散化,组成Q table;复杂的话,需要在 D \mathcal D D中对所有状态通过生成模型拟合一个 d ϕ ( s ) d_\phi(s) dϕ(s)即function approximator当作 d π β ( s ) d^{\pi_\beta}(s) dπβ(s),然后在一个可接受的范围内,统计离散动作的出现频率即 π β ( a ∣ s ) \pi_\beta(a|s) πβ(as),通过归一化 D \mathcal D D中所有(s,a)的概率值,得到 d π β ( s , a ) d^{\pi_\beta}(s,a) dπβ(s,a)
  • 状态是离散的,动作是连续的,原理同上
  • 状态是连续的,动作是连续的,直接的话,生成模型拟合得 d ϕ ( s ) d_\phi(s) dϕ(s)当作 d π β ( s ) d^{\pi_\beta}(s) dπβ(s),再用一个判别模型拟合得 π ψ ( a ∣ s ) \pi_\psi(a|s) πψ(as)当作 π β ( a ∣ s ) \pi_\beta(a|s) πβ(as),归一化后得 d π β ( s , a ) d^{\pi_\beta}(s,a) dπβ(s,a);间接的话,直接建模 d π β ( s , a ) d^{\pi_\beta}(s,a) dπβ(s,a),从状态动作对的角度去计算。(直觉上来说,在不是海量数据的条件下,拟合一个模型总比拟合两个模型要准确得多)

为什么这个是潜在的问题?每拟合一个模型,都不可避免要问“数据的数量、质量够吗?模型结构符合吗?优化算法优化好了吗?”,这些问题导致的误差会在Offline RL接下来解决方法中被利用,经过long horizon的积累,boom!而现实场景往往都是long horizon,complex state&action的。

下一篇文章focus在两个Objective上的计算细节主要通过Importance Sampling、Dynamics Programming两类主流方法 + 具体针对distributional shift的约束来实现Offline RL的


  1. Bias in natural actor-critic algorithms ↩︎

  2. John Schulman Doctor Thesis ↩︎

  3. Diagnosing bottlenecks in deep Q-learning algorithms ↩︎

  4. Soft actor-critic: Off-policy maximum entropy deep reinforcement learning with a stochastic actor ↩︎

  5. Off-policy actor-critic ↩︎

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值