Neural network 在使用Q-学习时,如何计算带有THANO的神经网络的梯度

Neural network 在使用Q-学习时,如何计算带有THANO的神经网络的梯度,neural-network,theano,reinforcement-learning,Neural Network,Theano,Reinforcement Learning,我试图使用一个标准的完全连接的神经网络作为Q-学习中动作值的基础。我使用这一行作为参考: gparams = [T.grad(cost, param) for param in classifier.params] 我希望使用Q-Learning策略控制方法(如中所述)计算与上一个操作相关的输出单元的错误,并将其他输出错误设置为零 如何使用Theano的梯度函数将误差反向传播到神经网络的其余部分?神经网络只是将Q函数参数化的一种可能方法。萨顿和巴托的书中解释了在这种情况下执行梯度下降的方式。只

我试图使用一个标准的完全连接的神经网络作为Q-学习中动作值的基础。我使用这一行作为参考:

gparams = [T.grad(cost, param) for param in classifier.params]
我希望使用Q-Learning策略控制方法(如中所述)计算与上一个操作相关的输出单元的错误,并将其他输出错误设置为零


如何使用Theano的梯度函数将误差反向传播到神经网络的其余部分?

神经网络只是将Q函数参数化的一种可能方法。萨顿和巴托的书中解释了在这种情况下执行梯度下降的方式。只需将神经网络的权重视为参数向量。

我没有将强化学习与监督学习相结合的经验;但是如果你能用Theano表达式定义你的q-learning内容,并使它们成为计算图的一部分,那么你就可以用正常的方式(即使用T.grad(..)反向传播错误)。这可能有点相关:是的,我看到了这个项目,并将其作为参考。如果我仅使用所选操作计算损失,那么grad函数似乎已经为我完成了工作。