• 策略梯度方法介绍——确定性策略梯度定理


    引言

    上一节我们介绍了 行动者-评论家(AC)方法,其核心思想是将policy_based与value_based方法相结合,仅需要执行一次状态转移过程,就可立即进行策略改进。本节将继续沿用AC方法框架,介绍 确定性策略梯度定理

    回顾:策略梯度定理

    策略梯度方法介绍——蒙特卡洛策略梯度方法(REINFORCE)介绍了策略梯度定理的期望表达形式
    ∇ J ( θ ) = E S t ∼ ρ π θ ; A t ∼ π θ [ ∇ log ⁡ π ( A t ∣ S t ; θ ) q π θ ( S t , A t ) ] \nabla \mathcal J(\theta) = \mathbb E_{S_t \sim \rho^{\pi_{\theta}};A_t \sim \pi_{\theta}}[\nabla \log \pi(A_t \mid S_t;\theta)q_{\pi_{\theta}}(S_t,A_t)] J(θ)=EStρπθ;Atπθ[logπ(AtSt;θ)qπθ(St,At)]
    其中, t t t时刻状态 S t S_t St服从状态分布 ρ π θ \rho^{\pi_{\theta}} ρπθ t t t时刻动作 A t A_t At服从 S t S_t St时刻的策略函数 π ( A t ∣ S t ; θ ) \pi(A_t \mid S_t;\theta) π(AtSt;θ)

    确定性策略梯度

    确定性策略梯度的表示形式

    既然有确定型策略梯度,自然也会有随机性策略梯度。在策略梯度定理推导过程中介绍的就是随机性策略梯度的推导过程。两者之间主要的差别是 t t t时刻动作 A t A_t At服从的策略是确定性策略还是随机性策略

    在最早的马尔可夫奖励过程(MRP)中介绍到确定性策略—智能体在某一状态下只能执行唯一一个确定的动作。因此,在策略梯度方法中,策略 π ( A t ∣ S t ; θ ) \pi(A_t \mid S_t;\theta) π(AtSt;θ)是一个 常数,而常数自身是不存在梯度的,因此 ∇ π ( A t ∣ S t ; θ ) = 0 \nabla \pi(A_t \mid S_t;\theta) = 0 π(AtSt;θ)=0;

    为了在算法过程中,继续对参数 θ \theta θ求解梯度,对确定性策略设定一个符号: μ ( S t ; θ ) \mu(S_t;\theta) μ(St;θ),记为 μ θ \mu_{\theta} μθ

    • μ ( S t ; θ ) \mu(S_t;\theta) μ(St;θ)可看成是关于 S t S_t St和参数 θ \theta θ函数,而不是条件概率;
    • μ ( S t ; θ ) \mu(S_t;\theta) μ(St;θ)本身就可以表示动作 A t A_t At

    J ( θ ) \mathcal J(\theta) J(θ)仍然表示 μ θ \mu_{\theta} μθ条件下,初始状态的回报 G 0 G_0 G0的期望 E μ θ [ G 0 ] \mathbb E_{\mu_{\theta}}[G_0] Eμθ[G0]。因此,对确定性策略梯度 ∇ J ( θ ) \nabla \mathcal J(\theta) J(θ)表示如下:
    ∇ J ( θ ) = ∇ E μ θ [ G 0 ] = E [ ∑ k = 0 + ∞ γ k ∇ μ ( S t ; θ ) [ ∇ a q μ θ ( S t , a ) ] ∣ a = μ ( S t ; θ ) ] \nabla \mathcal J(\theta) = \nabla \mathbb E_{\mu_{\theta}}[G_0] = \mathbb E \left[\sum_{k=0}^{+\infty}\gamma^k \nabla \mu(S_t;\theta)[\nabla_{a}q_{\mu_{\theta}}(S_t,a)]|_{a=\mu(S_t;\theta)} \right] J(θ)=Eμθ[G0]=E[k=0+γkμ(St;θ)[aqμθ(St,a)]a=μ(St;θ)]
    更一般的形式表示如下:
    ∇ J ( θ ) = E S t ∼ ρ μ θ [ ∇ μ ( S t ; θ ) ∇ a q μ θ ( S t , a ) ∣ a = μ ( S t ; θ ) ] \nabla \mathcal J(\theta) = \mathbb E_{S_t \sim \rho^{\mu_{\theta}}} \left[\nabla \mu(S_t;\theta) \nabla_{a}q_{\mu_{\theta}}(S_t,a) |_{a=\mu(S_t;\theta)}\right] J(θ)=EStρμθ[μ(St;θ)aqμθ(St,a)a=μ(St;θ)]

    和回顾中策略梯度定理中期望的表达形式对比,主要有如下几个区别:

    • 期望结果中,分布只包含状态分布 S t ∼ ρ μ θ S_t \sim \rho^{\mu_{\theta}} Stρμθ
    • 期望内部,不仅要对 μ ( S t ; θ ) \mu(S_t;\theta) μ(St;θ)中的 θ \theta θ求解梯度,还要对状态-动作价值函数 q μ θ ( S t , a ) q_{\mu_{\theta}}(S_t,a) qμθ(St,a)中的 a a a求解梯度;
    • 不存在 log ⁡ \log log项;

    带着上述的几个区别,执行确定性策略梯度的算法推导过程

    确定性策略梯度算法推导过程

    整个推导过程和‘策略梯度定理’推导过程非常相似,大家可以对比查看。
    策略函数 π ( a ∣ s ; θ ) \pi(a \mid s;\theta) π(as;θ)成为确定性策略 μ ( s ; θ ) \mu(s;\theta) μ(s;θ)后,最主要的变化状态价值函数 V μ θ ( s ) V_{\mu_{\theta}}(s) Vμθ(s)状态-动作价值函数 q μ θ ( s , μ ( s ; θ ) ) q_{\mu_{\theta}}(s,\mu(s;\theta)) qμθ(s,μ(s;θ))相等:
    动作被唯一确定了;
    V μ θ ( s ) = q μ θ ( s , μ ( s ; θ ) ) , s ∈ S V_{\mu_{\theta}}(s) = q_{\mu_{\theta}}(s,\mu(s;\theta)), s \in \mathcal S Vμθ(s)=qμθ(s,μ(s;θ)),sS

    根据贝尔曼期望方程,将 q μ θ ( s , a ) q_{\mu_{\theta}}(s,a) qμθ(s,a)展开为如下形式:
    r ( s , μ ( s , θ ) ) r(s,\mu(s,\theta)) r(s,μ(s,θ))被称为奖赏函数。
    q μ θ ( s , μ ( s ; θ ) ) = r ( s , μ ( s ; θ ) ) + γ ∑ s ′ , r P ( s ′ , r ∣ s , μ ( s ; θ ) ) V μ θ ( s ′ ) , s ∈ S q_{\mu_{\theta}}(s,\mu(s;\theta)) = r(s,\mu(s;\theta)) + \gamma \sum_{s',r}P(s',r \mid s,\mu(s;\theta))V_{\mu_{\theta}}(s'), s \in \mathcal S qμθ(s,μ(s;θ))=r(s,μ(s;θ))+γs,rP(s,rs,μ(s;θ))Vμθ(s),sS
    继续化简,后一项的 r r r可以使用概率密度积分的方式消掉。整理得:
    q μ θ ( s , μ ( s ; θ ) ) = r ( s , μ ( s , θ ) ) + γ ∑ s ′ P ( s ′ ∣ s , μ ( s ; θ ) ) V μ θ ( s ′ ) , s ∈ S q_{\mu_{\theta}}(s,\mu(s;\theta)) = r(s,\mu(s,\theta)) + \gamma \sum_{s'}P(s' \mid s,\mu(s;\theta))V_{\mu_{\theta}}(s'), s \in \mathcal S qμθ(s,μ(s;θ))=r(s,μ(s,θ))+γsP(ss,μ(s;θ))Vμθ(s),sS

    分别对 V μ θ ( s ) , q μ θ ( s , μ ( s ; θ ) ) V_{\mu_{\theta}}(s),q_{\mu_{\theta}}(s,\mu(s;\theta)) Vμθ(s),qμθ(s,μ(s;θ))求解梯度:
    ∇ V μ θ ( s ) = ∇ q μ θ ( s , μ ( s ; θ ) ) \nabla V_{\mu_{\theta}}(s) = \nabla q_{\mu_{\theta}}(s,\mu(s;\theta)) Vμθ(s)=qμθ(s,μ(s;θ))
    q μ θ ( s , μ ( s ; θ ) ) q_{\mu_{\theta}}(s,\mu(s;\theta)) qμθ(s,μ(s;θ))求解梯度过程中,由于对 θ \theta θ求解梯度,因此注意 链式求导法则乘法求导
    ∇ q μ θ ( s , μ ( s ; θ ) ) = ∇ a r ( s , a ) ∣ a = μ ( s ; θ ) ⋅ ∇ μ ( s ; θ ) + γ ∑ s ′ { ∇ a P ( s ′ ∣ s , a ) ∣ a = μ ( s ; θ ) ⋅ ∇ μ ( s ; θ ) ⋅ V μ θ ( s ′ ) + P ( s ′ ∣ s , μ ( s ; θ ) ) ∇ V μ θ ( s ′ ) } \nabla q_{\mu_{\theta}}(s,\mu(s;\theta)) = \nabla_{a} r(s,a)|_{a=\mu(s;\theta)}\cdot\nabla\mu(s;\theta) + \gamma \sum_{s'}\left\{\nabla_{a} P(s' \mid s,a)|_{a = \mu(s;\theta)} \cdot \nabla \mu(s;\theta) \cdot V_{\mu_{\theta}}(s') + P(s' \mid s,\mu(s;\theta)) \nabla V_{\mu_{\theta}}(s') \right\} qμθ(s,μ(s;θ))=ar(s,a)a=μ(s;θ)μ(s;θ)+γs{aP(ss,a)a=μ(s;θ)μ(s;θ)Vμθ(s)+P(ss,μ(s;θ))Vμθ(s)}
    含有 ∇ μ ( s ; θ ) \nabla \mu(s;\theta) μ(s;θ)的项提出来:
    ∇ μ ( s ; θ ) ⋅ [ ∇ a r ( s , a ) + γ ∑ s ′ ∇ a P ( s ′ ∣ s , a ) ⋅ V μ θ ( s ′ ) ] a = μ ( s ; θ ) + γ ∑ s ′ P ( s ′ ∣ s , μ ( s ; θ ) ) V μ θ ( s ′ ) \nabla\mu(s;\theta) \cdot \left[\nabla_{a}r(s,a) + \gamma\sum_{s'}\nabla_{a}P(s' \mid s,a) \cdot V_{\mu_{\theta}}(s')\right]_{a=\mu(s;\theta)} + \gamma \sum_{s'}P(s'\mid s,\mu(s;\theta))V_{\mu_{\theta}}(s') μ(s;θ)[ar(s,a)+γsaP(ss,a)Vμθ(s)]a=μ(s;θ)+γsP(ss,μ(s;θ))Vμθ(s)
    又因为:
    ∇ a r ( s , a ) + γ ∑ s ′ ∇ a P ( s ′ ∣ s , a ) ⋅ V μ θ ( s ′ ) = ∇ a r ( s , a ) + ∇ a γ ∑ s ′ P ( s ′ ∣ s , a ) ⋅ V μ θ ( s ′ ) = ∇ a [ r ( s , a ) + γ ∑ s ′ P ( s ′ ∣ s , a ) ⋅ V μ θ ( s ′ ) ] = ∇ a q μ θ ( s , a )

    ar(s,a)+γsaP(ss,a)Vμθ(s)=ar(s,a)+aγsP(ss,a)Vμθ(s)=a[r(s,a)+γsP(ss,a)Vμθ(s)]=aqμθ(s,a)" role="presentation" style="position: relative;">ar(s,a)+γsaP(ss,a)Vμθ(s)=ar(s,a)+aγsP(ss,a)Vμθ(s)=a[r(s,a)+γsP(ss,a)Vμθ(s)]=aqμθ(s,a)
    ar(s,a)+γsaP(ss,a)Vμθ(s)=ar(s,a)+aγsP(ss,a)Vμθ(s)=a[r(s,a)+γsP(ss,a)Vμθ(s)]=aqμθ(s,a)

    则有:
    ∇ q μ θ ( s , μ ( s ; θ ) ) = ∇ μ ( s ; θ ) ⋅ ∇ a q μ θ ( s , a ) ∣ a = μ ( s ; θ ) + γ ∑ s ′ P ( s ′ ∣ s , μ ( s ; θ ) ) ⋅ V μ θ ( s ′ ) \nabla q_{\mu_{\theta}}(s,\mu(s;\theta)) = \nabla \mu(s;\theta) \cdot \nabla_{a}q_{\mu_{\theta}}(s,a)|_{a = \mu(s;\theta)} + \gamma \sum_{s'}P(s' \mid s,\mu(s;\theta)) \cdot V_{\mu_{\theta}}(s') qμθ(s,μ(s;θ))=μ(s;θ)aqμθ(s,a)a=μ(s;θ)+γsP(ss,μ(s;θ))Vμθ(s)

    最终有:
    ∇ V μ θ ( s ) = ∇ μ ( s ; θ ) ⋅ ∇ a q μ θ ( s , a ) ∣ a = μ ( s ; θ ) + γ ∑ s ′ P ( s ′ ∣ s , μ ( s ; θ ) ) ⋅ V μ θ ( s ′ ) \nabla V_{\mu_{\theta}}(s) = \nabla \mu(s;\theta) \cdot \nabla_{a}q_{\mu_{\theta}}(s,a)|_{a = \mu(s;\theta)} + \gamma \sum_{s'}P(s' \mid s,\mu(s;\theta)) \cdot V_{\mu_{\theta}}(s') Vμθ(s)=μ(s;θ)aqμθ(s,a)a=μ(s;θ)+γsP(ss,μ(s;θ))Vμθ(s)
    至此,我们得到了 ∇ V μ θ ( s ) → ∇ V μ θ ( s ′ ) \nabla V_{\mu_{\theta}}(s) \to \nabla V_{\mu_{\theta}}(s') Vμθ(s)Vμθ(s)递推关系。我们同样可以得到 ∇ V μ θ ( s ′ ) → ∇ V μ θ ( s ′ ′ ) \nabla V_{\mu_{\theta}}(s') \to \nabla V_{\mu_{\theta}}(s'') Vμθ(s)Vμθ(s′′)的递推关系:
    ∇ V μ θ ( s ′ ) = ∇ μ ( s ′ ; θ ) ⋅ ∇ a ′ q μ θ ( s ′ , a ′ ) ∣ a ′ = μ ( s ′ ; θ ) + γ ∑ s ′ ′ P ( s ′ ′ ∣ s ′ , μ ( s ′ ; θ ) ) ⋅ V μ θ ( s ′ ′ ) \nabla V_{\mu_{\theta}}(s') = \nabla \mu(s';\theta) \cdot \nabla_{a'}q_{\mu_{\theta}}(s',a')|_{a' = \mu(s';\theta)} + \gamma \sum_{s''}P(s'' \mid s',\mu(s';\theta)) \cdot V_{\mu_{\theta}}(s'') Vμθ(s)=μ(s;θ)aqμθ(s,a)a=μ(s;θ)+γs′′P(s′′s,μ(s;θ))Vμθ(s′′)

    ∇ V μ θ ( s ′ ) \nabla V_{\mu_{\theta}}(s') Vμθ(s)带回 ∇ V μ θ ( s ) \nabla V_{\mu_{\theta}}(s) Vμθ(s)
    ∇ V μ θ ( s ) = ∇ μ ( s ; θ ) ⋅ ∇ a q μ θ ( s , a ) ∣ a = μ ( s ; θ ) + γ ∑ s ′ P ( s ′ ∣ s , μ ( s ; θ ) ) ⋅ { ∇ μ ( s ′ ; θ ) ⋅ ∇ a ′ q μ θ ( s ′ , a ′ ) ∣ a ′ = μ ( s ′ ; θ ) + γ ∑ s ′ ′ P ( s ′ ′ ∣ s ′ , μ ( s ′ ; θ ) ) ⋅ V μ θ ( s ′ ′ ) } \nabla V_{\mu_{\theta}}(s) = \nabla \mu(s;\theta) \cdot \nabla_{a}q_{\mu_{\theta}}(s,a)|_{a = \mu(s;\theta)} + \gamma \sum_{s'}P(s' \mid s,\mu(s;\theta)) \cdot \left\{\nabla \mu(s';\theta) \cdot \nabla_{a'}q_{\mu_{\theta}}(s',a')|_{a' = \mu(s';\theta)} + \gamma \sum_{s''}P(s'' \mid s',\mu(s';\theta)) \cdot V_{\mu_{\theta}}(s'') \right\} Vμθ(s)=μ(s;θ)aqμθ(s,a)a=μ(s;θ)+γsP(ss,μ(s;θ)){μ(s;θ)aqμθ(s,a)a=μ(s;θ)+γs′′P(s′′s,μ(s;θ))Vμθ(s′′)}

    展开后依然是三项加和的形式:
    ∇ μ ( s ; θ ) ⋅ ∇ a q μ θ ( s , a ) ∣ a = μ ( s ; θ ) γ ∑ s ′ P ( s ′ ∣ s , μ ( s ; θ ) ) ⋅ ∇ μ ( s ′ ; θ ) ⋅ ∇ a ′ q μ θ ( s ′ , a ′ ) ∣ a ′ = μ ( s ′ ; θ ) γ ∑ s ′ P ( s ′ ∣ s , μ ( s ; θ ) ) ⋅ γ ∑ s ′ ′ P ( s ′ ′ ∣ s ′ , μ ( s ′ ; θ ) ) ⋅ V μ θ ( s ′ ′ ) \nabla \mu(s;\theta) \cdot \nabla_{a}q_{\mu_{\theta}}(s,a)|_{a = \mu(s;\theta)} \\ \gamma \sum_{s'}P(s' \mid s,\mu(s;\theta)) \cdot \nabla \mu(s';\theta) \cdot \nabla_{a'}q_{\mu_{\theta}}(s',a')|_{a' = \mu(s';\theta)} \\ \gamma \sum_{s'}P(s' \mid s,\mu(s;\theta)) \cdot \gamma \sum_{s''}P(s'' \mid s',\mu(s';\theta)) \cdot V_{\mu_{\theta}}(s'') μ(s;θ)aqμθ(s,a)a=μ(s;θ)γsP(ss,μ(s;θ))μ(s;θ)aqμθ(s,a)a=μ(s;θ)γsP(ss,μ(s;θ))γs′′P(s′′s,μ(s;θ))Vμθ(s′′)
    由于最后一项依然可以继续展开,因此我们先关注前面两项是否存在某种表达规律
    第一个式子,我们可以理解成 使用确定性策略 μ ( s ; θ ) \mu(s;\theta) μ(s;θ) 从状态 s s s经过动作 a = μ ( s ; θ ) a=\mu(s;\theta) a=μ(s;θ)执行0次状态转移至 状态 s s s价值函数的 梯度
    状态 s s s转移至状态 s → s \to s相当于没有进行状态转移——静止不动 ,因此动态特性函数 P ( s ′ ∣ s , μ ( s ; θ ) ) = 1 P(s' \mid s,\mu(s;\theta))=1 P(ss,μ(s;θ))=1恒成立。并且 转移后的状态结果只有 s s s自身。因此,可以将第一项式子扩展如下:
    ∇ μ ( s ; θ ) ⋅ ∇ a q μ θ ( s , a ) ∣ a = μ ( s ; θ ) = 1 × ∑ s 1 × ∇ μ ( s ; θ ) ⋅ ∇ a q μ θ ( s , a ) ∣ a = μ ( s ; θ ) = γ 0 ∑ s P ( s ∣ s , μ ( s ; θ ) ) ⋅ ∇ μ ( s ; θ ) ⋅ ∇ a q μ θ ( s , a ) ∣ a = μ ( s ; θ )

    μ(s;θ)aqμθ(s,a)|a=μ(s;θ)=1×s1×μ(s;θ)aqμθ(s,a)|a=μ(s;θ)=γ0sP(ss,μ(s;θ))μ(s;θ)aqμθ(s,a)|a=μ(s;θ)" role="presentation" style="position: relative;">μ(s;θ)aqμθ(s,a)|a=μ(s;θ)=1×s1×μ(s;θ)aqμθ(s,a)|a=μ(s;θ)=γ0sP(ss,μ(s;θ))μ(s;θ)aqμθ(s,a)|a=μ(s;θ)
    μ(s;θ)aqμθ(s,a)a=μ(s;θ)=1×s1×μ(s;θ)aqμθ(s,a)a=μ(s;θ)=γ0sP(ss,μ(s;θ))μ(s;θ)aqμθ(s,a)a=μ(s;θ)
    再次将第一项与第二项进行对比:
    γ 0 ∑ s P ( s ∣ s , μ ( s ; θ ) ) ⋅ ∇ μ ( s ; θ ) ⋅ ∇ a q μ θ ( s , a ) ∣ a = μ ( s ; θ ) γ ∑ s ′ P ( s ′ ∣ s , μ ( s ; θ ) ) ⋅ ∇ μ ( s ′ ; θ ) ⋅ ∇ a ′ q μ θ ( s ′ , a ′ ) ∣ a ′ = μ ( s ′ ; θ ) \gamma^0 \sum_{s} P(s \mid s,\mu(s;\theta)) \cdot \nabla \mu(s;\theta) \cdot \nabla_{a}q_{\mu_{\theta}}(s,a)|_{a = \mu(s;\theta)}\\ \gamma \sum_{s'}P(s' \mid s,\mu(s;\theta)) \cdot \nabla \mu(s';\theta) \cdot \nabla_{a'}q_{\mu_{\theta}}(s',a')|_{a' = \mu(s';\theta)} γ0sP(ss,μ(s;θ))μ(s;θ)aqμθ(s,a)a=μ(s;θ)γsP(ss,μ(s;θ))μ(s;θ)aqμθ(s,a)a=μ(s;θ)
    至此,找到规律:
    如果状态 s s s执行了 N N N次状态转移后达到状态 s ( N ) s^{(N)} s(N)
    γ N ∑ s ( N ) P ( s ( N ) ∣ s , μ ( s ; θ ) ) ⋅ ∇ μ ( s ( N ) ; θ ) ⋅ ∇ a ( N ) q μ θ ( s ( N ) , a ( N ) ) ∣ a ( N ) = μ ( s ( N ) ; θ ) \gamma^N \sum_{s^{(N)}} P(s^{(N)} \mid s,\mu(s;\theta)) \cdot \nabla \mu(s^{(N)};\theta) \cdot \nabla_{a^{(N)}}q_{\mu_{\theta}}(s^{(N)},a^{(N)})|_{a^{(N)} = \mu(s^{(N)};\theta)} γNs(N)P(s(N)s,μ(s;θ))μ(s(N);θ)a(N)qμθ(s(N),a(N))a(N)=μ(s(N);θ)
    因此, ∇ J ( θ ) = ∇ V μ θ ( s 0 ) \nabla \mathcal J(\theta) = \nabla V_{\mu_{\theta}}(s_0) J(θ)=Vμθ(s0)表示如下:
    ∇ J ( θ ) = ∇ V μ θ ( s 0 ) = ∇ μ ( s ; θ ) ⋅ ∇ a q μ θ ( s , a ) ∣ a = μ ( s ; θ ) + γ ∑ s ′ P ( s ′ ∣ s , μ ( s ; θ ) ) ⋅ V μ θ ( s ′ ) = ∇ μ ( s ; θ ) ⋅ ∇ a q μ θ ( s , a ) ∣ a = μ ( s ; θ ) + γ ∑ s ′ P ( s ′ ∣ s , μ ( s ; θ ) ) ⋅ ∇ μ ( s ′ ; θ ) ⋅ ∇ a ′ q μ θ ( s ′ , a ′ ) ∣ a ′ = μ ( s ′ ; θ ) + γ ∑ s ′ P ( s ′ ∣ s , μ ( s ; θ ) ) ⋅ γ ∑ s ′ ′ P ( s ′ ′ ∣ s ′ , μ ( s ′ ; θ ) ) ⋅ V μ θ ( s ′ ′ ) = ⋯ = ∑ N = 0 + ∞ γ N ∑ s ( N ) P ( s ( N ) ∣ s , μ ( s ; θ ) ) ⋅ ∇ μ ( s ( N ) ; θ ) ⋅ ∇ a ( N ) q μ θ ( s ( N ) , a ( N ) ) ∣ a ( N ) = μ ( s ( N ) ; θ )
    J(θ)=Vμθ(s0)=μ(s;θ)aqμθ(s,a)|a=μ(s;θ)+γsP(ss,μ(s;θ))Vμθ(s)=μ(s;θ)aqμθ(s,a)|a=μ(s;θ)+γsP(ss,μ(s;θ))μ(s;θ)aqμθ(s,a)|a=μ(s;θ)+γsP(ss,μ(s;θ))γsP(ss,μ(s;θ))Vμθ(s)==N=0+γNs(N)P(s(N)s,μ(s;θ))μ(s(N);θ)a(N)qμθ(s(N),a(N))|a(N)=μ(s(N);θ)" role="presentation" style="position: relative;">J(θ)=Vμθ(s0)=μ(s;θ)aqμθ(s,a)|a=μ(s;θ)+γsP(ss,μ(s;θ))Vμθ(s)=μ(s;θ)aqμθ(s,a)|a=μ(s;θ)+γsP(ss,μ(s;θ))μ(s;θ)aqμθ(s,a)|a=μ(s;θ)+γsP(ss,μ(s;θ))γsP(ss,μ(s;θ))Vμθ(s)==N=0+γNs(N)P(s(N)s,μ(s;θ))μ(s(N);θ)a(N)qμθ(s(N),a(N))|a(N)=μ(s(N);θ)
    J(θ)=Vμθ(s0)=μ(s;θ)aqμθ(s,a)a=μ(s;θ)+γsP(ss,μ(s;θ))Vμθ(s)=μ(s;θ)aqμθ(s,a)a=μ(s;θ)+γsP(ss,μ(s;θ))μ(s;θ)aqμθ(s,a)a=μ(s;θ)+γsP(ss,μ(s;θ))γs′′P(s′′s,μ(s;θ))Vμθ(s′′)==N=0+γNs(N)P(s(N)s,μ(s;θ))μ(s(N);θ)a(N)qμθ(s(N),a(N))a(N)=μ(s(N);θ)

    同样可以引入状态分布,构建一个符号: P r { s 0 → s , k , μ } P_r\{s_0 \to s,k,\mu\} Pr{s0s,k,μ}表示 从初始状态 s 0 s_0 s0开始,在确定性策略 μ θ \mu_{\theta} μθ条件下,执行 k k k次状态转移后达到状态 s s s的概率
    P r { s 0 → s , k , μ } P_r\{s_0 \to s,k,\mu\} Pr{s0s,k,μ}符号产生过程 -> 传送门
    V μ θ ( s ) = ∑ s ∈ S ∑ N = 0 + ∞ γ N × P r { s 0 → s , N , μ } ∇ μ ( s ; θ ) ⋅ ∇ a q μ θ ( s , a ) ∣ a = μ ( s ; θ ) = ∑ s ∈ S γ N × η ( s ) × ∇ μ ( s ; θ ) ⋅ ∇ a q μ θ ( s , a ) ∣ a = μ ( s ; θ )
    Vμθ(s)=sSN=0+γN×Pr{s0s,N,μ}μ(s;θ)aqμθ(s,a)|a=μ(s;θ)=sSγN×η(s)×μ(s;θ)aqμθ(s,a)|a=μ(s;θ)" role="presentation" style="position: relative;">Vμθ(s)=sSN=0+γN×Pr{s0s,N,μ}μ(s;θ)aqμθ(s,a)|a=μ(s;θ)=sSγN×η(s)×μ(s;θ)aqμθ(s,a)|a=μ(s;θ)
    Vμθ(s)=sSN=0+γN×Pr{s0s,N,μ}μ(s;θ)aqμθ(s,a)a=μ(s;θ)=sSγN×η(s)×μ(s;θ)aqμθ(s,a)a=μ(s;θ)

    最终同样可以得到和策略梯度定理相似的如下表达:
    ∇ J ( θ ) ∝ ∑ s ∈ S μ ( s ) × ∇ μ ( s ; θ ) ⋅ ∇ a q μ θ ( s , a ) ∣ a = μ ( s ; θ ) \nabla \mathcal J(\theta) \propto \sum_{s \in \mathcal S}\mu(s) \times \nabla \mu(s;\theta) \cdot \nabla_{a}q_{\mu_{\theta}}(s,a)|_{a = \mu(s;\theta)} J(θ)sSμ(s)×μ(s;θ)aqμθ(s,a)a=μ(s;θ)

    最终引入状态分布符号 S t ∼ ρ π θ S_t \sim \rho^{\pi_{\theta}} Stρπθ,将上述公式化简为期望形式:
    ∇ J ( θ ) = E S t ∼ ρ μ θ [ ∇ μ ( S t ; θ ) ∇ a q μ θ ( S t , a ) ∣ a = μ ( S t ; θ ) ] \nabla \mathcal J(\theta) = \mathbb E_{S_t \sim \rho^{\mu_{\theta}}} \left[\nabla \mu(S_t;\theta) \nabla_{a}q_{\mu_{\theta}}(S_t,a) |_{a=\mu(S_t;\theta)}\right] J(θ)=EStρμθ[μ(St;θ)aqμθ(St,a)a=μ(St;θ)]

    本质上,确定性策略梯度定理与策略梯度定理推导非常相似,只是推导初始存在差异
    由于 μ ( S t ; θ ) \mu(S_t;\theta) μ(St;θ)是确定性策略,因此不会对动作求解期望,从而不会像策略梯度定理一样通过除以 μ ( S t ; θ ) \mu(S_t;\theta) μ(St;θ)以获取 log ⁡ \log log项。

    相关参考:
    深度强化学习原理、算法pytorch实战 —— 刘全,黄志刚编著
    深度强化学习-确定性策略梯度算法推导

  • 相关阅读:
    classification_report
    基于 Docker 搭建开发环境
    [Mysql] 删除数据
    Java:修改Jar的源码,并上传Nexus私有仓库,替换jar版本
    洗地机哪个牌子好?2023热门洗地推荐
    Vue3实现获取验证码按钮倒计时效果
    depot_tools原理和实现
    数据可视化复习 第三章
    OpenCV:开源计算机视觉的魔力之门
    华为OD机试 - 用连续自然数之和来表达整数 - 滑动窗口(Java 2023 B卷 100分)
  • 原文地址:https://blog.csdn.net/qq_34758157/article/details/126033456