为 REINFORCE 策略梯度方法更新权重 python

数据挖掘 Python 强化学习 执行
2022-02-15 05:04:14

全部,

我正在尝试实现 REINFORCE(williams) 算法。这是一种策略梯度强化学习算法。

我正在使用python,并希望使用keras。

我使用的伪代码如下:

  1. 从初始状态,运行策略模拟,直到结束。
  2. 采取的行动。是从(在我的场景中)NN 生成的。
  3. 我们通过以下方式更新权重:学习率 * 导数(对数策略)* V
  4. 我们使用 V 作为 Q 的无偏样本。

这是我正在使用的算法

V 被定义为处于特定状态的平均奖励。

在 keras 中,我们可以建立一个神经网络,然后通过取权重 + (log of actions * V) 来更新权重?它是否正确?

我将如何手动更新权重,我很欣赏您可以从 keras 序列模型中提取权重,但还有一个导数函数。

也许我误解了算法,任何想法将不胜感激。

0个回答
没有发现任何回复~