离线强化学习-4 DP-based方法

概述

上两篇文章主要探讨了Importance sampling 和 Duality-based这类方法的主要数学原理,并推导出要求梯度的目标。
重要性采样:方差很大
Duality:缓解了方差大的问题,但其目标梯度的更新过程仍需要对值函数进行拟合,但其对于有专家数据而言是一类非常新颖的方法。
下面要介绍Dynamics-Programming based的Offline RL方法,主要针对的对象就是值函数。
在一个Offline Datasets中拟合值函数更多是一个Supervised Learning的学习范式,所以会遇到OOD(Out-of-distribution)的外推问题。
抽象地说关于OOD的方法,都可以在Offline RL setting 上进行尝试。(当然性能影响最大的肯定是数据集,毕竟监督学习90%的时间和精力都要放在数据上)😉
具体地说就是解决distribution shift问题的方法都可以在Offline RL setting上进行尝试。


符号含义
f ( s , a ) f(s,a) f(s,a)组成Q值 Q ( s , a ) Q(s,a) Q(s,a)的线性特征
π β ( a ∣ s ) \pi_\beta(a\mid s) πβ(as)行为策略behavior policy,一般认为是收集离线数据集的策略

一、线性结构的值函数分析

1.1 基础概述

其实这个对于理解而言是非常有用的,对于一个具体的 ( s , a ) (s,a) (s,a),提取一个 d d d维度特征 f ( s , a ) ∈ R d f(s,a)\in \mathbb R^d f(s,a)Rd,将 ∣ S ∣ × ∣ A ∣ \mathcal{|S|\times |A|} S×A ( s , a ) (s,a) (s,a)所对应的特征表示为 F ∈ R ∣ S ∣ × ∣ A ∣ × d \bold F\in \mathbb R^{\mathcal {|S|\times |A|}\times d} FRS×A×d。只是线性结构分析直接假设 f ( s , a ) f(s,a) f(s,a)已知,而不是通过神经网络这个特征提取器学出来。

建模一个具体的Q-值为 Q ϕ ( s , a ) = f ( s , a ) ⊤ ϕ Q_\phi(s,a)=f(s,a)^\top \phi Qϕ(s,a)=f(s,a)ϕ,一个Q-Table为 Q ⃗ ϕ = F ϕ \vec Q_\phi = \boldsymbol{ F\phi} Q ϕ=Fϕ,因此Bellman Operator操作这个Q-Table为 Q ⃗ π = B π Q ⃗ π \vec Q^\pi = \mathcal B^\pi \vec Q^\pi Q π=BπQ π,唯一的未知是参数 ϕ \phi ϕ

重点解释一下 B π Q ( s , a ) = r ( s , a ) + γ E s ′ ∼ T ( ⋅ ∣ s , a ) , a ′ ∼ π ( ⋅ ∣ s ′ ) [ Q ( s ′ , a ′ ) ] = r ( s , a ) + γ P π Q ( s , a ) \mathcal B^\pi Q(s,a)=r(s,a)+\gamma \mathbb E_{s'\sim T(\cdot|s,a),a'\sim \pi(\cdot|s')}[Q(s',a')]=r(s,a)+\gamma P^\pi Q(s,a) BπQ(s,a)=r(s,a)+γEsT(s,a),aπ(s)[Q(s,a)]=r(s,a)+γPπQ(s,a):对于一个具体 ( s , a ) (s,a) (s,a)的Q值,它的Target Q值为 r ( s , a ) + γ E s ′ ∼ T ( ⋅ ∣ s , a ) , a ′ ∼ π ( ⋅ ∣ s ′ ) [ Q ( s ′ , a ′ ) ] r(s,a)+\gamma \mathbb E_{s'\sim T(\cdot|s,a),a'\sim \pi(\cdot|s')}[Q(s',a')] r(s,a)+γEsT(s,a),aπ(s)[Q(s,a)].

所以已知 F \bold F F,线性结构建模Q函数: Q ϕ ( s , a ) = f ( s , a ) ⊤ ϕ Q_\phi(s,a)=f(s,a)^\top\phi Qϕ(s,a)=f(s,a)ϕ,Q-Table的角度看有: Q ⃗ ϕ = F ϕ \vec Q_\phi = \boldsymbol {F\phi} Q ϕ=Fϕ

1.2 Bellman Residual minimization

目的:希望 Q ϕ ( s , a ) → Q π ( s , a ) Q_\phi(s,a)\rightarrow Q^\pi(s,a) Qϕ(s,a)Qπ(s,a),需要满足Bellman Operator的约束:
Q ⃗ π = B π Q ⃗ π = R ⃗ + γ P π F ϕ ⟹ F ϕ ≈ R ⃗ + γ P π F ϕ ⟹ R ⃗ ≈ ( F − γ P π F ) ϕ \begin{aligned} \vec Q^\pi &=\mathcal B^\pi\vec Q^\pi=\vec R+\gamma P^\pi\boldsymbol{ F\phi}\\ &\Longrightarrow \boldsymbol{ F\phi}\approx \vec R+\gamma P^\pi\boldsymbol{ F\phi}\\ &\Longrightarrow \vec R\approx (\boldsymbol{F}-\gamma P^\pi \boldsymbol{F})\boldsymbol \phi \end{aligned} Q π=BπQ π=R +γPπFϕFϕR +γPπFϕR (FγPπF)ϕ

优化问题为(目标的平方形式默认假设选择了 ℓ 2 \ell_2 2距离):

min ⁡ ϕ ( B π Q ⃗ ϕ − Q ⃗ ϕ ) 2 \begin{aligned} \min_\phi (\mathcal B^\pi \vec Q_\phi-\vec Q_\phi)^2 \end{aligned} ϕmin(BπQ ϕQ ϕ)2

直接求解的话,参数 ϕ \phi ϕ ϕ = ( ( F − γ P π F ) ⊤ ( F − γ P π F ) ) − 1 ( F − γ P π F ) R ⃗ \boldsymbol{\phi = }((\boldsymbol{F}-\gamma P^\pi \boldsymbol{F})^\top (\boldsymbol{F}-\gamma P^\pi \boldsymbol{F}))^{-1}(\boldsymbol{F}-\gamma P^\pi \boldsymbol{F}) \vec R ϕ=((FγPπF)(FγPπF))1(FγPπF)R

1.3 Least-squares fixed point approximation

上一小节的Bellman Residual Minimization是直接求解。这里采用fixed point迭代的方式。即:初始化一个Q-Table Q ⃗ 0 = F ϕ 0 \vec Q_0=\boldsymbol {F\phi_0} Q 0=Fϕ0来逼近 Q ⃗ π \vec Q^\pi Q π

Q ⃗ k + 1 ← B π Q ⃗ k \vec Q_{k+1}\leftarrow \mathcal B^\pi\vec Q_k Q k+1BπQ k

k → ∞ k\rightarrow \infty k,有 Q ⃗ k → Q ⃗ π \vec Q_k\rightarrow \vec Q^\pi Q kQ π;(因为有 B π \mathcal B^\pi Bπ在);

展开理解一波:(记住 F \boldsymbol {F} F假设是人为设计好的特征,是已知的)
F ϕ k + 1 ← B π F ϕ k \boldsymbol {F\phi_{k+1}}\leftarrow \mathcal B^\pi\boldsymbol {F\phi_{k}} Fϕk+1BπFϕk

F \boldsymbol{F} F表征了一个特征空间, ϕ k \boldsymbol{\phi_k} ϕk象征着该空间的一个坐标点,然后 B π \mathcal B^\pi Bπ是一个operator,操作特征空间 F \boldsymbol{F} F中的一个点 ϕ k \boldsymbol{\phi_k} ϕk到”同一个“特征空间 F \boldsymbol{F} F中的另一个点 ϕ k + 1 \boldsymbol{\phi_{k+1}} ϕk+1

问题来了:谁说 B π \mathcal B^\pi Bπ这个operator的变换,能确保特征空间 F \boldsymbol{F} F不变?
所以,要维持这个不变性,得学一个特征不变的子空间 Ω \Omega Ω才行即:
F ϕ k + 1 = Ω B π F ϕ k \boldsymbol {F\phi_{k+1}}=\Omega \mathcal B^\pi\boldsymbol {F\phi_{k}} Fϕk+1=ΩBπFϕk

那这个 Ω \Omega Ω长什么样?嗯,套进去 ℓ 2 \ell_2 2距离的目标,最小化求出来:
min ⁡ Ω ( F ϕ k + 1 − Ω B π F ϕ k ) 2 \min_\Omega (\boldsymbol {F\phi_{k+1}}-\Omega \mathcal B^\pi\boldsymbol {F\phi_{k}})^2 Ωmin(Fϕk+1ΩBπFϕk)2

所以 Ω = F ( F ⊤ F ) − 1 F ⊤ \Omega=\boldsymbol{F}(\boldsymbol{F}^\top\boldsymbol{F})^{-1}\boldsymbol{F}^\top Ω=F(FF)1F

因此参数迭代更新的公式为: ϕ k + 1 = ( F ⊤ F ) − 1 F ⊤ ( R ⃗ + γ P π F ϕ k ) \boldsymbol{\phi_{k+1}}=(\boldsymbol{F}^\top\boldsymbol{F})^{-1}\boldsymbol{F}^\top(\vec R+\gamma P^\pi \boldsymbol F\boldsymbol{\phi_k}) ϕk+1=(FF)1F(R +γPπFϕk)

1.4 总结

这能帮助我们理解什么呢?

  1. 策略真实的Q函数 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a),人为设计的特征空间 F \boldsymbol{F} F难以cover到,换句话说,空间没有一个点 ϕ \boldsymbol{\phi} ϕ能表示真实的Q函数值,因为特征空间的supports不足,换句话说特征空间的结构容量小。
  2. 需要拟合真实的Q(s,a)有两要素,一个是supports(见过的(s,a)对,见完全没?)另一个是Q值(对于见过的(s,a),预测的Q值准确吗?)

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

二、Offline RL via Dynamic Programming

Offline主要问题:在一个假设用 π β ( a ∣ s ) \pi_\beta(a|s) πβ(as)收集的静态数据集 D = { ( s , a , r , s ′ ) } i = 1 n \mathcal D=\{(s,a,r,s')\}_{i=1}^n D={(s,a,r,s)}i=1n中,要得到当前策略 π \pi π的Q值 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a),其Target Q值 r ( s , a ) + γ E s ′ ∼ T ( ⋅ ∣ s , a ) , a ′ ∼ π ( ⋅ ∣ s ′ ) [ Q ( s ′ , a ′ ) ] r(s,a)+\gamma \mathbb E_{s'\sim T(\cdot|s,a),a'\sim \pi(\cdot|s')}[Q(s',a')] r(s,a)+γEsT(s,a),aπ(s)[Q(s,a)]在Offline的计算中 a ′ ∼ π ( ⋅ ∣ s ′ ) a'\sim \pi(\cdot|s') aπ(s)这一步明显是有问题的。

评估 D \mathcal D D中的一个样本(s,a)的Q值 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)时,用了当前策略 π ( ⋅ ∣ s ′ ) \pi(\cdot|s') π(s)的期望算Q值,期望就意味着会取到在 D \mathcal D D中没有的动作值 a ′ ′ a'' a,即 Q ( s ′ , a ′ ′ ) Q(s',a'') Q(s,a)的估计会严重偏差!为啥?因为是Offline 的数据集,所以Q值的拟合本应该是跟着数据集 D \mathcal D D进行拟合的,但更新的目标Q值却会出现out-of-distribution action。

2.1 policy constraint methods

基本想法:约束target Q value 即 r ( s , a ) + γ E s ′ ∼ T ( ⋅ ∣ s , a ) , a ′ ∼ π ( ⋅ ∣ s ′ ) [ Q ( s ′ , a ′ ) ] r(s,a)+\gamma \mathbb E_{s'\sim T(\cdot|s,a),a'\sim \pi(\cdot|s')}[Q(s',a')] r(s,a)+γEsT(s,a),aπ(s)[Q(s,a)]中选择 a ′ a' a的方式与behavior distribution π β ( a ′ ∣ s ′ ) \pi_\beta(a'|s') πβ(as)差不多

policy evaluation :  Q ^ k + 1 π ← arg ⁡ min ⁡ Q E ( s , a , s ′ ) ∼ D [ ( Q ( s , a ) − ( r ( s , a ) + γ E a ′ ∼ π k ( a ′ ∣ s ′ ) [ Q ^ k π ( s ′ , a ′ ) ] ) ) 2 ] policy improvement :  π k + 1 ← arg ⁡ max ⁡ π E s ∼ D [ E a ∼ π ( a ∣ s ) [ Q ^ k + 1 π ( s , a ) ] ]  s.t.  D ( π , π β ) ≤ ϵ \begin{array}{l} \text{policy evaluation : }\hat{Q}_{k+1}^{\pi} \leftarrow \arg \min _{Q} \mathbb{E}_{\left(\mathbf{s}, \mathbf{a}, \mathbf{s}^{\prime}\right) \sim \mathcal{D}}\left[\left(Q(\mathbf{s}, \mathbf{a})-\left(r(\mathbf{s}, \mathbf{a})+\gamma \mathbb{E}_{\mathbf{a}^{\prime} \sim \pi_{k}\left(\mathbf{a}^{\prime} \mid \mathbf{s}^{\prime}\right)}\left[\hat{Q}_{k}^{\pi}\left(\mathbf{s}^{\prime}, \mathbf{a}^{\prime}\right)\right]\right)\right)^{2}\right] \\ \text{policy improvement : }\pi_{k+1} \leftarrow \arg \max _{\pi} \mathbb{E}_{\mathbf{s} \sim \mathcal{D}}\left[\mathbb{E}_{\mathbf{a} \sim \pi(\mathbf{a} \mid \mathbf{s})}\left[\hat{Q}_{k+1}^{\pi}(\mathbf{s}, \mathbf{a})\right]\right] \text { s.t. } D\left(\pi, \pi_{\beta}\right) \leq \epsilon \end{array} policy evaluation : Q^k+1πargminQE(s,a,s)D[(Q(s,a)(r(s,a)+γEaπk(as)[Q^kπ(s,a)]))2]policy improvement : πk+1argmaxπEsD[Eaπ(as)[Q^k+1π(s,a)]] s.t. D(π,πβ)ϵ

  • 细化一下:
    1. 实际问题用 D \mathcal D D中的样本进行Policy evaluation学习评估策略 π \pi π的Q值 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)
    1. 用学习到的 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a),针对数据集中的状态 s ∼ d D ( s ) s\sim d^\mathcal D(s) sdD(s)进行Policy Improvement,更新策略
    1. 为了实现基本想法,加了个policy 约束即 D ( π , π β ) ≤ ϵ D\left(\pi, \pi_{\beta}\right) \leq \epsilon D(π,πβ)ϵ
    1. 这个约束涉及到分布的bound,因为要选择合适的probability metric来定义两个action distribution(行为策略&当前策略)之间的“分布距离”
    1. 选择好probability metric后,进而得思考实现这个约束bound的具体方式

首先是可选择的probability metric:

  • f-divergence
    距离定义: D f ( π ( ⋅ ∣ s ) , π β ( ⋅ ∣ s ) ) = E a ∼ π ( ⋅ ∣ s ) [ f ( π ( a ∣ s ) π β ( a ∣ s ) ) ] D_{f}\left(\pi(\cdot \mid \mathbf{s}), \pi_{\beta}(\cdot \mid \mathbf{s})\right)=\mathbb{E}_{\mathbf{a} \sim \pi(\cdot \mid \mathbf{s})}\left[f\left(\frac{\pi(\mathbf{a} \mid \mathbf{s})}{\pi_{\beta}(\mathbf{a} \mid \mathbf{s})}\right)\right] Df(π(s),πβ(s))=Eaπ(s)[f(πβ(as)π(as))]距离该目标的对偶形式(变分形式): D f ( π ( ⋅ ∣ s ) , π β ( ⋅ ∣ s ) ) = max ⁡ x : S × A → R E a ∼ π ( ⋅ ∣ s ) [ x ( s , a ) ] − E a ′ ∼ π β ( ⋅ ∣ s ) [ f ∗ ( x ( s , a ′ ) ) ] D_{f}\left(\pi(\cdot \mid \mathbf{s}), \pi_{\beta}(\cdot \mid \mathbf{s})\right)=\max _{x: S \times A \rightarrow \mathbb{R}} \mathbb{E}_{\mathbf{a} \sim \pi(\cdot \mid \mathbf{s})}[x(\mathbf{s}, \mathbf{a})]-\mathbb{E}_{\mathbf{a}^{\prime} \sim \pi_{\beta}(\cdot \mid \mathbf{s})}\left[f^{*}\left(x\left(\mathbf{s}, \mathbf{a}^{\prime}\right)\right)\right] Df(π(s),πβ(s))=x:S×ARmaxEaπ(s)[x(s,a)]Eaπβ(s)[f(x(s,a))]
  • Integral probability metric(IPM)
    IPM距离的对偶形式:
    D Φ ( π ( ⋅ ∣ s ) , π β ( ⋅ ∣ s ) ) = sup ⁡ ϕ ∈ Φ , ϕ : S × A → R ∣ E a ∼ π ( ⋅ ∣ s ) [ ϕ ( s , a ) ] − E a ′ ∼ π β ( ⋅ ∣ s ) [ ϕ ( s , a ′ ) ] ∣ D_{\Phi}\left(\pi(\cdot \mid \mathbf{s}), \pi_{\beta}(\cdot \mid \mathbf{s})\right)=\sup _{\phi \in \Phi, \phi: S \times A \rightarrow \mathbb{R}}\left|\mathbb{E}_{\mathbf{a} \sim \pi(\cdot \mid \mathbf{s})}[\phi(\mathbf{s}, \mathbf{a})]-\mathbb{E}_{\mathbf{a}^{\prime} \sim \pi_{\beta}(\cdot \mid \mathbf{s})}\left[\phi\left(\mathbf{s}, \mathbf{a}^{\prime}\right)\right]\right| DΦ(π(s),πβ(s))=ϕΦ,ϕ:S×ARsupEaπ(s)[ϕ(s,a)]Eaπβ(s)[ϕ(s,a)]

Φ \Phi Φ为Hilbert norm定义的RKHS函数空间时,IPM变为maximum mean discrepancy(MMD)距离,其中 k k k为kernel:
MMD ⁡ 2 ( π ( ⋅ ∣ s ) , π β ( ⋅ ∣ s ) ) = E a ∼ π ( ⋅ ∣ s ) , a ′ ∼ π ( ⋅ ∣ s ) [ k ( a , a ′ ) ] − 2 E a ∼ π ( ⋅ ∣ s ) , a ′ ∼ π β ( ⋅ ∣ s ) [ k ( a , a ′ ) ] + E a ∼ π β ( ⋅ ∣ s ) , a ′ ∼ π β ( ⋅ ∣ s ) [ k ( a , a ′ ) ] \begin{aligned} \operatorname{MMD}^{2}\left(\pi(\cdot \mid \mathbf{s}), \pi_{\beta}(\cdot \mid \mathbf{s})\right)=& \mathbb{E}_{\mathbf{a} \sim \pi(\cdot \mid \mathbf{s}), \mathbf{a}^{\prime} \sim \pi(\cdot \mid \mathbf{s})}\left[k\left(\mathbf{a}, \mathbf{a}^{\prime}\right)\right]- 2 \mathbb{E}_{\mathbf{a} \sim \pi(\cdot \mid \mathbf{s}), \mathbf{a}^{\prime} \sim \pi_{\beta}(\cdot \mid \mathbf{s})}\left[k\left(\mathbf{a}, \mathbf{a}^{\prime}\right)\right]+\mathbb{E}_{\mathbf{a} \sim \pi_{\beta}(\cdot \mid \mathbf{s}), \mathbf{a}^{\prime} \sim \pi_{\beta}(\cdot \mid \mathbf{s})}\left[k\left(\mathbf{a}, \mathbf{a}^{\prime}\right)\right] \end{aligned} MMD2(π(s),πβ(s))=Eaπ(s),aπ(s)[k(a,a)]2Eaπ(s),aπβ(s)[k(a,a)]+Eaπβ(s),aπβ(s)[k(a,a)]

Φ \Phi Φ为一个单位的Lipschitz常数定义的函数空间时,IPM变为Earth-mover distance(Wasserstein distance)距离,其对偶形式为:
W 1 ( π ( ⋅ ∣ s ) , π β ( ⋅ ∣ s ) ) = sup ⁡ f , ∥ f ∥ L ≤ 1 ∣ E a ∼ π ( ⋅ ∣ s ) [ f ( a ) ] − E a ∼ π β ( ⋅ ∣ s [ f ( a ) ] ∣ W_{1}\left(\pi(\cdot \mid \mathbf{s}), \pi_{\beta}(\cdot \mid \mathbf{s})\right)=\sup _{f,\|f\|_{L} \leq 1}\left|\mathbb{E}_{\mathbf{a} \sim \pi(\cdot \mid \mathbf{s})}[f(\mathbf{a})]-\mathbb{E}_{\mathbf{a} \sim \pi_{\beta}(\cdot \mid \mathbf{s}}[f(\mathbf{a})]\right| W1(π(s),πβ(s))=f,fL1supEaπ(s)[f(a)]Eaπβ(s[f(a)]

  • Asymmetrically-Relaxed Distribution Alignment1
    基于对抗训练方式得到的分布距离度量子,感兴趣进一步可参阅具体文献

选择完probability metric后,要确定该distribution measure和约束 D ( π , π β ) ≤ ϵ D\left(\pi, \pi_{\beta}\right) \leq \epsilon D(π,πβ)ϵ的具体实现方式

2.1.1 直接实现方式——Policy penalty

把约束 D ( π , π β ) ≤ ϵ D\left(\pi, \pi_{\beta}\right) \leq \epsilon D(π,πβ)ϵ当作惩罚项加在Policy Improvement和Evaluation上:
Q ^ k + 1 π ← arg ⁡ min ⁡ Q E ( s , a , s ′ ) ∼ D [ ( Q ( s , a ) − ( r ( s , a ) + γ E a ′ ∼ π k ( a ′ ∣ s ′ ) [ Q ^ k π ( s ′ , a ′ ) ] − α γ D ( π k ( ⋅ ∣ s ′ ) , π β ( ⋅ ∣ s ′ ) ) ) ) 2 ] π k + 1 ← arg ⁡ max ⁡ π E s ∼ D [ E a ∼ π ( a ∣ s ) [ Q ^ k + 1 π ( s , a ) ] − α D ( π ( ⋅ ∣ s ) , π β ( ⋅ ∣ s ) ) ] \begin{aligned} \hat{Q}_{k+1}^{\pi} & \leftarrow \arg \min _{Q} \mathbb{E}_{\left(\mathbf{s}, \mathbf{a}, \mathbf{s}^{\prime}\right) \sim \mathcal{D}}\left[\left(Q(\mathbf{s}, \mathbf{a})-\left(r(\mathbf{s}, \mathbf{a})+\gamma \mathbb{E}_{\mathbf{a}^{\prime} \sim \pi_{k}\left(\mathbf{a}^{\prime} \mid \mathbf{s}^{\prime}\right)}\left[\hat{Q}_{k}^{\pi}\left(\mathbf{s}^{\prime}, \mathbf{a}^{\prime}\right)\right]-\alpha \gamma D\left(\pi_{k}\left(\cdot \mid \mathbf{s}^{\prime}\right), \pi_{\beta}\left(\cdot \mid \mathbf{s}^{\prime}\right)\right)\right)\right)^{2}\right] \\ \pi_{k+1} & \leftarrow \arg \max _{\pi} \mathbb{E}_{\mathbf{s} \sim \mathcal{D}}\left[\mathbb{E}_{\mathbf{a} \sim \pi(\mathbf{a} \mid \mathbf{s})}\left[\hat{Q}_{k+1}^{\pi}(\mathbf{s}, \mathbf{a})\right]-\alpha D\left(\pi(\cdot \mid \mathbf{s}), \pi_{\beta}(\cdot \mid \mathbf{s})\right)\right] \end{aligned} Q^k+1ππk+1argQminE(s,a,s)D[(Q(s,a)(r(s,a)+γEaπk(as)[Q^kπ(s,a)]αγD(πk(s),πβ(s))))2]argπmaxEsD[Eaπ(as)[Q^k+1π(s,a)]αD(π(s),πβ(s))]

假如选择f散度当距离度量 D D D,计算该度量要用变分形式,需要用额外的网络来拟合信号 x ( s , a ) x(s,a) x(s,a) D f ( π ( ⋅ ∣ s ) , π β ( ⋅ ∣ s ) ) = max ⁡ x : S × A → R E a ∼ π ( ⋅ ∣ s ) [ x ( s , a ) ] − E a ′ ∼ π β ( ⋅ ∣ s ) [ f ∗ ( x ( s , a ′ ) ) ] D_{f}\left(\pi(\cdot \mid \mathbf{s}), \pi_{\beta}(\cdot \mid \mathbf{s})\right)=\max _{x: S \times A \rightarrow \mathbb{R}} \mathbb{E}_{\mathbf{a} \sim \pi(\cdot \mid \mathbf{s})}[x(\mathbf{s}, \mathbf{a})]-\mathbb{E}_{\mathbf{a}^{\prime} \sim \pi_{\beta}(\cdot \mid \mathbf{s})}\left[f^{*}\left(x\left(\mathbf{s}, \mathbf{a}^{\prime}\right)\right)\right] Df(π(s),πβ(s))=x:S×ARmaxEaπ(s)[x(s,a)]Eaπβ(s)[f(x(s,a))]

更为直接地实现可以把这个约束加到reward函数中:

r ˉ ( s , a ) = r ( s , a ) − α f ( π ( a ∣ s ) π β ( a ∣ s ) ) \bar r(s,a)=r(s,a)-\alpha f\left(\frac{\pi(a|s)}{\pi_\beta(a|s)}\right) rˉ(s,a)=r(s,a)αf(πβ(as)π(as))

2.1.2 间接实现的方式——Policy Update Structure

把约束 D ( π , π β ) ≤ ϵ D\left(\pi, \pi_{\beta}\right) \leq \epsilon D(π,πβ)ϵ在Policy Improvement中以某种流程实现策略在该约束内实现更新:
Q ^ k π ← arg ⁡ min ⁡ Q E ( s , a , s ′ ) ∼ D [ ( Q ( s , a ) − ( r ( s , a ) + γ E a ′ ∼ π k − 1 ( a ′ ∣ s ′ ) [ Q ^ k − 1 π ( s ′ , a ′ ) ] ) ) 2 ] π ˉ k + 1 ( a ∣ s ) ← 1 Z π β ( a ∣ s ) exp ⁡ ( 1 α Q ^ k π ( s , a ) ) π k + 1 ← arg min ⁡ π D K L ( π ˉ k + 1 , π ) \begin{aligned} &\hat{Q}_{k}^{\pi} \leftarrow \arg \min _{Q} \mathbb{E}_{\left(\mathbf{s}, \mathbf{a}, \mathbf{s}^{\prime}\right) \sim \mathcal{D}}\left[\left(Q(\mathbf{s}, \mathbf{a})-\left(r(\mathbf{s}, \mathbf{a})+\gamma \mathbb{E}_{\mathbf{a}^{\prime} \sim \pi_{k-1}\left(\mathbf{a}^{\prime} \mid \mathbf{s}^{\prime}\right)}\left[\hat{Q}_{k-1}^{\pi}\left(\mathbf{s}^{\prime}, \mathbf{a}^{\prime}\right)\right]\right)\right)^{2}\right]\\ &\bar{\pi}_{k+1}(\mathbf{a} \mid \mathbf{s}) \leftarrow \frac{1}{Z} \pi_{\beta}(\mathbf{a} \mid \mathbf{s}) \exp \left(\frac{1}{\alpha} \hat Q_{k}^{\pi}(\mathbf{s}, \mathbf{a})\right) \\ &\pi_{k+1} \leftarrow \argmin_\pi D_{\mathrm{KL}}\left(\bar{\pi}_{k+1}, \pi\right) \end{aligned} Q^kπargQminE(s,a,s)D[(Q(s,a)(r(s,a)+γEaπk1(as)[Q^k1π(s,a)]))2]πˉk+1(as)Z1πβ(as)exp(α1Q^kπ(s,a))πk+1πargminDKL(πˉk+1,π)

大致理解一下原理:

  1. D \mathcal D D中学习一个Q函数 Q ^ k π ( s , a ) \hat Q_{k}^{\pi}(\mathbf{s}, \mathbf{a}) Q^kπ(s,a)
  2. π β ( a ∣ s ) \pi_\beta(\mathbf{a|s}) πβ(as)中采样一些in-distribution的动作,衡量该动作的Q值当作权重 Q ^ k π ( s , a ) \hat Q_{k}^{\pi}(\mathbf{s}, \mathbf{a}) Q^kπ(s,a)
  3. 对第2步的采样值进行normalize即 1 Z \frac{1}{Z} Z1,形成一个介于 π \pi π π β \pi_\beta πβ之间的策略 π ˉ k + 1 \bar{\pi}_{k+1} πˉk+1
  4. 在KL 距离下寻找与 π ˉ k + 1 \bar{\pi}_{k+1} πˉk+1最近的策略

具体的算法有如AWR2,ABM3,AWAC4


2.1.3 新颖的实现方式——Constrain Supports

当我们选择probability metric当作约束的时候,即  s.t.  D ( π , π β ) ≤ ϵ \text { s.t. } D\left(\pi, \pi_{\beta}\right) \leq \epsilon  s.t. D(π,πβ)ϵ,约束分布的要素是probability density,选择f-divergence变分形式的话如下: D f ( π ( ⋅ ∣ s ) , π β ( ⋅ ∣ s ) ) = max ⁡ x : S × A → R E a ∼ π ( ⋅ ∣ s ) [ x ( s , a ) ] − E a ′ ∼ π β ( ⋅ ∣ s ) [ f ∗ ( x ( s , a ′ ) ) ] D_{f}\left(\pi(\cdot \mid \mathbf{s}), \pi_{\beta}(\cdot \mid \mathbf{s})\right)=\max _{x: S \times A \rightarrow \mathbb{R}} \mathbb{E}_{\mathbf{a} \sim \pi(\cdot \mid \mathbf{s})}[x(\mathbf{s}, \mathbf{a})]-\mathbb{E}_{\mathbf{a}^{\prime} \sim \pi_{\beta}(\cdot \mid \mathbf{s})}\left[f^{*}\left(x\left(\mathbf{s}, \mathbf{a}^{\prime}\right)\right)\right] Df(π(s),πβ(s))=x:S×ARmaxEaπ(s)[x(s,a)]Eaπβ(s)[f(x(s,a))]

计算分布的对象 π ( ⋅ ∣ s ) \pi(\cdot|s) π(s)在离散分布中是一个概率值,在连续分布中是概率密度,所以约束的是分布的概率要素
因此,转换一下角度,约束分布的supports行不行?(supports可以理解为 ( s , a ) ∼ D (s,a)\sim \mathcal D (s,a)D,即数据集中 ( s , a ) (s,a) (s,a)的覆盖度,因为不可能遇到 ∣ S ∣ × ∣ A ∣ \mathcal{|S|\times |A|} S×A空间中所有 ( s , a ) (s,a) (s,a)的值,是集合的概念——支撑集)

有什么用呢?Kumar大神在2019年BAIR博客中举了一个简单的例子:

1

  • (a):真实世界,初始状态在 S S S,目标状态在 G G G,动作两个维度向左向右。在 S S S左半的状态,两个动作的执行奖励均为0; S S S右半的状态,向左动作奖励为-1,向右动作奖励为1,设计这样的奖励,希望策略学会从 S → G S\rightarrow G SG
  • (b):行为策略Behavior Policy收集的离线数据集 D \mathcal D D反映出来的情况是,S左半的状态动作必往左;S右半的状态动作0.9概率往左,0.1概率往右;
  • (c ):从(b)的离线数据集,约束的实现基于probability density实现的话(即distribution matching),大概率会学到“向左”这个动作,这样就到达不了
  • (d): 从(b)的离线数据集,约束的实现基于probability support实现的话(即distribution support),那么策略就有可能到达 G G G

这例子的关键是在说,如果约束的对象是分布 π ( ⋅ ∣ s ) \pi(\cdot|s) π(s)的概率值,那如果Offline Datasets达到high reward region的概率低,基于这种约束,learned policy达到高奖励区域的概率也低。但如果约束的是Offline Datasets见过的“high reward region”即supports,基于这种约束,learned policy的概率倾向高奖励区域的概率就增高了!

那怎么实现support mathcing呢?(以离散动作举一例:

D s u p p o r t , ϵ ( π ( ⋅ ∣ s ) , π β ( ⋅ ∣ s ) ) = ∑ a ∈ A , a ′ ∼ π β ( a ∣ s ) ≤ ϵ π ( a ′ ∣ s ) D_{support,\epsilon}\left(\pi(\cdot|s),\pi_\beta(\cdot|s)\right)=\sum_{a\in A,a'\sim\pi_\beta(a|s)\leq \epsilon}\pi(a'|s) Dsupport,ϵ(π(s),πβ(s))=aA,aπβ(as)ϵπ(as)

把behavior policy即 π β ( a ∣ s ) \pi_\beta(a|s) πβ(as)中很少出现的动作 a ′ ≤ ϵ a'\leq \epsilon aϵ拿出来,将当前策略 π \pi π中的这个动作 a ′ a' a的概率值(probability density)加在一起作为惩罚。基本思想:通过对当前策略惩罚那些在 D \mathcal D D中出现很少的动作,达到以support方式约束策略 π ( ⋅ ∣ s ) \pi(\cdot|s) π(s)的目的。

2.1.4 总结:策略约束的实现方式

问题描述:计算目标Q值时 r ( s , a ) + γ E s ′ ∼ T ( ⋅ ∣ s , a ) , a ′ ∼ π ( ⋅ ∣ s ′ ) [ Q ( s ′ , a ′ ) ] r(s,a)+\gamma \mathbb E_{s'\sim T(\cdot|s,a),a'\sim \pi(\cdot|s')}[Q(s',a')] r(s,a)+γEsT(s,a),aπ(s)[Q(s,a)]中的 a ′ ∼ π ( ⋅ ∣ s ′ ) a'\sim \pi(\cdot|s') aπ(s)有可能会遇到离线数据集中 D \mathcal D D没怎么出现过的动作如 a ′ ′ a'' a,这样计算 Q ( s ′ , a ′ ′ ) Q(s',a'') Q(s,a)时会出现严重偏差。

因此解决问题的第一个角度是要对策略 π ( ⋅ ∣ s ) \pi(\cdot|s) π(s)进行约束:

  1. 分布要素宏观上有probability density / supports两种,这两种分布约束的构建怎么针对问题进行选择?
  2. 分布约束构建确定好了,分布的距离度量有f-divergence 、IPM、Asymmetrically-Relaxed Distribution Alignment等多个选择,不同分布度量有不同的效果,怎么针对问题进行选择?
  3. 不同分布度量的数值计算方法有不同的误差,比如变分形式逼近或用某种算法迭代计算或样本量直接估计分布距离等,这些距离的近似误差又会造成什么影响?
  4. 分布约束的构建、度量、数值计算都确定好了,怎么将它在嵌入模型对象中去?可选择的对象有:actor/ Q-value/ reward/ MDP中的dynamics。比如策略约束直接加到reward中,或者Q-value的目标中,或者内嵌到actor update的流程中,或者MDP的dynamics中等。

那策略约束就真这么好吗?其实它有一个最为致命的问题,从而催生出下一种方法。

致命缺陷:这些方法的计算都建立在 π β ( a ∣ s ) \pi_\beta(a|s) πβ(as)已知,那这玩意怎么得到?从 D \mathcal D D中behavior cloning出来的,于是它的准确性就决定了构建在它上面的policy constraint方法性能的上限。

2.2 Uncertainty-based methods

Offline主要问题描述:计算目标Q值时 r ( s , a ) + γ E s ′ ∼ T ( ⋅ ∣ s , a ) , a ′ ∼ π ( ⋅ ∣ s ′ ) [ Q ( s ′ , a ′ ) ] r(s,a)+\gamma \mathbb E_{s'\sim T(\cdot|s,a),a'\sim \pi(\cdot|s')}[Q(s',a')] r(s,a)+γEsT(s,a),aπ(s)[Q(s,a)]中的 a ′ ∼ π ( ⋅ ∣ s ′ ) a'\sim \pi(\cdot|s') aπ(s)有可能会遇到离线数据集中 D \mathcal D D没怎么出现过的动作如 a ′ ′ a'' a,这样计算 Q ( s ′ , a ′ ′ ) Q(s',a'') Q(s,a)时会出现严重偏差。

因此解决问题的第二个角度是对不在 D \mathcal D D中的动作 a ′ ′ a'' a,计算 Q ( s ′ , a ′ ′ ) Q(s',a'') Q(s,a)的不确定性,根据不确定性对计算目标Q值的严重偏差进行修正,总体描述下:

  1. 什么是 Q ( s ′ , a ′ ′ ) Q(s',a'') Q(s,a)的不确定性?如何表示不确定性?
  2. 不确定性,意味着对象是分布,因此 Q ( s ′ , a ′ ′ ) Q(s',a'') Q(s,a)的不确定性,意味着需要维持一个Q函数的分布!
  3. 某策略分布 π \pi π的Q函数分布是维持在离线数据集 D \mathcal D D上的,记为 P D ( Q π ) \mathcal {P_D}(Q^\pi) PD(Qπ)
  4. 怎么表示 P D ( Q π ) \mathcal {P_D}(Q^\pi) PD(Qπ)?先简单点,对于一个对 ( s ′ , a ′ ′ ) (s',a'') (s,a)维持一定数量的Q网络比如 Q 1 ( s ′ , a ′ ′ ) , Q 2 ( s ′ , a ′ ′ ) , . . . , Q n ( s ′ , a ′ ′ ) Q_1(s',a''),Q_2(s',a''),...,Q_n(s',a'') Q1(s,a),Q2(s,a),...,Qn(s,a),每个Q值的概率相同,这样不就形成Q函数的分布了嘛 P D ( Q π ) \mathcal {P_D}(Q^\pi) PD(Qπ)

总体描述流程为:

policy evaluation :  P D ( Q k + 1 π ) ← arg ⁡ min ⁡ P D ( Q π ) E ( s , a , s ′ ) ∼ D [ ( P D ( Q k π ) − ( r ( s , a ) + γ E a ′ ∼ π k ( a ′ ∣ s ′ ) [ E P D ( Q k π ) [ Q ^ k π ( s ′ , a ′ ) ] ] ) ) 2 ] policy improvement :  π k + 1 ← arg ⁡ max ⁡ π E s ∼ D [ E a ∼ π ( a ∣ s ) [ E Q ^ k + 1 π ( s , a ) ∼ P D ( Q k + 1 π ) [ Q k + 1 π ( s , a ) ] − α Unc ( P D ( Q k + 1 π ) ) ] ] \begin{array}{l} \text{policy evaluation : }\mathcal {P_D}(Q^\pi_{k+1}) \leftarrow \arg \min _{\mathcal {P_D}(Q^\pi)} \mathbb{E}_{\left(\mathbf{s}, \mathbf{a}, \mathbf{s}^{\prime}\right) \sim \mathcal{D}}\left[\left(\mathcal {P_D}(Q^\pi_{k})-\left(r(\mathbf{s}, \mathbf{a})+\gamma \mathbb{E}_{\mathbf{a}^{\prime} \sim \pi_{k}\left(\mathbf{a}^{\prime} \mid \mathbf{s}^{\prime}\right)}\left[\mathbb E_{\mathcal {P_D}(Q^\pi_{k})}[\hat{Q}_{k}^{\pi}\left(\mathbf{s}^{\prime}, \mathbf{a}^{\prime}\right)]\right]\right)\right)^{2}\right] \\ \text{policy improvement : }\pi_{k+1} \leftarrow \arg \max _{\pi} \mathbb{E}_{\mathbf{s} \sim \mathcal{D}}\left[\mathbb{E}_{\mathbf{a} \sim \pi(\mathbf{a} \mid \mathbf{s})}\left[\mathbb E_{\hat{Q}_{k+1}^{\pi}(\mathbf{s}, \mathbf{a})\sim \mathcal {P_D}(Q^\pi_{k+1})}[Q^\pi_{k+1}\mathbf{(s,a)}]-\alpha \text{Unc}(\mathcal {P_D}(Q^\pi_{k+1}))\right]\right] \end{array} policy evaluation : PD(Qk+1π)argminPD(Qπ)E(s,a,s)D[(PD(Qkπ)(r(s,a)+γEaπk(as)[EPD(Qkπ)[Q^kπ(s,a)]]))2]policy improvement : πk+1argmaxπEsD[Eaπ(as)[EQ^k+1π(s,a)PD(Qk+1π)[Qk+1π(s,a)]αUnc(PD(Qk+1π))]]

在Policy improvement中,对不确定性高的Q值进行保守估计。

那需要研究什么呢?

  1. Q函数的分布怎么表示?(分布的结构如线性、高斯、凸性等)
  2. 分布的不确定性 P D ( Q π ) \mathcal {P_D}(Q^\pi) PD(Qπ)的计算方式?(利用分布的统计量以某种计算方式得出uncertainty,简单点的就直接方差当作不确定性啥的)
  3. 怎么更新、维护这个Q函数的分布?(更新统计量的方式)

这个能work的关键点:基于不确定性方法的前提是不确定性的估计 P D ( Q π ) \mathcal {P_D}(Q^\pi) PD(Qπ)得比较正确才行呀!

2.2.1 Conservative Q Learning5

参数化一个Q函数 ϕ \phi ϕ,进行policy evaluation这一步:

它原来的目标描述为:

Policy Optimization = E ( s , a , s ′ ) ∼ D [ ( Q ϕ ( s , a ) − ( r ( s , a ) + γ E a ′ ∼ π k ( a ′ ∣ s ′ ) [ Q ^ ϕ π ( s ′ , a ′ ) ] ) ) 2 ] = E ( s , a , s ′ ) ∼ D [ ( Q ϕ ( s , a ) − B π Q ϕ ( s , a ) ) 2 ] = E ( B , ϕ ) \begin{aligned} \text{Policy Optimization}&=\mathbb{E}_{\left(\mathbf{s}, \mathbf{a}, \mathbf{s}^{\prime}\right) \sim \mathcal{D}}\left[\left(Q_\phi(\mathbf{s}, \mathbf{a})-\left(r(\mathbf{s}, \mathbf{a})+\gamma \mathbb{E}_{\mathbf{a}^{\prime} \sim \pi_{k}\left(\mathbf{a}^{\prime} \mid \mathbf{s}^{\prime}\right)}\left[\hat{Q}_\phi^{\pi}\left(\mathbf{s}^{\prime}, \mathbf{a}^{\prime}\right)\right]\right)\right)^{2}\right]\\ &=\mathbb{E}_{\left(\mathbf{s}, \mathbf{a}, \mathbf{s}^{\prime}\right) \sim \mathcal{D}}\left[\Big(Q_\phi(s,a)-\mathcal B^\pi Q_\phi(s,a)\Big)^2\right]\\ &=\mathcal{E(B,\phi)} \end{aligned} Policy Optimization=E(s,a,s)D[(Qϕ(s,a)(r(s,a)+γEaπk(as)[Q^ϕπ(s,a)]))2]=E(s,a,s)D[(Qϕ(s,a)BπQϕ(s,a))2]=E(B,ϕ)

然后对该目标加一些基于不确定性的惩罚:

Policy Optimization = min ⁡ ϕ E ( B , ϕ ) + α C ( B , ϕ ) \begin{aligned} \text{Policy Optimization}=\min_\phi\mathcal{E(B,\phi)}+\alpha \mathcal{C(B,\phi)} \end{aligned} Policy Optimization=ϕminE(B,ϕ)+αC(B,ϕ)

怎么选择这个 α C ( B , ϕ ) \alpha \mathcal{C(B,\phi)} αC(B,ϕ),就衍生了不少算法,重点介绍一下CQL:

C 0 ( B , ϕ ) = E s ∼ D , a ∼ μ ( ⋅ ∣ s ) [ Q ϕ ( s , a ) ] \mathcal C_0(B,\phi)=\mathbb E_{s\sim \mathcal D,a\sim \mu (\cdot|s)}[Q_\phi(s,a)] C0(B,ϕ)=EsD,aμ(s)[Qϕ(s,a)] μ = arg max ⁡ μ E s ∼ D [ E a ∼ μ ( ⋅ ∣ s ) [ Q ϕ ( s , a ) ] + H ( μ ( ⋅ ∣ s ) ) ] \mu=\argmax_\mu \mathbb E_{s\sim \mathcal D}\left[\mathbb E_{a\sim \mu(\cdot|s)}[Q_\phi(s,a)]+\mathcal H(\mu (\cdot|s))\right] μ=μargmaxEsD[Eaμ(s)[Qϕ(s,a)]+H(μ(s))]

重点理解:策略 μ \mu μ是尽可能选择“会遇到Q值大”的策略,意味着 μ \mu μ更偏向于选择”过高估计Q值的动作“,换句话说,这些“过高估计Q值的动作”相对于 D \mathcal D D来说更可能是out-of-distribution的。因此 min ⁡ ϕ E ( B , ϕ ) \min_\phi \mathcal {E(B,\phi)} minϕE(B,ϕ)拟合Q函数的同时,对out-of-distribution的action也做了考量 min ⁡ ϕ C 0 ( B , ϕ ) \min_\phi \mathcal {C_0(B,\phi)} minϕC0(B,ϕ),让那些分布外的Q值低一点!

或者更直接一点: 让 D \mathcal D D分布外的Q值与 D \mathcal D D分布内的Q值之间的差值变小,惩罚改为:

C C Q L 1 ( B , ϕ ) = E s ∼ B , a ∼ μ ( a ∣ s ) [ Q ϕ ( s , a ) ] − E ( s , a ) ∼ B [ Q ϕ ( s , a ) ] \mathcal{C}_{\mathrm{CQL}_{1}}(B, \phi)=\mathbb{E}_{\mathbf{s} \sim B, \mathbf{a} \sim \mu(\mathbf{a} \mid \mathbf{s})}\left[Q_{\phi}(\mathbf{s}, \mathbf{a})\right]-\mathbb{E}_{(\mathbf{s}, \mathbf{a}) \sim B}\left[Q_{\phi}(\mathbf{s}, \mathbf{a})\right] CCQL1(B,ϕ)=EsB,aμ(as)[Qϕ(s,a)]E(s,a)B[Qϕ(s,a)]

DP总结

DP-based方法主要目的是学习一个Q函数。
但Q函数的学习,如果是与环境交互的话,那误差是可以被纠正的;但如果是离线的数据集,就会出现误差,且误差不断被利用,严重影响性能。

  • Policy Constraint的方法缺点是需要一个比较准确的 π β ( a ∣ s ) \pi_\beta(a|s) πβ(as)的估计;因此,未来展望是希望能通过 π β ( a ∣ s ) \pi_\beta(a|s) πβ(as)中的样本与“分布 π ( ⋅ ∣ s ) \pi(\cdot|s) π(s)”或”分布的采样样本“之间的度量,就能近似估计分布距离。
  • Uncertainty-based好一点,只需要关注针对Q函数分布怎样获取“更准确”uncertainty的问题,意味着未来能提出更多新算法,更多坑。
  • 两种方法的构建过程中,仍需要大量的探索,可选分布的结构、可选分布的度量、可选分布的构建方式等等,都影响着性能,需要有一定的理论指导。

  1. Asymmetrically-Relaxed Distribution Alignment ↩︎

  2. Advantage-Weighted Regression: Simple And Scalable Off-Policy Reinforcement Learning ↩︎

  3. Keep Doing What Worked:Behavior Modelling Priors For Offline Rein- Forcement Learning ↩︎

  4. Accelerating Online Reinforcement Learning with Offline Datasets ↩︎

  5. Conservative Q-Learning for Offline Reinforcement Learning ↩︎

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值