DDPG(deep deterministic policy gradient)——连续控制的深度确定性策略梯度
学习记录,有错误感谢指出
基本概念
深度确定性策略梯度(DDPG)是当前最常用的连续控制方法. ”深度“表明其使用了深度神经网络,”确定性“表明其输出的是确定的动作。

DDPG属于一种actor-critic的方法,它有一个策略网络(actor)和一个价值网络(critic).
- 策略网络控制agent,它基于状态s输出动作a.
- 价值网络不控制agent,它只是基于状态s对动作a打分,从而指导策略网络做出改进.

相关定义:
-
确定性策略网络μ:定义为一个函数,每一步的action可以通过at=μ(st)a_{t}=\mu(s_{t})at=μ(st),其参数为θμ\theta^\muθμ
-
行为策略 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对应的下一动作:

最低0.47元/天 解锁文章
1359

被折叠的 条评论
为什么被折叠?



