赞
踩
本篇介绍确定性策略梯度算法,该算法主要用于off-policy(on-policy也能用)。在DQN等值函数估计算法中,最终策略的形式是需要对动作状态值函数取极大 a = a r g m a x a ′ Q ( s , a ′ ) a={\rm argmax}_{a'}Q(s,a') a=argmaxa′Q(s,a′),这种方法只能用在有限的离散动作空间中,无法应用在较大离散空间或是连续的动作空间。
随机策略梯度法的核心公式为
∇ θ J ( θ ) = E τ ∼ π θ [ ( ∑ t = 0 T ∇ θ log π θ ( a i , t ∣ s i , t ) ) ( ∑ t = 0 T r ( s i , t , a i , t ) ) ] \nabla_{\theta}J(\theta)=E_{\tau\sim\pi_{\theta}}[(\sum_{t=0}^T\nabla_{\theta}\log\pi_{\theta}(a_{i,t}|s_{i,t}))(\sum_{t=0}^Tr(s_{i,t},a_{i,t}))] ∇θJ(θ)=Eτ∼πθ[(t=0∑T∇θlogπθ(ai,t∣si,t))(t=0∑Tr(si,t,ai,t))]
策略梯度算法直接对轨迹的价值函数求导,因此它不用完成最优动作选取的过程,就算在AC算法中也是使用的 r t + v ( s t + 1 ) − v ( s t ) r_{t}+v(s_{t+1})-v(s_{t}) rt+v(st+1)−v(st),不需要选取下一次的动作。但这种方法是on-policy算法,非常依赖与环境交互的过程,并且无法利用之前采样的数据进行更新策略,造成资源的浪费。DQN可以采用off-policy算法进行学习,DPG是将这两种方法的优势相结合。
DPG与DQN都是采用e-greedy的方法与环境进行交互,因为DPG是确定性策略,可以在确定的行动上加上噪声作为随机策略。
DPG与随机策略梯度算法相同,也是直接对轨迹的期望价值函数进行求导,公式推导如下所示
∇ θ v μ ( s ) = ∇ θ [ q μ ( s , μ θ ( s ) ) ] \nabla_{\theta}v_{\mu}(s)=\nabla_{\theta}[q_{\mu}(s,\mu_\theta(s))] ∇θvμ(s)=∇θ[qμ(s,μθ(s))]
与随机策略不同,确定性策略的价值函数与确定性策略有关,因此求导时应该使用链式法则,如下所示
∇ μ ( s ) q μ ( s , μ ( s ) ) ∇ θ μ θ ( s ) \nabla_{\mu(s)}q_\mu(s,\mu(s))\nabla_\theta\mu_\theta(s) ∇μ(s)qμ(s,μ(s))∇θμ
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。