CS294 Lecture 6-Actor Critic

从 "reward to go" 到 Actor Critic

回顾一下REINFORCE算法
\begin{array}{l} {\text { 1. sample }\left\{\tau^{i}\right\} \text { from } \pi_{\theta}\left(a_{t} | s_{t}\right) \text { (run the policy) }} \\ {\text { 2. } \nabla_{\theta} J(\theta) \approx \sum_{i}\left(\sum_{t=1}^{T} \nabla_{\theta} \log \pi_{\theta}\left(a_{i, t} | s_{i, t}\right)\left(\sum_{t^{\prime}=t}^{T} r\left(s_{i, t'}, a_{i, t'}\right)\right)\right)} \\ {\text { 3. } \theta \leftarrow \theta+\alpha \nabla_{\theta} J(\theta)} \end{array}
其中reward to go 为
\hat{Q}_{t} = \sum_{t^{\prime}=t}^{T} r\left(s_{t'}, a_{t'}\right) \quad; \text{single estimate of true reward to go}
但这个reward to go有什么缺点呢?实际上这个reward to go只是估计了单个轨迹从s_{t},a_{t}开始的累积奖励,并不是一个期望的概念,因此方差较大。

<img src="figures/reward_to_go.png" alt="drawing" width="300"/>

那么应该如何改进以降低方差呢?实际上我们希望理想的reward to go是
Q(s_t,a_t) \approx \sum_{t^{\prime}=t}^{T} \mathbb{E}_{s_{t'}, a_{t'} \sim \pi_{\theta}}\left[r\left(s_{t^{\prime}}, a_{t^{\prime}}\right) | s_{t}, a_{t}\right] \quad; \text{true reward to go}
如果我们知道Q(s_t,a_t),那么策略梯度便是:
\nabla_{\theta} J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \nabla_{\theta} \log \pi_{\theta}\left(a_{i, t} | s_{i, t}\right) Q\left(s_{i, t}, a_{i, t}\right) \quad; \text{true reward to go}

在上一节我们还讲到了应该添加一个baseline,以评估当前轨迹的累积奖励就平均而言有多好,因此添加了baseline的策略梯度是:
\nabla_{\theta} J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \nabla_{\theta} \log \pi_{\theta}\left(a_{i, t} | s_{i, t}\right)\left(Q\left(s_{i, t}, a_{i, t}\right)-b\right) \quad; \text{true reward to go + baseline}
那么这个baseline如何决定呢?因为我们使用的是Q\left(s_{i, t}, a_{i, t}\right),那么理所应当减去的也应该是 V(s)。因此,最终Actor Critic的策略梯度为:
\nabla_{\theta} J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \nabla_{\theta} \log \pi_{\theta}\left(a_{i, t} | s_{i, t}\right) A^{\pi}\left(s_{i, t}, a_{i, t}\right)

接下来我们要做的便是如何得到A^\pi(s,a)

Estimate advantage

为了得到 advantage,我们可以直接拟合 A(s,a),但是通常不这么做,因为如果我们 Q(s,a) 具有下面的关系:
\begin{aligned} Q^{\pi}\left(s_{t}, a_{t}\right)&=r\left(s_{t}, a_{t}\right)+\mathbb{E}_{s_{t+1} \sim p\left(s_{t+1} | s_{t}, a_{t}\right)}\left[V^{\pi}\left(s_{t+1}\right)\right] \\ &\approx r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+V^{\pi}\left(\mathbf{s}_{t+1}\right) \quad; \text{unbiased, a little variance}\\ \end{aligned}

于是,advantage 可以通过这种方式近似求出:
A^{\pi}\left(s_{t}, a_{t}\right) \approx r\left(s_{t}, a_{t}\right)+V^{\pi}\left(s_{t+1}\right)-V^{\pi}\left(s_{t}\right)
这样 V^\pi(s)只是 s 的函数,而 A^\pi(s,a)(s,a) 的函数,所以如果拟合 V,参数更少,更容易拟合,也更方便。

所以基于上面的分析,我们的思路是这样的:我们有一个神经网络,输入是 s, 输出是 \hat{V}^\pi(s),下面就是如何训练这样一个神经网络。


Policy evaluation

进行policy evaluation 有两种方式,一种是Monte Carlo,另一种是temporal difference。

Monte Carlo Evaluation

接下来就是如何拟合V^\pi(s),这个步骤称之为 Policy evaluation,因为这个网络做的是给定一个s,输出V(s),我们不考虑 Policy Improvement步骤。下面是 V^\pi(s_t) 的定义:
V^{\pi}\left(s_{t}\right)=\sum_{t^{\prime}=t}^{T} \mathbb{E}_{\pi_{\theta}}\left[r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right) | \mathbf{s}_{t}\right]

如果我们拟合得到了 V^\pi(s_t),那么根据RL目标函数的定义 J(\theta)=E_{\mathbf{s}_{1} \sim p\left(\mathbf{s}_{1}\right)}\left[V^{\pi}\left(\mathbf{s}_{1}\right)\right],我们也顺便得到了目标函数的表达式,岂不美哉?

那么如何获得训练目标数据呢?可以有下面两种方式:
\begin{aligned} V^{\pi}\left(s_{t}\right) &\approx \sum_{t^{\prime}=t}^{T} r\left(s_{t^{\prime}}, a_{t^{\prime}}\right) \quad; \text{single sample} \\ V^{\pi}\left(\mathbf{s}_{t}\right) &\approx \frac{1}{N} \sum_{i=1}^{N} \sum_{l^{\prime}=t}^{T} r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right) \quad; \text{multiple samples, requires us to reset the simulator} \end{aligned}
第二种方式明显更好一点,其方差更小,但是其要求环境能够重置到特定的状态s_t来进行采样。

于是我们的训练数据和损失函数就可以表达为:
\text{training data: }\Big\{ \Big(\mathbf{s}_{i, t}, \underbrace{\sum_{t^{\prime}=t}^{T} r\left(\mathbf{s}_{i, t^{\prime}}, \mathbf{a}_{i, t^{\prime}}\right)}_{y_{i,t}}\Big)\Big\} \\ \text{supervised regression: } \mathcal{L}(\phi)=\frac{1}{2} \sum_{i}\left\|\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i}\right)-y_{i}\right\|^{2}

Temporal Difference

下面对我们的真实标签 y_{i,t} 进行近似:
\begin{aligned} y_{i, t}&=\sum_{t^{\prime}=t}^{T} \mathbb{E}_{\pi_{\theta}}\left[r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right) | \mathbf{s}_{i, t}\right] \\ &\approx r\left(\mathbf{s}_{i, t}, \mathbf{a}_{i, t}\right)+\sum_{t^{\prime}=t+1}^{T} \mathbb{E}_{\pi_{\theta}}\left[r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right) | \mathbf{s}_{i, t+1}\right] \\ &= r\left(\mathbf{s}_{i, t}, \mathbf{a}_{i, t}\right)+V^{\pi}\left(\mathbf{s}_{i, t+1}\right) \\ &\approx r\left(\mathbf{s}_{i, t}, \mathbf{a}_{i, t}\right)+\hat{V}_{\Phi}^{\pi}\left(\mathbf{s}_{i, t+1}\right) \end{aligned}

所以,进行了上面的两层近似,我们还可以使用 r\left(\mathbf{s}_{i, t}, \mathbf{a}_{i, t}\right)+\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i, t+1}\right)作为真实标签的近似,因此我们的训练数据如下:
\left\{\left(\mathbf{s}_{i, t}, r\left(\mathbf{s}_{i, t}, \mathbf{a}_{i, t}\right)+\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i, t+1}\right)\right)\right\}
这种方式也叫做 bootstrapped estimate。

总结一下,最终的 Batch Actor-Critic algorithm 如下:

  1. {\text {sample }\left\{\mathbf{s}_{i}, \mathbf{a}_{i}\right\} \text { from } \pi_{\theta}(\mathbf{a} | \mathbf{s})(\text { run it on the robot) }}
  2. {\text{fit } \hat{V}_{\phi}^{\pi}(\mathbf{s}) \text { to sampled reward sums }}(MC or Bootstrap)
  3. {\text {evaluate } \hat{A}^{\pi}\left(\mathbf{s}_{i}, \mathbf{a}_{i}\right)=r\left(\mathbf{s}_{i}, \mathbf{a}_{i}\right)+\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i}^{\prime}\right)-\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i}\right)}
  4. {\nabla_{\theta} J(\theta) \approx \sum_{i} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{i} | \mathbf{s}_{i}\right) \hat{A}^{\pi}\left(\mathbf{s}_{i}, \mathbf{a}_{i}\right)}
  5. {\theta \leftarrow \theta+\alpha \nabla_{\theta} J(\theta)}

discont factors

如果 T 是无穷大,那 \hat{V}_{\phi}^{\pi} 就会变得无穷大,一种方法就是引入折扣因子 \gamma \in [0,1],那么
\begin{aligned} {y_{i, t} \approx r\left(\mathbf{s}_{i, t}, \mathbf{a}_{i, t}\right)+\gamma \hat{V}_{\Phi}^{\pi}\left(\mathbf{s}_{i, t+1}\right)} \\ \end{aligned}

注意到 \sum_{s'}p(s'|s,a)=1,而当我们加上 \gamma 之后,\sum_{s'} \gamma p(s'|s,a)=\gamma,因此可以认为添加了一个以概率 1-\gamma 进入的死亡状态 s^*,进入死亡状态就没有奖励了。因此可以认为 \gamma 没有改变MDP框架,只是改变了环境的转移概率 p(s'|s,a)

<img src="figures/gamma.png" alt="drawing" width="300"/>

  1. option 1:
    \nabla_{\theta} J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{i, t} | \mathbf{s}_{i, t}\right)\left(\sum_{t^{\prime}=t}^{T} \gamma^{t^{\prime}-t} r\left(\mathbf{s}_{i, t^{\prime}}, \mathbf{a}_{i, t^{\prime}}\right)\right) \quad; \text{reward to go 加上gamma最自然的方式}

  2. option 2:

\begin{aligned} \nabla_{\theta} J(\theta) &\approx \frac{1}{N} \sum_{i=1}^{N}\sum_{t=1}^{T} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{i, t} | \mathbf{s}_{i, t}\right)\left(\sum_{t'=t}^{T} \gamma^{t'-1} r\left(\mathbf{s}_{i, t'}, \mathbf{a}_{i, t'}\right)\right) \quad; \text{reward to go 加上 gamma 的另一种方式} \\ &=\frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \gamma^{t-1} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{i, t} | \mathbf{s}_{i, t}\right)\left(\sum_{t^{\prime}=t}^{T} \gamma^{t^{\prime}-t} r\left(\mathbf{s}_{i, t^{\prime}}, \mathbf{a}_{i, t^{\prime}}\right)\right) \\ \end{aligned}

option1 只对后面的奖励进行了折扣,option2不仅对奖励进行折扣,对梯度也进行了折扣。option1是我们在实际中使用的,option2的直觉含义是说:如果你遇到了死亡状态,那么后面的steps就不重要了。

discount factor 实际上也是一种降低方差的方式。

Actor-critic Algorithm design

\text{batch actor-critic algorithm:}

  1. {\text {sample }\left\{\mathbf{s}_{i}, \mathbf{a}_{i}\right\} \text { from } \pi_{\theta}(\mathbf{a} | \mathbf{s})(\text { run it on the robot) }}
  2. {\text{fit } \hat{V}_{\phi}^{\pi}(\mathbf{s}) \text { to sampled reward sums }}(MC or Bootstrap)
  3. {\text {evaluate } \hat{A}^{\pi}\left(\mathbf{s}_{i}, \mathbf{a}_{i}\right)=r\left(\mathbf{s}_{i}, \mathbf{a}_{i}\right)+\gamma \hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i}^{\prime}\right)-\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i}\right)}
  4. {\nabla_{\theta} J(\theta) \approx \sum_{i} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{i} | \mathbf{s}_{i}\right) \hat{A}^{\pi}\left(\mathbf{s}_{i}, \mathbf{a}_{i}\right)}
  5. {\theta \leftarrow \theta+\alpha \nabla_{\theta} J(\theta)}

\text{online actor-critic algorithm:}

  1. \text{take action }\mathbf{a} \sim \pi_{\theta}(\mathbf{a} | \mathbf{s}), \text { get }\left(\mathbf{s}, \mathbf{a}, \mathbf{s}^{\prime}, r\right).
  2. \text{update }\hat{V}_{\phi}^{\pi} \text { using target } r+\gamma \hat{V}_{\phi}^{\pi}\left(\mathbf{s}^{\prime}\right)
  3. \text{evaluate }\hat{A}^{\pi}(\mathbf{s}, \mathbf{a})=r(\mathbf{s}, \mathbf{a})+\gamma \hat{V}_{\phi}^{\pi}\left(\mathbf{s}^{\prime}\right)-\hat{V}_{\phi}^{\pi}(\mathbf{s})
  4. \nabla_{\theta} J(\theta) \approx \nabla_{\theta} \log \pi_{\theta}(\mathbf{a} | \mathbf{s}) \hat{A}^{\pi}(\mathbf{s}, \mathbf{a})
  5. {\theta \leftarrow \theta+\alpha \nabla_{\theta} J(\theta)}

但是这里的online actor-critic在实际中使用还有一些问题。方差大

Architecture design

实现actor-critic的网络架构有两种:

  • 分别使用两个网络,容易训练一点,不需要调很多参数,但是比较慢。

  • 使用共享的网络,这样如果输入的state是图像的话,可以共享某些特征信息。但是训练起来比较困难,因为共享网络存在两种梯度,分别对应于不同的单元。所以想让网络的更新稳定一些,需要在调参上多下功夫,例如网络参数的初始化以及学习率的设置上。

Lower the variance of online actor-critic algorithm

\text{online actor-critic algorithm:}

  1. \text{take action }\mathbf{a} \sim \pi_{\theta}(\mathbf{a} | \mathbf{s}), \text { get }\left(\mathbf{s}, \mathbf{a}, \mathbf{s}^{\prime}, r\right).
  2. \text{update }\hat{V}_{\phi}^{\pi} \text { using target } r+\gamma \hat{V}_{\phi}^{\pi}\left(\mathbf{s}^{\prime}\right)
  3. \text{evaluate }\hat{A}^{\pi}(\mathbf{s}, \mathbf{a})=r(\mathbf{s}, \mathbf{a})+\gamma \hat{V}_{\phi}^{\pi}\left(\mathbf{s}^{\prime}\right)-\hat{V}_{\phi}^{\pi}(\mathbf{s})
  4. \nabla_{\theta} J(\theta) \approx \nabla_{\theta} \log \pi_{\theta}(\mathbf{a} | \mathbf{s}) \hat{A}^{\pi}(\mathbf{s}, \mathbf{a})
  5. {\theta \leftarrow \theta+\alpha \nabla_{\theta} J(\theta)}

online actor-critic 的一个缺点就是在对 \hat{V}_\phi^\pi 做更新的时候使用的是单个样本,因此方差较大。所以一种改善的方法就是构造更大的batch。有两种方式:

  • 左图中表示同时有4个并行的进程同时采样,每次得到batch size=4个(s,a,s',r),然后分别计算4个梯度并相加,用来更新\theta,注意这种同步采样,同步更新参数。
  • 右图表示有3个异步的进程,每次计算完梯度,送到一个central parameter server,然后central parameter server累积一定timesteps的梯度,然后再更新参数,接着把新参数送给每一个进程。

Conclusion on estimating advantage

现在总结一下,我们讨论了actor-critic,并将其与policy gradient相比较:

  • actor-critic
    • \nabla_{\theta} J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{i, t} | \mathbf{s}_{i, t}\right) \underbrace{\left(r\left(\mathbf{s}_{i, t}, \mathbf{a}_{i, t}\right)+\gamma \hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i, t+1}\right)-\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i, t}\right)\right)}_{\hat{A}_C}
    • low variance
    • biased (if the critic is not perfect)
  • policy gradient
    • \nabla_{\boldsymbol{\theta}} J(\boldsymbol{\theta}) \approx \frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \nabla_{\boldsymbol{\theta}} \log \pi_{\theta}\left(\mathbf{a}_{i, t} | \mathbf{s}_{i, t}\right)\left(\left(\sum_{t^{\prime}=t}^{T} \gamma^{t^{\prime}-t} r\left(\mathbf{s}_{i, t^{\prime}}, \mathbf{a}_{i, t^{\prime}}\right)\right)-b\right)
    • high variacne
    • no bias

state-dependent baseline

简单的actor-critic方差小,但实际上是biased,而policy gradient虽然没有bias,但是具有较大的方差。所以思考可不可以把这两种方式结合起来,提出一种一种既没有bias,方差也较小的版本呢?下面就是一种符合上述要求的版本:

\nabla_{\theta} J(\theta) \approx \frac{1}{N} \sum_{i=1}^{N} \sum_{t=1}^{T} \nabla_{\theta} \log \pi_{\theta}\left(\mathbf{a}_{i, t} | \mathbf{s}_{i, t}\right) \underbrace{\left(\left(\sum_{t'=t}^{T} \gamma^{t^{\prime}-t} r\left(\mathbf{s}_{i, t^{\prime}}, \mathbf{a}_{i, t^{\prime}}\right)\right)-\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{i, t}\right)\right)}_{\hat{A}_{MC}}

下面说明为什么上面的版本在累积奖励中减去一个state-dependent baseline是无偏差的。

首先注意到:
\mathbb{E}_{a_{t} | s_{t}}\left[\nabla_{\theta} \log \pi\left(a_{t} | s_{t}\right)\right]=0
b(s_t) 是一个依赖于s_t的baseline,因为期望条件依赖于s_t,因此我们有:
\mathbb{E}_{a_{t}\left|s_{t}\right.}\left[b\left(s_{t}\right) \nabla_{\theta} \log \pi\left(a_{t} | s_{t}\right)\right]=b\left(s_{t}\right) \mathbb{E}_{a_{t} | s_{t}}\left[\nabla_{\theta} \log \pi\left(a_{t} | s_{t}\right)\right]=0
因此,我们可以从累积奖励中减去一个依赖于状态的baseline不会改变策略梯度的期望。

n-step returns & GAE

现在总结几种构造估计 advantage 的方式:

  • \hat{A}_{\mathrm{C}}^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=r\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)+\gamma \hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{t+1}\right)-\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{t}\right)

    • higher bias if value is wrong(it always is)
    • low variance
  • \hat{A}^{\pi}_{b}(\mathbf{s}_t, \mathbf{a}_t) = \sum_{t^{\prime}=t}^{T} \gamma^{t^{\prime}-t} r\left(\mathbf{s}_{i, t^{\prime}}, \mathbf{a}_{i, t^{\prime}}\right) )-b

    • no bias
    • high variance
  • \hat{A}_{\mathrm{MC}}^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=\sum_{t^{\prime}=t}^{\infty} \gamma^{t^{\prime}-t} r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right)-\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{t}\right)

    • no bias
    • medium variance
    • \hat{A}_C^\pi\hat{A}_b^\pi 的结合
  • \hat{A}_{\mathrm{n}}^{\pi}\left(\mathbf{s}_{t}, \mathbf{a}_{t}\right)=\sum_{t^{\prime}=t}^{t+n} \gamma^{t^{\prime}-t} r\left(\mathbf{s}_{t^{\prime}}, \mathbf{a}_{t^{\prime}}\right)+\gamma ^n\hat{V}^\pi_\phi(s_{t+n})-\hat{V}_{\phi}^{\pi}\left(\mathbf{s}_{t}\right)

    • low bias
    • low variance
    • <img src="figures/eligibility traces.png" alt="drawing" width="300"/>
  • \hat{A}_{t}^{\operatorname{GAE}(\gamma, \lambda)} = \sum_{l=0}^{\infty}(\gamma \lambda)^{l} \delta_{t+l}^{V}

    • low bias
    • low variance

Generalized advantage estimation

\begin{array}{ll}{\hat{A}_{t}^{(1)} :=\delta_{t}^{V}} & {=-V\left(s_{t}\right)+r_{t}+\gamma V\left(s_{t+1}\right)} \\ {\hat{A}_{t}^{(2)} :=\delta_{t}^{V}+\gamma \delta_{t+1}^{V}} & {=-V\left(s_{t}\right)+r_{t}+\gamma r_{t+1}+\gamma^{2} V\left(s_{t+2}\right)} \\ {\hat{A}_{t}^{(3)} :=\delta_{t}^{V}+\gamma \delta_{t+1}^{V}+\gamma^{2} \delta_{t+2}^{V}} & {=-V\left(s_{t}\right)+r_{t}+\gamma r_{t+1}+\gamma^{2} r_{t+2}+\gamma^{3} V\left(s_{t+3}\right)}\\ \hat{A}_{t}^{(k)} :=\sum_{l=0}^{k-1} \gamma^{l} \delta_{t+l}^{V}&=-V\left(s_{t}\right)+r_{t}+\gamma r_{t+1}+\cdots+\gamma^{k-1} r_{t+k-1}+\gamma^{k} V\left(s_{t+k}\right) \\ &\vdots \\ \hat{A}_{t}^{(\infty)}=\sum_{l=0}^{\infty} \gamma^{l} \delta_{t+l}^{V}&=-V\left(s_{t}\right)+\sum_{l=0}^{\infty} \gamma^{l} r_{t+l} \end{array}

\hat{A}_t^{(1)}\hat{A}_t^{(k)} bias 越来越小,但是variance越来越大。现在给每一个 \hat{A}_t^{(k)} 加上一个权重 \lambda^k,就得到
\begin{aligned} \hat{A}_{t}^{\operatorname{GAE}(\gamma, \lambda)} & :=(1-\lambda)\left(\hat{A}_{t}^{(1)}+\lambda \hat{A}_{t}^{(2)}+\lambda^{2} \hat{A}_{t}^{(3)}+\ldots\right) \\ &=(1-\lambda)\left(\delta_{t}^{V}+\lambda\left(\delta_{t}^{V}+\gamma \delta_{t+1}^{V}\right)+\lambda^{2}\left(\delta_{t}^{V}+\gamma \delta_{t+1}^{V}+\gamma^{2} \delta_{t+2}^{V}\right)+\ldots\right) \\ &=(1-\lambda)\left(\delta_{t}^{V}\left(1+\lambda+\lambda^{2}+\ldots\right)+\gamma \delta_{t+1}^{V}\left(\lambda+\lambda^{2}+\lambda^{3}+\ldots\right)\right. +\gamma^{2} \delta_{t+2}^{V}\left(\lambda^{2}+\lambda^{4}+\lambda^{4}+\ldots\right)+\ldots ) \\ &=(1-\lambda)\left(\delta_{t}^{V}\left(\frac{1}{1-\lambda}\right)+\gamma \delta_{t+1}^{V}\left(\frac{\lambda}{1-\lambda}\right)+\gamma^{2} \delta_{t+2}^{V}\left(\frac{\lambda^{2}}{1-\lambda}\right)+\ldots\right) \\ &=\sum_{l=0}^{\infty}(\gamma \lambda)^{l} \delta_{t+l}^{V} \end{aligned}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,527评论 5 470
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,314评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,535评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,006评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,961评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,220评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,664评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,351评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,481评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,397评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,443评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,123评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,713评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,801评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,010评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,494评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,075评论 2 341