首页 > 解决方案 > Q-learning 在倒立摆上的收敛性

问题描述

您好,我正在全面控制手推车问题(倒立摆)。我的目标是让系统达到稳定,这意味着所有状态(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 图,我可以看到它增加并稳定在最大值,但状态只是保持在一定范围内,不会变为零。我觉得我的代理学习速度不够快,在某些时候我不再学习了。谁能帮我。

标签: reinforcement-learningq-learningconvergencereward

解决方案


假设您使用的是 epsilon-greedy 方法,您的 alpha 和 gamma 值可能会产生很大的不同。我建议玩弄这些价值观,看看它如何影响你的经纪人。

另外,你能解释一下你的奖励函数背后的逻辑吗?将所有内容乘以 1000 似乎很不寻常。


推荐阅读