【发布时间】:2018-11-05 16:29:11
【问题描述】:
您好,我正在研究手推车问题(倒立摆)的全面控制。我的目标是让系统达到稳定,这意味着所有状态(x、xdot、theta 和 theta)都应该收敛到零。我正在使用具有如下定义的奖励函数的 q-learning。
Q_table[pre_s + (a,)] += alpha * (R + gamma *(argmax(Q_table[s])) - Q_table[pre_s + (a,)])
R=1000*cos(theta)-1000*(theta_dot**2)-100*(x_dot**2)-100*(x**2)
不幸的是,没有收敛。通过 q-table 图,我可以看到它增加并稳定在最大值,但状态只是保持在一定范围内,不会变为零。我觉得我的代理学习速度不够快,在某些时候我不再学习了。 谁能帮帮我。
【问题讨论】:
-
欢迎来到 Stack Overflow!我编辑了你的问题的标题,使其更具可读性。尤其有必要正确标记代码示例,以禁止将其部分解释为格式符号。我还添加了一些空间和文章。
-
你的奖励对于这项任务来说是非常罕见的。也许那些大值 (*1000) 会导致不稳定。看看at OpenAI gym implementation cost function,这是这个任务最常见的。此外,很大程度上取决于您的学习率
alpha和您的探索策略(我猜是电子贪婪)。
标签: reinforcement-learning q-learning convergence reward