Skip to content

Latest commit

 

History

History
63 lines (41 loc) · 1.89 KB

README_CN.md

File metadata and controls

63 lines (41 loc) · 1.89 KB

rl_parl_gym_CarRacing-v0

English Readme

尝试利用PARL框架,解决GYM的'CarRacing-v0'问题。

环境

GYM BOX2D CarRacing-v0

print(env.observation_space)
print(env.action_space)
Box(96, 96, 3)
Box(3,)

observation_space,长宽为96,通道数为3。 action_space,3个连续值,分别表示方向,加速,减速。

车每驶过一小段未经过的路,得到约3的奖励值。 每一帧得到约0.1的惩罚值。 车驶出场地边界,将得到100惩罚值。

思路

计划分为三个解决方案

  • 方案一

问题最简化,易训练,但跑完一局的时间可能比较长。

默认开局前N帧加速,之后速度保持不变。 这样Agent的决策空间简化为前进,左转,右转,三个离散值。 训练难度下降,但是由于速度不变,不会拿到高分。 本方案为了加速训练,增加了一个惩罚条件。连续若干帧拿不到正值的时候,手动给一个负值。也就是说,当车离开路的时候,会更早拿到惩罚。

observation的处理上,首先,去掉96*96下面的非地图部分,高变为84。然后把图片缩小为原来的3分之1,高28,宽32。接下来,把赛道以外的深浅两种绿色像素替换为黑色,并把通道数降成1。最后把黑色以外的像素替换成白色,预处理完成。

  • 方案二

方案一的基础上增加动作,训练难度增加,跑完一局的时间应该可以缩短。

增加加速,减速等动作,决策空间增加到七个离散值。 还在训练中。

  • 方案三

利用最原本的动作空间训练,目前难以收敛,还需要调整。

成果

  • 方案一

左转控制比较好,部分右转情况控制还不理想。

s01_01

  • 方案二

训练中,敬请期待。

  • 方案三

计划中,敬请期待。