全部,
我正在尝试实现 REINFORCE(williams) 算法。这是一种策略梯度强化学习算法。
我正在使用python,并希望使用keras。
我使用的伪代码如下:
- 从初始状态,运行策略模拟,直到结束。
- 采取的行动。是从(在我的场景中)NN 生成的。
- 我们通过以下方式更新权重:学习率 * 导数(对数策略)* V
- 我们使用 V 作为 Q 的无偏样本。
V 被定义为处于特定状态的平均奖励。
在 keras 中,我们可以建立一个神经网络,然后通过取权重 + (log of actions * V) 来更新权重?它是否正确?
我将如何手动更新权重,我很欣赏您可以从 keras 序列模型中提取权重,但还有一个导数函数。
也许我误解了算法,任何想法将不胜感激。