知识中等
请讲一下 DAgger 的基本思想?它解决了什么问题?在具身智能中如何应用?
DAgger 迭代地用当前策略滚动、让专家在策略访问的状态上标注,聚合数据重训,解决行为克隆的分布偏移(covariate shift)。
标准答案
行为克隆只在专家状态分布上训练,策略一旦犯错进入未见状态就会雪崩——这是 covariate shift。DAgger 的解法:用当前策略与环境交互,把访问到的状态交给专家标注正确动作,把新标注聚合进数据集后重训策略,反复迭代直到策略覆盖自己的错误分布。理论上它把学习目标从「模仿专家在专家轨迹上的动作」修正为「在策略自身状态分布上也做对」。
深入理解
具身应用与代价要一起说:真机上「专家标注」人类遥操作纠正或共享自治(人只接管错误状态),这正是纠正式数据闭环(如 RECAP 的人工纠正段)的理论前身;代价是专家必须实时在线、标注延迟可能破坏状态分布(用 DAgger-by-Proxy 或事后标注缓解)。