模仿学习中的代理损失函数是什么,它与真实成本有何不同?

人工智能 强化学习 文件 模仿学习
2021-11-18 06:40:16

我最近一直在阅读A Reduction of Imitation Learning and Structured Prediction to No-Regret Online Learning,我无法理解他们所说的代理损失函数是什么意思。

论文中的一些相关符号 -

  • dπ=如果我们遵循政策,状态的平均分布π为了T时间步长
  • C(s,a)= 我们正在考虑的任务在状态 s 中执行动作 a 的预期直接成本(假设C有界 [0,1]
  • Cπ(s)=Eaπ(s)[C(s,a)]是预期的直接成本πs.
  • J(π)=TEsdπ[Cπ(s)]是执行策略的总成本π为了T时间步长

在模仿学习中,我们不一定知道或观察到真实的成本C(s,a)对于特定的任务。相反,我们观察专家的演示并寻求约束J(π) 对于任何成本函数C基于有多好π模仿专家的策略π. 表示l我们最小化观察到的代理损失函数而不是C. 例如,l(s,π)可能是预期的0-1损失π关于π处于状态s,或平方/铰链损失π关于πs. 重要的是,在许多情况下,Cl可能是相同的函数——例如,如果我们有兴趣优化学习者预测专家选择的动作的能力

我不明白代理损失与真实成本有何不同,以及两者相同的可能情况是什么如果有人可以对此有所了解,那就太好了。谢谢!

1个回答

替代损失是您使用“代替”、“代替”、“作为代理”或“替代”另一个损失的损失,这通常是“真实”损失。

代理损失实际上在机器学习中很常见(尽管几乎没有人意识到它们是代理损失)。例如,经验风险均方误差就是其中的一个例子)是预期风险的替代物,因为您不知道潜在的概率分布,所以在几乎所有情况下都是不可计算的。有关详细信息,请参阅VN Vapnik的统计学习理论概述。事实上,关于泛化的讨论就是因为这个问题,即你使用替代损失而不是真实损失。

术语“代理”也与术语“模型”一起使用,即“代理模型”,例如,在贝叶斯优化的上下文中,其中高斯过程是您想要的未知模型/函数的代理模型要知道,即您使用高斯过程来近似未知函数/模型。

关于您引用的摘录和您的具体担忧,虽然我没有阅读论文并且我不是模仿学习的专家,但让我尝试解释一下我从这段摘录中的理解。本质上,在模仿学习中,您使用专家的策略π训练代理,而不是让他仅仅探索和利用环境。所以,你知道的是π你可以计算出两者之间的“损失”ππ(当前代理的策略),表示为l. 然而,这种损失l您计算的不一定是“真实”损失(即,它是替代损失),因为我们的目标不是真正模仿“专家”,而是学习在环境中表现的最佳策略。如果目标只是模仿“专家”,那么Cl会重合,因为在那种情况下,l将代表之间的“差异”或“损失”π和专家的政策π.