强化学习 Pytorch

个人强化学习过程,Q-learning(基础)-> DQN -> AC -> A2C / A3C -> DDPG -> TD3

DQN

算法简要说明:采用经验回放与神经网络对Q-learning进行优化,使其能够输入连续的数,并更好的利用数据。

参考代码

Actor Critic

算法简要说明:Actor 基于概率选行为, Critic 基于 Actor 的行为评判行为的得分, Actor 根据 Critic 的评分修改选行为的概率。

说明:现已改正 CSDN 上错误代码并经行优化。Github上代码流程为跑完一次历程再进行网络优化,并且Actor和Critic共用同一个optimizer和loss,CSDN 上代码流程为原论文流程,即一边跑历程,一边训练网络,并且Actor和Critic具有不一样的optimizer和loss。

对比:原论文流程,即 CSDN 代码流程网络训练较慢,但收敛可能较快。但在跑 CartPole-v1 的时候效果还是Github 代码优异,只能说具体问题可以都试试,选择最优的代码流程。

CSDN 参考代码

Github 参考代码

A2C A3C

网上多数认为 DDPG TD3 PPO 优于 A3C 所以我没怎么看此两种方法。简单来说就是通过多线程同时计算多个网络,返回组合来更新策略和值函数来更新网络。

DDPG

讲的非常好的一篇文章

代码地址

TD3

讲的很好的文章

强化学习算法选择

讲的很好的文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

浙ICP备2021019730-1    浙公网安备 33010902002953号
Copyright © 2024 PanCake