我创建了一个具有真实物理引擎的pymunk沙箱,火柴人的身体由多个刚体和关节组成,基于torch搭建深度强化学习算法训练火柴人学会站立和行走。 模型接受火柴人各躯干的位置和速度信息,输出每个时段给予电机的角动量。值得一提的是我的前后端都是白嫖的,感谢Github Pages的免费静态网站托管和Koyeb的免费后端服务托管。
在这个工作中,我训练了一个火柴人在二维物理沙箱中学会站立和行走,并且搭建前后端来可视化训练进展。 先前的工作往往高度封装强化学习算法细节,并且环境搭建缺乏定制化方案。 为了解决这个问题,我搭建了一个pymunk二维沙箱,通过带有物理属性的刚体搭建环境,极易编辑和拓展。 为了提升调试强化学习算法细节的能力,我构建了一个通用强化学习框架 NyteRL,只需要实现简单的接口即可使用自己的环境、模型、agent和奖励,这一过程收到的影响因素最少,具有极低的编程和调试成本。 TODO:大量的实践表明我的方法在二维火柴人场景的表现暂时不如传统方法,在下游任务中有很大潜力。