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

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


                                                                                            τ i  与定义  2  中的
                 π ran (a | s,⃗ g) . 根据采样策略在环境中采样  H  步, 获取智能体的运动轨迹    τ i  和奖励轨迹  ρ i  . 运动轨迹
                 一致, 即:

                                                    τ i = (s 0 ,a 0 ,r 1 , s 1 ,..., s H ),
                    奖励轨迹    ρ i  由  τ i  中的即时奖励序列构成, 即:

                                                      ρ i = (r 1 ,r 2 ,...,r H ) .
                    利用奖励轨迹可以得到关于任务类型              T i  的信息. 例如, 奖励值低的地方可能存在需要躲避的目标, 奖励值高
                 的地方可能存在需要接近的目标. 那么, 在躲避目标前, 智能体需完成躲避的技能, 相应地, 在接近目标前, 需完成

                 靠近的技能. 由于每个任务类型可能由多个技能组成, 我们将运动轨迹                     τ i  和奖励轨迹  ρ i  均分为  N  段分段轨迹, 即:

                                                 (        )  (         )
                                                  τ ,τ ,...,τ 与 ρ ,ρ ,...,ρ ,
                                                   1
                                                     2
                                                                 2
                                                                      N
                                                               1
                                                         N
                                                   i  i  i     i  i   i
                 其中, 每段轨迹长度为      h , 即:

                                                                            )
                                               (
                                             n
                                            τ = s (n−1)·h ,a (n−1)·h+1 ,r (n−1)·h+1 , s (n−1)·h+1 ,..., s n·h ,
                                             i
                                                                      )
                                                     (
                                                  n
                                                 ρ = r (n−1)·h+1 ,r (n−1)·h+2 ,...,r n·h .
                                                  i
                                                                                 n
                    这里运动轨迹和奖励轨迹的最后一段可能不足                 h 步, 以实际所剩步数为准. 若      ρ  中存在非零奖励, 则其中可能
                                                                                 i
                 存在需要某种技能完成的目标. 我们令

                                                      ∑  n·h
                                                    n
                                                                     n
                                                   R =         r d , r d ∈ ρ ,
                                                    i
                                                                     i
                                                         d=(n−1)·h+1
                                                                       n
                       n                                              R < 0 , 则该段轨迹之前需执行躲避技能, 反
                 其中,    R  的大小反应了某些目标存在这段轨迹里的可能. 例如, 如果                i
                       i
                 之则需执行靠近的技能. 在        GCSSD  中, 我们对训练任务类型      T i  进行多次轨迹采样, 获得    N  段分段轨迹奖励均值, 即:

                                                  (         )
                                                   1  2    N  n      R .
                                                                      n
                                                   i  i    i  i       i
                                                   ¯ R , ¯ R ,..., ¯ R , ¯ R = E τ i ∼T i
                    同样地, 将该采样方法运用到其他任务类型, 得到其他任务类型的                    N  段分段轨迹奖励均值, 多次采样计算不同
                 段奖励均值的相似度, 即:

                                                             ¯ ρ n 1 ⊤ n 2
                                                                ¯ ρ
                                                      w n 1 ,n 2  = 
  i 1 

  i 2  
,
                                                       i 1 ,i 2  
 n 1 

 n 2
                                                           
¯ρ 

¯ρ
                                                             i 1  i 2
                       n           n 段的多次采样后每个维度上奖励的均值, 将相似度接近的分段轨迹分为一组, 即可得到
                 其中,    ¯ ρ  表示轨迹  τ i  第
                       i
                 K  组相似轨迹, 本文认为一组轨迹是通过一种技能策略产生.
                    下面, 介绍对比学习阶段. 在采样阶段得到多个训练任务类型产生的                     K  组轨迹后, 智能体需学习各技能对应的
                 技能表征. 按任务的技能执行顺序将           N  个技能表征拼接, 从而得到任务嵌入表征. 然后将该表征嵌入策略网络中,
                 指导智能体按序执行不同的技能并做出相应动作.
                                                                   ⃗z 0  初始值均为        N ·dim(z i ) . 对训练任务
                    本文设定初始技能参数及对应策略网络为               π θ (a | s,⃗ g,⃗z 0 ) , 其中   0, 维度为
                                                                          k
                 类型集合, 经过采样阶段获得了          K  组轨迹, 每组轨迹对应一种技能. 将第   组轨迹存入相应的技能轨迹回放缓存
                 (replay buffer)  B k  中, 构成总体回放缓存  B , 即:

                                                     B = {B 1 ,B 2 ,...,B K } .
                                                                                      1
                                                                                        2
                    为便于描述, 以     N = 2 , 即将采样轨迹均分为     2  段为例. 如图  2  所示,   T 1  的分段轨迹  (τ ,τ ) 分别对应技能  1  与
                                                                                      1  1
                 技能  2,    T 2  的分段轨迹  (τ ,τ ) 分别对应技能  2  与技能  1, 因此将  τ  和  τ  作为一组分组轨迹存入  B 1  , 将  τ  和  τ  作
                                    1
                                      2
                                                                                                 2
                                                                        2
                                                                    1
                                                                                                     1
                                    2  2                            1   2                        1   2
                                   B 2  , 便于后续利用这些分组轨迹进行对比学习.
                 为另一组分组轨迹存入
                    用技能表征网络      e η (·) 编码分组轨迹, 得到相应的技能表征, 分组轨迹对应的技能表征可以代表该段轨迹的信
                 息, 并且这些技能表征具有一致性和区分性. 首先, 同一个技能轨迹回放缓存中的分组轨迹通过编码得到的技能表
                 征应尽可能相似. 其次, 不同的技能轨迹回放缓存中的分组轨迹通过编码得到的技能表征应尽可能不同. 通过对分
                 组轨迹编码并进行对比学习, 来得到这样的表征网络. 对第                  k  种技能, 从  B k  中取  M  条分组轨迹, 用技能表征网络
                 e η (·) 对这   M  条分组轨迹进行编码得到   M  个技能表征向量     (z k,1 ,z k,2 ,...,z k,M ) , 求其每个维度平均值作为该技能表征
   179   180   181   182   183   184   185   186   187   188   189