无奖励强化学习FB算法

原论文demo - metamotivo, GitHub - metamotivo

思路

这种无奖励强化学习本质上是通过采用的方式,将奖励 r(s)r(s) 通过 B(s)B(s) 映射到低维空间 Rd\mathbb{R}^d 中,得到低维空间表示 zRdz\in\mathbb{R}^d,再通过 π\pi 将低维空间中映射到策略空间 Π\Pi 中。但训练还差对价值函数 Qπ(s,a)Q^{\pi}(s,a) 估计,因此还需引入 F(s,aπ)RdF(s,a|\pi)\in\mathbb{R}^d 将策略重新映射回低维空间,通过内积得到价值函数估计 Qπ(s,a)=F(s,aπ),B(s)=F(s,aπ)TB(s)Q^{\pi}(s,a) = \lang F(s,a|\pi), B(s)\rang = F(s,a|\pi)^TB(s),流程图如下所示:

这里将低维空间 zz 限制在半径为 d\sqrt{d} 的球面上,便于表示,也便于作为神经网络的输入

FB理论推导

前置芝士

首先进行符号定义,设 S,AS,A 分别为状态空间和动作空间,正整数 dZ+d\in \mathbb{Z}^+ 为低维空间维数,Prt(ss,a,π)\text{Pr}_{t}(s'|s,a,\pi),表示从 s,as,a 状态 ss 执行动作 aa 出发通过策略 π\pi 在第 tt 步到达 ss' 的概率;类似地,E[rts,a,π]\mathbb{E}[r_t|s,a,\pi] 表示从状态 ss 执行动作 aa 出发通过策略 π\pi 在第 tt 步获得奖励 r(st)r(s_t) 的期望

上述思路可以用完整的理论进行描述,定义

  1. Forward Function: F(s,a,z):S×A×RdRdF(s,a,z): S\times A\times \mathbb{R}^d\to \mathbb{R}^d. 在上述思路中,FF 将策略 Π\Pi 映射回 Rd\mathbb{R}^d 中,但由于 π\pi 难以表述,且存在 Π\PiRd\mathbb{R}^d 的映射关系 π\pi,因此可以通过 zz 来描述 Π\Pi 中的元素
  2. Backward Function: B(s):SRdB(s): S\to \mathbb{R}^d
  3. Policy Function: π(s,z):S×RdA\pi(s,z): S\times \mathbb{R}^d\to A

那么 F,B,πF,B,\pi 应该如何优化,他们应该满足什么关系?是否应该从Bellman方程寻找?我们与价值函数相关的Bellman方程,都带有奖励无法推导,但是后继度量(Successor measures)与奖励无关。

定义1(后继度量)

XS,sS,aA,πΠ\forall X\subset S, s\in S, a\in A, \pi\in \Pi,后继度量 Mπ:S×S×ARM^{\pi}: S\times S\times A\to \mathbb{R}

Mπ(Xs,a):=t=0γtPrt+1(sXs,a,π)M^{\pi}(X|s,a):=\sum_{t=0}^{\infty}\gamma^t\text{Pr}_{t+1}(s'\in X|s,a,\pi)

其中 γR\gamma\in\mathbb{R} 为折扣系数

后继度量可以表示在策略 π\pi 下,从状态动作 s,as,a 出发,到达 XX 中状态的累计折后概率大小
P.S. 在PPO算法中,也用到了后继度量,即Blog - PPO 推论1 策略回报参数形式中的 ρπ~(S)\rho_{\tilde{\pi}}(S)

不难发现,后继度量的Bellman方程为

Mπ(Xs,a)=P(Xs,a)+γEsp(s,a)aπ(s)[Mπ(Xs,a)](1)\tag{1}M^{\pi}(X|s,a) = P(X|s,a) + \gamma\mathbb{E}_{\substack{s'\sim p(\cdot|s,a)\\a'\sim\pi(\cdot|s')}}[M^{\pi}(X|s',a')]


命题1(后继度量与动作价值函数)

设动作价值函数 Qπ(s,a):=t=0γtE[rt+1s,a,π]Q^{\pi}(s,a) := \sum_{t=0}^{\infty}\gamma^t\mathbb{E}[r_{t+1}|s,a,\pi],则

Qπ(s,a)=sSMπ(ss,a)r(s)dsQ^{\pi}(s,a) = \int_{s'\in S}M_{\pi}(s'|s,a)r(s')\mathrm{d}s'

证明

Qπ(s,a)= t=0γtE[rt+1s,a,π]=t=0γtEst+1[r(st+1)s,a,π]= t=0γtsSPrt+1(ss,a,π)r(s)ds= sSr(s)t=0γtPrt+1(ss,a,π)ds= sSMπ(ss,a)r(s)ds\begin{aligned} Q^{\pi}(s,a) =&\ \sum_{t=0}^{\infty}\gamma^t\mathbb{E}[r_{t+1}|s,a,\pi] = \sum_{t=0}^{\infty}\gamma^t\mathbb{E}_{s_{t+1}}[r(s_{t+1})|s,a,\pi] \\ =&\ \sum_{t=0}^{\infty}\gamma^t\int_{s'\in S}\text{Pr}_{t+1}(s'|s,a,\pi)r(s')\mathrm{d}s'\\ =&\ \int_{s'\in S}r(s')\sum_{t=0}^{\infty}\gamma^t\text{Pr}_{t+1}(s'|s,a,\pi)\mathrm{d}s'\\ =&\ \int_{s'\in S}M_{\pi}(s'|s,a)r(s')\mathrm{d}s'\\ \end{aligned}


这里假如我们将 MπzM_{\pi_z} 分解为 F(s,a,z)TB(s)F(s,a,z)^T B(s'),不难发现,后面 B(s)r(s)B(s')r(s') 就正好是将 rr 映射到低维空间 zz 上,而 F(,,z)F(\cdot,\cdot,z) 就是将 zz 对应的策略 π(,z)\pi(\cdot,z) 映射回低维空间中,于是有

命题2(M_pi的FB分解)

zRd\forall z\in\mathbb{R}^d,若存在 F(s,a,z):S×A×RdRd,B(s):SRd,πz(s)=π(s,z):S×RdAF(s,a,z): S\times A\times \mathbb{R}^d\to \mathbb{R}^d, B(s): S\to \mathbb{R}^d, \pi_z(s)=\pi(s,z): S\times \mathbb{R}^d\to A,分布 ρ:SR\rho: S\to \mathbb{R},使得

Mπz(Xs,a)=sXF(s,a,z)TB(s)ρ(s)ds=F(s,a,z)TEsρ,sX[B(s)]M_{\pi_z}(X|s,a) = \int_{s'\in X}F(s,a,z)^TB(s')\rho(s')\mathrm{d}s' = F(s,a,z)^T\mathbb{E}_{s'\sim\rho,s'\in X}[B(s')]

则当 z=Esρ[B(s)r(s)]z=\mathbb{E}_{s\sim\rho}[B(s)r(s)] 时,Qπz(s,a)=F(s,a,z)TzQ^{\pi_z}(s,a)=F(s,a,z)^Tz.
证明

Qπz(s,a)= sSMπz(ss,a)r(s)ds= sSF(s,a,z)TB(s)ρ(s)r(s)ds= F(s,a,z)TEsρ[B(s)r(s)]=F(s,a,z)Tz\begin{aligned} Q^{\pi_z}(s,a) =&\ \int_{s'\in S}M_{\pi_z}(s'|s,a)r(s')\mathrm{d}s'\\ =&\ \int_{s'\in S}F(s,a,z)^TB(s')\rho(s')r(s')\mathrm{d}s'\\ =&\ F(s,a,z)^T\mathbb{E}_{s\sim \rho}[B(s)r(s)] = F(s,a,z)^Tz \end{aligned}


这样我们就把奖励函数 rr 完全映射到 Rd\mathbb{R}^d 中,整个模型的更新与 rr 无关。

定理1(FB约束及无监督RL)

假设存在 F(s,a,z):S×A×RdRd,B(s):SRd,πz(s):S×RdAF(s,a,z): S\times A\times \mathbb{R}^d\to \mathbb{R}^d, B(s): S\to \mathbb{R}^d, \pi_z(s): S\times \mathbb{R}^d\to A 使得 zRd,s,sS,aA,XS\forall z\in\mathbb{R}^d, s,s'\in S, a\in A, X\subset S

Mπz(Xs,a)=F(s,a,z)TEsρ,sX[B(s)](2)\tag{2}M_{\pi_z}(X|s,a)=F(s,a,z)^T\mathbb{E}_{s'\sim\rho, s'\in X}[B(s')]

πz(s)=arg maxaAF(s,a,z)Tz(3)\tag{3}\pi_z(s)=\argmax_{a\in A}F(s,a,z)^Tz

对任意奖励函数 r:ARr: A\to \mathbb{R},令 z=Esρ[B(s)r(s)]z=\mathbb{E}_{s\sim\rho}[B(s)r(s)],有 πz\pi_zMDP={S,A,r,P,μ}\text{MDP}=\{S,A,r,P,\mu\} 下的最优策略.
证明: 由命题2可得 πz(s)=arg maxaAQπz(s,a)\pi_z(s)=\argmax_{a\in A}Q^{\pi_z}(s,a),即 πz(s)\pi_z(s) 为最优策略.


这样我们就找到一个目标等式 (2)(2) 式,以及策略优化目标 (3)(3) 式,(3)(3) 式可以用经典RL算法解决(PPO, TD3, SAC等),而 (1)(1) 式则需要通过Bellman方程找到损失函数(与DQN的Q值损失类似)

定义2(FB损失)

F,BF,B 用神经网络参数化 θ,ω\theta, \omega,则FB损失定义如下

LFB(θ,ω):= 12[Esp(s,a),aπ(s)sρ,sX[Fθ(s,a,z)TBω(s)γFˉθ(s,a,z)TBˉω(s)]2Fθ(s,a,z)TEsρsX[Bω(s)]\begin{aligned} \mathcal{L}_{FB}(\theta,\omega):=&\ \frac{1}{2}\left[\mathbb{E}_{\substack{s'\sim p(\cdot|s,a),a'\sim\pi(\cdot|s')\\s''\sim\rho,s''\in X}}[F_{\theta}(s,a,z)^TB_{\omega}(s'')-\gamma\bar{F}_{\theta}(s',a',z)^T\bar{B}_{\omega}(s'')\right]^2 \\ &\qquad - F_{\theta}(s,a,z)^T\mathbb{E}_{\substack{s'\sim\rho\\s'\in X}}[B_{\omega}(s')] \end{aligned}

解释:将 MπM^{\pi} 的重表示 (2)(2) 式,带入其Bellman方程 (1)(1) 式,我们期望将减小Bellman残差作为优化目标,即将左式作为当前网络,减去右式估计值求 2\ell_2 范数,从而作为当前参数的损失:

L(θ,ω)= [Fθ(s,a,z)EsρsX[Bω(s)]P(Xs,a)γEsp(s,a)aπ(s)Fˉθ(s,a,z)EsρsX[Bˉω(s)]]2= [Esp(s,a),aπ(s)sρ,sX[Fθ(s,a,z)Bω(s)γFˉθ(s,a,z)Bˉω(s)]]22P(Xs,a)Fθ(s,a,z)EsρsX[Bω(s)]2γP(Xs,a)Esp(s,a)aπ(s)Fˉθ(s,a,z)EsρsX[Bˉω(s)]\begin{aligned} \mathcal{L}(\theta,\omega) =&\ \left[F_{\theta}(s,a,z)\mathbb{E}_{\substack{s'\sim\rho\\s'\in X}}[B_{\omega}(s')]-P(X|s,a)-\gamma\mathbb{E}_{\substack{s'\sim p(\cdot|s,a)\\a'\sim\pi(\cdot|s')}}\bar{F}_{\theta}(s',a',z)\mathbb{E}_{\substack{s''\sim\rho\\s''\in X}}[\bar{B}_{\omega}(s'')]\right]^2\\ =&\ \left[\mathbb{E}_{\substack{s'\sim p(\cdot|s,a),a'\sim\pi(\cdot|s')\\s''\sim\rho,s''\in X}}[F_{\theta}(s,a,z)B_{\omega}(s'')-\gamma\bar{F}_{\theta}(s',a',z)\bar{B}_{\omega}(s'')]\right]^2\\ &\quad -2P(X|s,a)F_{\theta}(s,a,z)\mathbb{E}_{\substack{s'\sim\rho\\s'\in X}}[B_{\omega}(s')] - 2\gamma P(X|s,a)\mathbb{E}_{\substack{s'\sim p(\cdot|s,a)\\a'\sim\pi(\cdot|s')}}\bar{F}_{\theta}(s',a',z)\mathbb{E}_{\substack{s''\sim\rho\\s''\in X}}[\bar{B}_{\omega}(s'')] \end{aligned}

θ,ω\theta,\omegamin\min 可以消去第三项,取 XX 为多个轨迹片段,则对于 (s,a,s)(s,a,s')
从而

minθ,ωLFB(θ,ω)     minθ,ω12[Esp(s,a),aπ(s)sρ,sX[Fθ(s,a,z)TBω(s)γFˉθ(s,a,z)TBˉω(s)]2Fθ(s,a,z)TEsP(s,a)sρBω(s)\begin{aligned} \min_{\theta,\omega}\mathcal{L}_{FB}(\theta,\omega)\iff&\ \min_{\theta,\omega}\frac{1}{2}\left[\mathbb{E}_{\substack{s'\sim p(\cdot|s,a),a'\sim\pi(\cdot|s')\\s''\sim\rho,s''\in X}}[F_{\theta}(s,a,z)^TB_{\omega}(s'')-\gamma\bar{F}_{\theta}(s',a',z)^T\bar{B}_{\omega}(s'')\right]^2 \\ &\qquad\qquad -F_{\theta}(s,a,z)^T\mathbb{E}_{\substack{s'\sim P(\cdot|s,a)\\s'\sim \rho}}B_{\omega}(s') \end{aligned}


假设batch大小为 nn,我们可以通过某些方法,得到 ziz_i 对应的轨迹片段,(si,ai,si,zi),(s_i,a_i,s'_i,z_i),\cdots,采样 aiπ(si,zi)a'_i\sim \pi(\cdot|s_i,z_i),计算损失

LFB(θ,ω)=1n(n1)ij[Fθ(si,ai,zi)TBω(sj)γFˉθ(si,ai,zi)TBˉω(sj)]21niFθ(si,ai,zi)TBω(si)\mathcal{L}_{FB}(\theta,\omega) = \frac{1}{n(n-1)}\sum_{i\neq j}\left[F_{\theta}(s_i,a_i,z_i)^TB_{\omega}(s_j)-\gamma\bar{F}_{\theta}(s'_i,a'_i,z_i)^T\bar{B}_{\omega}(s_j)\right]^2 - \frac{1}{n}\sum_{i}F_{\theta}(s_i,a_i,z_i)^TB_{\omega}(s'_i)

带模仿的正则项理论推导

上述推导虽然已经对 Fθ,Bω,πϕF_{\theta}, B_{\omega}, \pi_{\phi} 进行优化,但是无法保证随机采样生成的 πϕ\pi_{\phi} 能够探索到状态空间中足够多的状态,因此我们需要引入充分大的专家数据集用来引导 πϕ\pi_{\phi},使其能够充分探索状态空间

专家数据集仅有状态构成,记为 M={(s1,,sl(τ))}={τ}M=\{(s_1,\cdots,s_{l(\tau)})\}=\{\tau\}

思考:为什么专家数据集 M={τ}M=\{\tau\} 可以探索到更多的状态?我们任取一个状态 ss,在机器人平衡这个问题上,一定会存在不同策略之间的优劣,而专家可以选择出正确的策略,使得在这些策略下,ss 会被更多的探索到,也说明该策略更加稳定,因此会产生一个 ss 和策略 π\pi 的联合分布,记为 pM(s,π)p_{M}(s,\pi),由于策略 π\pi 无法作为神经网络输入,因此将 π\pi 降维表示到低维空间 zRdz\in\mathbb{R}^d 向量,对应的联合分布变为 pM(s,z)p_{M}(s,z)

策略神经网络 π(s,z)\pi(\cdot|s,z) 可以将 zzss 一同作为网络输入

那么类似地,对于 πϕ(s,z)\pi_{\phi}(\cdot|s,z) 是否也有联合分布 pπz(s,z)p_{\pi_{z}}(s,z),对于每个 ss,在低维空间中也有其对应策略的分布,如果想让 πϕ\pi_{\phi} 类似专家策略,探索更多状态,我们应该想要 pπz(s,z)p_{\pi_z}(s,z) 去近似 pM(s,z)p_{M}(s,z)

这里可以用 KLKL 散度进行度量,但由于 pM(s,z)p_{M}(s,z) 难以准确估计,因此需要用GAN的思路(本质上是Jensen-Shannon(JS)散度),创建一个判别网络 Dψ:S×Rd[0,1]D_{\psi}:S\times \mathbb{R}^d\to [0,1],判别策略 sszz 是否来自 pM(s,z)p_{M}(\cdot|s,z) 而非 pπϕ(s,z)p_{\pi_{\phi}}(\cdot|s,z),而我们的策略 πϕ\pi_{\phi} 期望让 pπϕ(s,z)p_{\pi_{\phi}}(\cdot|s,z) 近似 pM(s,z)p_M(\cdot|s,z) 从而欺骗 DψD_{\psi},上述判别器学习过程可以描述为如下GAN损失

Ldiscriminator(ψ)= E(s,z)pM[log(Dψ(s,z))]E(s,z)pπϕ[log(1Dψ(s,z))]= EsM[log(Dψ(s,Esτ(s)[B(s)])]Ezυ,sρπz[log(1Dψ(s,z))]\begin{aligned} \mathcal{L}_{discriminator}(\psi) =&\ -\mathbb{E}_{(s,z)\sim p_{M}}[\log(D_{\psi}(s,z))]-\mathbb{E}_{(s,z)\sim p_{\pi_\phi}}[\log(1-D_{\psi}(s,z))]\\ =&\ -\mathbb{E}_{s\sim M}\left[\log(D_{\psi}(s,\mathbb{E}_{s'\sim\tau(s)}[B(s')])\right] -\mathbb{E}_{z\sim\upsilon,s\sim \rho^{\pi_z}}[\log(1-D_{\psi}(s,z))] \end{aligned}

上式存在理论最优解 D(s,z)=pM(s,z)pM(s,z)+pπz(s,z)D^*(s,z)=\frac{p_{M}(s,z)}{p_{M}(s,z)+p_{\pi_z}(s,z)}

证明方法可以直接对 pMlogD+pπzlog(1D)p_{M}\log D+p_{\pi_z}\log(1-D)DD 求导,令其等于 00

πz=πϕ(s,z)\pi_z=\pi_{\phi}(\cdot|s,z) 的目标是混淆 DD 的判断,也就是最大化下述奖励

maxr(s,z)=logpM(s,z)pπz(s,z)=logD1DlogDψ1Dψ\max r(s,z) = \log\frac{p_{M}(s,z)}{p_{\pi_z}(s,z)} = \log\frac{D^*}{1-D^*} \approx \log\frac{D_{\psi}}{1-D_{\psi}}

用TD方式对上述折后回报进行估计,令 Qη(s,a):S×ARQ_{\eta}(s,a):S\times A\to \mathbb{R},可以称之为模仿回报,则对应的critic损失为

Lcritic(η)=E(s,a,s)Donlinezυ,aπz(s)[(Qη(s,a,z)logDψ(s,z)1Dψ(s,z)γQˉη(s,a,z)2]\mathcal{L}_{critic}(\eta) = \mathbb{E}_{\substack{(s,a,s')\sim D_{online}\\z\sim \upsilon,a'\sim\pi_z(\cdot|s')}}\left[\left(Q_{\eta}(s,a,z)-\log\frac{D_{\psi}(s',z)}{1-D_{\psi}(s',z)}-\gamma \bar{Q}_{\eta}(s',a',z\right)^2\right]

将模仿奖励 QQ 作为正则项加入到 (3)(3) 式中得到FB-CPR的actor损失

Lactor(ϕ)=EsD,zυaπψ(s,z)[Fθ(s,a,z)Tz+αQη(s,a,z)](4)\tag{4}\mathcal{L}_{actor}(\phi) = \mathbb{E}_{\substack{s\sim D,z\sim\upsilon\\a\sim\pi_{\psi}(\cdot|s,z)}}\left[F_{\theta}(s,a,z)^Tz+\alpha Q_{\eta}(s,a,z)\right]

综上,我们完成了4个主要损失函数的定义

  • LFB(θ,ω)\mathcal{L}_{FB}(\theta,\omega):优化 Fθ(s,a,z),Bω(s)F_{\theta}(s,a,z),B_{\omega}(s)
  • Ldiscriminator(ψ)\mathcal{L}_{discriminator}(\psi):优化判别器 Dψ(s,z)D_{\psi}(s,z)
  • Lcritic(η)\mathcal{L}_{critic}(\eta):优化模仿回报估计 Qη(s,z)Q_{\eta}(s,z)
  • Lactor(ϕ)\mathcal{L}_{actor}(\phi):优化策略 πϕ(s,z)\pi_{\phi}(\cdot|s,z)

训练流程

1. 在线数据收集

假设我们维护了一个在线训练buffer Donline\mathcal{D}_{online},并有一个无标记的专家数据集 M\mathcal{M} 提供优质轨迹,我们需要随机从二者中随机采样得到策略,分别对应的概率大小为 τonline,τunlabled\tau_{online},\tau_{unlabled},每次采样的轨迹长度记为 TT

通过随机获取 zz,并对应到策略 πϕ(,z)\pi_{\phi}(\cdot,z),从而采样得到轨迹加入到 Donline\mathcal{D}_{online} 中,此处的 zz 可以从三种不同的位置获得,我们就可以从三个不同位置获取到 zz

z={B(s),sDonline, 概率τonline,1Tt=1TB(st),{s1,,sT}M,概率τunlabled,N(0,Id),概率1τonlineτunlabled.zdzz2,πϕ(,z)与环境交互T步,将数据存储入Donlinez=\begin{cases} B(s),&\quad s\sim \mathcal{D}_{online}, &\ \text{概率}\tau_{online},\\ \frac{1}{T}\sum_{t=1}^TB(s_t),&\quad \{s_1,\cdots,s_{T}\}\sim \mathcal{M},&\quad \text{概率}\tau_{unlabled},\\ \sim\mathcal{N}(0,I_d),&\quad &\quad \text{概率}1-\tau_{online}-\tau_{unlabled}. \end{cases}\\ z\gets\sqrt{d}\frac{z}{||z||_2}, \text{用}\pi_{\phi}(\cdot,z)\text{与环境交互}T\text{步,将数据存储入} \mathcal{D}_{online}

2. 轨迹采样,编码专家策略

3. 计算判别损失

4. 在线数据潜特征重采样

5. 计算FB,正则,策略损失,更新网络


无奖励强化学习FB算法
https://wty-yy.github.io/posts/52897/
作者
wty
发布于
2025年2月16日
许可协议