【发布时间】:2015-02-05 02:29:00
【问题描述】:
我已经实现了 Q-Learning,如中所述,
http://web.cs.swarthmore.edu/~meeden/cs81/s12/papers/MarkStevePaper.pdf
为了大约。 Q(S,A) 我使用如下的神经网络结构,
- 激活 sigmoid
- 输入,输入数量 + 1 用于动作神经元(所有输入的比例为 0-1)
- 输出,单输出。 Q 值
- N 个 M 隐藏层。
- 探索方法随机0
在每次学习迭代中使用以下公式,
我计算一个 Q-Target 值,然后使用,计算一个错误,
error = QTarget - LastQValueReturnedFromNN
并通过神经网络反向传播误差。
Q1,我在正确的轨道上吗?我看过一些论文,它们实现了一个神经网络,每个动作都有一个输出神经元。
Q2,我的reward function返回-1到1之间的数字,激活函数为sigmoid(0 1)时返回-1到1之间的数字可以吗
Q3,根据我对这种方法的理解,如果有足够的训练实例,应该隔离它以找到最佳策略吗?在进行 XOR 训练时,有时它会在 2k 次迭代后学习它,有时它甚至在 40k 50k 次迭代后也不会学习。
【问题讨论】:
-
你也可以考虑在datascience.stackexchange.com提出这个问题
-
我猜答案是肯定的,是的,是的,但是神经网络是复杂的野兽。很容易给出错误的参数、学习率、隐藏单元的数量。相比之下,表格 Q 学习的实现和调试很简单。
-
@maxy Tabular Q-learning 只要状态空间很小,就很简单。
-
如果你觉得这个答案有用,你介意接受吗?
标签: machine-learning artificial-intelligence neural-network reinforcement-learning q-learning