【RL】Actor-Critic Methods

Lecture 10: Actor-Critic Methods

The simplest actor-critic (QAC)

回顾 policy 梯度的概念:

1、标量指标 J ( θ ) J(\theta) J(θ),可以是 v ˉ π \bar{v}_{\pi} vˉπ r ˉ π \bar{r}_{\pi} rˉπ

2、最大化 J ( θ ) J(\theta) J(θ) 的梯度上升算法为:
θ t + 1 = θ t + α ∇ θ J ( θ t ) = θ t + α E S ∼ η , A ∼ π [ ∇ θ ln ⁡ π ( A ∣ S , θ t ) q π ( S , A ) ] \begin{aligned} \theta_{t+1}& =\theta_t+\alpha\nabla_\theta J(\theta_t) \\ &=\theta_t+\alpha\mathbb{E}_{S\sim\eta,A\sim\pi}\Big[\nabla_\theta\ln\pi(A|S,\theta_t)q_\pi(S,A)\Big] \end{aligned} θt+1=θt+αθJ(θt)=θt+αESη,Aπ[θlnπ(AS,θt)qπ(S,A)]
3、随机梯度上升算法是:
θ t + 1 = θ t + α ∇ θ ln ⁡ π ( a t ∣ s t , θ t ) q t ( s t , a t ) \theta_{t+1}=\theta_t+\alpha\nabla_\theta\ln\pi(a_t|s_t,\theta_t){q_t(s_t,a_t)} θt+1=θt+αθlnπ(atst,θt)qt(st,at)
从以上算法中,可以看到“actor”和”critic“:

  • 这个算法对应的是actor。
  • 估计 q t ( s , a ) q_t(s, a) qt(s,a)的算法对应于critic。

How to get q t ( s t , a t ) q_t(s_t, a_t) qt(st,at)?

  • Monte Carlo learning:如果使用MC,相应的算法称为REINFORCE或Monte Carlo policy gradient。
  • Temporal-difference learning:如果使用TD,这种算法通常称为actor-critic。

在这里插入图片描述

  • critic 对应的是“SARSA+价值函数近似”。
  • actor 对应于 policy 更新算法。
  • 该算法是 on-policy的。由于 policy 是随机的,因此无需使用 ε \varepsilon ε-greedy 等技术。
  • 这种特定的 actor-citric 算法有时称为 Q Actor-Critic (QAC)。
  • 该算法揭示了 actor-citric 方法的核心思想。 它可以扩展以生成许多其他算法。

Advantage actor-critic (A2C)

Baseline invariance

属性:policy 梯度对于附加 baseline 是不变的:
∇ θ J ( θ ) = E S ∼ η , A ∼ π [ ∇ θ ln ⁡ π ( A ∣ S , θ t ) q π ( S , A ) ] = E S ∼ η , A ∼ π [ ∇ θ ln ⁡ π ( A ∣ S , θ t ) ( q π ( S , A ) − b ( S ) ) ] \begin{aligned} \nabla_\theta J(\theta)& =\mathbb{E}_{S\sim\eta,A\sim\pi}\bigg[\nabla_\theta\ln\pi(A|S,\theta_t)q_\pi(S,A)\bigg] \\ &=\mathbb{E}_{S\sim\eta,A\sim\pi}\left[\nabla_\theta\ln\pi(A|S,\theta_t)(q_\pi(S,A)-{b(S)})\right] \end{aligned} θJ(θ)=ESη,Aπ[θlnπ(AS,θt)qπ(S,A)]=ESη,Aπ[θlnπ(AS,θt)(qπ(S,A)b(S))]
其中,附加 baseline b ( S ) b(S) b(S) S S S 的标量函数。

有效性证明:
E S ∼ η , A ∼ π [ ∇ θ ln ⁡ π ( A ∣ S , θ t ) b ( S ) ] = 0 \mathbb{E}_{S\sim\eta,A\sim\pi}\Big[\nabla_\theta\ln\pi(A|S,\theta_t)b(S)\Big]=0 ESη,Aπ[θlnπ(AS,θt)b(S)]=0
上式的具体细节为:
E S ∼ η , A ∼ π [ ∇ θ ln ⁡ π ( A ∣ S , θ t ) b ( S ) ] = ∑ s ∈ S η ( s ) ∑ a ∈ A π ( a ∣ s , θ t ) ∇ θ ln ⁡ π ( a ∣ s , θ t ) b ( s ) = ∑ s ∈ S η ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ t ) b ( s ) = ∑ s ∈ S η ( s ) b ( s ) ∑ a ∈ A ∇ θ π ( a ∣ s , θ t ) = ∑ s ∈ S η ( s ) b ( s ) ∇ θ ∑ a ∈ A π ( a ∣ s , θ t ) = ∑ s ∈ S η ( s ) b ( s ) ∇ θ 1 = 0 \begin{aligned} \mathbb{E}_{S\sim\eta,A\sim\pi}\left[\nabla_\theta\ln\pi(A|S,\theta_t)b(S)\right]& =\sum_{s\in\mathcal{S}}\eta(s)\sum_{a\in\mathcal{A}}\pi(a|s,\theta_t)\nabla_\theta\ln\pi(a|s,\theta_t)b(s) \\ &\begin{aligned}&=\sum_{s\in\mathcal{S}}\eta(s)\sum_{a\in\mathcal{A}}\nabla_\theta\pi(a|s,\theta_t)b(s)\end{aligned} \\ &=\sum_{s\in\mathcal{S}}\eta(s)b(s)\sum_{a\in\mathcal{A}}\nabla_\theta\pi(a|s,\theta_t) \\ &=\sum_{s\in\mathcal{S}}\eta(s)b(s)\nabla_\theta\sum_{a\in\mathcal{A}}\pi(a|s,\theta_t) \\ &\begin{aligned}=\sum_{s\in\mathcal{S}}\eta(s)b(s)\nabla_\theta1=0\end{aligned} \end{aligned} ESη,Aπ[θlnπ(AS,θt)b(S)]=sSη(s)aAπ(as,θt)θlnπ(as,θt)b(s)=sSη(s)aAθπ(as,θt)b(s)=sSη(s)b(s)aAθπ(as,θt)=sSη(s)b(s)θaAπ(as,θt)=sSη(s)b(s)θ1=0
因此,在添加 baseline 后,对 policy 的期望没有影响。

有用性证明:

设梯度为 ∇ θ J ( θ ) = E [ X ] \nabla_\theta J(\theta)=\mathbb{E}[X] θJ(θ)=E[X],其中:
X ( S , A ) ≐ ∇ θ ln ⁡ π ( A ∣ S , θ t ) [ q π ( S , A ) − b ( S ) ] X(S,A)\doteq\nabla_\theta\ln\pi(A|S,\theta_t)[q_\pi(S,A)-b(S)] X(S,A)θlnπ(AS,θt)[qπ(S,A)b(S)]
可得:

E [ X ] \mathbb{E}[X] E[X] 对于 b ( S ) b(S) b(S)是不变的。

var ( X ) \text{var}(X) var(X) 对于 b ( S ) b(S) b(S) 来说是变化的。

因为 tr ⁡ [ var ⁡ ( X ) ] = E [ X T X ] − x ˉ T x ˉ \operatorname{tr}[\operatorname{var}(X)]=\mathbb{E}[X^TX]-\bar{x}^T\bar{x} tr[var(X)]=E[XTX]xˉTxˉ,且
E [ X T X ] = E [ ( ∇ θ ln ⁡ π ) T ( ∇ θ ln ⁡ π ) ( q π ( S , A ) − b ( S ) ) 2 ] = E [ ∥ ∇ θ ln ⁡ π ∥ 2 ( q π ( S , A ) − b ( S ) ) 2 ] \begin{gathered} \mathbb{E}[X^TX] =\mathbb{E}\left[(\nabla_\theta\ln\pi)^T(\nabla_\theta\ln\pi)(q_\pi(S,A)-b(S))^2\right] \\ =\mathbb{E}\left[\|\nabla_\theta\ln\pi\|^2(q_\pi(S,A)-b(S))^2\right] \end{gathered} E[XTX]=E[(θlnπ)T(θlnπ)(qπ(S,A)b(S))2]=E[θlnπ2(qπ(S,A)b(S))2]
因此,目标为选择最佳 baseline b b b 以最小化 var ( X ) \text{var}(X) var(X)

这样做的优势是:当使用随机样本来近似 E [ X ] \mathbb{E}[X] E[X] 时,估计方差也会很小。

可以最小化 var ( X ) \text{var}(X) var(X) 的最佳基线是,对于任何 s ∈ S s \in S sS
b ∗ ( s ) = E A ∼ π [ ∥ ∇ θ ln ⁡ π ( A ∣ s , θ t ) ∥ 2 q π ( s , A ) ] E A ∼ π [ ∥ ∇ θ ln ⁡ π ( A ∣ s , θ t ) ∥ 2 ] . b^*(s)=\frac{\mathbb{E}_{A\sim\pi}[\|\nabla_\theta\ln\pi(A|s,\theta_t)\|^2q_\pi(s,A)]}{\mathbb{E}_{A\sim\pi}[\|\nabla_\theta\ln\pi(A|s,\theta_t)\|^2]}. b(s)=EAπ[θlnπ(As,θt)2]EAπ[θlnπ(As,θt)2qπ(s,A)].
尽管这个 baseline 是最佳的,但它很复杂。

可以删除权重 ∥ ∇ θ ln ⁡ π ( A ∣ s , θ t ) ∥ 2 \|\nabla_\theta\ln\pi(A|s,\theta_t)\|^2 θlnπ(As,θt)2 并选择次优 baseline:
b ( s ) = E A ∼ π [ q π ( s , A ) ] = v π ( s ) b(s)=\mathbb{E}_{A\sim\pi}[q_\pi(s,A)]=v_\pi(s) b(s)=EAπ[qπ(s,A)]=vπ(s)
这是 s 的 state value。

The algorithm of advantage actor-critic

b ( s ) = v π ( s ) b(s)=v_\pi(s) b(s)=vπ(s) 时,

梯度上升算法是:
θ t + 1 = θ t + α E [ ∇ θ ln ⁡ π ( A ∣ S , θ t ) [ q π ( S , A ) − v π ( S ) ] ] = ˙ θ t + α E [ ∇ θ ln ⁡ π ( A ∣ S , θ t ) δ π ( S , A ) ] \begin{aligned} \theta_{t+1}& =\theta_t+\alpha\mathbb{E}\Big[\nabla_\theta\ln\pi(A|S,\theta_t)[q_\pi(S,A)-v_\pi(S)]\Big] \\ &\dot{=}\theta_t+\alpha\mathbb{E}\Big[\nabla_\theta\ln\pi(A|S,\theta_t){\delta_\pi(S,A)}\Big] \end{aligned} θt+1=θt+αE[θlnπ(AS,θt)[qπ(S,A)vπ(S)]]=˙θt+αE[θlnπ(AS,θt)δπ(S,A)]
其中:
δ π ( S , A ) ≐ q π ( S , A ) − v π ( S ) \delta_\pi(S,A)\doteq q_\pi(S,A)-v_\pi(S) δπ(S,A)qπ(S,A)vπ(S)
该算法的随机版本是:
θ t + 1 = θ t + α ∇ θ ln ⁡ π ( a t ∣ s t , θ t ) [ q t ( s t , a t ) − v t ( s t ) ] = θ t + α ∇ θ ln ⁡ π ( a t ∣ s t , θ t ) δ t ( s t , a t ) \begin{aligned} \theta_{\boldsymbol{t}+1}& \begin{aligned}=\theta_t+\alpha\nabla_\theta\ln\pi(a_t|s_t,\theta_t)[q_t(s_t,a_t)-v_t(s_t)]\end{aligned} \\ &=\theta_t+\alpha\nabla_\theta\ln\pi(a_t|s_t,\theta_t)\delta_t(s_t,a_t) \end{aligned} θt+1=θt+αθlnπ(atst,θt)[qt(st,at)vt(st)]=θt+αθlnπ(atst,θt)δt(st,at)
此外,该算法可以重新表示为:
θ t + 1 = θ t + α ∇ θ ln ⁡ π ( a t ∣ s t , θ t ) δ t ( s t , a t ) = θ t + α ∇ θ π ( a t ∣ s t , θ t ) π ( a t ∣ s t , θ t ) δ t ( s t , a t ) = θ t + α ( δ t ( s t , a t ) π ( a t ∣ s t , θ t ) ) ⏟ step   size ∇ θ π ( a t ∣ s t , θ t ) \begin{aligned} \theta_{t+1}& =\theta_t+\alpha\nabla_\theta\ln\pi(a_t|s_t,\theta_t)\delta_t(s_t,a_t) \\ &=\theta_t+\alpha\frac{\nabla_\theta\pi(a_t|s_t,\theta_t)}{\pi(a_t|s_t,\theta_t)}\delta_t(s_t,a_t) \\ &=\theta_t+\alpha\underbrace{\left(\frac{{\delta_t(s_t,a_t)}}{\pi(a_t|s_t,\theta_t)}\right)}_{\textbf{step size}}\nabla_\theta\pi(a_t|s_t,\theta_t) \end{aligned} θt+1=θt+αθlnπ(atst,θt)δt(st,at)=θt+απ(atst,θt)θπ(atst,θt)δt(st,at)=θt+αstep size (π(atst,θt)δt(st,at))θπ(atst,θt)
步长与相对值 δ t \delta_t δt 成正比,而不是与绝对值 q t q_t qt 成正比,更合理。

它仍然可以很好地平衡探索和开发。

此外,优势函数由 TD error 近似:
δ t = q t ( s t , a t ) − v t ( s t ) → r t + 1 + γ v t ( s t + 1 ) − v t ( s t ) \delta_t=q_t(s_t,a_t)-v_t(s_t)\rightarrow r_{t+1}+\gamma v_t(s_{t+1})-v_t(s_t) δt=qt(st,at)vt(st)rt+1+γvt(st+1)vt(st)
这个近似是合理的,因为:
E [ q π ( S , A ) − v π ( S ) ∣ S = s t , A = a t ] = E [ R + γ v π ( S ′ ) − v π ( S ) ∣ S = s t , A = a t ] \mathbb{E}[q_\pi(S,A)-v_\pi(S)|S=s_t,A=a_t]=\mathbb{E}\Big[R+\gamma v_\pi(S')-v_\pi(S)|S=s_t,A=a_t\Big] E[qπ(S,A)vπ(S)S=st,A=at]=E[R+γvπ(S)vπ(S)S=st,A=at]
好处:只需要一个网络来近似 v π ( s ) v_{\pi}(s) vπ(s),而不需要两个网络来近似 q π ( s , a ) q_{\pi}(s, a) qπ(s,a) v π ( s ) v_{\pi}(s) vπ(s)

在这里插入图片描述

这是on-policy的。 由于策略 π ( θ t ) \pi(\theta_t) π(θt) 是随机的,因此无需使用 ε \varepsilon ε-greedy等技术。

Off-policy actor-critic

Illustrative examples

考虑一个随机变量 X ∈ X = { + 1 , − 1 } X \in \mathcal{X} = \{+1, −1\} XX={+1,1}

如果 X X X 的概率分布为 p 0 p_0 p0
p 0 ( X = + 1 ) = 0.5 , p 0 ( X = − 1 ) = 0.5 p_0(X=+1)=0.5,\quad p_0(X=-1)=0.5 p0(X=+1)=0.5,p0(X=1)=0.5
那么 X X X的期望是:
E X ∼ p 0 [ X ] = ( + 1 ) ⋅ 0.5 + ( − 1 ) ⋅ 0.5 = 0. \mathbb{E}_{X\sim p_0}[X]=(+1)\cdot0.5+(-1)\cdot0.5=0. EXp0[X]=(+1)0.5+(1)0.5=0.
使用样本 { x i } \{x_i\} {xi}估计 E [ X ] \mathbb{E}[X] E[X]

Case 1

根据 p 0 p_0 p0 生成样本 { x i } \{x_i\} {xi}
E [ x i ] = E [ X ] , var [ x i ] = var [ X ] \mathbb{E}[x_i]=\mathbb{E}[X],\quad\text{var}[x_i]=\text{var}[X] E[xi]=E[X],var[xi]=var[X]
然后,平均值可以收敛到期望值:
x ˉ = 1 n ∑ i = 1 n x i → E [ X ] , as  n → ∞ \bar{x}=\frac1n\sum_{i=1}^nx_i\to\mathbb{E}[X],\quad\text{as }n\to\infty xˉ=n1i=1nxiE[X],as n
因为:
E [ x ˉ ] = E [ X ] , v a r [ x ˉ ] = 1 n v a r [ X ] \mathbb{E}[\bar{x}]=\mathbb{E}[X],\quad\mathrm{var}[\bar{x}]=\frac1n\mathrm{var}[X] E[xˉ]=E[X],var[xˉ]=n1var[X]
Case 2

样本 { x i } \{x_i\} {xi} 是根据另一个分布 p 1 p_1 p1 生成的:
p 1 ( X = + 1 ) = 0.8 , p 1 ( X = − 1 ) = 0.2 p_1(X=+1)=0.8,\quad p_1(X=-1)=0.2 p1(X=+1)=0.8,p1(X=1)=0.2
期望是:
E X ∼ p 1 [ X ] = ( + 1 ) ⋅ 0.8 + ( − 1 ) ⋅ 0.2 = 0.6 \mathbb{E}_{X\sim p_1}[X]=(+1)\cdot0.8+(-1)\cdot0.2=0.6 EXp1[X]=(+1)0.8+(1)0.2=0.6
如果使用样本的平均值,那么;
x ˉ = 1 n ∑ i = 1 n x i → E X ∼ p 1 [ X ] = 0.6 ≠ E X ∼ p 0 [ X ] \bar{x}=\frac{1}{n}\sum_{i=1}^{n}x_{i}\rightarrow\mathbb{E}_{X\sim p_{1}}[X]=0.6\neq\mathbb{E}_{X\sim p_{0}}[X] xˉ=n1i=1nxiEXp1[X]=0.6=EXp0[X]
使用 { x i } ∼ p 1 \{x_i\} \sim p_1 {xi}p1 来估计 E X ∼ p 0 [ X ] \mathbb{E}_{X\sim p_0}[X] EXp0[X]

估计 E A ∼ π [ ∗ ] \mathbb{E}_{A\sim \pi}[*] EAπ[],其中 π \pi π 是基于行为policy(behavior policy) β \beta β 样本的目标policy(target policy)。

可以通过使用重要性采样(importance sampling)技术来实现这一点。

在这里插入图片描述

Importance sampling

因为:
E X ∼ p 0 [ X ] = ∑ x p 0 ( x ) x = ∑ x p 1 ( x ) p 0 ( x ) p 1 ( x ) x ⏟ f ( x ) = E X ∼ p 1 [ f ( X ) ] {\mathbb{E}_{X\sim p_0}[X]}=\sum_xp_0(x)x=\sum_xp_1(x)\underbrace{\frac{p_0(x)}{p_1(x)}x}_{f(x)}={\mathbb{E}_{X\sim p_1}[f(X)]} EXp0[X]=xp0(x)x=xp1(x)f(x) p1(x)p0(x)x=EXp1[f(X)]
因此,我们可以估计 E X ∼ p 1 [ f ( X ) ] \mathbb{E}_{X\sim p_1}[f(X)] EXp1[f(X)] 来估计 E X ∼ p 0 [ X ] \mathbb{E}_{X\sim p_0}[X] EXp0[X]

使,
f ˉ ≐ 1 n ∑ i = 1 n f ( x i ) ,  where  x i ∼ p 1 \bar{f}\doteq\frac1n\sum_{i=1}^nf(x_i),\quad\text{ where }x_i\sim p_1 fˉn1i=1nf(xi), where xip1
那么:
E X ∼ p 1 [ f ˉ ] = E X ∼ p 1 [ f ( X ) ] var ⁡ X ∼ p 1 [ f ˉ ] = 1 n v a r X ∼ p 1 [ f ( X ) ] \begin{gathered} \mathbb{E}_{X\sim p_1}[\bar{f}] =\mathbb{E}_{X\sim p_1}[f(X)] \\ \operatorname{var}_{X\sim_{p_{1}}}[\bar{f}] =\frac1n\mathrm{var}_{X\thicksim p_1}[f(X)] \end{gathered} EXp1[fˉ]=EXp1[f(X)]varXp1[fˉ]=n1varXp1[f(X)]
因此, f ˉ \bar{f} fˉ E X ∼ p 1 [ f ( X ) ] = E X ∼ p 0 [ X ] \mathbb{E}_{X\sim p_1}[f(X)] = \mathbb{E}_{X\sim p_0}[X] EXp1[f(X)]=EXp0[X] 的良好近似:
E X ∼ p 0 [ X ] ≈ f ‾ = 1 n ∑ i = 1 n f ( x i ) = 1 n ∑ i = 1 n p 0 ( x i ) p 1 ( x i ) x i {\mathbb{E}_{X\sim p_0}[X]}\approx\overline{f}=\frac1n\sum_{i=1}^nf(x_i){=\frac1n\sum_{i=1}^n\frac{p_0(x_i)}{p_1(x_i)}x_i} EXp0[X]f=n1i=1nf(xi)=n1i=1np1(xi)p0(xi)xi
p 0 ( x i ) p 1 ( x i ) \frac{p_0(x_i)}{p_1(x_i)} p1(xi)p0(xi)被称为重要性分数(importance weight)。

如果 p 1 ( x i ) = p 0 ( x i ) p_1(x_i) = p_0(x_i) p1(xi)=p0(xi),则重要性权重为 1,而 f ˉ \bar{f} fˉ 变为 x ˉ \bar{x} xˉ

如果 p 0 ( x i ) ≥ p 1 ( x i ) p_0(x_i) ≥ p_1(x_i) p0(xi)p1(xi),则 p 0 p_0 p0 p 1 p_1 p1 更频繁地对 x i x_i xi 进行采样。 重要性权重(>1)可以强调这个样本的重要性。

其适用于给定 x x x很容易计算 p 0 ( x ) p_0(x) p0(x),但计算期望却很困难的情况。

例如,连续情况、 p 0 p_0 p0 的复杂表达或 p 0 p_0 p0 不表达(例如, p 0 p_0 p0 由神经网络表示)。

总结:

如果 { x 1 } ∼ p 1 \{ x_1 \} \sim p_1 {x1}p1

那么:
x ˉ = 1 n ∑ i = 1 n x i → E X ∼ p 1 [ X ] f ˉ = 1 n ∑ i = 1 n p 0 ( x i ) p 1 ( x i ) x i → E X ∼ p 0 [ X ] \begin{gathered} \bar{x}=\frac{1}{n}\sum_{i=1}^{n}x_{i}\rightarrow\mathbb{E}_{X\sim p_{1}}[X] \\ \begin{aligned}\bar{f}=\frac{1}{n}\sum_{i=1}^{n}\frac{p_{0}(x_{i})}{p_{1}(x_{i})}x_{i}\to\mathbb{E}_{{X\sim p_{0}}}[X]\end{aligned} \end{gathered} xˉ=n1i=1nxiEXp1[X]fˉ=n1i=1np1(xi)p0(xi)xiEXp0[X]

在这里插入图片描述

The theorem of off-policy policy gradient

与之前的 on-policy 情况一样,需要推导 off-policy 情况下的 policy 梯度。

假设 β \beta β 是生成经验样本的 behavior policy。

目标是使用这些样本来更新target policy π \pi π,以最小化指标:
J ( θ ) = ∑ s ∈ S d β ( s ) v π ( s ) = E S ∼ d β [ v π ( S ) ] J(\theta)=\sum_{s\in\mathcal{S}}d_\beta(s)v_\pi(s)=\mathbb{E}_{S\sim d_\beta}[v_\pi(S)] J(θ)=sSdβ(s)vπ(s)=ESdβ[vπ(S)]
其中 d β d_{\beta} dβ 是policy β \beta β 下的平稳分布。

Theorem (Off-policy policy gradient theorem)

在 discounted 情况下, γ ∈ ( 0 , 1 ) \gamma \in (0, 1) γ(0,1) J ( θ ) J(\theta) J(θ) 的梯度为:
∇ θ J ( θ ) = E S ∼ ρ , A ∼ β [ π ( A ∣ S , θ ) β ( A ∣ S ) ∇ θ ln ⁡ π ( A ∣ S , θ ) q π ( S , A ) ] \nabla_\theta J(\theta)=\mathbb{E}_{S\sim\rho,A\sim\beta}\left[\frac{\pi(A|S,\theta)}{\beta(A|S)}\nabla_\theta\ln\pi(A|S,\theta)q_\pi(S,A)\right] θJ(θ)=ESρ,Aβ[β(AS)π(AS,θ)θlnπ(AS,θ)qπ(S,A)]
其中 β \beta β 是behavior policy, ρ \rho ρ 是 state 分布。

The algorithm of off-policy actor-critic

off-policy 的 policy 梯度对于 baseline b ( s ) b(s) b(s) 也是不变的。

特别来说:
∇ θ J ( θ ) = E S ∼ ρ , A ∼ β [ π ( A ∣ S , θ ) β ( A ∣ S ) ∇ θ ln ⁡ π ( A ∣ S , θ ) ( q π ( S , A ) − b ( S ) ) ] \nabla_\theta J(\theta)=\mathbb{E}_{S\sim\rho,A\sim\beta}\left[\frac{\pi(A|S,\theta)}{\beta(A|S)}\nabla_\theta\ln\pi(A|S,\theta)\left(q_\pi(S,A)-{b(S)}\right)\right] θJ(θ)=ESρ,Aβ[β(AS)π(AS,θ)θlnπ(AS,θ)(qπ(S,A)b(S))]
为了减少估计方差,我们可以选择 baseline 为 b ( S ) = v π ( S ) b(S) = v_{\pi}(S) b(S)=vπ(S) 并得到:
∇ θ J ( θ ) = E [ π ( A ∣ S , θ ) β ( A ∣ S ) ∇ θ ln ⁡ π ( A ∣ S , θ ) ( q π ( S , A ) − v π ( S ) ) ] \nabla_\theta J(\theta)=\mathbb{E}\left[\frac{\pi(A|S,\theta)}{\beta(A|S)}\nabla_\theta\ln\pi(A|S,\theta)\big(q_\pi(S,A)-{v_\pi(S)}\big)\right] θJ(θ)=E[β(AS)π(AS,θ)θlnπ(AS,θ)(qπ(S,A)vπ(S))]
相应的随机梯度上升算法是:
θ t + 1 = θ t + α θ π ( a t ∣ s t , θ t ) β ( a t ∣ s t ) ∇ θ ln ⁡ π ( a t ∣ s t , θ t ) ( q t ( s t , a t ) − v t ( s t ) ) \theta_{t+1}=\theta_t+\alpha_\theta\frac{\pi(a_t|s_t,\theta_t)}{\beta(a_t|s_t)}\nabla_\theta\ln\pi(a_t|s_t,\theta_t)\big(q_t(s_t,a_t)-v_t(s_t)\big) θt+1=θt+αθβ(atst)π(atst,θt)θlnπ(atst,θt)(qt(st,at)vt(st))
与 on-policy 案例类似:
q t ( s t , a t ) − v t ( s t ) ≈ r t + 1 + γ v t ( s t + 1 ) − v t ( s t ) ≐ δ t ( s t , a t ) q_t(s_t,a_t)-v_t(s_t)\approx r_{t+1}+\gamma v_t(s_{t+1})-v_t(s_t)\doteq\delta_t(s_t,a_t) qt(st,at)vt(st)rt+1+γvt(st+1)vt(st)δt(st,at)
那么算法就变成了:
θ t + 1 = θ t + α θ π ( a t ∣ s t , θ t ) β ( a t ∣ s t ) ∇ θ ln ⁡ π ( a t ∣ s t , θ t ) δ t ( s t , a t ) \theta_{t+1}=\theta_t+\alpha_\theta\frac{\pi(a_t|s_t,\theta_t)}{\beta(a_t|s_t)}\nabla_\theta\ln\pi(a_t|s_t,\theta_t)\delta_t(s_t,a_t) θt+1=θt+αθβ(atst)π(atst,θt)θlnπ(atst,θt)δt(st,at)
因此:
θ t + 1 = θ t + α θ ( δ t ( s t , a t ) β ( a t ∣ s t ) ) ∇ θ π ( a t ∣ s t , θ t ) \theta_{t+1}=\theta_t+\alpha_\theta\left(\frac{\delta_t(s_t,a_t)}{\beta(a_t|s_t)}\right)\nabla_\theta\pi(a_t|s_t,\theta_t) θt+1=θt+αθ(β(atst)δt(st,at))θπ(atst,θt)

在这里插入图片描述

Deterministic actor-critic (DPG)

The theorem of deterministic policy gradient

之前介绍的 policy 梯度定理仅适用于随机 policy 。

如果 policy 必须是确定性的,必须推导出一个新的 policy 梯度定理。

考虑 discounted 情况下平均 state value 的指标:
J ( θ ) = E [ v μ ( s ) ] = ∑ s ∈ S d 0 ( s ) v μ ( s ) J(\theta)=\mathbb{E}[v_\mu(s)]=\sum_{s\in\mathcal{S}}d_0(s)v_\mu(s) J(θ)=E[vμ(s)]=sSd0(s)vμ(s)
其中 d 0 ( s ) d_0(s) d0(s) 是满足 ∑ s ∈ S d 0 ( s ) = 1 \sum_{s\in\mathcal{S}}d_0(s)=1 sSd0(s)=1 的概率分布。

  • d 0 d_0 d0 被选择为独立于 μ \mu μ。 这种情况下的梯度更容易计算。

  • 选择 d 0 d_0 d0 有两种特殊但重要的情况:

    第一个特殊情况是 d 0 ( s 0 ) = 1 d_0(s_0) = 1 d0(s0)=1 d 0 ( s ≠ s 0 ) = 0 d_0(s \ne s_0) = 0 d0(s=s0)=0,其中 s 0 s_0 s0 是感兴趣的特定起始 state。

    第二个特殊情况是 d 0 d_0 d0 是与 μ \mu μ 不同的 behavior policy 的平稳分布。

Theorem (Deterministic policy gradient theorem in the discounted case)

在折扣情况下, γ ∈ ( 0 , 1 ) \gamma \in (0, 1) γ(0,1) J ( θ ) J(\theta) J(θ) 的梯度为:
∇ θ J ( θ ) = ∑ s ∈ S ρ μ ( s ) ∇ θ μ ( s ) ( ∇ a q μ ( s , a ) ) ∣ a = μ ( s ) = E S ∼ ρ μ [ ∇ θ μ ( S ) ( ∇ a q μ ( S , a ) ) ∣ a = μ ( S ) ] \begin{aligned} \nabla_{\theta}J(\theta)& =\sum_{s\in\mathcal{S}}\rho_{\mu}(s)\nabla_{\theta}\mu(s)\left(\nabla_{a}q_{\mu}(s,a)\right)|_{a=\mu(s)} \\ &=\mathbb{E}_{S\sim\rho_{\mu}}\left[\nabla_{\theta}\mu(S)\big(\nabla_{a}q_{\mu}(S,a)\big)|_{a=\mu(S)}\right] \end{aligned} θJ(θ)=sSρμ(s)θμ(s)(aqμ(s,a))a=μ(s)=ESρμ[θμ(S)(aqμ(S,a))a=μ(S)]

The algorithm of deterministic actor-critic

基于 policy 梯度,最大化 J ( θ ) J(\theta) J(θ) 的梯度上升算法为:
θ t + 1 = θ t + α θ E S ∼ ρ μ [ ∇ θ μ ( S ) ( ∇ a q μ ( S , a ) ) ∣ a = μ ( S ) ] \theta_{t+1}=\theta_{t}+\alpha_{\theta}\mathbb{E}_{S\sim\rho_{\mu}}\left[\nabla_{\theta}\mu(S)\big(\nabla_{a}q_{\mu}(S,a)\big)|_{a=\mu(S)}\right] θt+1=θt+αθESρμ[θμ(S)(aqμ(S,a))a=μ(S)]
相应的随机梯度上升算法是:
θ t + 1 = θ t + α θ ∇ θ μ ( s t ) ( ∇ a q μ ( s t , a ) ) ∣ a = μ ( s t ) \theta_{t+1}=\theta_t+\alpha_\theta\nabla_\theta\mu(s_t)\big(\nabla_aq_\mu(s_t,a)\big)|_{a=\mu(s_t)} θt+1=θt+αθθμ(st)(aqμ(st,a))a=μ(st)

在这里插入图片描述

这是一种 off-policy 实现,其中 behavior policy β \beta β 可能与 μ \mu μ 不同。

β \beta β 也可以用 μ + noise \mu+ \text{noise} μ+noise 代替。

选择函数来表示 q ( s , a , w ) q(s, a, w) q(s,a,w)

  • 线性函数: q ( s , a , w ) = ϕ T ( s , a ) w \begin{aligned}q(s,a,w)=\phi^T(s,a)w\end{aligned} q(s,a,w)=ϕT(s,a)w,其中 ϕ ( s , a ) \phi(s, a) ϕ(s,a) 是特征向量。
  • 神经网络:深度确定性策略梯度(DDPG)方法。

Summary

  • The simplest actor-critic
  • Advantage actor-critic
  • Off-policy actor-critic
  • Deterministic actor-critic




以上内容为B站西湖大学智能无人系统 强化学习的数学原理 公开课笔记。

  • 27
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值