ICML 2022
paper
Introduction
元强化学习(Meta RL)结合O2O。元RL需要学习一个探索策略收集数据,同时还需学习一个策略快速适应新任务。由于策略是在固定的离线数据集上进行元训练的,因此在适应探索策略收集的数据时,它可能表现得不可预测,该策略与离线数据可能存在系统性差异,从而导致分布偏移。
本文提出两阶段的Meta offline RL算法SMAC,该算法利用带奖励的离线数据对策略进行元训练,然后收集额外无监督的、没有任何奖励信号的在线数据,来弥补这种分布上偏移。在模拟机器人运动与操作任务上,使用额外的无监督在线数据收集可以显着提高元训练策略的自适应能力。
Method
offline meta-training
采用Actor-crtitc架构的算法。最小化bellman误差优化价值函数:
L c r i t i c ( w ) = E ( s , a , r , s ′ ) ∼ D i , z ∼ q ϕ c ( z ∣ h ) , a ′ ∼ π θ ( a ′ ∣ s ′ , z ) [ ( Q w ( s , a , z ) − ( r + γ Q w ˉ ( s ′ , a ′ , z ) ) ) 2 ] . \begin{aligned} \mathcal{L}_{\mathrm{critic}}(w)& =\mathbb{E}_{(\mathbf{s},\mathbf{a},r,\mathbf{s}^{\prime})\sim\mathcal{D}_{\mathbf{i}},z\sim q_{\phi_{c}}(\mathbf{z}|\mathbf{h}),\mathbf{a}^{\prime}\sim\pi_{\theta}(\mathbf{a}^{\prime}|\mathbf{s}^{\prime},\mathbf{z})} \\ &\left[(Q_{w}(\mathbf{s},\mathbf{a},\mathbf{z})-(r+\gamma Q_{\bar{w}}(\mathbf{s}',\mathbf{a}',\mathbf{z})))^{2}\right]. \end{aligned} Lcritic(w)=E(s,a,r,s′)∼Di,z∼qϕc(z∣h),a′∼πθ(a′∣s′,z)[(Qw(s,a,z)−(r+γQwˉ(s′,a′,z)))2].
离线数据下对策略的优化若是采用SAC,将会困扰于off-policy的自举误差累积(bootstrapping error accumulation)。为解决该问题,采用类似AWAC的方法,对策略隐式约束让它保持在buffer数据附近。
L a c t o r ( θ ) = − E s , a , s ′ ∼ D , z ∼ q ϕ c ( z ∣ h ) [ log π θ ( a ∣ s ) × exp ( Q ( s , a , z ) − V ( s ′ , z ) λ ) ] . \begin{gathered}\mathcal{L}_{\mathrm{actor}}(\theta)=-\operatorname{E}_{\mathbf{s},\mathbf{a},\mathbf{s}^{\prime}\sim\mathcal{D},\mathbf{z}\sim q_{\phi_c}(\mathbf{z}|\mathbf{h})}\bigg[\log\pi_\theta(\mathbf{a}\mid\mathbf{s})\times\\\exp\left(\frac{Q(\mathbf{s},\mathbf{a},\mathbf{z})-V(\mathbf{s}^{\prime},\mathbf{z})}\lambda\right)\bigg].\end{gathered} Lactor(θ)=−Es,a,s′∼D,z∼qϕc(z∣h)[logπθ(a∣s)×exp(λQ(s,a,z)−V(s′,z))].
其中 V ( s , z ) = E a ∼ π θ ( a ∣ s , z ) Q ( s , a , z ) V(s,z)=\mathbb{E}_{\mathbf{a}\sim\pi_\theta(\mathbf{a}|\mathbf{s},\mathbf{z})}Q(\mathbf{s},\mathbf{a},\mathbf{z}) V(s,z)=Ea∼πθ(a∣s,z)Q(s,a,z)
然而,元离线学习存在Z-空间漂移问题,这是由于元学习会训练探索策略 p i θ pi_\theta piθ生成数据。然而元离线学习只使用离线数据训练行为策略 π β \pi_\beta πβ。这样会导致两种策略在训练数据 h = h = { s i , a i , r i , s i ′ } i = 1 N e n c h=\mathbf{h}=\{\mathbf{s}_{i},\mathbf{a}_{i},r_{i},\mathbf{s}_{i}^{\prime}\}_{i=1}^{N_{\mathrm{enc}}} h=h={si,ai,ri,si′}i=1Nenc以及其表征的空间 z ∼ q ϕ c ( z ∣ h ) . \mathbf{z}\sim q_{\phi_{c}}(\mathbf{z}\mid\mathbf{h}). z∼qϕc(z∣h).的不匹配。
解决办法就是使用额外的、没有奖励标签的在线数据,通过自监督方法生成奖励标签。生成奖励的模型则是使用离线数据集进行训练。
L r e w a r d ( ϕ d , ϕ c , h , z ) = ∑ ( s , a , r ) ∈ h ∥ r − r ϕ d ( s , a , z ) ∥ 2 2 + D K L ( q ϕ c ( ⋅ ∣ h ) ∣ ∣ p z ( ⋅ ) ) . \begin{aligned}\mathcal{L}_{\mathrm{reward}}(\phi_d,\phi_c,\mathbf{h},\mathbf{z})&=\sum_{(\mathbf{s},\mathbf{a},r)\in\mathbf{h}}\left\|r-r_{\phi_d}(\mathbf{s},\mathbf{a},\mathbf{z})\right\|_2^2\\&+D_{\mathrm{KL}}\left(q_{\phi_c}(\cdot\mid\mathbf{h})\right|\left|p_{\mathbf{z}}(\cdot)\right).\end{aligned} Lreward(ϕd,ϕc,h,z)=(s,a,r)∈h∑∥r−rϕd(s,a,z)∥22+DKL(qϕc(⋅∣h)∣∣pz(⋅)).
其中 p z p_z pz为z的先验分布。
Self-Supervised Online Meta-Training
首先使用离线训练的探索策略 π θ ( a ∣ s , z ) \pi_\theta(a|s,z) πθ(a∣s,z)与环境交互收集没有奖励的在线数据,其中z采样于先验 p ( z ) p(z) p(z)。
为了给在线数据打上奖励标签,算法从离线数据中采样 h o f f l i n e h_{offline} hoffline,从后验分布中采样 z ∼ q ϕ c ( z ∣ h o f f l i n e ) \mathbf{z}\sim q_{\phi_{c}}(\mathbf{z}\mid\mathbf{h}_{\mathrm{offline}}) z∼qϕc(z∣hoffline)。然后利用奖励生成模型标记:
r g e n e r a t e d = r ϕ d ( s , a , z ) , w h e r e z ∼ q ϕ e ( z ∣ h ) r_{\mathrm{generated}}=r_{\phi_{d}}(\mathbf{s},\mathbf{a},\mathbf{z}),\mathrm{~where~}\mathbf{z}\sim q_{\phi_{e}}(\mathbf{z}\mid\mathbf{h}) rgenerated=rϕd(s,a,z), where z∼qϕe(z∣h)。
得到的奖励连同轨迹数据送入buffer执行offline meta learning,训练actor以及critic。在自监督过程中,由于没有观察到环境给出的奖励函数,不对奖励生成模型 r ϕ d r_{\phi_d} rϕd以及隐空间encoder q ϕ e q_{\phi_e} qϕe回传梯度更新,而是只更新策略与Q函数。
由于只有当encoder的数据来自在线数据才会出现Z-空间的分布偏移,而这里采样的来自于offline,所以解决Z变量分布偏移问题。