Page 51 - 《软件学报》2024年第4期
P. 51

陈奕宇  等:  元强化学习研究综述                                                               1629


                                   表 3   基于记忆和推断的元策略学习算法小结
              算法名称                    技术特点                                  源码
               RL 2[51]       采用记忆神经网络自动跨任务适应                    https://github.com/lucaslingle/pytorch_rl2
              SNAIL [75]    结合时序卷积和软注意力机制的深度记忆元学习结构              https://github.com/eambutu/snail-pytorch
              CMRL [77]    对比 RL2 能并发采样,  从而提升训练速度                           −
             PEARL [32]       面向单任务、简化的任务推断模块                     https://github.com/katerakelly/oyster
              ML-GP [78]    使用高斯过程和变分推断建模任务隐变量                               −
              CAVIA [79]    结合 MAML 算法和任务上下文的编码器                   https://github.com/lmzintgraf/cavia
              TESP [80]                                             https://github.com/llan-ml/tesp
              APE [82]       PEARL 的温度系数自适应调节方法                              −
              MQL [33]         基于多任务目标训练历史编码器                 https://github.com/amazon-science/meta-q-learning
              PD-VF [83]    利用预测环境累积奖励监督训练任务隐变量模块                    https://github.com/rraileanu/
                                                                   policy-dynamics-value-functions
             VariBAD [34]    利用变分自动编码器训练任务特征推断模块                  https://github.com/lmzintgraf/varibad
            HiP-BMDP [84]       将场景定义为隐参数 BMDP                   https://github.com/facebookresearch/mtrl

         3.1.3    基于对比学习的方法
             对比学习(contrastive learning)是一种自监督学习方法,  用于在没有标签的情况下,  通过让模型对比相似
         或不同的数据来学习数据集的特征.  一般来说,  对比学习的目标是学习一个编码器 f,  使得对任意数据 x 有:
                                                              −
                                                 +
                                        Dist(f(x),f(x ))<<Dist(f(x),f(x ))                   (10)
               +
                                     −
         其中, x 是和锚点 x 相似的正样本, x 是和 x 不相似的负样本, Dist(⋅)是特征距离度量函数.  对比学习的实现难点
         在于如何构造正负样本,  为实现上述目标, Oord 等人提出了 InfoNCE 损失函数                  [85] :
                                                   exp( ( , xx + ))  
                                                        f
                                        L NCE  = − E   log                                  (11)
                                                         f xx
                                                    i ∑  exp( ( , )) 
                                                             i  
                               +
                                                 −
         其中, x i ∈X, X 中非正样本 x 的样本均视为负样本 x . Oord 等人证明了最小化 InfoNCE 损失函数能最大化锚点
         x 和正样本 x 互信息的下界.
                   +
             强化学习方面,  Srinivas 等人基于动量对比学习算法 MoCo              [86] 构建了强化学习的无监督表征学习方法
         CURL [87] ,  其中,  正样本由对锚点图像应用常见图像扩充方法得到,  其他样本均为负样本.
             在元强化学习中,  Fu 等人认为,  同一任务不同时刻的任务特征应当相近,  不同任务的任务特征相对疏远,
         而这一假定可用于构造对比学习的正负样本集                 [88] . Fu 等人基于 MoCo [86] 和 CURL [87] 构建了 CCM 算法,  算法对
         比学习流程如图 9 所示.  其中,  采样轨迹按任务分类存储在经验池中,  并在对比训练中将同任务特征作为正样
         本;  为使任务特征能更好地反映任务信息,  CCM 还基于信息增益单独训练用于探索的智能体,  其内在奖励加
         入了探索任务特征的信息增益,  且其训练梯度不回传到特征编码模块.
















                                         图 9   CCM [88] 的对比学习流程
             Wang 等人提出了类似 CCM 的方法 TCL,  其中,  正负样本按采样轨迹划分而不是任务类型                      [89] . Mu 等人发
         现有限且复杂的元训练环境会使 InfoNCE 中的互信息的界限松弛并导致过低估计,  并设计了互信息分解优化
         方法 DOMINO 以解决该问题        [90] .  Raghu 等人发现,  若将深度网络模型分为特征提取层和线性分类层两部分,
   46   47   48   49   50   51   52   53   54   55   56