【发布时间】:2016-04-01 20:09:02
【问题描述】:
我正在尝试使用标准的全连接神经网络作为 Q-Learning 中动作值的基础。我使用http://deeplearning.net/tutorial/mlp.html#mlp 作为参考,特别是这一行:
gparams = [T.grad(cost, param) for param in classifier.params]
我想使用 Q-Learning 策略控制方法(如http://webdocs.cs.ualberta.ca/~sutton/book/ebook/node65.html 中所述)计算与最后一个操作相关联的输出单元的错误,并将其他输出错误设置为零。
如何使用 Theano 的 grad 函数将错误反向传播到神经网络的其余部分?
【问题讨论】:
-
我没有将强化学习与监督学习一起应用的经验;但是,如果您可以使用 Theano 表达式定义您的 q-learning 内容并使它们成为计算图的一部分,那么您可以以正常方式反向传播错误(即使用 T.grad(..) )。这可能有点相关:github.com/spragunr/deep_q_rl
-
是的,我看到了这个项目并将其用作参考。如果我只使用选定的操作来计算损失,那么 grad 函数似乎已经为我完成了工作。
标签: neural-network theano reinforcement-learning