强化学习蘑菇书学习笔记06

第十二章 深度确定性策略梯度(DDPG)算法

DDPG(Deep Deterministic Policy Gradient): 在连续控制领域经典的RL算法,是DQN在处理连续动作空间的一个扩充。具体地,从命名就可以看出,Deep是使用了神经网络;Deterministic 表示 DDPG 输出的是一个确定性的动作,可以用于连续动作的一个环境;Policy Gradient 代表的是它用到的是策略网络,并且每个 step 都会更新一次 policy 网络,也就是说它是一个单步更新的 policy 网络。其与DQN都有目标网络和经验回放的技巧,在经验回放部分是一致的,在目标网络的更新有些许不同。

请解释随机性策略和确定性策略。
答:

  • 对于随机性的策略 π θ ( a t ∣ s t ) \pi_{\theta}\left(a_{t} \mid s_{t}\right) πθ(atst), 我们输入某一个状态 s s s, 采取某一个 action 的可能性并不是百分之百, 而是有一个概 率 P \mathrm{P} P 的, 就好像抽奖一样, 根据概率随机抽取一个动作。
  • 对于确定性的策略 μ θ ( s t ) \mu_{\theta}\left(s_{t}\right) μθ(st), 其没有概率的影响。当神经网络的参数固定下来了之后, 输入同样的state, 必然输出同 样的 action, 这就是确定性的策略。

对于连续动作的控制空间和离散动作的控制空间, 如果我们都采取使用Policy网络的话, 分别应该如何操作?
答:

首先需要说明的是, 对于连续的动作控制空间, Q-learning、DQN等算法是没有办法处理的, 所以我们需要使用神经 网络进行处理, 因为其可以既输出概率值 π θ ( a t ∣ s t ) \pi_{\theta}\left(a_{t} \mid s_{t}\right) πθ(atst), 也可以输出确定的策略 μ θ ( s t ) \mu_{\theta}\left(s_{t}\right) μθ(st)

  • 要输出离散动作的话, 最后的output的激活函数使用 softmax 就可以实现。其可以保证输出是的动作概率, 而且所有 的动作概率加和为 1 。
  • 要输出连续的动作的话, 可以在输出层这里加一层 tanh激活函数。其作用可以把输出限制到 [ − 1 , 1 ] [-1,1] [1,1] 之间。我们拿到这 个输出后, 就可以根据实际动作的一个范围再做一下缩放, 然后再输出给环境。比如神经网络输出一个浮点数是 2.8, 然后经过 tanh 之后, 它就可以被限制在 [ − 1 , 1 ] [-1,1] [1,1] 之间, 它输出 0.99 0.99 0.99 。然后假设说小车的一个速度的那个动作范围 是 [-2,2] 之间, 那我们就按比例从 [-1,1] 扩放到 [ − 2 , 2 ] , 0.99 [-2,2], 0.99 [2,2],0.99 乘 2, 最终输出的就是 1.98 1.98 1.98, 作为小车的速度或者说推小 车的力输出给环境。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值