视频扩散模型

视频扩散模型是当前视频生成的主流架构,Sora、Runway Gen-3等先进模型都基于此技术。

预计阅读时间:45分钟·难度:中级

什么是视频扩散模型

视频扩散模型将图像扩散模型扩展到时间维度,通过在潜在空间中逐步去噪来生成视频。这种方法继承了扩散模型在图像生成上的优势,同时解决了视频特有的时序一致性问题。

核心思想

  • 时空扩散:在空间和时间维度同时进行扩散过程
  • 潜在空间:压缩视频到低维潜在空间降低计算量
  • 条件控制:通过文本、图像等条件引导生成
  • 迭代去噪:通过多步去噪逐步恢复高质量视频

视频扩散 vs 图像扩散

视频扩散模型与图像扩散模型有相似之处,但也有关键区别:

方面图像扩散视频扩散
数据维度3D (C, H, W)4D (C, T, H, W)
压缩目标空间信息空间+时间信息
去噪网络2D UNet/DiT3D UNet/DiT
关键挑战生成质量质量+时序一致性
计算量较大极大(数百倍)

发展历程

2022年:探索期

OpenAI发布Video Diffusion Models,首次将扩散模型应用于视频生成。Google发布Imagen Video,展示了扩散模型在视频生成上的潜力。

2023年:突破期

Runway发布Gen-2,Stability AI发布SVD,视频扩散模型进入实用阶段。Pika Labs、HeyGen等产品涌现。

2024年:成熟期

OpenAI发布Sora,采用DiT架构,支持60秒高质量视频生成。Runway发布Gen-3 Alpha,国产模型如可灵、即梦等快速发展。

模型架构

视频扩散模型通常包含三个核心组件,形成一个完整的生成流水线:

组件作用说明
视频VAE压缩/重建将视频编码到低维潜在空间,再解码回像素空间
去噪网络核心生成在潜在空间预测并去除噪声(UNet或DiT)
文本编码器条件编码将文本描述转换为条件向量引导生成

生成流程

  1. 文本编码:将输入的文本描述通过文本编码器转换为条件向量
  2. 初始噪声:在潜在空间生成随机噪声
  3. 迭代去噪:去噪网络根据条件向量逐步去除噪声
  4. 解码输出:将潜在空间的去噪结果解码为像素空间的视频

两种主流架构

UNet架构

传统扩散模型采用的架构,通过下采样-上采样结构捕获多尺度特征。代表模型:SVD、Runway Gen-2。特点是成熟稳定,但扩展性有限。

DiT架构

Diffusion Transformer,使用Transformer替代UNet作为去噪网络。代表模型:Sora。特点是可扩展性强,适合大规模训练。

视频VAE

视频VAE(Video Variational Autoencoder)是对图像VAE的扩展,需要在时间维度上进行压缩。它是降低视频扩散计算量的关键组件。

压缩方式

  • 空间压缩:与图像VAE相同,通常8倍下采样
  • 时间压缩:在时间维度压缩,通常4-8倍
  • 整体压缩:可达到32-64倍的压缩比

时间压缩的实现

2D VAE + 帧独立处理

使用图像VAE逐帧编码和解码。优点是可以复用预训练的图像VAE,缺点是缺乏时序一致性,可能导致帧间闪烁。

3D卷积VAE

在时间维度上也使用卷积进行压缩。通过3D卷积自然地建模时序关系,压缩后的潜在表示具有更好的时序一致性。

因果VAE

采用因果卷积,只依赖当前帧之前的信息。适用于需要实时处理或自回归生成的场景。

视频VAE的设计考量

设计选择影响因素权衡
压缩比计算量 vs 重建质量压缩比越高计算越快,但可能丢失细节
时间感受野时序建模能力感受野越大一致性越好,但延迟越高
潜在空间维度表达能力 vs 计算量维度越高表达越强,计算量越大

时空UNet

时空UNet是视频扩散的核心去噪网络,需要在空间和时间维度同时进行去噪。它是早期视频扩散模型的主流架构。

网络结构

  • 编码器:逐步下采样,捕获多尺度特征
  • 瓶颈层:最深层,处理最抽象的表示
  • 解码器:逐步上采样,重建细节
  • 跳跃连接:连接编码器和解码器的对应层

时空注意力的实现

空间注意力

在每帧内部计算自注意力,处理帧内的空间关系。这与图像UNet中的注意力相同。

时间注意力

在不同帧的相同位置之间计算注意力,建立帧间的时序关系,确保一致性。

常用模块设计

时空分离注意力

先计算空间注意力,再计算时间注意力。这种方式计算效率高,是大多数模型采用的方式。

3D卷积块

使用3D卷积替代2D卷积,自然地在时空维度上建模。计算量大,但能捕获局部时空特征。

时间层归一化

专门针对时间维度的归一化,有助于稳定训练和保持时序一致性。

UNet vs DiT 对比

特性UNetDiT
架构类型卷积+注意力混合纯Transformer
可扩展性有限
参数效率中等
训练稳定性较好需要调优
大规模表现有上限持续提升

DiT架构

Diffusion Transformer (DiT) 使用Transformer替代UNet作为去噪网络,是当前最先进的视频扩散架构。Sora的成功证明了DiT在视频生成领域的巨大潜力。

核心设计

视频Patch化

将视频分解为时空Patch(如2×8×8的时间×空间块),每个Patch作为一个token。这与ViT将图像分解为Patch类似,但扩展到了时间维度。

条件注入

通过adaLN (Adaptive Layer Norm) 将时间步和条件信息注入到每个Transformer层。这种方式比简单的条件拼接更有效。

位置编码

为每个时空Patch添加位置编码,帮助模型理解空间和时间位置。可以使用绝对位置编码或相对位置编码。

DiT的优势

  • 可扩展性:可以通过增加层数和宽度来扩展模型规模
  • 全局建模:自注意力可以捕获全局时空关系
  • 灵活输入:可以处理不同分辨率和时长的视频
  • 迁移学习:可以充分利用图像预训练的权重

Sora的DiT架构

Sora是DiT架构在视频生成领域的代表作,其核心创新包括:

时空Patch提取

将压缩后的视频潜在表示分解为时空Patch,这是Sora能够处理不同分辨率和时长视频的关键。

Recaption

使用GPT-4将简短的提示词扩展为详细描述,提高生成质量和一致性。

大规模训练

在大规模视频数据上训练,模型涌现出意想不到的能力,如物理模拟、3D一致性等。

采样加速

视频扩散模型推理速度慢是主要瓶颈,一个短视频可能需要数百次去噪步骤。采样加速技术是让视频扩散模型实用的关键。

常用加速方法

DDIM (Denoising Diffusion Implicit Models)

确定性采样方法,可以将采样步数从1000步减少到50-100步,同时保持生成质量。是大多数扩散模型默认的采样方法。

DPM-Solver

高阶ODE求解器,可以在20步以内达到高质量生成。比DDIM更快,是目前最常用的快速采样方法之一。

Euler / Heun 采样器

简单高效的ODE求解方法,平衡了速度和质量。在许多开源模型中被广泛使用。

蒸馏加速

通过知识蒸馏将多步模型压缩为少步模型:

  • 渐进蒸馏:逐步将N步模型蒸馏为N/2步
  • 一致性模型:训练单步就能生成高质量结果的模型
  • LCM (Latent Consistency Models):在潜在空间的一致性蒸馏

视频特有的加速策略

分层采样

对关键帧使用多步采样,对中间帧使用少步采样或插值,减少总体计算量。

帧并行

在GPU上并行处理多个帧,利用批量计算提高效率。需要较大的显存。

缓存重用

缓存中间计算结果,在相邻帧之间重用,减少重复计算。

训练策略

视频扩散模型的训练比图像扩散更加复杂,需要特别考虑时序一致性和计算效率。

数据准备

视频数据的特点

  • • 文件大,存储和读取成本高
  • • 时长、分辨率、帧率不统一
  • • 质量参差不齐,需要筛选
  • • 标注成本高,高质量描述稀缺

数据预处理

  • • 统一分辨率和帧率
  • • 裁剪到固定时长片段
  • • 去除黑边、水印等
  • • 使用VLM生成描述作为标注

训练技巧

帧率采样

在训练时随机采样不同的帧率,让模型适应不同时间尺度的运动。

条件Dropout

随机丢弃部分条件信息(如文本描述),提高模型的无条件生成能力和引导灵活性。

噪声调度

针对视频调整噪声调度策略,可能需要与图像不同的调度参数。

混合训练

同时训练图像和视频数据,利用大量图像数据提升视觉质量。

损失函数

常用损失

  • 简单MSE:预测噪声与真实噪声的均方误差
  • v-prediction:预测速度向量,数值更稳定
  • 时序损失:显式约束帧间一致性
  • 感知损失:在特征空间计算损失,提升视觉质量
----