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 所示.