李宏毅教授Policy Gradient课程笔记总结

Policy gradient:

求解梯度trick:

∇fx=f(x)∇logf(x)

Tip1:将回报值的期望作为基线,使得每次计算的回报有正负区别

Tip2:不将整场游戏得到的reward作为权重,为每个动作分配应有的权重,权重即为从当前时间t开始所有reward的累加

李宏毅教授Policy Gradient课程笔记总结_第1张图片

改进:增加折扣

李宏毅教授Policy Gradient课程笔记总结_第2张图片

 

On-policy:所学习的agent和用于环境交互的agent是同一个(自己学自己玩)

Policy gradient:不断sample不断学习,大多数时间用于sample data——>对其进行改进,使用一个数据更新多次,也就是off-policy

不能直接对f(x)积分,则用p分布进行sample,但是若无法用p分布来进行sample,则可以通过重要性采样来用q分布进行采样,其中q可以是任意分布

李宏毅教授Policy Gradient课程笔记总结_第3张图片

但是在实践中:

李宏毅教授Policy Gradient课程笔记总结_第4张图片

由于方差的差异,因此最好p和q的差异不要过大

Off-policy:所学习的agent和用于环境交互的agent不是同一个(看别人玩自己学)

李宏毅教授Policy Gradient课程笔记总结_第5张图片

  1. 我们需要将θ分布下的采样换成θ’李宏毅教授Policy Gradient课程笔记总结_第6张图片分布下的采样
  2. 忽略pθ(st)pθ'(st)这一项所带来的影响:①状态出现的概率通常和θ关系不大;②难以计算

 

避免action的pθ'分布相差太大,可以用PPO来解决

TRPO是PPO的前身,唯一的区别是TRPO将KL约束独立出来,这会导致更难以计算。两者性能相当,但是PPO在实际操作中容易得多。

其中KL(θ,θ')表示的是θ,θ'相似程度

李宏毅教授Policy Gradient课程笔记总结_第7张图片

算法过程:

李宏毅教授Policy Gradient课程笔记总结_第8张图片

 

简化的PPO版本:

李宏毅教授Policy Gradient课程笔记总结_第9张图片

若A>0则表示这个action是好的,因此我们希望pθ(at|st)pθk(at|st)越大越好

因此总的思想就是控制两个分布之间的差距,不要过大和过小

你可能感兴趣的:(强化学习笔记)