视频及其他动态系统在处理序列数据时带来了一系列独特的挑战和机遇。视频数据具有高维度、复杂的时空相关性等特点,并且通常存在一个由物理定律或物体一致行为等原理支配的底层生成过程。时序变分自编码器专门适用于建模这些丰富的动态结构,其目标是学习压缩表示,不仅能获取静态外观,也能获取状态随时间的演变。
核心思路是将变分自编码器框架扩展到观测序列 x1,x2,…,xT,例如视频帧或来自动态系统的测量值。目标通常是建模联合概率 p(x1:T) 或执行未来预测 p(xt+1:T∣x1:t) 等任务。这涉及推断一系列潜在变量 z1:T,以获取底层的时序动态。
时序变分自编码器的架构基础
使用变分自编码器有效建模视频和动态系统,需要能够处理每帧内部空间信息以及跨帧时序信息的架构。常见的架构模式包括卷积神经网络 (neural network)(CNN)用于空间特征提取,以及循环神经网络 (RNN)(RNN,例如LSTM或GRU)用于时序建模。
时序变分自编码器的常见结构。输入帧通过CNN进行空间处理,然后通过RNN进行时序处理,以生成潜在变量参数 (parameter)。解码器中类似的RNN-CNN结构生成输出序列。
编码器通常使用CNN处理每帧 xt 以提取空间特征。这些特征随后按序输入到RNN中。RNN的隐藏状态 htenc 汇总了过去和当前帧 x≤t 的信息。从这些隐藏状态中,可以为每个潜在变量 zt 推导出近似后验 q(zt∣x≤t,ht−1enc) 的参数(均值 μt 和方差 σt2)。
解码器通常与此结构相对应。一系列潜在变量 z1:T(在训练期间从后验中采样,或在生成期间从先验 p(zt∣z<t,ht−1dec) 中采样)被输入到解码器RNN中。此RNN在每个时间步的输出 htdec,用于调节基于CNN的解码器(通常使用转置卷积)以生成重构或预测帧 x^t。
时序变分自编码器的证据下界(ELBO)通常是时间步长的总和:
L(x1:T)=t=1∑TEq(zt∣⋅)[logp(xt∣z≤t,x<t)]−t=1∑TDKL(q(zt∣⋅)∣∣p(zt∣z<t))
后验 q(zt∣⋅) 和先验 p(zt∣z<t) 的确切条件化因模型而异。例如,p(zt∣z<t) 可以由在潜在空间中运行的另一个RNN建模。
建模动态与预测
时序变分自编码器的一个主要应用是建模和预测动态。这可以从简单的物体运动到复杂的场景演变。
- 预测编码: 有些模型明确专注于预测未来帧。变分自编码器可以被训练来编码当前状态,然后从潜在表示中解码下一帧或一系列未来帧。此类模型中的潜在空间 zt 旨在获取此预测所需的信息。
- 随机视频生成(SVG): 像SVG这样的模型强调未来预测的随机性。给定一系列过去的帧,通常存在许多合理的未来。SVG模型通常使用循环先验 p(zt∣z<t,ht−1),它依赖于先前的潜在状态和循环隐藏状态,通过采样不同的 zt 序列来实现多样化的未来帧生成。一个例子是SVG-LP(潜在预测),其中 zt 是根据过去的 z 值进行预测的。
- 潜在动态模型: 潜在变量序列 zt 可以被视为代表系统演变的状态。一些时序变分自编码器明确建模潜在空间中的转换动态 p(zt∣zt−1)。如果这些动态简单(例如,线性高斯),有时可以有效学习。这与学习状态空间模型密切相关,状态空间模型是本章后续部分将进一步阐述的一个主题。
时序变分自编码器的高级变体
在基础架构之上,已经发展出多种高级技术,以提高性能并为视频和动态系统提供新的能力:
- 解耦内容与运动: 一个重要的研究方面是设计变分自编码器,学习静态内容(例如物体外观、背景场景)和动态运动或变换的独立潜在因素。例如,视频可以由内容潜在变量 zc(时间不变)和运动潜在变量序列 zm,t(时间可变)来表示。这种分离对于视频编辑(例如,“让这个角色执行这种新动作”)或改进泛化能力等任务非常有用。
- 分层潜在变量: 复杂的动态系统通常在多个时间尺度上表现出结构。分层变分自编码器可以通过使用捕捉短期动态(例如帧到帧运动)的潜在变量以及建模长期变化(例如场景转换、整体活动)的其他潜在变量来适应视频。
- 注意力机制 (attention mechanism): 正如“带注意力机制的序列变分自编码器”中所述,注意力可以整合到时序变分自编码器中,以帮助建模视频中的长距离依赖,或关注与预测未来动态相关的显著空间区域。这对于标准RNN可能难以长时间步保留信息的较长视频序列特别有用。
用于学习物理动态的变分自编码器
时序变分自编码器的一个有趣应用是直接从观测数据(例如交互物体的视频)中学习物理系统模型。这个想法是,变分自编码器的潜在空间可以获取底层物理状态变量(如位置、速度或物体属性)的近似表示。
例如,可以在弹跳球的视频上训练变分自编码器。理想情况下,学习到的潜在变量 zt 会以一种反映球体运动物理定律的方式演变。如果潜在动态 p(zt∣zt−1) 可以变得可解释或受到约束(例如,局部线性),模型就能提供对系统行为的理解。这与物理信息机器学习 (machine learning)的更广范围相关。挑战包括确保学习到的潜在空间确实可解释,以及模型能泛化到新的物理场景。
视频与动态系统中的应用
时序变分自编码器已在多个方面得到应用:
- 视频生成: 从零开始或基于某些输入创建新颖、连贯的视频序列。
- 视频预测: 在给定一组过去帧的情况下预测未来帧。这对于自主系统中的规划和理解场景动态非常重要。
- 视频异常检测: 通过检测与学习到的正常动态的偏差(例如,未见事件的高重构误差)来识别监控录像或工业过程中的异常事件或行为。
- 可控视频合成: 通过遍历学习到的潜在空间来操纵生成视频的属性(例如,改变物体速度、运动风格)。
- 机器人学与控制: 学习智能体环境的模型及其行动的影响。变分自编码器可以从高维传感器输入(如摄像机图像)中学习紧凑的状态表示 zt,并且可以在此潜在空间中学习动态模型 p(zt+1∣zt,at) 以进行基于模型的强化学习 (reinforcement learning)。
- 人体运动建模与合成: 生成逼真的人体运动或预测未来姿态。
挑战与考量
尽管它们有发展前景,但为视频和动态系统开发有效的时序变分自编码器仍面临一些障碍:
- 长期时序连贯性: 生成在较长时间内保持连贯和逼真的视频非常困难。RNN可能会出现梯度消失或梯度爆炸问题,即使使用LSTM/GRU,在数百或数千帧上保持一致性也是一个重要的研究挑战。
- 高计算成本: 视频数据量庞大。在大型视频数据集上训练深度CNN-RNN架构需要大量的计算资源和时间。
- 评估指标: 定量评估生成视频的质量是众所周知的难题。像MSE或PSNR这样的像素级指标通常与人类对质量的感知关联不佳。Fr\u00e9chet视频距离(FVD)等指标被使用,但主观的人工评估仍然很重要。
- 生成样本中的模糊性: 与用于图像的变分自编码器一样,时序变分自编码器有时会生成模糊或过于平滑的视频帧,特别是在建模复杂、高频细节或高度不确定的未来时。
- 模式崩溃: 模型可能只会生成有限种类的动态行为,无法获取训练数据中存在的全部多样性。
更精密的循环架构、注意力机制 (attention mechanism)和替代生成建模框架(例如“混合模型”中讨论的整合GAN类目标)的进步,持续拓展时序变分自编码器在建模视频和动态系统丰富复杂动态方面的能力边界。这些模型在概率建模与对时变现象的理解之间搭建了重要的桥梁。