DRL(五)——DDPG

在我的笔记DRL(四)——value function中,大部分讲了Q Learning的算法、存在的问题和解决的措施。这一个笔记的内容是紧接上一篇的。
为什么要提出DDPG呢?
因为不管是DQN也好,DDQN也好,都是离散动作的,就是说,action是有限的。然而很多时候action都是连续的,这时候就需要新的方法了。

在连续动作空间中怎样选择最优action呢?

我们知道,在离散动作的Q Learning中,我们是通过 arg ⁡ a   m a x   Q ( S ′ , a ′ ) \arg_a~max~Q(S',a') arga max Q(S,a)来选择最大的Q值对应的动作a。但是如果是连续动作,我们就不太可能计算出所有动作的Q值了。
解决办法肯定是有的!

  1. sample several actions from continuous action space。这种方法比较简单但是就是不够准确。
    在这里插入图片描述
  2. CrossEntropy Method
  3. use function class that is easy to optimize, like the Normalized Advantage Function. 这种方法虽然很容易得到max,但是有其他弊端。
  4. learn an approximate maximizer——DDPG

我们训练一个 μ(θ) ,通过这个能够得到Q最大的动作。
在这里插入图片描述
然后完整的DDPG就是这样:
在这里插入图片描述
因为Q Learning是deterministic policy,这一点与AC是不同的,AC是stochastic policy。μ就仅仅是找出arg max。

实际操作一个DDPG

看了很多代码,各种复杂的有,跑不了的也有,……最后还是找到一个可以方便使用的。
代码的话,使用了两个AC,为了soft replacement,非常简洁。算法也和课程里的不一样:
在这里插入图片描述
怎么说,这个清楚明了吧。
具体解析参考这个大佬写的

这是在下手动整理的算法
在这里插入图片描述

一些Q Learning的小技巧

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值