如何为actor和critic RL设计两个不同的神经网络?

数据挖掘 强化学习 演员评论家
2022-02-14 09:28:07

为了有一个演员评论家 RL 模型,有两件事要满足。

  1. 值逼近函数应收敛到局部最小值

sdπ(s)aπ(s,a)[Qπ(s,a)fw(s,a)]fw(s,a)w=0

  1. 参数化应满足以下条件

fw(s,a)w=π(s,a)θ1π(s,a)

那么具体我们如何设计一个模型来满足第二个条件呢?

更新

在这里,我想强调 actor-critic methods 中的价值函数逼近。我们需要像 Q 学习一样优化评论家,但遵循根据参与者采取 TD 错误的 on 策略。在这里,我将提出演员评论家的最终方程式。

在此处输入图像描述

这里简单地我们可以将critic神经网络的输出作为状态值函数或上面的f。那么如何满足条件 2 呢?

1个回答

有很多论文涉及神经网络和 RL。这篇博客将对策略梯度网络提供一个很好的见解:Deep RL with PG

现在回答你的问题。你真的需要熟悉我们如何训练神经网络。一个简单的分类。如果您检查推导以及权重是如何更新的,那么您将非常清楚如何实现上述内容。

我会尽可能简单地向您描述它,以便您获得链接。广义上的神经网络由嵌套函数组成。包含所有其他功能的功能是您输出层的功能。在随机策略梯度的情况下,这是您的玻尔兹曼函数。因此,您的输出层将获取前一层的所有输出,并将它们传递给玻尔兹曼函数。在 NN 的情况下,参数化来自所有先前的层。

我发给你的博客链接描述了一个非常简单的带有 NN 的普通策略梯度示例(REINFORCE 算法)。通过使用代码(加上您对前馈网络的理解),您将看到梯度乘以奖励。这是一个非常好的运动!

对于 Actor-Critic,你通常需要一个执行 PG(随机或确定性)的网络——你的 Actor——和一个会给你奖励信号的网络(就像博客中的简单案例一样。但是,由于各种原因,而不是在实际奖励中,我们使用另一个网络,该网络通过执行 Q 学习来估计奖励,就像在 Deep-Q 学习中一样(最小化估计奖励和真实奖励之间的平方误差)。

希望这可以帮助!