您好非常感谢开源这么好的工作,但是我对training estimator的部分有一点疑问,value计算的target是progress = stage_progress_gt - his_-100_stage_progress_gt,his_-100_stage_progress_gt是随机的同episode的完成度,那么这个value的具体意义是什么呢,我的理解他已经不再是完成度了。在Eval中依然是通过value相减得到advantage。感谢大佬
Activity
Lirui-Zhao commentedon Mar 14, 2026
您好~感谢您的提问!
在推理阶段,advantage estimator 是直接输入一对相隔固定chunk size的observation,来预测它们之间的advantage。
而在训练阶段,我们希望模型学到的是:对于任意一对 observation,都能够估计它们之间的advantage。因此训练时会采样任意时间间隔的一对observation,并用它们的value之差 作为advantage的监督信号。
这样做主要有两个原因:
1.希望模型学习到更通用的通过一对observation预估advantage能力;
2.更重要的一点是:如果训练时只使用和推理阶段一样、固定间隔为chunk size的observation对,那么监督信号是常数(固定chunk size下的value差),没办法训练出有效的advantage estimator。
LQ0212 commentedon Mar 14, 2026
感谢您的回复,我注意到代码在计算gt的时候并没有区分是1timestep还是2timesteps,按照您的回复似乎这个计算方法只适用于2timesteps方法,这个地方有一点不理解,谢谢
Lirui-Zhao commentedon Mar 14, 2026
这个具体可以参考我们的博客\论文\代码,代码里其实是有通过超参数来区分1timestep和2timesteps设置的。
我们的方法本身对应的是2timesteps的做法。至于1timestep是我们提供的一个对比消融实现,也就是之前有些工作的做法:输入单个observation预测其value,然后在推理时分别对两个observation做两次预测,再通过预测的value相减得到advantage。