一些常见强化学习算法简单代码实现。工程应用请使用 stable baselines.
- Python 3.X
- 安装gym, mujoco 详见:gym
- 安装pytorch, 详见:pytorch
在模型已知且动作空间离散、状态空间离散的情况下,动态规划算法可以解决强化学习问题。其中算法包括策略迭代算法与值迭代算法。vi_and_pi.py中实现了这两个算法。
- 运行策略迭代算法
$ cd RL-toys $ python vi_and_pi.py --policy
- 运行值迭代算法
$ cd RL-toys $ python vi_and_pi.py --value
-
训练策略网络
$ cd RL-toys $ python pg.py --train
-
查看训练过程中每个batch回报值变化
$ tensorboard --logdir=save/pg/
可在网页中看到每个batch的平均回报、最大回报等数据:
-
测试训练好的模型
$ python pg.py --test
PPO比较稳,但不一定效果最好。