Page 186 - 《软件学报》2025年第5期
P. 186

2086                                                       软件学报  2025  年第  36  卷第  5  期



                 面我们将介绍如何对表征网络          e η  和策略网络  π θ  进行交替训练.
                    在采样阶段, 首先采样一个训练任务            T i  , 根据初始随机策略  π ran (a | s,⃗ g) 在环境中采样, 获取智能体的运动轨迹
                 τ i  和奖励轨迹  ρ i  , 通过计算得到任务技能及其执行顺序. 其中, 每次以采样得到的采样轨迹                 τ i  作为数据, 对策略网
                 络  π θ  进行优化.
                    在对比学习阶段, 我们将协同训练表征网络和策略网络. 每隔固定数量回合, 从分组轨迹缓冲区中取得最近的
                                     e η  进行优化, 在此期间保持策略网络不变. 更新一次表征网络后, 用其对分组轨迹进行
                 分组轨迹数据对表征网络
                 编码, 则得到新的技能表征. 将新的技能表征按任务的技能执行顺序拼接得到                         ⃗z i  , 如图  2  所示, 对于训练任务  T 1  ,
                                        ,
                 ⃗z 1 = (z 1 ,z 2 ) ; 对于训练任务  T N ⃗z N = (z K ,z 1 ) . 将  ⃗z i  嵌入策略网络  π θ (a t | s t ,⃗ g,⃗z i ) , 并且用此策略网络得到最新的轨迹.
                 每个回合, 以最新的轨迹作为数据, 再对策略网络              π θ  进行优化, 并在此期间保持表征网络不变. 重复上述交替过程,
                 直至表征网络和策略网络收敛, 完成训练.

                 3.3   测试任务中的技能序贯组合
                    在这个阶段, 智能体遇到的任务类型可能和训练时的任务类型不同. 在                       GCSSD  中, 在测试任务中, 不再对表
                 征网络和策略网络进行额外的学习, 而是直接使用已经训练好的技能表征网络                          e η  对采样的分段轨迹依次编码, 得
                 到相应的技能表征, 将其作为嵌入表征输入到训练好的策略网络                      π θ  中, 指导智能体针对新任务执行相应的技能.
                 虽然, 整体而言, 测试任务与训练任务不同, 但其各个子部分仍对应原有的技能, 因此仍可以利用训练后的表征网
                 络对分段轨迹进行编码, 得到对应的技能表征. 虽然策略网络没有进行迁移训练, 但由于技能表征部分在之前训练
                 中出现过, 因此在测试时仍具有一定的适应能力. 反之, 如果不进行轨迹分段, 而直接使用训练好的表征网络对采
                 样轨迹进行编码, 则会得到一个全新的任务表征, 因为从整体而言, 数据发生了改变. 将该全新的任务表征嵌入之
                 前训练好的策略网络则不再有适应的效果. 下面将介绍测试阶段的具体过程.
                                                                                 τ j,1 ,τ j,2 ,...,τ j,N  , 存入测试轨迹
                    测试时采样任务       T j ∈ {T 1 ,T 2 ,...,T J }  , 采样成功轨迹  τ j  并将其均分为  N  段轨迹
                 回放缓存    B test = {{B 1,1 ,...,B 1,N },...,{B J,1 ,...,B J,N }}  的  {B j,1 ,...,B j,N }  中. 如图  3  所示, 将轨迹  τ j  分为  τ j,1 ,τ j,2  并分别存
                                                            j
                 入   {B j,1 ,B j,2 } . 多次采样任务及其成功轨迹, 每次按任务   将划分的    N  段轨迹存入对应的测试轨迹回放缓存中, 直
                 到各个缓存内的轨迹数量多于           M  条.


                                                                   技能策略
                                                      j               →  →      → − − ) 序贯组合
                                                                                     , z j 2
                                                                                 z j =(z j 1
                                                                  π θ (a | s, g , z j )
                                                                 1                     1
                                                                τ j1                  z j1
                                                            …                      …
                   初始技能策略                       τ j, 1   j, 1
                                     τ j                         M                     M            −
                                                                τ j1                  z j1          z j1
                               j
                       →  →
                   π θ (a | s, g , z 0 )        τ j, 2                                              −
                                     …                      …   τ j2 1                z j2 1        z j2
                                                …        j, 2                      …
                                   采样轨迹                         τ j2 M                z j2 M   技能表征中心
                                              分段轨迹
                                                           多次采样       表征网格 e η    技能表征
                                    图 3 GCSSD  中预训练技能嵌入表征与强化学习策略测试框架

                    当再次面对测试任务         T j  时, 从对应的分段轨迹测试轨迹回放缓存            {B j,1 ,...,B j,N }  中各取出  M  条分段轨迹
                   1    M      1     M
                 {(τ ,...,τ ),...,(τ ,...,τ )}  , 用表征网络对这  M  条分段轨迹进行编码并取均值作为技能表征, 即:
                   j,1  j,1    j,N   j,N

                                                          1  M ∑  (  )
                                                      ¯ z j,1 =  e η τ m                              (3)
                                                          M       j,1
                                                            m=1
                    最终得到任务      T j  的  N  个技能表征  (z j,1 ,...,z j,N )  , 将其拼接得到  ⃗z j = (z j,1 ,...,z j,N )  , 作为技能表征嵌入策略网络
                 中指导智能体执行相应的技能, 测试算法框架如图                3  所示.
                    在  GCSSD  中, 策略训练如算法     1  所示.
   181   182   183   184   185   186   187   188   189   190   191