当我们使用变分自编码器对序列或时间相关现象进行建模时,例如使用循环变分自编码器(RVAE)或结合注意力机制的变分自编码器,我们隐式或显式地定义了一个随时间演化的系统。这自然地引出了成熟的状态空间模型(SSM)学科,它在控制工程、计量经济学和信号处理等分支中有着悠久的历史。了解这两种建模方式的关联,能够提供对序列变分自编码器如何运作的更好地理解,并指导更合理架构的构建。状态空间模型:快速回顾其核心,状态空间模型使用一组随时间演化的未观测(隐)状态变量 $z_t$,以及一组依赖于当前隐状态的观测变量 $x_t$ 来描述系统。一个典型的离散时间状态空间模型由两个方程定义:状态转移方程:这描述了隐状态如何从一个时间步演变到下一个时间步,通常受控制输入 $u_t$(如果存在)和过程噪声 $w_t$ 的影响。从概率角度看,这是 $p(z_t | z_{t-1}, u_t)$。 $$ z_t = f(z_{t-1}, u_t) + w_t $$观测方程:这定义了观测数据 $x_t$ 如何从当前隐状态 $z_t$ 生成,可能受 $u_t$ 影响,并受到测量噪声 $v_t$ 的干扰。从概率角度看,这是 $p(x_t | z_t, u_t)$。 $$ x_t = g(z_t, u_t) + v_t $$函数 $f$ 和 $g$ 分别定义了动力学和观测过程。在经典的线性高斯状态空间模型中,例如卡尔曼滤波器处理的那些模型,$f$ 和 $g$ 是线性函数,并且 $w_t$ 和 $v_t$ 被假定为高斯噪声。这些模型允许对隐状态 $p(z_t | x_{1:T})$(平滑)或 $p(z_t | x_{1:t})$(滤波)进行精确推断,使用高效算法。序列变分自编码器作为非线性状态空间模型序列变分自编码器可以被视为状态空间模型,特别是非线性状态空间模型的强大扩展。我们来比较一下:隐状态 $z_t$:变分自编码器中的隐变量序列 $z_1, z_2, \ldots, z_T$ 直接对应于状态空间模型中的隐藏状态。这些变量旨在捕获数据的底层动力学结构。转移模型 $p_\theta(z_t | z_{t-1})$:变分自编码器中隐序列上的先验分布,通常由循环神经网络(RNN)或更简单的马尔可夫依赖关系 $p_\theta(z_t | z_{t-1})$ 定义,充当状态转移模型。该网络学习隐状态如何演化的动力学。发射模型 $p_\theta(x_t | z_t)$:变分自编码器的解码器网络 $p_\theta(x_t | z_t)$ 充当观测或发射模型。它学习在给定当前隐状态 $z_t$ 的情况下生成观测数据点 $x_t$。序列变分自编码器的生成过程通常遵循这种类似状态空间模型的结构:采样初始隐状态 $z_1 \sim p_\theta(z_1)$。对于 $t = 2, \ldots, T$:使用先验网络(转移)采样 $z_t \sim p_\theta(z_t | z_{t-1})$。对于 $t = 1, \ldots, T$:使用解码器网络(发射)采样 $x_t \sim p_\theta(x_t | z_t)$。以下图表说明了它们生成路径中的结构相似性:digraph G {rankdir=TB; splines=true; node [shape=ellipse, style=filled, fontname="Helvetica", margin=0.1]; edge [fontname="Helvetica", fontsize=10]; labelloc="t"; label="比较结构:状态空间模型与序列变分自编码器(生成路径)"; fontname="Helvetica"; fontsize=12; subgraph cluster_ssm {label="状态空间模型 (SSM)"; style=filled; color="#e9ecef"; node [fillcolor="#a5d8ff"]; edge [color="#1c7ed6"]; z_prev_ssm [label="z_{t-1}\n(隐状态)"]; z_curr_ssm [label="z_t\n(隐状态)"]; x_curr_ssm [label="x_t\n(观测)"]; z_prev_ssm -> z_curr_ssm [label=" 转移模型\n p(z_t|z_{t-1})"]; z_curr_ssm -> x_curr_ssm [label=" 发射模型\n p(x_t|z_t)"];} subgraph cluster_vae {label="序列变分自编码器(生成路径)"; style=filled; color="#e9ecef"; node [fillcolor="#96f2d7"]; edge [color="#0ca678"]; z_prev_vae [label="z_{t-1}\n(隐变量)"]; z_curr_vae [label="z_t\n(隐变量)"]; x_curr_vae [label="x_t\n(数据点)"]; z_prev_vae -> z_curr_vae [label=" 先验网络(转移)\n p_θ(z_t|z_{t-1})"]; z_curr_vae -> x_curr_vae [label=" 解码器网络(发射)\n p_θ(x_t|z_t)"];}}此图表突出了状态空间模型和序列变分自编码器生成过程中的并行部分。两者都依赖于 $t-1$ 时刻的隐变量来指导 $t$ 时刻的隐变量,后者进而产生一个观测。差异与共通之处虽然结构类比很强,但存在重要的差异,这主要源于变分自编码器中神经网络和变分推断的使用:非线性和表达能力:SSMs:经典状态空间模型通常假设线性动力学($f$)和线性观测模型($g$),并带有高斯噪声。虽然存在非线性状态空间模型(例如,扩展卡尔曼滤波器、无迹卡尔曼滤波器、用于推断的粒子滤波器),但定义合适的非线性函数可能具有挑战性。VAEs:变分自编码器中的转移(先验网络)和发射(解码器网络)函数通常是深度神经网络。这使得变分自编码器能够以比传统参数状态空间模型更大的灵活性来模拟高度复杂、非线性的动力学和观测过程。它们还可以学习任意条件分布,而不仅仅是高斯分布。推断:SSMs:对于线性高斯状态空间模型,卡尔曼滤波和平滑提供了精确高效的 $p(z_{1:T} | x_{1:T})$ 推断。对于非线性/非高斯状态空间模型,推断是近似的,并且可能计算量很大(例如粒子滤波器)。VAEs:变分自编码器采用摊销变分推断。编码器网络 $q_\phi(z_{1:T} | x_{1:T})$(通常分解为 $q_\phi(z_{1:T} | x_{1:T}) = \prod_t q_\phi(z_t | z_{<t}, x_{\le t})$ 或类似形式)经过训练以近似隐状态的真实后验分布。该编码器学习将观测序列 $x_{1:T}$ 映射到隐序列 $z_{1:T}$ 上的分布。此过程类似于学习近似的滤波或平滑分布。学习:SSMs:参数(例如线性状态空间模型中的矩阵、噪声协方差)通常使用期望最大化(EM)算法等方法或在可处理的情况下直接最大化似然来估计。VAEs:编码器、解码器和先验网络的所有参数通过随机梯度下降联合学习,以最大化证据下界(ELBO)。这种端到端学习是深度生成模型的一个显著特点。模型示例与变体几种用于序列数据的变分自编码器架构显式或隐式地体现了状态空间模型的原理:变分循环神经网络(VRNN):将变分自编码器原则融入循环神经网络中。在每个时间步,循环神经网络状态 $h_t$ 影响 $z_t$ 的先验。隐变量 $z_t$ 和观测 $x_t$ 然后更新 $h_t$。这创建了一个动态系统,其中隐变量指导序列生成。$z_t \sim \text{先验}(z_t | h_{t-1})$$x_t \sim \text{解码器}(x_t | z_t, h_{t-1})$$h_t = \text{RNN_cell}(x_t, z_t, h_{t-1})$ 编码器也使用 $h_{t-1}$ 和 $x_t$ 来近似 $p(z_t | x_{\le t}, h_{<t})$。深度卡尔曼滤波器(DKFs)和卡尔曼变分自编码器(KVAEs):这些模型试图将卡尔曼滤波器的结构化概率推断与神经网络的表达能力结合起来。例如,深度卡尔曼滤波器可能假设线性高斯转移,但使用神经网络作为发射模型: $$ p(z_t | z_{t-1}) = \mathcal{N}(z_t | A z_{t-1}, Q) $$ $$ p_\theta(x_t | z_t) = \mathcal{N}(x_t | \text{NN}_\theta(z_t), R) $$ 在此类模型中进行推断仍然具有挑战性,并且基于变分自编码器的方法(如卡尔曼变分自编码器)使用变分方法来近似结构化隐状态的后验分布。深度马尔可夫模型(DMMs):该术语通常用于序列变分自编码器,其中隐状态 $z_t$ 被假定遵循一阶马尔可夫过程 $p(z_t | z_{t-1})$,通常由神经网络参数化。状态空间模型关联的意义将序列变分自编码器视为精巧的状态空间模型,带来了多重益处:结构化理解:通过状态空间模型的视角看待变分自编码器,提供了一种更结构化的方式来思考所学到的隐动力学。它有助于思考变分自编码器试图捕捉时间过程的哪些方面。合理架构设计:状态空间模型理论的知识可以激发新的变分自编码器架构。例如,在先验或编码器中加入特定类型的循环结构,以模拟已知动态系统,或对隐空间施加某些结构。分析工具:状态空间模型分析中的技术,例如检查状态转移或长期依赖性,可以调整以理解训练后的序列变分自编码器的行为。连接不同模型:这种关联促进了思想的交流。状态空间模型中的可控性、可观测性等原理,在变分自编码器背景下可能会有新的解释或相似的原则。然而,变分自编码器中隐空间的高维度和非线性特性意味着直接应用经典的 SSM 分析工具可能很困难。复杂变分自编码器中学习到的动力学的可解释性仍然是一个活跃的研究方向。总而言之,用于时间数据的变分自编码器与状态空间模型之间的关系深远。变分自编码器通过引入强大的非线性函数逼近器(神经网络)和可扩展的推断技术(摊销变分推断)来扩展状态空间模型框架。这使得它们能够比传统状态空间模型对更复杂的序列数据进行建模,而状态空间模型的视角为理解和设计这些先进的生成模型提供了一个有益的框架。随着变分自编码器不断演变,这种关联可能会激发动态系统建模方面的进一步创新。