策略梯度的成本函数和梯度如何工作?

数据挖掘 强化学习 成本函数 政策梯度
2022-03-08 17:42:44

我不是数学专家,但对线性代数、微积分和概率有基本的了解,并且我了解反向传播背后的数学。目前我正在尝试学习策略梯度算法,但我很难理解基础数学。神经网络训练中最常用的成本函数包括目标和输出。例如:

微博:

Etotal=12(targetoutput)2

日志损失:

Error=Output(i)(1Output(i))(Target(i)Output(i))

这个想法是找到参数θ这减少了目标和输出之间的距离。

但是在策略梯度方法中,成本函数是这样的:

g=E[Rt()(θ)lnπθ(at|st)]

策略梯度成本函数的目标和输出是什么?

这个成本函数是如何最小化的,它是如何工作的?

1个回答

在策略梯度中,我们对最大化预期奖励感兴趣。为此,我们假设预期奖励由参数参数化θ(例如神经网络。这意味着为了最大化预期奖励,我们需要找到这些参数。在数学符号中:

θ=argmaxθJ(θ)=argmaxθEτpθ(τ)[tr(st,at)]

在哪里τ是从策略中采样的轨迹pθ. 为了解决这个问题,我们需要梯度上升,以便更新我们的参数:θ=θ+αJ(θ). 因此,如果我们计算预期奖励的梯度,我们将正确更新参数以获得更大的预期奖励。您可以看一下似然比和 REINFORCE,它分析地解释了整个优化过程。

为了解决这个问题,你需要策略梯度定理,它将引导你得到你所拥有的方程。换句话说,通过使用您提到的梯度形式,我们正在更新我们的参数以获得更高的预期回报。此外,PG 更接近分类(成本敏感)而不是回归。

就神经网络(并假设随机策略)而言,通常情况下,您的输入将是状态,而您的输出将是动作分布和/或预期奖励,从而将状态映射到动作概率(和/或奖励预测)。已经证明,额外的奖励预测比仅使用策略损失带来更好的结果,因为它驱动 NN 的表示来预测预期奖励(而不仅仅是动作分布)。