强化学习DDPG:Deep Deterministic Policy Gradient解读

1. DDPG

DDPG方法相比于传统的PG算法,主要有三点改进:

A. off-policy策略

传统PG算法一般是采用on-policy方法,其将整体强化学习过程分为多个epoch,在每个epoch完成一次policy模型和value模型更新,同时在每轮epoch都需要根据决策模型重新采样得到该轮的训练样本。

但当同环境交互代价比较高时,这种on-policy的方式效率并不好。因此DDPG提出了一种off-policy的方法,其可以利用历史的样本,假设对于历史样本\{s,a,r,s'\},DDPG的off-policy策略会重新根据当前target policy重新估计价值。

G(s,a)=r + \gamma Q_{\phi _{targ}}(s', \mu_{\theta_{targ} }(s'))

因此DDPG的对于价值预估模型Q_{\phi }(s,a)目标为,B表示从所有历史样本上随机抽取的Batch

J(\phi )=\sum_{(s,a,r,s')\sim B} [Q_{\phi }(s,a) - (r +\gamma Q_{\phi _{targ}}(s', \mu_{\theta_{targ} }(s'))]^2

而传统on-policy策略的目标为,下式中R(s,a)可以是MC采样后累积收益,D表示当前epoch轮的采样结果。

J(\phi )=\sum_{(s,a,r)\sim D} [Q_{\phi }(s,a) - R(s,a)]^2

B. 更复杂的确定性连续动作策略场景建模

传统PG算法是通过一个动作分布\pi(a|s)来建模运作,这种动作分布一般是离散的,或者将动作建模高斯分布,通过一个神经网络拟合分布均值和标准差两个参数。

DDPG采用一个动作生成网络\mu(s)可以输出确定性且连续的动作值。

C. Target Networks

DDPG的off-policy策略会重新根据当前target policy重新估计价值,因此此处的估计值是通过另一个网络Target Networks进行计算的,主要是为了避免直接采用目标优化网络进行预估时,变化太大而影响效果。

传统的DQN会更隔一段时间,整体同步目标优化网络的参数给Target Network。而DDPG采用的是一种更为平滑的方式,帮助Target Network及时适配目标优化网络的参数。

\theta_{targ}=\rho \theta_{targ} + (1-\rho )\theta \\ \phi_{targ}=\rho \phi_{targ} + (1-\rho )\phi

D. Exploration

DDPG是确定性动作决策,所以为了保证探索,DDPG在采样动作后添加了一个高斯噪声,同时添加了截断来避免不合适的动作值。

a=clip(\mu_{\theta }(s)+\epsilon, a_{low}, a_{high}),\ \varepsilon \sim N

DDPG的算法整体流程

 2. Twin Delayed DDPG

Twin Delayed DDPG又被称为TD3算法,其主要在DDPG的基础上做了两点升级:

A. target policy smoothing

前文提到DDPG的off-policy策略会重新根据当前target policy重新估计价值,这里的target policy生成的动作没有加上噪声探索,因为这里只是用于估计价值,而不是要探索。

而TD3算法却对这里的target policy动作加上了噪声,其主要原因是为了正则化,这个正则化操作平滑了训练中可能会出现某些不正确的动作尖峰。

a'(s'|\mu_{\theta_{targ} })=clip(\mu_{\theta_{targ} }(s')+clip(\epsilon, -c, c), a_{low}, a_{high}),\ \varepsilon \sim N

B. clipped double-Q learning

DDPG是基于Q-learning的,其由于是取最大可能性的某个确定动作,因此可能会带来Maxinum偏差(简单理解为由于预估分布的存在,所以最大值一般都会偏移期望值),这个问题可能通过double Q-learning进行解决。

TD3在DDPG的基础上,应用了double Q-learning思路,引入了两个target价值预估模型,分别生成价值预估,并选择其中最小作为最终的预估值。

G_t(s,a)=r + \gamma \text{Max}_i\ Q_{\phi _{targ,i}}(s', a'(s'|\mu_{\theta_{targ} })),\ i=1,2

同时也存在两个目标价值模型:

J(\phi_i )=\sum_{(s,a,r,s')\sim D} [Q_{\phi_i }(s,a) - G(s,a)]^2,\ i=1,2

但是target决策模型只有一组,其也只根据某个一个目标价值模型优化:

J(\theta)=\sum_{(s)\sim D} Q_{\phi_1 }(s,\mu_\theta(s))

TD3的算法整体流程

3. Soft Actor-Critic

由于DDPG只能产出确定性动作,因此Soft Actor Critic (SAC) 实现产出概率性动作决策 stochastic policy,SAC算法相比于TD3主要有两点不同:

A. entropy regularization

entropy regularization熵正则是SAC最核心的内容,因为SAC实现产出概率性动作决策a'\sim \pi(a'|s'),概率性动作决策主要问题是生成动作概率可能过于分散,因此SAC通过熵正则来避免这种情况。

G_t(s,a)=r + \gamma \text{Min}_i\ [Q_{\phi _{targ,i}}(s', a')+\alpha H(\pi(\cdot |s'))],\ i=1,2\\G_t(s,a)=r + \gamma \text{Min}_i\ [Q_{\phi _{targ,i}}(s', a')-\alpha log(\pi(a'|s'))],\ i=1,2

同时policy模型更新目标也添加了熵正则,但是其把两个目标模型都应用了,这个同TD3是不同。

J(\theta)=\sum_{(s,a,r)\sim D} [\text{Min}_i\ Q_{\phi_i }(s,a_\theta )-\alpha log(\pi(a_\theta|s))],\ i=1,2

B. Exploration

SAC由于其动作决策函数是概率的,所以天然有exploration特性,因此对于动作决策模型其并没有target network。另外通过在训练中控制\alpha也可以控制动作决策模型的exploration特性。

 

### 回答1: Deep Deterministic Policy GradientDDPG)是一种基于深度神经网络的强化学习算法。它是用来解决连续控制问题的,即输出动作的取值是连续的。DDPG是在DPG(Deterministic Policy Gradient)的基础上进行改进得到的,DPG是一种在连续动作空间中的直接求导策略梯度的方法。DDPG和DPG都属于策略梯度算法的一种,与其他策略梯度算法(如REINFORCE)的不同之处在于,DPG和DDPG都是基于偏微分方程的直接求导,而不是蒙特卡罗方法进行计算。DDPG使用一个确定性策略来生成动作,但同时使用一个噪声过程来扰动输出的动作,以产生更多的状态动作样本。这样一来,DDPG就具有了良好的探索能力,使得它在解决复杂的连续动作问题时能取得较好的效果。 ### 回答2: 深度确定性策略梯度(Deep Deterministic Policy GradientDDPG)是一种用于解决深度强化学习问题的方法。 DDPG是基于确定性策略梯度(Deterministic Policy Gradient,DPG)的算法,可以在连续动作空间下进行强化学习。与传统的策略梯度方法不同,DDPG直接学习确定性策略,在给定状态下选择最优的动作。 DDPG主要由两个网络组成:一个是Actor网络,用于学习确定性策略;另一个是Critic网络,用于估计状态-动作对的Q值。Actor网络根据当前状态选择动作,Critic网络根据当前状态和动作的组合估计其对应的Q值。通过不断地交互环境、收集数据和更新网络参数,DDPG算法逐渐优化确定性策略和Q值估计,以使得智能体在环境中获得更高的累积奖励。 DDPG算法的核心思想是通过使用Experience Replay和目标网络来提高学习的稳定性和收敛性。Experience Replay将智能体与环境的交互经验存储在一个经验回放缓冲区中,然后从中随机采样进行训练;目标网络通过延迟更新目标网络的方式,减小训练中的目标值变动,从而提高算法的稳定性。 DDPG算法在解决连续控制任务中表现出良好的性能和收敛性,可以应用于机器人控制、无人驾驶、金融交易等复杂任务中。然而,DDPG算法也存在一些挑战和问题,如对超参数的敏感性、样本效率较低等,这些问题是DDPG算法持续改进的方向之一。 ### 回答3: Deep Deterministic Policy GradientDDPG)是一种用于连续动作空间的深度强化学习算法。它结合了深度神经网络和确定性策略梯度的优势,可以应用于诸如机器人控制和金融投资等领域。 DDPG算法的核心思想是通过在连续动作空间中学习一个行动者-评论家系统。行动者使用确定性策略,即给定状态输出一个具体的动作,而评论家则评估行动者的动作质量。这两个网络都是用深度神经网络来表示,并通过梯度下降来进行优化。 在训练过程中,DDPG使用了经验回放缓冲区来存储之前的转换并随机采样进行训练。这样做可以解决样本相关性和非稳定性问题。同时,为了保持算法的探索性,DDPG采用了一个目标网络,用于与主网络进行定期的软更新。 DDPG的优点在于能够处理连续动作空间,通过近似价值函数和策略函数,对高维、非线性状态空间进行建模。此外,DDPG还有很好的收敛性和稳定性,可以在复杂任务中取得较好性能。 然而,DDPG也存在一些挑战。由于使用了神经网络近似值函数,对网络结构的选择和超参数的调整都非常重要。此外,训练过程中可能会出现训练不稳定的问题,需要进行合适的技巧和调整。 总结来说,DDPG是一种深度强化学习算法,适用于连续动作空间的问题。通过结合确定性策略梯度和深度神经网络的优势,DDPG能够解决高维、非线性状态空间的问题,并在复杂任务中取得好的性能。然而,对网络结构和超参数的选择需要仔细调整,且训练过程中可能存在稳定性问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值