And*_*Wei 5 reinforcement-learning keras
我目前正在尝试在 Keras 中实现 DDPG。我知道如何更新评论家网络(普通 DQN 算法),但我目前坚持更新演员网络,它使用等式:

因此,为了将演员网络 wrt 的损失减少到其权重 dJ/dtheta,它使用链式法则来获得 dQ/da(来自评论家网络)* da/dtheta(来自演员网络)。
这看起来不错,但我无法理解如何从这两个网络中推导出梯度。有人可以向我解释这部分吗?
所以主要的直觉是,在这里,J 是你想要最大化而不是最小化的东西。因此,我们可以将其称为目标函数而不是损失函数。该方程简化为:
dJ/dTheta = dQ / da * da / dTheta = dQ/dTheta
这意味着你想要改变参数 Theta 来改变 Q。因为在 RL 中,我们想要最大化 Q,对于这一部分,我们想要做梯度上升。为此,您只需执行梯度下降,除了将梯度作为负值输入之外。
要导出梯度,请执行以下操作:
将梯度 J 的所有元素除以批量大小,即
对于 J 中的 j,
j / batch size
Run Code Online (Sandbox Code Playgroud)我希望这是有道理的!我也很难理解这个概念,而且说实话,我对某些部分仍然有点模糊。如果我能澄清任何事情,请告诉我!
| 归档时间: |
|
| 查看次数: |
2013 次 |
| 最近记录: |