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变量分布偏移问题。
伪代码




















