深度强化学习第十二章——Deep Deterministic Policy Gradient(DDPG
从名字上看DDPG是由D(Deep)+D(Deterministic)+PG(Policy Gradient)组成
1.Deterministic Policy Gradient(DPG)
首先,我们先来了解下DPG是什么
确定性策略梯度(Deterministic Policy Gradient,简称DPG)。
1.2 为什么要DPG
不是有策略梯度(PG)了吗,为什么还有有DPG嘞
对于某一些动作集合来说,它可能是连续值,或者非常高维的离散值,这样动作的空间维度极大。如果我们使用随机策略,即像DQN一样研究它所有的可能动作的概率,并计算各个可能的动作的价值的话,那需要的采集大量样本。
即通过PG学习得到了随机策略之后,在每一步行为时,我们还需要对得到的最优策略概率分布进行采样,才能获得action的具体值。
而action通常是高维的向量,比如25维、50维。在高维的action空间的频繁采样,无疑是很耗费计算能力。
而且计算梯度需要通过蒙特卡洛采样来进行估算,也需要在高维的action空间进行采样,耗费+1。
简单来说,就是像暴力求解一样,太烧计算机了,得换种解法
所以在2014年,由Deepmind的D.Silver等提出 Deterministic policy gradient algorithms,即确定性策略算法。
一定的策略 μ \mu μ,对应一定的确定性动作的策略网络的参数 θ μ \theta^{\mu } θμ,在同一个状态 s s s处,,动作 a t a_t at是唯一确定的,
a t = μ ( s ∣ θ μ ) a_t=\mu(s|\theta^{\mu}) at=μ(s∣θμ)
在这之前,业界普遍认为,环境模型无关(model-free)的确定性策略是不存在的,而D.Silver等通过严密的数学推导,证明了DPG的存在。
为了更好地理解DPG,我们先回顾一下策略梯度(PG),基于Q值的梯度计算公式:
▽ θ J ( π θ ) = E s ∼ p π , a ∼ π θ [ ▽ θ l o g π θ ( a ∣ s ) Q π ( s , a ) ] \bigtriangledown _{\theta }J(\pi_{\theta})=E_{s\sim p^{\pi},a\sim \pi_{\theta}}[\bigtriangledown _{\theta }log\pi_{\theta}(a|s)Q^{\pi}(s,a)] ▽θJ(πθ)=Es∼pπ,a∼πθ[▽θlogπθ(a∣s)Qπ(s,a)]
随机性策略梯度需要在整个动作空间 π θ \pi_{\theta}% πθ采样,而DPG梯度公式如下:
▽ θ J ( μ θ ) = E s ∼ p