Policy Gradient DQN
利用神经网络来计算某个状态下执行各个动作的Q值是多少,从而辅助我们选取最优的动作,是一个回归问题,研究自变量和因变量之间的关系
通过计算Q值,获取最优动作
方法:
采用策略梯度算法,策略梯度是Policy-Based的回合更新算法,本质上是一个分类问题,就是计算某个状态分类到某个动作的概率是多少,策略就是希望一个动作得到的奖励越多,它被选择的概率也越大。
和DQN一样可以用神经网络来拟合这个过程,先确定我们目标函数,我们要优化的目标是使累积回报最大化,因此:
目标函数=∑▽logπ(a|s, θ)*Rt
loss函数:-∑logπ(a|s, θ)*Rt(一般我们定义loss函数,会对loss函数进行求导,使用梯度下降算法不断使得loss最小,但是我们现在是希望目标函数最大化,所以在实际计算中会对目标函数取负数)
θ:神经网络的参数
π(a|s, θ):在状态s以及给定策略π中执行动作a的概率
Rt:回合结束所获得的折扣累积回报
相比于Value-Based的DQN算法,Policy-Based的PG算法有如下优点:
1.容易收敛,因为每次改善都是对策略进行改进,而Value-Based算法后期迭代的时候有时会发生震荡不收敛
2.支持连续型以及高纬度的动作空间,而Value-Based需要计算所有动作的Q值,因此难以处理连续型的或者高维的动作空间
3.能学到一些随机策略,因为是根据动作的概率选取,即使概率很小,也有可能被选中,而Value-Based每次都选取价值最大的动作 (虽然我们也加入了一些随机探索策略,但是随机性没那么强)
学习记录–引用自学长的微信朋友圈笔记加上自己的理解