关于DQN和Policy Gradient的学习

1.DQN的学习

这里有思路和流程:http://www.cnblogs.com/cjnmy36723/p/7018860.html

这里有DQN的伪代码,而且有俩个版本,区别就是targetQ的更新方式:https://blog.csdn.net/u013236946/article/details/72871858

这是个实际的例子:DQN玩Flappy Bird,结合实例看代码,理解起来会更容易。

https://www.jianshu.com/p/e63d8cd3b610

https://www.jianshu.com/p/0a04426ee3ad

贴一个我稍作修改的流程:

关于DQN和Policy Gradient的学习_第1张图片

2.本人是学了DQN后再看的Policy Gradient,先跟着一些教程看,还说要先去MDP的动态规划、蒙特卡罗、TD巴拉巴拉,之后看了发现,感觉并没有什么关系也没什么用……(如果你想了解的话,贴个链接:https://www.cnblogs.com/jinxulin/,我觉得关于这些写的比较好的)

本人理解觉得策略梯度就看下面这些:(PPT完整链接:http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching_files/pg.pdf)

这四张图是数学推导,白话版的可以看:https://www.jianshu.com/p/2ccbab48414b

关于PPT的详细解释:https://blog.csdn.net/cs123951/article/details/72471779

实例:https://www.cnblogs.com/pinard/p/10137696.html

(1)

关于DQN和Policy Gradient的学习_第2张图片

(2)

关于DQN和Policy Gradient的学习_第3张图片

(3)

关于DQN和Policy Gradient的学习_第4张图片

(4)(不带基数)蒙特卡洛策略梯度通过情节采样,使用随机梯度上升法更新参数,使用策略梯度法,返回vt作为Qπθ(st,at)的无偏估计。(理解:使用梯度上升法最大化J(θ)可以用来确定θ的取值,所以它们上升形式是一样的。)

损失函数的形式为:loss= -log(prob)*vt。(理解:这个loss函数反向传播进行求导就是Δθ的形式,但因为Δθ这是要增加的,可loss一般习惯都是求最小值,所以加负号。)

关于DQN和Policy Gradient的学习_第5张图片

(5)

关于DQN和Policy Gradient的学习_第6张图片

你可能感兴趣的:(Deep,Reinforcement,Learning)