Denoising Diffusion Implicit Models (DDIM)
因为扩散模型的正向过程可以实现跳步,其马尔科夫性并不重要,因此DDIM尝试在反向过程中也舍弃马尔科夫性的约束。在引入一个可控参数 σ t \sigma_t σt后,反向过程的迭代被整理为预测 x 0 x_0 x0后重新进行正向扩散的过程,扩散时使用的噪声为新初始化噪声与上一步预测噪声的加权,在特定 σ \sigma σ选择下,可以导出DDPM的采样过程和新的确定性的采样过程,并且使得反向过程同样支持跳步。
方法概述
舍弃马尔科夫性
在DDPM中,反向过程的损失函数是根据马尔科夫性推导得出的,而虽然正向过程也是马尔科夫链,但是因为高斯分布的可加性,其完全可以舍弃马尔科夫性,实现从第 0 步直接跳到第 t 步。
而DDIM的核心思想就是在反向过程时也舍弃马尔科夫性的约束,使得采样的过程也可以实现跳步。
注意,DDIM的
p
p
p和
q
q
q符号也与本文相反,在“理论推导”小节需要注意与原文对照。
采样公式
在DDPM中,我们先是使用了一种没有严格理论支撑但容易理解的方法导出了一个采样迭代公式:
x
t
−
1
=
1
α
t
(
x
t
−
1
−
α
ˉ
t
ϵ
θ
(
x
t
,
t
)
)
+
1
−
α
ˉ
t
−
1
z
x_{t-1} = \frac{1}{\sqrt{\alpha_t}}\left(x_t-\sqrt{1-\bar{\alpha}_{t}} \epsilon_\theta\left( x_t, t\right)\right) + \sqrt{1-\bar{\alpha}_{t-1}} z
xt−1=αt1(xt−1−αˉtϵθ(xt,t))+1−αˉt−1z
然后又在后续理论推导出中给出了DDPM原版的采样迭代公式:
x
t
−
1
=
1
α
t
(
x
t
−
1
−
α
t
1
−
α
ˉ
t
ϵ
θ
(
x
t
,
t
)
)
+
β
~
t
z
x_{t-1}=\frac{1}{\sqrt{\alpha_{t}}}\left(x_{t}-\frac{1-\alpha_{t}}{\sqrt{1-\bar{\alpha}_{t}}}\epsilon_{\theta}(x_{t},t)\right)+\tilde{\beta}_tz
xt−1=αt1(xt−1−αˉt1−αtϵθ(xt,t))+β~tz
而这两种都是DDIM这个工作提出的采样迭代公式的两种特殊情况:
x
t
−
1
=
α
ˉ
t
−
1
(
x
t
−
1
−
α
ˉ
t
ϵ
θ
(
x
t
,
t
)
α
ˉ
t
)
+
1
−
α
ˉ
t
−
1
−
σ
t
2
⋅
ϵ
θ
(
x
t
,
t
)
+
σ
t
z
x_{t-1}=\sqrt{\bar\alpha_{t-1}}\left(\frac{x_{t}-\sqrt{1-\bar\alpha_{t}}\epsilon_{\theta}(x_{t},t)}{\sqrt{\bar\alpha_{t}}}\right)+\sqrt{1-\bar\alpha_{t-1}-\sigma_{t}^{2}}\cdot\epsilon_{\theta}(x_{t},t)+\sigma_{t}z
xt−1=αˉt−1(αˉtxt−1−αˉtϵθ(xt,t))+1−αˉt−1−σt2⋅ϵθ(xt,t)+σtz
带入
σ
t
=
1
−
α
ˉ
t
−
1
\sigma_{t}=\sqrt{1-\bar\alpha_{t-1}}
σt=1−αˉt−1和
σ
t
=
(
1
−
α
ˉ
t
−
1
)
/
(
1
−
α
ˉ
t
)
1
−
α
t
\sigma_{t}=\sqrt{(1-\bar\alpha_{t-1})/(1-\bar\alpha_{t})}\sqrt{1-\alpha_{t}}
σt=(1−αˉt−1)/(1−αˉt)1−αt可以分别得到以上两个迭代过程。为了便于分析和与DDIM原文对齐,这里将上式的
α
ˉ
t
\bar\alpha_t
αˉt表示为
α
t
\alpha_t
αt,上式的
α
t
\alpha_t
αt则对应
α
t
/
α
t
−
1
\alpha_t/\alpha_{t-1}
αt/αt−1,将
t
t
t移到符号上标,
z
z
z替换为
ϵ
t
\epsilon_t
ϵt:
x
t
−
1
=
α
t
−
1
(
x
t
−
1
−
α
t
ϵ
θ
(
t
)
(
x
t
)
α
t
)
+
1
−
α
t
−
1
−
σ
t
2
⋅
ϵ
θ
(
t
)
(
x
t
)
+
σ
t
ϵ
t
x_{t-1}=\sqrt{\alpha_{t-1}}{\left(\frac{x_{t}-\sqrt{1-\alpha_{t}}\epsilon_{\theta}^{(t)}(x_{t})}{\sqrt{\alpha_{t}}}\right)}+{\sqrt{1-\alpha_{t-1}-\sigma_{t}^{2}}\cdot\epsilon_{\theta}^{(t)}(x_{t})}+{\sigma_{t}\epsilon_{t}}
xt−1=αt−1(αtxt−1−αtϵθ(t)(xt))+1−αt−1−σt2⋅ϵθ(t)(xt)+σtϵt
此时可以得到DDIM最重要的特殊情况,即设置
σ
t
=
0
\sigma_t=0
σt=0,此时上式等于:
x
t
−
1
=
α
t
−
1
(
x
t
−
1
−
α
t
ϵ
θ
(
t
)
(
x
t
)
α
t
)
+
1
−
α
t
−
1
⋅
ϵ
θ
(
t
)
(
x
t
)
=
α
t
−
1
x
θ
(
0
)
(
x
t
)
+
1
−
α
t
−
1
⋅
ϵ
θ
(
t
)
(
x
t
)
x_{t-1}=\sqrt{\alpha_{t-1}}\left(\frac{x_{t}-\sqrt{1-\alpha_{t}}\epsilon_{\theta}^{(t)}(x_{t})}{\sqrt{\alpha_{t}}}\right)+\sqrt{1-\alpha_{t-1}}\cdot\epsilon_{\theta}^{(t)}(x_{t})=\sqrt{\alpha_{t-1}}x^{(0)}_\theta(x_t)+\sqrt{1-\alpha_{t-1}}\cdot\epsilon_{\theta}^{(t)}(x_{t})
xt−1=αt−1(αtxt−1−αtϵθ(t)(xt))+1−αt−1⋅ϵθ(t)(xt)=αt−1xθ(0)(xt)+1−αt−1⋅ϵθ(t)(xt)
可以发现,此时DDIM在迭代过程中没有随机性,即每一步反向过程迭代的时候并没有采样新的噪声,而是直接使用前向过程
x
t
=
α
t
x
0
+
1
−
α
t
ϵ
\boldsymbol{x}_t =\sqrt{{\alpha}_t} \boldsymbol{x}_0 + \sqrt{1-{\alpha}_t} {\epsilon}
xt=αtx0+1−αtϵ在估计的干净图像
x
θ
(
0
)
(
x
t
)
x^{(0)}_\theta(x_t)
xθ(0)(xt)上回加估计的噪声
ϵ
θ
(
t
)
(
x
t
)
\epsilon_{\theta}^{(t)}(x_{t})
ϵθ(t)(xt),可以看作一个迭代细化的过程。当然,DDIM采样并不是完全没有随机性,因为迭代前需要采样
x
T
∼
N
(
0
,
I
)
x_T\sim\mathcal{N}(\boldsymbol{0}, \boldsymbol{I})
xT∼N(0,I)。
加速采样
对于DDPM,如果要贯彻推导时使用的马尔科夫性,那么在采样时需要使用训练时设置的
T
T
T步进行采样,而在绝大部分扩散模型中,都设置
T
=
1000
T=1000
T=1000,这导致DDPM生成图像需要执行1000次去噪网络
ϵ
θ
\epsilon_\theta
ϵθ,而
ϵ
θ
\epsilon_\theta
ϵθ是一个参数量和计算量都很大的UNet(甚至是DiT),导致耗时不可接受,因此减少采样步数是必不可少的。
一个简单的方法是,在训练时依旧使用1000步
t
∈
{
0
,
1
,
2
,
.
.
.
,
999
}
t\in \{0, 1, 2, ..., 999\}
t∈{0,1,2,...,999},但在采样时只使用timestep的子集,比如
t
∈
{
249
,
499
,
749
,
999
}
t\in \{249, 499, 749, 999\}
t∈{249,499,749,999},并索引训练时计算好的
α
t
\alpha_{t}
αt列表,实验证明,这种跳步方法在50步左右依旧可以生成清晰的图像。DDIM将timestep的子序列定义为
{
τ
1
,
…
,
τ
S
}
\{\tau_{1},\ldots,\tau_{S}\}
{τ1,…,τS},并一般设置为等间隔。此时生成过程为:
z
=
x
T
→
x
τ
S
→
x
τ
S
−
1
→
⋯
→
x
τ
1
→
x
0
=
x
{z} = {x}_{T} \to {x}_{\tau_{S}} \to {x}_{\tau_{S-1}} \to \cdots \to {x}_{\tau_{1}} \to {x}_{0} = {x}
z=xT→xτS→xτS−1→⋯→xτ1→x0=x
此外,DDIM将
σ
t
\sigma_{t}
σt定义为:
σ
τ
i
(
η
)
=
η
(
1
−
α
τ
i
−
1
)
/
(
1
−
α
τ
i
)
1
−
α
τ
i
/
α
τ
i
−
1
\sigma_{\tau_{i}}(\eta)=\eta\sqrt{(1-\alpha_{\tau_{i-1}})/(1-\alpha_{\tau_{i}})}\sqrt{1-\alpha_{\tau_{i}}/\alpha_{\tau_{i-1}}}
στi(η)=η(1−ατi−1)/(1−ατi)1−ατi/ατi−1
其中
η
∈
[
0
,
1
]
\eta\in{[0, 1]}
η∈[0,1],
η
=
0
\eta=0
η=0时对应确定性的反向迭代过程,
η
=
1
\eta=1
η=1对应DDPM。如果不特指
η
\eta
η的值,DDIM默认采用确定性采样,一般采样步数在20~30步,并且一般质量比DDPM更好。
理论推导
反向过程的非马尔可夫推断
回顾DDPM的简化训练目标:
L
=
E
t
,
x
0
,
ϵ
[
∥
ϵ
−
ϵ
θ
(
t
)
(
α
t
x
0
+
1
−
α
t
ϵ
)
∥
2
]
L=\mathbb{E}_{t, {x}_0, {\epsilon}}\left[\left\|{\epsilon}-{\epsilon}_\theta^{(t)}\left(\sqrt{{\alpha}_t} {x}_0 + \sqrt{1-{\alpha}_t} {\epsilon}\right)\right\|^2\right]
L=Et,x0,ϵ[
ϵ−ϵθ(t)(αtx0+1−αtϵ)
2]
该损失函数关于
t
t
t的每一项,都只与
x
0
x_0
x0以及
x
t
x_t
xt相关,而且根据
x
0
=
1
α
t
(
x
t
−
1
−
α
t
ϵ
)
{x}_0=\frac{1}{\sqrt{{\alpha}_t}}\left({x}_t-\sqrt{1-{\alpha}_t} {\epsilon}\right)
x0=αt1(xt−1−αtϵ),上式等价于每一步都估计干净图像
x
0
x_0
x0,只是在
t
t
t越大时估计越不准确。因此,只需要在采样到达
t
t
t步时
x
t
x_t
xt包含的噪声的方差与训练时正向过程添加的噪声方差一致,那么训练和推理就不会有明显的gap。对于正向过程,正向过程扩散到
x
t
−
1
x_{t-1}
xt−1时
p
(
x
t
−
1
∣
x
0
)
=
N
(
x
t
−
1
;
α
t
−
1
x
0
,
(
1
−
α
t
−
1
)
I
)
p({x}_{t-1}|{x}_{0})=\mathcal{N}({x}_{t-1};\sqrt{{\alpha}_{t-1}} {x}_{0}, (1-{\alpha}_{t-1})\boldsymbol{I})
p(xt−1∣x0)=N(xt−1;αt−1x0,(1−αt−1)I),即方差为
1
−
α
t
−
1
1-{\alpha}_{t-1}
1−αt−1。因为我们在
t
t
t步估计出
x
^
0
(
t
)
=
1
α
t
(
x
t
−
1
−
α
t
ϵ
θ
(
t
)
(
x
^
t
)
)
\hat{x}_0^{(t)}=\frac{1}{\sqrt{{\alpha}_t}}\left({x}_t-\sqrt{1-{\alpha}_t} {\epsilon}_\theta^{(t)}(\hat{x}_t)\right)
x^0(t)=αt1(xt−1−αtϵθ(t)(x^t)),迭代采样过程中会替代正向过程的
x
0
x_0
x0,因此我们只需要在
x
^
0
(
t
)
\hat{x}_0^{(t)}
x^0(t)上添加方差为
1
−
α
t
−
1
1-{\alpha}_{t-1}
1−αt−1即可满足反向过程的状态转移,而无需考虑状态转移是否满足马尔科夫性。因此可以引入一个可调的辅助变量
σ
t
\sigma_t
σt:
ϵ
(
t
)
=
1
−
α
t
−
1
−
σ
t
2
⋅
ϵ
θ
(
t
)
(
x
t
)
+
σ
t
ϵ
t
\epsilon^{(t)}=\sqrt{1-\alpha_{t-1}-\sigma_{t}^{2}}\cdot\epsilon_{\theta}^{(t)}(x_{t})+\sigma_{t}\epsilon_{t}
ϵ(t)=1−αt−1−σt2⋅ϵθ(t)(xt)+σtϵt
很明显,
(
1
−
α
t
−
1
−
σ
t
2
)
2
+
σ
t
2
=
1
−
α
t
−
1
\left(\sqrt{1-\alpha_{t-1}-\sigma_{t}^{2}}\right)^2+\sigma_{t}^2=1-{\alpha}_{t-1}
(1−αt−1−σt2)2+σt2=1−αt−1,满足训练时噪声方差的设定。
边缘分布
DDIM原文并不是直接从噪声方差的训练-推断一致的角度进行推导的,而是从边缘分布
p
σ
(
x
t
)
p_\sigma({x}_t)
pσ(xt)的一致性考虑。因为
x
0
∼
p
d
a
t
a
x_0\sim p_{data}
x0∼pdata不受参数
σ
\sigma
σ影响,则只需证明参数
σ
\sigma
σ不影响条件分布
p
σ
(
x
t
∣
x
0
)
p_\sigma({x}_t|{x}_0)
pσ(xt∣x0),即:
p
σ
(
x
t
∣
x
0
)
=
N
(
α
t
x
0
,
(
1
−
α
t
)
I
)
p_\sigma({x}_t|{x}_0)=\mathcal N(\sqrt{\alpha_t}{x}_0,(1-\alpha_t){I})
pσ(xt∣x0)=N(αtx0,(1−αt)I)
接下来开始证明:考虑DDPM的训练过程,其最小化
p
(
x
t
−
1
∣
x
t
,
x
0
)
p({x}_{t-1}|{x}_{t},{x}_{0})
p(xt−1∣xt,x0)和
q
θ
(
x
t
−
1
∣
x
t
)
q_\theta(x_{t-1}|x_t)
qθ(xt−1∣xt)的KL散度,训练完成后可以使用
q
θ
(
x
t
−
1
∣
x
t
)
q_\theta(x_{t-1}|x_t)
qθ(xt−1∣xt)替代
p
(
x
t
−
1
∣
x
t
,
x
0
)
p({x}_{t-1}|{x}_{t},{x}_{0})
p(xt−1∣xt,x0)。当前,我们的反向过程迭代定义为:
x
t
−
1
=
α
t
−
1
(
x
t
−
1
−
α
t
ϵ
θ
(
t
)
(
x
t
)
α
t
)
+
1
−
α
t
−
1
−
σ
t
2
⋅
ϵ
θ
(
t
)
(
x
t
)
+
σ
t
ϵ
t
x_{t-1}=\sqrt{\alpha_{t-1}}{\left(\frac{x_{t}-\sqrt{1-\alpha_{t}}\epsilon_{\theta}^{(t)}(x_{t})}{\sqrt{\alpha_{t}}}\right)}+{\sqrt{1-\alpha_{t-1}-\sigma_{t}^{2}}\cdot\epsilon_{\theta}^{(t)}(x_{t})}+{\sigma_{t}\epsilon_{t}}
xt−1=αt−1(αtxt−1−αtϵθ(t)(xt))+1−αt−1−σt2⋅ϵθ(t)(xt)+σtϵt
其中
x
^
0
=
x
t
−
1
−
α
t
ϵ
θ
(
t
)
(
x
t
)
α
t
\hat{x}_0=\frac{x_{t}-\sqrt{1-\alpha_{t}}\epsilon_{\theta}^{(t)}(x_{t})}{\sqrt{\alpha_{t}}}
x^0=αtxt−1−αtϵθ(t)(xt)可近似
x
0
x_0
x0,那么:
p
σ
(
x
t
−
1
∣
x
t
,
x
0
)
=
N
(
α
t
−
1
x
0
+
1
−
α
t
−
1
−
σ
t
2
⋅
x
t
−
α
t
x
0
1
−
α
t
,
σ
t
2
I
)
p_{\sigma}({x}_{t-1}|{x}_{t},{x}_{0})=\mathcal{N}\left(\sqrt{\alpha_{t-1}}{x}_{0}+\sqrt{1-\alpha_{t-1}-\sigma_{t}^{2}}\cdot\frac{{x}_{t}-\sqrt{\alpha_{t}}{x}_{0}}{\sqrt{1-\alpha_{t}}},\sigma_{t}^{2}\boldsymbol{I}\right)
pσ(xt−1∣xt,x0)=N(αt−1x0+1−αt−1−σt2⋅1−αtxt−αtx0,σt2I)
上式可表示为
x
t
−
1
=
α
t
−
1
x
0
+
1
−
α
t
−
1
−
σ
t
2
⋅
x
t
−
α
t
x
0
1
−
α
t
+
σ
t
ϵ
t
x_{t-1}=\sqrt{\alpha_{t-1}}x_0+{\sqrt{1-\alpha_{t-1}-\sigma_{t}^{2}}\cdot\frac{{x}_{t}-\sqrt{\alpha_{t}}{x}_{0}}{\sqrt{1-\alpha_{t}}}}+{\sigma_{t}\epsilon_{t}}
xt−1=αt−1x0+1−αt−1−σt2⋅1−αtxt−αtx0+σtϵt。考虑
p
σ
(
x
t
∣
x
0
)
=
N
(
α
t
x
0
,
(
1
−
α
t
)
I
)
=
α
t
x
0
+
1
−
α
t
ϵ
,
ϵ
∼
N
(
0
,
I
)
p_{\sigma}(x_{t}|x_{0})=\mathcal{N}(\sqrt{\alpha_{t}}x_{0},(1-\alpha_{t}){I})=\sqrt{\alpha_{t}}x_{0}+\sqrt{1-\alpha_{t}}\epsilon, \epsilon\sim \mathcal{N}(\boldsymbol{0},\boldsymbol{I})
pσ(xt∣x0)=N(αtx0,(1−αt)I)=αtx0+1−αtϵ,ϵ∼N(0,I),则
p
σ
(
x
t
−
1
∣
x
0
)
p_\sigma({x}_{t-1}|{x}_0)
pσ(xt−1∣x0)的均值和方差:
μ
t
−
1
=
α
t
−
1
x
0
+
1
−
α
t
−
1
−
σ
t
2
⋅
α
t
x
0
−
α
t
x
0
1
−
α
t
=
α
t
−
1
x
0
σ
t
−
1
=
σ
t
2
I
+
1
−
α
t
−
1
−
σ
t
2
1
−
α
t
(
1
−
α
t
)
I
=
(
1
−
α
t
−
1
)
I
\begin{aligned} \mu_{t-1} &=\sqrt{\alpha_{t-1}}{x}_0+\sqrt{1-\alpha_{t-1}-\sigma_t^2}\cdot\frac{\sqrt{\alpha_t}{x}_0-\sqrt{\alpha_t}{x}_0}{\sqrt{1-\alpha_t}} =\sqrt{\alpha_{t-1}}x_{0} \\ \sigma_{t-1}&=\sigma_t^2\boldsymbol{I}+\frac{1-\alpha_{t-1}-\sigma_t^2}{1-\alpha_t}(1-\alpha_t)\boldsymbol{I}=(1-\alpha_{t-1})\boldsymbol{I} \end{aligned}
μt−1σt−1=αt−1x0+1−αt−1−σt2⋅1−αtαtx0−αtx0=αt−1x0=σt2I+1−αt1−αt−1−σt2(1−αt)I=(1−αt−1)I
即
p
σ
(
x
t
−
1
∣
x
0
)
=
N
(
α
t
−
1
x
0
,
(
1
−
α
t
−
1
)
I
)
p_\sigma({x}_{t-1}|{x}_0)=\mathcal N(\sqrt{\alpha_{t-1}}{x}_0,(1-\alpha_{t-1}){I})
pσ(xt−1∣x0)=N(αt−1x0,(1−αt−1)I),与
p
σ
(
x
t
∣
x
0
)
=
N
(
α
t
x
0
,
(
1
−
α
t
)
I
)
p_\sigma({x}_t|{x}_0)=\mathcal N(\sqrt{\alpha_t}{x}_0,(1-\alpha_t){I})
pσ(xt∣x0)=N(αtx0,(1−αt)I)一致。
因此,只要
q
θ
(
x
t
−
1
∣
x
t
)
q_\theta(x_{t-1}|x_t)
qθ(xt−1∣xt)可以很好地近似
p
(
x
t
−
1
∣
x
t
,
x
0
)
p({x}_{t-1}|{x}_{t},{x}_{0})
p(xt−1∣xt,x0),那么DDIM的转移过程与DDPM共享相同的边缘分布。DDIM原文使用与DDPM相似的变分推导来更严谨地导出了该结论,有兴趣可以阅读DDIM附录。
加速采样
当设定采样子序列为
{
τ
1
,
…
,
τ
S
}
\{\tau_{1},\ldots,\tau_{S}\}
{τ1,…,τS}时,对应的前向过程为:
p
τ
(
x
1
:
T
∣
x
0
)
=
p
τ
(
x
τ
S
∣
x
0
)
∏
i
=
1
S
p
τ
(
x
τ
i
−
1
∣
x
τ
i
,
x
0
)
∏
t
∈
τ
ˉ
p
τ
(
x
t
∣
x
0
)
p_{\tau}(x_{1:T}|x_{0})=p_{\tau}(x_{\tau_{S}}|x_{0})\prod_{i=1}^{S}p_{\tau}(x_{\tau_{i-1}}|x_{\tau_{i}},x_{0})\prod_{t\in\bar{\tau}}p_{\tau}(x_{t}|x_{0})
pτ(x1:T∣x0)=pτ(xτS∣x0)i=1∏Spτ(xτi−1∣xτi,x0)t∈τˉ∏pτ(xt∣x0)
对应的反向过程为:
q
θ
(
x
0
:
T
)
:
=
q
θ
(
x
T
)
∏
i
=
1
S
q
θ
(
τ
i
)
(
x
τ
i
−
1
∣
x
τ
i
)
×
∏
t
∈
τ
ˉ
q
θ
(
t
)
(
x
0
∣
x
t
)
q_\theta({x}_{0:T}):=q_\theta({x}_T)\prod_{i=1}^Sq_\theta^{(\tau_i)}({x}_{\tau_{i-1}}|{x}_{\tau_i})\times\prod_{t\in\bar{\tau}}q_\theta^{(t)}({x}_0|{x}_t)
qθ(x0:T):=qθ(xT)i=1∏Sqθ(τi)(xτi−1∣xτi)×t∈τˉ∏qθ(t)(x0∣xt)
上式乘号的右半部分实际对应训练时的去噪损失,它与反向过程的迭代过程本身没有关系,当在完整的timestep序列上训练后,这部分得到良好定义。左半部分的单项则是一个与
θ
\theta
θ无直接关联的项:
q
θ
(
τ
i
)
(
x
τ
i
−
1
∣
x
τ
i
)
=
p
τ
(
x
τ
i
−
1
∣
x
τ
i
,
x
^
0
(
τ
i
)
(
x
τ
i
−
1
)
)
q_{\theta}^{(\tau_{i})}(x_{\tau_{i-1}}|x_{\tau_{i}})=p_{\tau}(x_{\tau_{i-1}}|x_{\tau_{i}},\hat{x}_0^{(\tau_{i})}(x_{\tau_{i-1}}))
qθ(τi)(xτi−1∣xτi)=pτ(xτi−1∣xτi,x^0(τi)(xτi−1))
因此只要在完整timestep上训练,那么在任意子序列上推断都是受到良好约束的。