深度强化学习
第六篇:关于策略梯度的简述
提纲
- 什么是策略梯度?
- 策略梯度的优缺点?
- 策略梯度的公式和算法设计?
内容
🙋 什么是策略梯度?
对照Q-学习(基于价值的强化学习算法),策略梯度是基于策略的强化学习技术。不同于学习能告诉我们给定状态和行动下奖励总和的价值函数,策略帝都直接学习能使得状态映射到行动的策略函数。
策略可分为确定性策略(一个状态反馈一个行动)和随机策略(一个状态反馈得到行动的概率分布),大多数情况下采用随机策略(可测马尔科夫决策过程POMDP)。
🙋 策略梯度的优势
💪 更好的收敛性,可确保收敛域局部最大值(最坏情况)或是全局最大值(最好情况)。
💪 高维空间更有效,对于高维空间(近乎无限可能的行动或者连续行动)更有效。因为不可能对每个行动输出一个Q值。
💪 能够学习随机策略:第一,不需要应用exploration和exploitation的权衡。第二,agent尽可能在最大可能的情况下达到目标状态,不会被卡住(死胡同)
🙋 策略梯度的劣势
🍄 绝大多数情况下,收敛于局部最大值而不是全局最大值。。
🍄 策略梯度收敛非常慢,需要很长时间来训练。
🙋 策略细节
💪 带参数的策略输出行动集的概率分布如下
💪 得分函数
两步:使用策略梯度上升(因为要最大化得分函数)来寻找最佳参数来改进;利用策略评分函数来改进策略的质量。
推导过程在很多材料和强化学习的课程中都有,此处略。
策略梯度的结论:
🙋 蒙特卡罗策略梯度算法(需要大量采样,否则效果并不好)
1Initialize θ
2for each episode τ = S0, A0, R1, S1, …, ST:
3for t <-- 1 to T-1:
4Δθ = α ∇theta(log π(St, At, θ)) Gt
5θ = θ + Δθ
6
7For each episode:
8At each time step within that episode:
9Compute the log probabilities produced by our policy
10function. Multiply it by the score function.
11Update the weights
🙋 实战
xxxxxxxxxx
11万事俱备,TensorFlow,cuda各种版本不兼容,DDL找不到。自己电脑带不动,远程很卡,我佛了,开学再做这个。