【发布时间】:2012-11-07 10:45:58
【问题描述】:
据我了解,可以用神经网络替换 Q 值的查找表(状态-动作-对-评估)来估计这些状态-动作对。我编写了一个小型库,它能够通过自建的神经网络进行传播和反向传播,以学习特定输入输出的所需目标值。
所以我在谷歌搜索和谷歌搜索整个网络时也发现了这个网站(就像我的感觉一样):http://www.cs.indiana.edu/~gasser/Salsa/nn.html,其中简要解释了 Q-learning 与神经网络的结合。
对于每个动作,都有一个额外的输出神经元,这些输出“单元”之一的激活值告诉我估计的 Q 值。 (一个问题:激活值与神经元的“输出”相同还是不同?)
我使用标准的 sigmoid 函数作为激活函数,所以函数值 x 的范围是
0<x<1
所以我想,我的目标值应该总是从 0.0 到 1.0 -> 问题:我的理解正确吗?还是我误会了什么?
如果是,则会出现以下问题: 计算目标奖励/新 Q 值的公式为: q(s,a) = q(s,a) + learningrate * (reward + discountfactor * q'(s,a) - q(s,a))
那么,如果目标应该是从 0.0 到 1.0,我该如何执行这个方程来获得神经网络的正确目标?! 我如何计算好的奖励价值?朝着目标前进比远离目标更值得吗? (接近目标时的 +reward 比 -reward 更远的目标距离要多?)
我认为我有一些误解。我希望你能帮助我回答这些问题。非常感谢!
【问题讨论】:
标签: artificial-intelligence reinforcement-learning neural-network