reinforcement-learning - 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 图,我可以看到它增加并稳定在最大值,但状态只是保持在一定范围内,不会变为零。我觉得我的代理学习速度不够快,在某些时候我不再学习了。谁能帮我。
解决方案
假设您使用的是 epsilon-greedy 方法,您的 alpha 和 gamma 值可能会产生很大的不同。我建议玩弄这些价值观,看看它如何影响你的经纪人。
另外,你能解释一下你的奖励函数背后的逻辑吗?将所有内容乘以 1000 似乎很不寻常。
推荐阅读
- sql - SQL如何选择至少包含某个条件并且多次出现的ID?
- solr - 我在 SOLR 7.5 中收到错误“rod() 不支持基于点的字段”。如何解决?
- flutter - 嵌套滚动正文中的正文显示在 headerSliverBuilder 后面
- jmeter - 将 .har 文件转换为 .jmx JMeter 后,请求正文被删除
- spring - 在 Spring 应用程序中测试 GCP 发布者重试设置
- c# - 如何将图像名称保存在mysql数据库中,然后用C#将图像上传到wamp服务器
- php - $_SESSION 摧毁德国元音变音
- python - 如何检测和删除那些复杂的表情符号?
- java - 如何在 Java 中打印不带分号的 Hello World?
- c++ - 调整轮廓大小/纠正不完整的轮廓 OpenCV