分层强化学习的实现(Implementations of Hierarchical Reinforc

2019-10-21 05:18发布

谁能推荐一个增强学习库或框架,可以通过抽象他们处理国家大型空间?

我试图实现在游戏世界中的小代理情报。 该试剂是由一个小两轮机器人,可以向前和向后,并打开左侧和右侧表示。 它具有用于在地面上,用于检测对象远几个超声波传感器,以及用于检测与物体或对手接触的凸块耦合的传感器检测的边界的一对传感器。 它也可以做一些简单的航位推算为基准的起始位置估计其在世界上的地位。 所以它可用的所有国家的特点是:

edge_detected=0|1
edge_left=0|1
edge_right=0|1
edge_both=0|1
sonar_detected=0|1
sonar_left=0|1
sonar_left_dist=near|far|very_far
sonar_right=0|1
sonar_right_dist=near|far|very_far
sonar_both=0|1
contact_detected=0|1
contact_left=0|1
contact_right=0|1
contact_both=0|1
estimated_distance_from_edge_in_front=near|far|very_far
estimated_distance_from_edge_in_back=near|far|very_far
estimated_distance_from_edge_to_left=near|far|very_far
estimated_distance_from_edge_to_right=near|far|very_far

我们的目标是找出其中接收奖励的信号状态,并学习政策,尽可能快地获得该奖励。 在传统的马尔可夫模型,离散表示这种状态下的空间将有2985984个可能的值,这是太多去探索每使用类似Q-学习或SARSA每一个。

谁能推荐一个合适的库此域(最好用Python绑定)或未实现的算法,我有可能实现自己加强?

Answer 1:

你的实际状态是机器人在世界上的位置和方向。 使用这些传感器读数是近似的,因为它很可能使许多国家难以区分。

现在,如果你走这条路,你可以用线性函数逼近。 然后这仅仅是24的二进制特征(12 0 | 1 + 6 * 2的附近|远| very_far)。 这是这样一个小数目,你甚至可以使用所有特征对学习。 再往下这条路是功能依赖的网上发现(见厄尔布尔士Geramifard的文件,例如)。 这直接关系到分层学习的兴趣。

另一种方法是使用传统的算法,可以跟踪机器人的位置,并且使用位置作为输入到RL。



文章来源: Implementations of Hierarchical Reinforcement Learning