DDPG(deep deterministic policy gradient)——连续控制的深度确定性策略梯度

DDPG(deep deterministic policy gradient)——连续控制的深度确定性策略梯度

学习记录,有错误感谢指出

基本概念


       深度确定性策略梯度(DDPG)是当前最常用的连续控制方法. ”深度“表明其使用了深度神经网络,”确定性“表明其输出的是确定的动作。

在这里插入图片描述

DDPG属于一种actor-critic的方法,它有一个策略网络(actor)和一个价值网络(critic).

  • 策略网络控制agent,它基于状态s输出动作a.
  • 价值网络不控制agent,它只是基于状态s对动作a打分,从而指导策略网络做出改进.

相关定义:
  1. 确定性策略网络μ:定义为一个函数,每一步的action可以通过at=μ(st)a_{t}=\mu(s_{t})at=μ(st),其参数为θμ\theta^\muθμ

  2. 行为策略 behavior policyβbehavior\ policy \betabehavior policyβ:在RL训练过程中,为了同时兼顾 exploration和exploitation,采用异策略方法,即行为策略可以不同于目标策略.

    • 目标策略(target policy):确定性策略网络μ(s;θnew)\mu(s;\theta_{new})μ(s;θnew),其中θnew\theta_{new}θnew是策略网络最新的参数.

    • 行为策略(behavior policy):为行为策略加入随机噪声:a=μ(s;θold)+ϵa=\mu(s;\theta_{old})+\epsilona=μ(s;θold)+ϵ.

    • 异策略的好处是可以把收集经验与训练神经网络分开进行;将根据behavior policy收集的经验存放至replay buffer,在训练target policy的时候,重复利用收集到的经验,如下图所示:

在这里插入图片描述

​       利用behavior policy与环境进行交互,将agent的轨迹整理成(st,at,rt,st+1)(s_t, a_t, r_t, s_{t+1})(st,at,rt,st+1)这样的四元组存放在经验回放缓存(replay buffer)中. 在训练的时候,随机从缓存中取出四元组进行训练.

DDPG网络框架


       DDPG是actor-critic的结构,同时引入DQN的思想(online和target 网络)

       如果对actor和critic只使用Q神经网络的话,学习过程不稳定,这是由bootstrapping带来的问题(Q神经的参数在被更新的同时,又用于计算Q网络和策略网络的gradient)

       所以,DDPG分别为策略网络和价值网络各创建了两个神经网络的拷贝,一个叫online,一个叫target:

在这里插入图片描述

       在训练完一个batch后,SGD算法实时更新online网络的参数,随后再通过soft update算法更新target网络的参数.

在这里插入图片描述

  • 优点:target网络参数变化小,用于在训练过程中计算online网络的gradient,比较稳定,训练易于收敛。
  • 缺点:参数变化小,学习过程变慢。

训练流程


下面以四元组$(s_t, a_t, r_t, s_{t+1})$为例,介绍训练流程.
1.更新价值网络(Critic)

       训练价值网络q(s,a;w)q(s,a;w)q(s,a;w)时,需要用到 四元组的st,at,rt,st+1s_t, a_t, r_t, s_{t+1}st,at,rt,st+1全部四个元素.

​ 1)首先计算TD Target

       ①由 Target 策略网络预测 st+1s_{t+1}st+1对应的下一动作:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值