一、摘要
我们提出了一种用于状态空间模型(SSMs)在线状态估计和参数学习的变分方法,与现有方法不同的是,我们的方法能够以完全在线的方式运行,这样,历史观测在合并后不需要重新访问,每个时间步的更新成本保持不变,尽管状态的关节后验分布的维数不断增长。这是通过利用这个关节后验分布及其变分近似的向后分解,结合bellman型递归的证据下界及其梯度来实现的。
二、简介
使用时间序列数据的机器学习中的许多任务通常需要在线执行对于这些顺序数据的一类流行模型是ssm,当与神经网络思想相结合时,它还可以用于定义强大的顺序变分自动编码器。但在ssm中进行推理是一个具有挑战性的问题。
问题:
通常情况下,SSM是用潜马尔可夫过程和观察过程来描述的。即使假设模型参数是已知的,对潜在过程状态的在线推断也是一个被称为滤波的复杂问题。
通常的解决办法:对于这些问题我们有一些解决办法,比如粒子滤波(PF)方法为在线状态和参数估计提供了一种更原则性的方法,并提供了理论保证。但PF估计的方差通常随状态呈指数增长。很明显是不可靠的。于是我们引出了变分技术。变分技术为同时状态估计和参数学习提供了一种有吸引力的替代方法,它比PF更好地扩展到高维潜在状态,而且不局限于简单的参数近似。但是变分技术它们不适合在线学习,因为每当收集到一个新的观察结果,就需要更新整个联合变分状态分布,其维数会随着时间增加。
本文提出的创新解决办法:
提出了一种新的变分方法来对ssm进行在线过滤和参数学习,从而绕过了这些限制。该方法的关键是后验状态的变分近似的向后分解,结合ELBO及其梯度的表示,作为满足类似于强化学习中出现的bellman型递归的值函数的期望
三、在线变分滤波与参数学习
我们的在线变分滤波和参数估计方法利用了变分平滑分布
q
∅
(
x
1
:
t
∣
y
t
)
q^\varnothing(x_{1:t}|y^t)
q∅(x1:t∣yt)的向后分解。结合动态规划和强化学习的思想,随着
t
t
t的增加在线计算ELBO及其关于
θ
θ
θ和
φ
φ
φ的梯度,计算时间在每个时间步上保持不变。为了简化符号,从今以后我们将
q
t
∅
(
x
1
:
t
)
=
q
∅
(
x
1
:
t
∣
y
t
)
q^\varnothing _t (x_{1:t}) = q^\varnothing(x_{1:t}|y^t)
qt∅(x1:t)=q∅(x1:t∣yt)
3.1变分平滑分布的逆向分解
我们要研究的关键性质是
p
θ
(
x
1
:
t
∣
y
t
)
p_θ(x_{1:t}|y^t)
pθ(x1:t∣yt)满足如下关系式:
p
θ
(
x
1
:
t
∣
y
t
)
=
p
θ
(
x
t
∣
y
t
)
∏
k
=
1
t
−
1
p
θ
(
x
k
∣
y
k
,
x
k
+
1
)
,
p
θ
(
x
k
∣
y
k
,
x
k
+
1
)
=
f
θ
(
x
k
+
1
∣
x
k
)
p
θ
(
x
k
∣
y
k
)
p
θ
(
x
k
+
1
∣
y
k
)
(公式
1
)
p_\theta\left(x_{1: t} \mid y^t\right)=p_\theta\left(x_t \mid y^t\right) \prod_{k=1}^{t-1} p_\theta\left(x_k \mid y^k, x_{k+1}\right), \quad p_\theta\left(x_k \mid y^k, x_{k+1}\right)=\frac{f_\theta\left(x_{k+1} \mid x_k\right) p_\theta\left(x_k \mid y^k\right)}{p_\theta\left(x_{k+1} \mid y^k\right)}(公式1)
pθ(x1:t∣yt)=pθ(xt∣yt)k=1∏t−1pθ(xk∣yk,xk+1),pθ(xk∣yk,xk+1)=pθ(xk+1∣yk)fθ(xk+1∣xk)pθ(xk∣yk)(公式1)在
y
t
y^t
yt条件下,
(
x
k
)
k
=
1
t
(x_k)^t_{k=1}
(xk)k=1t是初始分布
p
θ
(
x
t
∣
y
t
)
p_θ(x_t|y^t)
pθ(xt∣yt)和反向马尔可夫跃迁核
p
θ
(
x
k
∣
y
k
,
x
k
+
1
)
p_θ(x_k|y^k, x_{k+1})
pθ(xk∣yk,xk+1)的反时马尔可夫链,需要注意的是,k时刻的后向过渡核只依赖于k时刻之前的观测结果。为了利用这一点,我们考虑形式的变分平滑分布
q
t
∅
(
x
1
:
t
)
=
q
t
∅
(
x
t
)
∏
k
=
1
t
−
1
q
k
+
1
∅
(
x
k
∣
x
k
+
1
)
(公式
2
)
q^\varnothing _t (x_{1:t})=q^\varnothing _t (x_{t})\prod_{k=1}^{t-1}q^\varnothing_{k+1}\left(x_k \mid x_{k+1}\right) (公式2)
qt∅(x1:t)=qt∅(xt)k=1∏t−1qk+1∅(xk∣xk+1)(公式2)其中,
q
t
∅
(
x
t
)
q^\varnothing _t (x_{t})
qt∅(xt)和
q
k
+
1
∅
(
x
k
∣
x
k
+
1
)
q^\varnothing_{ k+1}(x_k|x_{k+1})
qk+1∅(xk∣xk+1)分别是滤波分布pθ(xt|yt)和自动求梯度的核心
p
θ
(
x
k
∣
y
k
,
x
k
+
1
)
p_θ(x_k|y^k, x_{k+1})
pθ(xk∣yk,xk+1)的变分逼近。然后使用公式2可以得到
L
t
(
θ
,
ϕ
)
=
ℓ
t
(
θ
)
−
KL
(
q
t
ϕ
(
x
t
)
∣
∣
p
θ
(
x
t
∣
y
t
)
)
−
∑
k
=
1
t
−
1
E
q
t
ϕ
(
x
k
+
1
)
[
KL
(
q
k
+
1
ϕ
(
x
k
∣
x
k
+
1
)
∣
∣
p
θ
(
x
k
∣
y
k
,
x
k
+
1
)
)
]
,
(公式
3
)
\begin{aligned} \mathcal{L}_t(\theta, \phi)=& \ell_t(\theta)-\operatorname{KL}\left(q_t^\phi\left(x_t\right)|| p_\theta\left(x_t \mid y^t\right)\right) \\ &-\sum_{k=1}^{t-1} \mathbb{E}_{q_t^\phi\left(x_{k+1}\right)}\left[\operatorname{KL}\left(q_{k+1}^\phi\left(x_k \mid x_{k+1}\right)|| p_\theta\left(x_k \mid y^k, x_{k+1}\right)\right)\right], \end{aligned}(公式3)
Lt(θ,ϕ)=ℓt(θ)−KL(qtϕ(xt)∣∣pθ(xt∣yt))−k=1∑t−1Eqtϕ(xk+1)[KL(qk+1ϕ(xk∣xk+1)∣∣pθ(xk∣yk,xk+1))],(公式3)其中
K
L
KL
KL是
K
u
l
l
b
a
c
k
−
L
e
i
b
l
e
r
Kullback-Leibler
Kullback−Leibler散度,
q
t
∅
(
x
k
+
1
)
q^\varnothing_t (x_{k+1})
qt∅(xk+1)是(公式2)中定义的变分分布
q
t
∅
(
x
1
:
t
)
q^\varnothing_t (x_{1:t})
qt∅(x1:t)下
x
k
+
1
x_{k+1}
xk+1的边际分布。因此,考虑这个变分分布使得学习真实平滑分布的任意精确的变分近似成为可能,同时仍然只需要在
k
k
k时刻对
y
k
y_k
yk施加条件,而不需要对以后的观察施加条件。
我们可以使用
q
t
+
1
∅
(
x
1
:
t
+
1
)
=
q
t
∅
(
x
1
:
t
)
m
t
+
1
∅
(
x
t
+
1
∣
x
t
)
q^\varnothing_{t+1}(x_{1:t+1}) = q^\varnothing_t (x_{1:t})m^\varnothing_{t+1}(x_{t+1}|x_t)
qt+1∅(x1:t+1)=qt∅(x1:t)mt+1∅(xt+1∣xt)将
q
t
∅
(
x
1
:
t
)
q^\varnothing_t(x_{1:t})
qt∅(x1:t)变换成
q
t
+
1
∅
(
x
1
:
t
+
1
)
q^\varnothing_{t+1}(x_{1:t+1})
qt+1∅(x1:t+1)。从而可以得到式子4:
m
t
+
1
∅
(
x
t
+
1
∣
x
t
)
:
=
q
t
+
1
∅
(
x
t
∣
x
t
+
1
)
q
t
+
1
∅
(
x
t
+
1
)
q
t
∅
(
x
t
)
(公式
4
)
m^\varnothing_{t+1}(x_{t+1}|x_t):=\frac{q^\varnothing_{t+1}\left(x_t \mid x_{t+1}\right) q^\varnothing_{t+1}\left( x_{t+1}\right) }{q^\varnothing_t (x_t)}(公式4)
mt+1∅(xt+1∣xt):=qt∅(xt)qt+1∅(xt∣xt+1)qt+1∅(xt+1)(公式4)这里
m
t
+
1
∅
(
x
t
+
1
∣
x
t
)
m^\varnothing_{t+1}(x_{t+1}|x_t)
mt+1∅(xt+1∣xt)可以看作是近似于马尔可夫跃迁密度
q
t
+
1
∅
(
x
t
+
1
∣
x
t
)
∝
q
t
+
1
∅
(
x
t
∣
x
t
+
1
)
q
t
+
1
∅
(
x
t
+
1
)
q^\varnothing_{t+1}( x_{t+1}\mid x_t) ∝ q^\varnothing_ {t+1}(x_t\mid x_{t+1})q^\varnothing_{ t+1}(x_{t+1})
qt+1∅(xt+1∣xt)∝qt+1∅(xt∣xt+1)qt+1∅(xt+1),但它通常不是一个适当的马尔可夫跃迁密度。也即是说
∫
m
t
+
1
ϕ
(
x
t
+
1
∣
x
t
)
d
x
t
+
1
≠
1
as
∫
q
t
+
1
ϕ
(
x
t
∣
x
t
+
1
)
q
t
+
1
ϕ
(
x
t
+
1
)
d
x
t
+
1
≠
q
t
ϕ
(
x
t
)
(公式
5
)
\int m_{t+1}^\phi\left(x_{t+1} \mid x_t\right) \mathrm{d} x_{t+1} \neq 1 \text { as } \int q_{t+1}^\phi\left(x_t \mid x_{t+1}\right) q_{t+1}^\phi\left(x_{t+1}\right) \mathrm{d} x_{t+1} \neq q_t^\phi\left(x_t\right)(公式5)
∫mt+1ϕ(xt+1∣xt)dxt+1=1 as ∫qt+1ϕ(xt∣xt+1)qt+1ϕ(xt+1)dxt+1=qtϕ(xt)(公式5)假设
q
k
∅
(
x
k
)
=
q
k
∅
k
(
x
k
)
q^\varnothing_k (x_k) = q^{\varnothing_k}_k (x_k)
qk∅(xk)=qk∅k(xk)和
q
k
∅
(
x
k
−
1
∣
x
k
)
=
q
k
∅
k
(
x
k
−
1
∣
x
k
)
q^{\varnothing}_k (x_{k−1}|x_k) = q^{\varnothing_k}_k (x_{k−1}|x_k)
qk∅(xk−1∣xk)=qk∅k(xk−1∣xk),那么(公式5)和(公式4)表明我们只需要估计t时刻的
∅
t
\varnothing_t
∅t,因为
y
t
y_t
yt不影响t时刻之前的后向马尔可夫核。并且,我们还必须估算出
∇
∅
L
t
(
θ
,
∅
)
\nabla_\varnothing \mathcal{L}_t (\theta, \varnothing)
∇∅Lt(θ,∅)和
∇
θ
L
t
(
θ
,
∅
)
\nabla _\theta \mathcal{L}_t (\theta, \varnothing)
∇θLt(θ,∅)的值,在每个时间步上在恒定的计算时间内优化参数
3.2ELBO的正向递归
首先,我们给出一个计算
L
t
(
θ
,
∅
)
t
≥
1
{\mathcal{L}_t(\theta,\varnothing)}_{t≥1}
Lt(θ,∅)t≥1的仅向前递归。这个递归说明了变分推理和RL之间的相似之处.
命题1:当
t
≥
1
t≥1
t≥1时,
E
L
B
O
L
t
(
θ
,
∅
)
ELBO \mathcal{L}_t(\theta,\varnothing)
ELBOLt(θ,∅)满足:
L t ( θ , ϕ ) = E q t ϕ ( x t ) [ V t θ , ϕ ( x t ) ] for V t θ , ϕ ( x t ) : = E q t ϕ ( x 1 : t − 1 ∣ x t ) [ log ( p θ ( x 1 : t , y t ) / q t ϕ ( x 1 : t ) ) ] \mathcal{L}_t(\theta, \phi)=\mathbb{E}_{q_t^\phi\left(x_t\right)}\left[V_t^{\theta, \phi}\left(x_t\right)\right] \quad \text { for } \quad V_t^{\theta, \phi}\left(x_t\right):=\mathbb{E}_{q_t^\phi\left(x_{1: t-1} \mid x_t\right)}\left[\log \left(p_\theta\left(x_{1: t}, y^t\right) / q_t^\phi\left(x_{1: t}\right)\right)\right] Lt(θ,ϕ)=Eqtϕ(xt)[Vtθ,ϕ(xt)] for Vtθ,ϕ(xt):=Eqtϕ(x1:t−1∣xt)[log(pθ(x1:t,yt)/qtϕ(x1:t))] 通常情况下
V 1 θ , ϕ ( x 1 ) : = r 1 θ , ϕ ( x 0 , x 1 ) : = log ( p θ ( x 1 , y 1 ) / q 1 ϕ ( x 1 ) ) V_1^{\theta, \phi}\left(x_1\right):=r_1^{\theta, \phi}\left(x_0, x_1\right):=\log \left(p_\theta\left(x_1, y_1\right) / q_1^\phi\left(x_1\right)\right) V1θ,ϕ(x1):=r1θ,ϕ(x0,x1):=log(pθ(x1,y1)/q1ϕ(x1))此外,我们还有
V t + 1 θ , ϕ ( x t + 1 ) = E q t + 1 ϕ ( x t ∣ x t + 1 ) [ V t θ , ϕ ( x t ) + r t + 1 θ , ϕ ( x t , x t + 1 ) ] (公式 6 ) 其中 r t + 1 θ , ϕ ( x t , x t + 1 ) : = log ( f θ ( x t + 1 ∣ x t ) g θ ( y t + 1 ∣ x t + 1 ) / m t + 1 ϕ ( x t + 1 ∣ x t ) ) . \begin{aligned} V_{t+1}^{\theta, \phi}\left(x_{t+1}\right) &=\mathbb{E}_{q_{t+1}^\phi\left(x_t \mid x_{t+1}\right)}\left[V_t^{\theta, \phi}\left(x_t\right)+r_{t+1}^{\theta, \phi}\left(x_t, x_{t+1}\right)\right](公式6)\\其中 r_{t+1}^{\theta, \phi}\left(x_t, x_{t+1}\right) &:=\log \left(f_\theta\left(x_{t+1} \mid x_t\right) g_\theta\left(y_{t+1} \mid x_{t+1}\right) / m_{t+1}^\phi\left(x_{t+1} \mid x_t\right)\right) . \end{aligned} Vt+1θ,ϕ(xt+1)其中rt+1θ,ϕ(xt,xt+1)=Eqt+1ϕ(xt∣xt+1)[Vtθ,ϕ(xt)+rt+1θ,ϕ(xt,xt+1)](公式6):=log(fθ(xt+1∣xt)gθ(yt+1∣xt+1)/mt+1ϕ(xt+1∣xt)).命题1表明,当 t ≥ 1 t≥1 t≥1时,我们可以通过(公式)递归计算函数 L t ( θ , ϕ ) \mathcal{L}_t(\theta, \phi) Lt(θ,ϕ),然后求 V t θ , ∅ V_t^{\theta,\varnothing} Vtθ,∅的期望 q t ∅ ( x t ) q^\varnothing_t(x_t) qt∅(xt),在线计算 L t ( θ , ϕ ) \mathcal{L}_t(\theta, \phi) Lt(θ,ϕ),得到 t t t时刻的 E L B O ELBO ELBO。这种类型的递归有点类似于强化学习中出现的递归。然而,在强化学习中,价值函数是由从 x t x_t xt开始的未来奖励总和的期望给出的,而这里定义的价值函数是在到达 x t x_t xt时的过去奖励总和的期望。这将产生所需的正向递归而不是向后递归.