政策梯度网络中的自动区分

时间:2017-06-25 02:50:49

标签: machine-learning neural-network reinforcement-learning q-learning

我确实理解政策梯度网络中的反向传播,但我不确定如何使用自动区分的库。

也就是说,他们如何将其转化为有监督的学习问题。 例如,下面的代码:

Y = self.probs + self.learning_rate * np.squeeze(np.vstack([gradients]))

为什么Y不是1-hot矢量用于采取的行动? 假设动作正确,他正在计算梯度,Y是一个热矢量。然后他将它乘以相应时间步长的奖励。但是在训练期间,他将其作为校正。 我认为他应该通过单热矢量来增加奖励。 https://github.com/keon/policy-gradient/blob/master/pg.py#L67

1 个答案:

答案 0 :(得分:0)

Y不是1热矢量,因为它是动作概率的总和(即self.prob)乘以其相应的奖励。