RL-赵-(九)-Policy-Based02:目标函数/Metrics的选取【①average state value;②average one-step reward】、目标函数的梯度∇J(θ)

在这里插入图片描述

一、目标函数的选取(Metrics to define optimal policies)【2类】

有两类形式的目标函数/metrics:

  • The average state value
  • Average one-step reward

1、The average state value

2种常见表达形式:
v ˉ π   = ∑ s ∈ S d ( s ) v π ( s ) ≐ E [ ∑ t = 0 ∞ γ t R t + 1 ] \begin{aligned} \bar{v}_{\pi}\:&=\sum_{s\in\mathcal{S}}d(s)v_{\pi}(s) \\[2ex] &\doteq\mathbb{E}\left[\sum_{t=0}^\infty\gamma^tR_{t+1}\right] \end{aligned} vˉπ=sSd(s)vπ(s)E[t=0γtRt+1]

在这里插入图片描述

第一大类是the average state value, 或者简单地称为 average value。这个metric定义如下:
v ˉ π   = ∑ s ∈ S d ( s ) v π ( s ) \bar{v}_{\pi}\:=\sum_{s\in\mathcal{S}}d(s)v_{\pi}(s) vˉπ=sSd(s)vπ(s)

  • 其中 v ˉ π \bar{v}_\mathrm{\pi} vˉπ 是state values的加权平均;
  • d ( s ) ≥ 0 d(s)≥0 d(s)0是对于状态 s s s的权重
  • 因为 ∑ s ∈ S d ( s ) = 1 \sum_{s\in S}d(s)=1 sSd(s)=1,我们可以将 d ( s ) d(s) d(s) 解释为一个概率分布(probability distribution)。然后,这个melnic可以被写为
    v ˉ π = E [ v π ( S ) ] \bar{v}_\pi=\mathbb{E}[v_\pi(S)] vˉπ=E[vπ(S)]
    其中 S ∼ d S\sim d Sd

显然 v ˉ π \bar{v}_\mathrm{\pi} vˉπ 是策略 π \pi π 的函数,不同的策略 π \pi π 对应的它的值也不同,所以我们就可以去优化,找到一个最优的策略 π \pi π 让这个值达到最大,这个其实是非常自然的一个选择metric的一个方法。

Vector-product(向量内积)的形式:
v ˉ π = ∑ s ∈ S d ( s ) v π ( s ) = d T v π \bar{v}_\pi=\sum_{s\in\mathcal{S}}d(s)v_\pi(s)=d^Tv_\pi vˉπ=sSd(s)vπ(s)=dTvπ
其中

  • v π = [ . . . , v π ( s ) , . . . ] T ∈ R ∣ S ∣ v_\pi=[...,v_\pi(s),...]^T\in\mathbb{R}^{|\mathcal{S}|} vπ=[...,vπ(s),...]TRS ,这里边的每一个元素 v π ( s ) v_\pi(s) vπ(s) 对应的就是 s s s 的state value;
  • d = [ . . . , d ( s ) , . . . ] T ∈ R ∣ S ∣ d=[...,d(s),...]^T\in\mathbb{R}^{|\mathcal{S}|} d=[...,d(s),...]TRS,这里边的每一个元素 d ( s ) d(s) d(s) 对应的是状态 s s s 的权重或者是概率;

这种形式对于后面分析它的梯度是非常有帮助的。

在这里插入图片描述

如何选择分布 d d d ? 这里有两种情况:

  • 第一种情况是 d d d 和策略 π \pi π 没什么关系。
    • 这种情况相对简单,因为metric的gradient是容易计算的。如果这个 d d d π π π 没有关系那我求 v π v_π vπ 的梯度的时候,这个 d d d 就不涉及到任何的梯度所以我会只求一个 v π v_π vπ的梯度(如果 d d d π π π 有关系那我求 v π v_π vπ 梯度的时候,当然也要求这个 d d d 关于这个 π π π 的梯度,所以相对来说会麻烦一点)。
    • 这种情况下,为了表明 d d d π π π 没有关系,将 d d d写为 d 0 d_0 d0 v ˉ π \bar{v}_\pi vˉπ 写为 v ˉ π 0 \bar{v}_\pi^0 vˉπ0
    • 如何选择 d 0 ? d_0? d0?
      • 一个简单的方式是平等地对待所有的states,即选择 d 0 ( s ) = 1 ∣ S ∣ d_0(s)=\cfrac{1}{|S|} d0(s)=S1,所以这个实际上是一个均匀分布。
      • 另一个重要的情况是我们只对一个特定的state s 0 s_{0} s0感兴趣。例如,episodes在某些任务中总是从相同的state s 0 s_{0} s0 开始【比如说在一些游戏最开始的时候,它总是从那个画面开始,那个画面实际上就对应一个特定的状态 s 0 s_0 s0,那从那出发我希望我能够得到的reward是越大越好,在这种情况下我就不能对所有的状态都一视同仁了,那我可能要对一些状态有所偏好,那在这个极端情况下就是我只关心 s 0 s_{0} s0,从 s 0 s_{0} s0出发我所得到的 reward 越大越好】,然后,我们仅仅关注从 s 0 s_0 s0开始的long-term return。在这种情况下
        d 0 ( s 0 ) = 1 d 0 ( s ≠ s 0 ) = 0 \begin{aligned} &d_0(s_0)=1\\ &d_0(s\neq s_0)=0 \end{aligned} d0(s0)=1d0(s=s0)=0
        在这种情况下 v ˉ π \bar{v}_\pi vˉπ 也就变成了 v ˉ π 0 \bar{v}_\pi^0 vˉπ0,我去最大化这个 v ˉ π \bar{v}_\pi vˉπ,实际上就是最大化从 s 0 s_{0} s0出发我能得到多大的return。
  • 第二种情况是 d d d 依赖于策略 π π π
    • 这是一种常见的选择,选择 d d d d π ( s ) d_\pi(s) dπ(s), 即 stationany distribution under π \pi π【简单来说就是我有一个策略,然后我跟随那个策略去不断地和环境进行交互,当我执行那个策略很多很多次之后我就可以预测在某一个状态就是agent在那个状态它的概率是多少,也就是那时候会逐渐达到一个平稳的状态,而且这个概率其实可以直接通过这个 d π T P π = d π T d_\pi^TP_\pi=d_\pi^T dπTPπ=dπT式子给计算出来】。
      • d p i d_pi dpi的一个基本性质是它满足
        d π T P π = d π T d_\pi^TP_\pi=d_\pi^T dπTPπ=dπT
        其中 P π P_\mathrm{\pi} Pπ是state transition probability matrix(状态转移矩阵)。
    • 选择 d π d_{\pi} dπ的解释:
      • 如果一个state在long run中是frequently visited, 它是更重要的,应带给与更多权重;
      • 如果一个state很少被visited,相应的它的权重自然少一些;

2、average one-step reward

2种常见表达形式:
r ˉ π ≐ ∑ s ∈ S d π ( s ) r π ( s ) ≐ lim ⁡ n → ∞ 1 n E [ ∑ k = 1 n R t + k ] \begin{aligned} \bar{r}_{\pi}&\doteq\sum_{s\in\mathcal{S}}d_{\pi}\left(s\right)r_{\pi}\left(s\right) \\[4ex] &\doteq\lim_{n\to\infty}\frac{1}{n}\mathbb{E}\left[\sum_{k=1}^{n}R_{t+k}\right] \\[4ex] \end{aligned} rˉπsSdπ(s)rπ(s)nlimn1E[k=1nRt+k]

在这里插入图片描述
第二大类是average one-step reward, 或者简称为 average reward.具体地 ′ _{\prime} the metrics是
r ˉ π ≐ ∑ s ∈ S d π ( s ) r π ( s ) = E [ r π ( S ) ] \color{red}{ \bar{r}_{\pi}\doteq\sum_{s\in\mathcal{S}}d_{\pi}\left(s\right)r_{\pi}\left(s\right)=\mathbb{E}[r_{\pi}\left(S\right)]} rˉπsSdπ(s)rπ(s)=E[rπ(S)]
其中:

  • d π ( s ) d_π(s) dπ(s) s s s 所对应的权重,它实际上是stationary distribution,它是依赖于这个策略 π π π 的;
  • S ∼ d π S\sim d_{\pi} Sdπ
  • r π ≐ ∑ a ∈ A π ( a ∣ s ) r ( s , a ) \begin{aligned}r_\pi\doteq\sum_{a\in\mathcal{A}}\pi(a|s)r(s,a)\end{aligned} rπaAπ(as)r(s,a) 是从 s s s 出发我所得到的单步的immediate reward的一个平均值, 并且
    r ( s , a ) = E [ R ∣ s , a ] = ∑ r r p ( r ∣ s , a ) r(s,a)=\mathbb{E}[R|s,a]=\sum_rrp(r|s,a) r(s,a)=E[Rs,a]=rrp(rs,a)

正如它的名称所暗示的, r ˉ π \bar{r}_\pi rˉπ 是 one-step immediate reward的一个加权平均值( r ˉ π \bar{r}_\pi rˉπ 上面这条横线也是代表一个平均的意思)。

在这里插入图片描述
上面average reward的第二种形式:

  • 假设一个agent沿着一个给定的policy,生成一个trajectory,它的rewards是 ( R t + 1 , R t + 2 , . . . ) (R_{t+1},R_{t+2},...) (Rt+1,Rt+2,...)
  • 沿着trajectony的average single-step reward是
    lim ⁡ n → ∞ 1 n E [ R t + 1 + R t + 2 + ⋯ + R t + n ∣ S t = s 0 ] = lim ⁡ n → ∞ 1 n E [ ∑ k = 1 n R t + k ∣ S t = s 0 ] \begin{aligned} &\begin{aligned}\lim_{n\to\infty}\frac1n\mathbb{E}\Big[R_{t+1}+R_{t+2}+\cdots+R_{t+n}|S_t=s_0\Big]\end{aligned}=\lim_{n\to\infty}\frac1n\mathbb{E}\left[\sum_{k=1}^nR_{t+k}|S_t=s_0\right] \end{aligned} nlimn1E[Rt+1+Rt+2++Rt+nSt=s0]=nlimn1E[k=1nRt+kSt=s0]
    其中 s 0 s_0 s0 是the starting state of the trajectory。

在这里插入图片描述
上面的形式还可以继续改写为:
lim ⁡ n → ∞ 1 n E [ ∑ k = 1 n R t + k ∣ S t = s 0 ] = lim ⁡ n → ∞ 1 n E [ ∑ k = 1 n R t + k ] = ∑ s d π ( s ) r π ( s ) = r ˉ π \begin{aligned} \lim_{n\to\infty}\frac{1}{n}\mathbb{E}\left[\sum_{k=1}^nR_{t+k}|S_t=s_0\right]&=\color{red}{\lim_{n\to\infty}\frac{1}{n}\mathbb{E}\left[\sum_{k=1}^{n}R_{t+k}\right]}\\ &=\sum_sd_\pi(s)r_\pi(s) \\ &=\bar{r}_{\pi} \end{aligned} nlimn1E[k=1nRt+kSt=s0]=nlimn1E[k=1nRt+k]=sdπ(s)rπ(s)=rˉπ
大家看 s 0 s_0 s0 没有了 为什么呢?因为 s 0 s_0 s0 不起作用 就是你跑了无穷多步之后,你最开始从哪开始的其实已经不再重要了。
注意:

  • 当n趋近于无穷的时候,starting state s 0 s_{0} s0 已经不重要了。
  • 这两个关于 r ˉ π \bar{r}_\pi rˉπ 的等式是相等的。

这个式子是大家在论文当中你可能会经常看到的一个式子。

3、Remarks

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
对上面两个metrics强调几点:

  • Remark1
    • 这些 metrics 都是策略 π \pi π 的函数;
    • 因为策略 π \pi π是由 θ \theta θ进行参数化的,因此这些metric是 θ \theta θ的函数;
    • 换句话说,不同的 θ \theta θ 可以生成不同的metric values;
    • 因此,我们可以搜索最优的 θ \theta θ 进而最大化这些metrics;
  • Remark2
    • 这些metrics是具有复杂性的,分为两种情况,第一种是 discounted case, 其中 γ ∈ [ 0 , 1 ) \gamma\in[0,1) γ[0,1);另一种情况是 undiscounted case 其中 γ = 1 \gamma=1 γ=1
    • 这里我们仅仅考虑the discounted case.
  • Remark3
    • 直观上, r ˉ π \bar{r}_\pi rˉπ 是short-sighted,因为它很少考虑the immediate rewards, 而 v ˉ π \bar{v}_\pi vˉπ考虑 the total reward overall steps。【 × \color{red}{×} ×
    • 然而,事实上这两个metrics是等价的,具体地,在discounted case, 当 γ < 1 \gamma<1 γ<1,有
      r ˉ π   =   ( 1 − γ ) v ˉ π \bar{r}_\pi\:=\:(1-\gamma)\bar{v}_\pi rˉπ=(1γ)vˉπ

4、练习(目标函数的另一种形式)

在这里插入图片描述

回答: 首先,分析和理解这样一个metric。

  • 它从 S 0 ∼ d S_0\sim d S0d 开始,然后 A 0 , R 1 , S 1 , A 1 , R 2 , S 2 , . . . . . . A_0,R_1,S_1,A_1,R_2,S_2,...... A0,R1,S1,A1,R2,S2,......
  • A t ∼ π ( S t ) A_t\sim\pi(S_t) Atπ(St),并且 R t + 1 , S t + 1 ∼ p ( R t + 1 ∣ S t , A t ) R_{t+1},S_{t+1}\sim p(R_{t+1}|S_t,A_t) Rt+1,St+1p(Rt+1St,At) p ( S t + 1 ∣ S t , A t ) p(S_{t+1}|S_t,A_t) p(St+1St,At)

然后,我们知道这个metric和average value相同,因为
J ( θ ) = E [ ∑ t = 0 ∞ γ t R t + 1 ] = ∑ s ∈ S d ( s ) E [ ∑ t = 0 ∞ γ t R t + 1 ∣ S 0 = s ] = ∑ s ∈ S d ( s ) v π ( s ) = v ˉ π \begin{aligned} J(\theta) =\mathbb{E}\left[\sum_{t=0}^\infty\gamma^tR_{t+1}\right] &=\sum_{s\in\mathcal{S}}d(s)\mathbb{E}\left[\sum_{t=0}^\infty\gamma^tR_{t+1}|S_0=s\right]\\ &=\sum_{s\in\mathcal{S}}d(s)v_{\pi}(s) \\ &=\bar{v}_{\pi} \end{aligned} J(θ)=E[t=0γtRt+1]=sSd(s)E[t=0γtRt+1S0=s]=sSd(s)vπ(s)=vˉπ

二、目标函数的梯度(Gradients of the metrics)

在这里插入图片描述
给定一个metric,然后

  • 推导它的梯度
  • 然后,应用gradient-based methods去优化这个metric。

gradient的计算是policy gradient methods中最复杂的计算部分!

  • 首先,我们需要区分不同的目标函数/metrics:
    • v ˉ π   = ∑ s ∈ S d ( s ) v π ( s ) ≐ E [ ∑ t = 0 ∞ γ t R t + 1 ] \begin{aligned}\bar{v}_{\pi}\:&=\sum_{s\in\mathcal{S}}d(s)v_{\pi}(s)\doteq\mathbb{E}\left[\sum_{t=0}^\infty\gamma^tR_{t+1}\right] \end{aligned} vˉπ=sSd(s)vπ(s)E[t=0γtRt+1]
    • v ˉ π 0 \bar{v}_\pi^0 vˉπ0
    • r ˉ π ≐ ∑ s ∈ S d π ( s ) r π ( s ) ≐ lim ⁡ n → ∞ 1 n E [ ∑ k = 1 n R t + k ] \begin{aligned}\bar{r}_{\pi}\doteq\sum_{s\in\mathcal{S}}d_{\pi}\left(s\right)r_{\pi}\left(s\right) \doteq\lim_{n\to\infty}\frac{1}{n}\mathbb{E}\left[\sum_{k=1}^{n}R_{t+k}\right] \\[4ex]\end{aligned} rˉπsSdπ(s)rπ(s)nlimn1E[k=1nRt+k]
  • 第二,我们需要区分 the discounted 和 undiscounted cases

在这里插入图片描述
Gradients/梯度的统一表示形式:
∇ θ J ( θ ) = ∑ s ∈ S η ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) \color{red}{ \nabla_\theta J(\theta)=\sum_{s\in\mathcal{S}}\eta(s)\sum_{a\in\mathcal{A}}\nabla_\theta\pi(a|s,\theta)q_\pi(s,a)} θJ(θ)=sSη(s)aAθπ(as,θ)qπ(s,a)
其中

  • 目标函数 J ( θ ) J(\theta) J(θ)可以是:
    • v ˉ π   = ∑ s ∈ S d ( s ) v π ( s ) ≐ E [ ∑ t = 0 ∞ γ t R t + 1 ] \begin{aligned}\bar{v}_{\pi}\:&=\sum_{s\in\mathcal{S}}d(s)v_{\pi}(s)\doteq\mathbb{E}\left[\sum_{t=0}^\infty\gamma^tR_{t+1}\right] \end{aligned} vˉπ=sSd(s)vπ(s)E[t=0γtRt+1]
    • v ˉ π 0 \bar{v}_\pi^0 vˉπ0
    • r ˉ π ≐ ∑ s ∈ S d π ( s ) r π ( s ) ≐ lim ⁡ n → ∞ 1 n E [ ∑ k = 1 n R t + k ] \begin{aligned}\bar{r}_{\pi}\doteq\sum_{s\in\mathcal{S}}d_{\pi}\left(s\right)r_{\pi}\left(s\right) \doteq\lim_{n\to\infty}\frac{1}{n}\mathbb{E}\left[\sum_{k=1}^{n}R_{t+k}\right] \\[4ex]\end{aligned} rˉπsSdπ(s)rπ(s)nlimn1E[k=1nRt+k]
  • = = = 可以表示严格相等(=),近似(≈)或者成比例等于(∝);
  • ∑ s ∈ S \begin{aligned}\sum_{s\in\mathcal{S}}\end{aligned} sS:表示对 s s s 求和;
  • η \eta η 是一个在states下的分布或者权重,每一个state有一个权重 η ( s ) \eta(s) η(s) η \eta η 对于不同的目标函数在不同的情况下它会呈现出来不同的distribution;
  • ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) \begin{aligned}\sum_{a\in\mathcal{A}}\nabla_\theta\pi(a|s,\theta)q_\pi(s,a)\end{aligned} aAθπ(as,θ)qπ(s,a):表示每一个 state s s s 对应的所有的 action 的 ∇ θ π ( a ∣ s , θ ) q π ( s , a ) \nabla_\theta\pi(a|s,\theta)q_\pi(s,a) θπ(as,θ)qπ(s,a) 的加和;
    • ∇ θ π ( a ∣ s , θ ) \nabla_\theta\pi(a|s,\theta) θπ(as,θ):表示策略 π π π 的梯度;
    • q π ( s , a ) q_\pi(s,a) qπ(s,a):表示 ( s , a ) (s,a) (s,a) 的action value;

总而言之,所有这些情况求出来的gradient是大同小异,所以就用这一个式子来表示出来了。对于绝大多数的同学来说这个式子就够了,除非是你需要去研究创新新的算法,那你可以到书里面去看详细的内容。

分别对于 r ˉ π \bar{r}_{\pi} rˉπ v ˉ π \bar{v}_{\pi} vˉπ v ˉ π 0 \bar{v}_\pi^0 vˉπ0,我们可以分别得到以下梯度公式(Details are not given here. Interested readers can read my book):
∇ θ r ˉ π ≃ ∑ s d π ( s ) ∑ a ∇ θ π ( a ∣ s , θ ) q π ( s , a ) , ∇ θ v ˉ π = 1 1 − γ ∇ θ r ˉ π ∇ θ v ˉ π 0 = ∑ s ∈ S ρ π ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) \color{red}{ \begin{aligned} &\nabla_\theta\bar{r}_\pi \simeq\sum_sd_\pi(s)\sum_a\nabla_\theta\pi(a|s,\theta)q_\pi(s,a), \\[2ex] &\nabla_\theta\bar{v}_\pi=\frac1{1-\gamma}\nabla_\theta\bar{r}_\pi \\[2ex] &\nabla_\theta\bar{v}_\pi^0 =\sum_{s\in\mathcal{S}}\rho_\pi(s)\sum_{a\in\mathcal{A}}\nabla_\theta\pi(a|s,\theta)q_\pi(s,a) \end{aligned}} θrˉπsdπ(s)aθπ(as,θ)qπ(s,a),θvˉπ=1γ1θrˉπθvˉπ0=sSρπ(s)aAθπ(as,θ)qπ(s,a)

1、梯度公式的分析

梯度/Gradient
∇ θ J ( θ ) = ∑ s ∈ S η ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) \nabla_\theta J(\theta)=\sum_{s\in\mathcal{S}}\eta(s)\sum_{a\in\mathcal{A}}\nabla_\theta\pi(a|s,\theta)q_\pi(s,a) θJ(θ)=sSη(s)aAθπ(as,θ)qπ(s,a)
可以写成一个这样紧凑且有用的形式:

∇ θ J ( θ ) = ∑ s ∈ S η ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) = E [ ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ] \begin{aligned} \nabla_\theta J(\theta)&=\sum_{s\in\mathcal{S}}\eta(s)\sum_{a\in\mathcal{A}}\nabla_\theta\pi(a|s,\theta)q_\pi(s,a) \\[4ex] &\color{red}{=\mathbb{E}[\nabla_\theta\ln\pi(A|S,\theta)q_\pi(S,A)]} \\ \end{aligned} θJ(θ)=sSη(s)aAθπ(as,θ)qπ(s,a)=E[θlnπ(AS,θ)qπ(S,A)]

其中: S ∼ η S\sim\eta Sη A ∼ π ( A ∣ S , θ ) A\thicksim\pi(A|S,\theta) Aπ(AS,θ)

  • 把所有的 ∑ ∑ 全都去掉写成一个期望/Expectation的形式: E [ ] \mathbb{E}[] E[]
  • 这里边的 S S S A A A 都是是随机变量, S ∼ η S\sim\eta Sη A ∼ π ( A ∣ S , θ ) A\thicksim\pi(A|S,\theta) Aπ(AS,θ)
    • S S S 是满足 η η η 的分布;
    • A A A是满足 π ( A ∣ S , θ ) \pi(A|S,\theta) π(AS,θ) 的这样一个分布;

为什么需要 ∇ θ J ( θ ) = E [ ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ] \color{red}{\nabla_\theta J(\theta)=\mathbb{E}[\nabla_\theta\ln\pi(A|S,\theta)q_\pi(S,A)]} θJ(θ)=E[θlnπ(AS,θ)qπ(S,A)] 这样的表达式? 就是因为这是一个真实的梯度,这个真实的梯度当中含有期望/Expectation,但是我不知道期望/Expectation,所以我就可以用采样来近似这个期望/Expectation。这个就是stochastic gradient descent或者是ascent的基本的思路。

使用采样的方式去近似梯度 ∇ θ J ( θ ) = E [ ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ] \nabla_\theta J(\theta)=\mathbb{E}[\nabla_\theta\ln\pi(A|S,\theta)q_\pi(S,A)] θJ(θ)=E[θlnπ(AS,θ)qπ(S,A)]
∇ θ J ≈ ∇ θ ln ⁡ π ( a ∣ s , θ ) q π ( s , a ) \nabla_\theta J\approx\nabla_\theta\ln\pi(a|s,\theta)q_\pi(s,a) θJθlnπ(as,θ)qπ(s,a)

2、梯度公式期望/Expectation形式的证明

如何根据

∇ θ J ( θ ) = ∑ s ∈ S η ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ ) q π ( s , a ) \begin{aligned} \nabla_\theta J(\theta)&=\sum_{s\in\mathcal{S}}\eta(s)\sum_{a\in\mathcal{A}}\nabla_\theta\pi(a|s,\theta)q_\pi(s,a) \\[4ex] \end{aligned} θJ(θ)=sSη(s)aAθπ(as,θ)qπ(s,a)

得到下面梯度的Expectation形式呢:

∇ θ J ( θ ) = E [ ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ] \begin{aligned} \nabla_\theta J(\theta)&\color{red}{=\mathbb{E}[\nabla_\theta\ln\pi(A|S,\theta)q_\pi(S,A)]} \\ \end{aligned} θJ(θ)=E[θlnπ(AS,θ)qπ(S,A)]


证明:
∵ ∵
∇ θ   ln ⁡ π ( a ∣ s , θ ) = ∇ θ   π ( a ∣ s , θ ) π ( a ∣ s , θ ) \nabla_\theta\:\ln\pi(a|s,\theta)=\frac{\nabla_\theta\:\pi(a|s,\theta)}{\pi(a|s,\theta)} θlnπ(as,θ)=π(as,θ)θπ(as,θ)
∴ ∴
∇ θ π ( a ∣ s , θ ) = π ( a ∣ s , θ ) ∇ θ   ln ⁡ π ( a ∣ s , θ ) \nabla_\theta\pi(a|s,\theta)=\pi(a|s,\theta)\nabla_\theta\:\ln\pi(a|s,\theta) θπ(as,θ)=π(as,θ)θlnπ(as,θ)
为什么要做这样替换呢?就是因为它能够写成 Expectation 的形式。我们接下来看一下:
∵ ∵
∇ θ r ˉ π ≃ ∑ s d π ( s ) ∑ a ∇ θ π ( a ∣ s , θ ) q π ( s , a ) , \begin{aligned} \nabla_\theta\bar{r}_\pi \simeq\sum_sd_\pi(s)\sum_a\nabla_\theta\pi(a|s,\theta)q_\pi(s,a), \\[2ex] \end{aligned} θrˉπsdπ(s)aθπ(as,θ)qπ(s,a),
∴ ∴
∇ θ J = ∑ s d ( s ) ∑ a ∇ θ π ( a ∣ s , θ ) q π ( s , a ) = ∑ s d ( s ) ∑ a π ( a ∣ s , θ ) ∇ θ ln ⁡ π ( a ∣ s , θ ) q π ( s , a ) \begin{aligned} \nabla_\theta J&=\sum_sd(s)\sum_a\nabla_\theta\pi(a|s,\theta)q_\pi(s,a) \\[2ex] &=\sum_sd(s)\sum_a\color{red}{\pi(a|s,\theta)\nabla_\theta\ln\pi(a|s,\theta)}\color{black}{q_\pi(s,a)} \\[2ex] \end{aligned} θJ=sd(s)aθπ(as,θ)qπ(s,a)=sd(s)aπ(as,θ)θlnπ(as,θ)qπ(s,a)
首先我们把前面 ∑ s d ( s ) \begin{aligned}\sum_sd(s)\end{aligned} sd(s) 这个求和写成了Expectation 的形式,得到:

∇ θ J = ∑ s d ( s ) ∑ a ∇ θ π ( a ∣ s , θ ) q π ( s , a ) = ∑ s d ( s ) ∑ a π ( a ∣ s , θ ) ∇ θ ln ⁡ π ( a ∣ s , θ ) q π ( s , a ) = E S ∼ d [ ∑ a π ( a ∣ S , θ ) ∇ θ ln ⁡ π ( a ∣ S , θ ) q π ( S , a ) ] \begin{aligned} \nabla_\theta J&=\sum_sd(s)\sum_a\nabla_\theta\pi(a|s,\theta)q_\pi(s,a) \\[2ex] &=\sum_sd(s)\sum_a\color{red}{\pi(a|s,\theta)\nabla_\theta\ln\pi(a|s,\theta)}\color{black}{q_\pi(s,a)} \\[2ex] &=\mathbb{E}_{\color{red}{S}\sim d}\left[\sum_a\pi(a|S,\theta)\nabla_\theta\ln\pi(a|S,\theta)q_\pi(S,a)\right] \\[2ex] \end{aligned} θJ=sd(s)aθπ(as,θ)qπ(s,a)=sd(s)aπ(as,θ)θlnπ(as,θ)qπ(s,a)=ESd[aπ(aS,θ)θlnπ(aS,θ)qπ(S,a)]

其中 S S S 满足 d d d 的分布。

接下啦,再把 ∑ a π ( a ∣ S , θ ) \begin{aligned}\sum_a\pi(a|S,\theta)\end{aligned} aπ(aS,θ) 这个求和写成了Expectation 的形式,得到:

∇ θ J = ∑ s d ( s ) ∑ a ∇ θ π ( a ∣ s , θ ) q π ( s , a ) = ∑ s d ( s ) ∑ a π ( a ∣ s , θ ) ∇ θ ln ⁡ π ( a ∣ s , θ ) q π ( s , a ) = E S ∼ d [ ∑ a π ( a ∣ S , θ ) ∇ θ ln ⁡ π ( a ∣ S , θ ) q π ( S , a ) ] = E S ∼ d , A ∼ π [ ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ] \begin{aligned} \nabla_\theta J&=\sum_sd(s)\sum_a\nabla_\theta\pi(a|s,\theta)q_\pi(s,a) \\[2ex] &=\sum_sd(s)\sum_a\color{red}{\pi(a|s,\theta)\nabla_\theta\ln\pi(a|s,\theta)}\color{black}{q_\pi(s,a)} \\[2ex] &=\mathbb{E}_{\color{red}{S}\sim d}\left[\sum_a\pi(a|S,\theta)\nabla_\theta\ln\pi(a|S,\theta)q_\pi(S,a)\right] \\[2ex] &=\mathbb{E}_{S\boldsymbol{\sim}d,\color{red}{A}\boldsymbol{\sim}\boldsymbol{\pi}}\left[\nabla_\theta\ln\pi(A|S,\theta)q_\pi(S,A)\right] \end{aligned} θJ=sd(s)aθπ(as,θ)qπ(s,a)=sd(s)aπ(as,θ)θlnπ(as,θ)qπ(s,a)=ESd[aπ(aS,θ)θlnπ(aS,θ)qπ(S,a)]=ESd,Aπ[θlnπ(AS,θ)qπ(S,A)]
其中 A A A 满足 π π π 的分布。省略下标 S ∼ d , A ∼ π {S}\boldsymbol{\sim}\boldsymbol{d},{A}\boldsymbol{\sim}\boldsymbol{\pi} Sd,Aπ,得到如下式子:

∇ θ J = ∑ s d ( s ) ∑ a ∇ θ π ( a ∣ s , θ ) q π ( s , a ) = ∑ s d ( s ) ∑ a π ( a ∣ s , θ ) ∇ θ ln ⁡ π ( a ∣ s , θ ) q π ( s , a ) = E S ∼ d [ ∑ a π ( a ∣ S , θ ) ∇ θ ln ⁡ π ( a ∣ S , θ ) q π ( S , a ) ] = E S ∼ d , A ∼ π [ ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ] ≐ E [ ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ] \begin{aligned} \nabla_\theta J&=\sum_sd(s)\sum_a\nabla_\theta\pi(a|s,\theta)q_\pi(s,a) \\[2ex] &=\sum_sd(s)\sum_a\color{red}{\pi(a|s,\theta)\nabla_\theta\ln\pi(a|s,\theta)}\color{black}{q_\pi(s,a)} \\[2ex] &=\mathbb{E}_{\color{red}{S}\sim d}\left[\sum_a\pi(a|S,\theta)\nabla_\theta\ln\pi(a|S,\theta)q_\pi(S,a)\right] \\[2ex] &=\mathbb{E}_{S\boldsymbol{\sim}d,\color{red}{A}\boldsymbol{\sim}\boldsymbol{\pi}}\left[\nabla_\theta\ln\pi(A|S,\theta)q_\pi(S,A)\right] \\[2ex] &\doteq\mathbb{E}\left[\nabla_\theta\ln\pi(A|S,\theta)q_\pi(S,A)\right] \end{aligned} θJ=sd(s)aθπ(as,θ)qπ(s,a)=sd(s)aπ(as,θ)θlnπ(as,θ)qπ(s,a)=ESd[aπ(aS,θ)θlnπ(aS,θ)qπ(S,a)]=ESd,Aπ[θlnπ(AS,θ)qπ(S,A)]E[θlnπ(AS,θ)qπ(S,A)]


一些补充说明:

因为我们需要计算 ln ⁡ π ( a ∣ s , θ ) \ln\pi(a|s,\theta) lnπ(as,θ),我们必须确保对于所有 s , a , θ s,a,\theta s,a,θ,满足: π ( a ∣ s , θ ) > 0 \pi(a|s,\theta)>0 π(as,θ)>0,可以通过以下手段达到这一目的:

  • 通过使用softmax function来满足这一要求,它能将 ( − ∞ , + ∞ ) (-\infty,+\infty) (,+)的向量实体归一化到(0,1);

  • 例如,对于任意向量 x = [ x 1 , . . . , x n ] T x=[x_1,...,x_n]^T x=[x1,...,xn]T,
    z i = e x i ∑ j = 1 n e x j z_i=\frac{e^{x_i}}{\sum_{j=1}^ne^{x_j}} zi=j=1nexjexi
    其中 z i ∈ ( 0 , 1 ) z_i\in(0,1) zi(0,1),并且 ∑ i = 1 n z i = 1 \sum_{i=1}^nz_i=1 i=1nzi=1

  • 然后,有了softmax函数,就可以写出policy function, 如下:
    π ( a ∣ s , θ ) = e h ( s , a , θ ) ∑ a ′ ∈ A e h ( s , a ′ , θ ) \pi(a|s,\theta)=\frac{e^{h(s,a,\theta)}}{\sum_{a^{\prime}\in\mathcal{A}}e^{h(s,a^{\prime},\theta)}} π(as,θ)=aAeh(s,a,θ)eh(s,a,θ)
    其中 h ( s , a , θ ) h(s,a,\theta) h(s,a,θ) 是另一个函数。

在这里插入图片描述

需要强调的几点:

  • 基于 softmax 函数的这种形式可以通过神经网络实现,其输入是 s s s,参数是 θ θ θ。该网络具有 ∣ A ∣ |\mathcal{A}| A 个输出,每个输出对应于动作 a a a π ( a ∣ s , θ ) π(a|s, θ) π(as,θ)。输出层的激活函数应该是 softmax。在这里插入图片描述
  • 由于对于所有的 a a a π ( a ∣ s , θ ) > 0 π(a|s, θ) > 0 π(as,θ)>0,参数化的策略是随机的,因此具有探索性质。
  • 也存在确定性策略梯度(DPG)方法。



参考资料:
强化学习导论(十三)- 策略梯度法

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值