RL策略梯度方法之(七): Deep Deterministic Policy Gradient(DDPG)

本文详细介绍了深度确定性策略梯度(DDPG)算法,该算法结合了DPG和DQN的思想,用于连续动作空间的深度强化学习。DDPG通过经验回放、目标网络和Actor-Critic框架,解决了数据采样少和策略更新不稳定的问题。文章涵盖了DDPG的原理、网络结构、更新过程,并提供了PyTorch实现的代码示例。

本专栏按照 https://lilianweng.github.io/lil-log/2018/04/08/policy-gradient-algorithms.html 顺序进行总结 。



D D P G \color{red}DDPG DDPG :[ paper:continuous control with deep reinforcement learning | code ]


原理解析

总体概述

之所以使用确定性策略的原因是相对与随机策略,就是因为数据的采样少,算法效率高,深度确定性策略就是使用了深度神经网络去近似值函数和策略梯度网络。总结一下DDPG算法使用以下核心思想:
(1)采用经验回放方法
(2)采用target目标网络更新(为什么要用target网络?因为训练的网络特别不稳定)
(3)AC框架
(4)确定性策略梯度

DDPG 算法流程图
在这里插入图片描述
算法采用 AC 框架,Actor获取状态 s s s , s s s 可以是一组向量(速度,位置等),经过 Actor 网络选取动作 action,Critic 根据动作action 和 s s s 进行评价,采用策略梯度最终更新两个网络的权重。

细节实现

是一个结合了DPG以及DQN的无模型离线演员-评论家算法。回忆一下,DQN(深度Q网络)通过经验回访以及冻结目标网络(设置独立的目标网络)的方式来稳定Q函数的训练过程。原始的DQN算法只能在离散的动作空间上使用,DDPG算法在学习一个确定性策略的同时通过演员-评论家框架将其扩展到连续的动作空间中。

回顾 DQN

算法流程
在这里插入图片描述
流程图
img

DDPG的经验回放和DQN完全相同

下面介绍DQN中的独⽴⽬标⽹络

DPG的更新过程如下:
imgimg

其中 a t + 1 = μ θ ( s t + 1 ) a_{t+1} = {\mu _\theta }(s_{t+1}) at+1=μθ(st+1),上述式子的目标值: r t + γ Q w ( s t + 1 , a t + 1 ) r_t + \gamma Q^w(s_{t+1},a_{t+1}) rt+γQw(st+1,at+1)

需要修改的是 式子中的 ω \omega ω θ \theta θ ,将其单独拿出来,利用独立的网络进行更新,DDPG的更新公式如下所示:
在这里插入图片描述

引入了DDPG,接下来从下面几个要点介绍一下。

先来总结下DDPG 4个网络的功能定位:

  1. Actor当前网络:负责策略网络参数 θ θ θ 的迭代更新,负责根据当前状态 S S S 选择当前动作 A A A ,用于和环境交互生成 S ′ , R S′,R S,R

  2. Actor目标网络:负责根据经验回放池中采样的下一状态 S ′ S′ S 选择最优下一动作 A ′ A′ A 。网络参数 θ ′ θ′ θ 定期从 θ θ θ 复制。

  3. Critic当前网络:负责价值网络参数 w w w 的迭代更新,负责计算当前 Q Q Q Q ( S , A , w ) Q(S,A,w) Q(S,A,w) 。目标 Q Q Q y i = R + γ Q ′ ( S ′ , A ′ , w ′ ) yi=R+γQ′(S′,A′,w′) yi=R+γQ(S,A,w)

  4. Critic目标网络:负责计算目标 Q Q Q 值中的 Q ′ ( S ′ , A ′ , w ′ ) Q′(S′,A′,w′) Q(S,A,w) 部分。网络参数 w ′ w′ w 定期从

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值