是的,有一个成本(分数/效用)函数,你的直觉是正确的。在 vanilla PG 中,我们优化了预期回报J轨迹的τ根据政策π参数化θ:
∇θJ(τ)≈1N∑i=1N∇θlogπθ(τi)r(τi)
(你可以在这里找到很多信息:https ://spinningup.openai.com/en/latest/algorithms/vpg.html )
普通 PG 与最大似然关系非常密切:
∇θJML(θ)≈1N∑i=1N∇θlogπθ(τi)
除了奖励乘法之外,这两个梯度几乎相同。这个奖励就是学习信号。从反向传播的角度考虑,你的梯度乘以奖励信号。您可以将原版 PG 视为对成本敏感的分类 - 具有广泛意义。
我将给你一个非常简单的神经网络示例,以向你展示 PG 学习机制的结果。假设一个非常简单的架构:
( 输入 --> CNN --> CNN --> 全连接 (fc) 层 --> out1: V(input), out2:π(a|input))
可以异步或同步训练。输出有两个头,一个用于预期奖励,一个用于策略。让我们假设一个任务,其中代理必须学习在两个奖励目标(橙色 r=10,绿色 r=1)之间进行选择。完成一集后,目标要么同时出现,要么一次随机出现。
现在假设代理已经完全训练。从各个情节中获取 fc 表示并运行 tsne(聚类),我们得到以下图片:

这个 2D 表示告诉我们,当只有绿色目标、只有橙色目标以及它们都在一起时,网络有一个“清晰的认识”。我们可以对集群进行不同的着色,以了解预期的奖励或动作偏好(因为 fc 编码空间信息、奖励信息和动作偏好)。
策略梯度将状态映射到动作分布(和/或奖励预测)。这意味着学习的函数(神经网络)应该有适当的表示来进行映射。这本质上就是网络学习的东西:决策边界(给定输入状态)。请注意,这是一个非常简单的示例,可以深入了解网络所学的内容,以便您可以轻松地与分类案例进行比较。