购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第4章
生成模型

在深度学习出现之后,研究者们提出了不同类型的生成模型,如图4-1所示展示了常见的4种生成模型及其基本框架。

□ VAE:变分自编码器,是一种基于将数据编码到潜空间并从该空间解码以进行生成的概率生成模型。

□ GAN:生成对抗网络,通过在类似游戏的场景中使两个神经网络(一个生成器和一个判别器)相互竞争,生成与训练数据相似的新数据。

□ Autoregressive Model:自回归模型,一般指基于Transformer架构的模型,通过对给定每个数据点的前一个数据点的条件分布进行建模来生成数据。

□ Diffusion Model:扩散模型,通过逐渐引入然后去除噪声来学习数据的底层分布,从而生成高质量且多样化的数据样本。

这些生成模型通常利用左侧的编码器、判别器、前向流、加噪过程对输入数据进行处理,然后利用右侧的解码器、生成器、逆向流、降噪过程输出生成的结果。

视频生成模型基本采用了类似的生成框架和生成过程,如图4-1所示。下面详细介绍在视频生成中使用较多的生成模型框架,包括VAE、GAN、Transformer与Diffusion。

图4-1 不同生成模型的基本框架 [15]

4.1 变分自编码器

在介绍变分自编码器(Variational Auto-Encoder,VAE)之前,首先要了解Auto-Encoder,它是一个由编码器(Encoder)和解码器(Decoder)组成的对称神经网络结构,如图4-2所示。

图4-2 Auto-Encoder的基本原理

1.基本原理

编码器的作用主要是降维,将高维数据压缩成低维数据(从初始数据映射到潜空间,Latent Space)。图片类数据量一般较大,但其分布符合一定规律,信息量比数据量要小得多。因此,使用编码器对图片数据进行压缩后,可以提取图片的特征向量,该特征向量能在保持信息量的同时显著降低数据量。解码器是编码器的逆过程,将压缩的数据(图片的特征向量)尽量还原成初始数据。

以一张猫的照片为例,首先通过编码压缩,然后通过解码还原。计算还原后的猫与初始输入的猫之间的差值,通过最小化该差值,可以训练出一个合格的编码器神经网络。训练好的编码器可以用于提取图片特征,如图4-3所示的潜空间特征。

图4-3 Auto-Encoder示例:从猫到猫

按照上述过程,在潜空间提取图片特征向量,通过解码器解码,理论上可以恢复出曾经输入的某张图片。有读者肯定会问,是否能生成没有训练过的照片呢?给定任意一个特征向量,均能生成图片吗?

Auto-Encoder可以还原训练过的图片,但生成新图像的能力不足。针对该问题,研究者发明了改进版的Auto-Encoder:变分自编码器,即VAE。VAE使用高斯分布的概率值重新定义特征向量中的每个值,通过改变概率进而平滑地改变图片信息。比如在图4-4中,将Smile、Black hair等特征的概率取值逐步从0调大到1,首排中的男性表情从严肃逐步变化到微笑,第二排中的女性的金色头发逐步加深变黑。

图4-4 VAE控制图片生成 [16]

图4-4表明,在VAE中可以通过控制特征的概率来操控人脸特征。VAE使用了许多统计假设,也需要评估其生成的图片和原始图片的差距进而判断其生成效果。

2.VAE与视频生成

使用上面同样的原理,VAE通过编码器和解码器的协同工作,实现对视频数据的压缩、重构及生成。在视频生成方面,VAE被用于对视频的时间结构进行建模并生成视频序列。例如,随机视频生成(SVG)框架在VAE的基础上进行扩展,引入了潜在变量的层次结构来捕捉视频数据的多尺度特性,基于历史视频帧对未来视频帧的分布进行建模,从而能够生成多样化且逼真的视频序列。

是否存在不需要统计假设并且自动评估生成效果的网络结构呢?2014年,Ian Goodfellow提出了可以解决上述问题的生成对抗网络(Generative Adversarial Network,GAN)。

4.2 生成对抗网络

在2020年,扩散模型与自回归模型模型流行以前,生成对抗网络(GAN)是生成视频中使用最广泛的技术,它们已被证明可以为视频生成和视频预测任务采样高精度结果。

1.基本原理

GAN网络结构和Auto-Encoder很像,由对称的生成器(Generator)和判别器(Discriminator)两部分组成,但二者的基本原理差异较大。生成器使用随机特征向量,通过采样网络生成图片数据,然后由判别器判断该图片是真是假。

生成器和判别器像一对相互竞争、博弈的对手,生成器企图生成以假乱真的图片骗过判别器,而判别器则致力于把生成器生成的照片 G Z )与真实照片( X )对比,能判断出生成的照片为假,如图4-5所示。在这个过程中,生成器会逐步进化,生成照片中的特征越来越真实;判别器发现被骗之后,也会进化出使用更复杂的特征来判断真假的能力,反复迭代,直到判别器已经无法区分生成器生成图片的真假,我们便获得了训练好的生成器。此时,训练好的生成器可以帮助我们生产出逼真、肉眼难以判断但现实中却不存在的图片。

图4-5 GAN结构

虽然GAN的生成器可以生成高质量图片,但是它有两大缺点:

□ 不稳定导致难以训练。在实际训练中,判别器收敛而生成器容易发散,导致二者不能协调同步。

□ 模式缺失。GAN在学习过程中容易出现模式缺失、生成器退化,进而出现生成的样本点重复,无法继续学习。

为了克服这些问题,研究者发明了更好用的扩散模型。

2.GAN与视频生成

视频可以看作连续的静态图片沿着时间线的集合,在图片生成的基础上增加了空间一致性和时间连续性的要求。早期,研究者提出了将物体的纹理和空间一致性与时间动态分开考虑的GAN框架,通过将生成器拆分为前景和背景模型或者考虑生成器或鉴别器中的光流来完成。此外,它们使用较小的数据集进行训练,以降低数据复杂性和计算要求,但多样性较低。

随后,MoCoGAN将由内容和运动信息组成的随机向量序列映射到基于先验的帧序列。MoCoGAN和双视频鉴别器GAN(DVD-GAN)都使用两个鉴别器,一个用于图像,另一个用于视频。然而,DVD-GAN的生成器不包含任何针对前景、背景或运动流的先验,而是利用密集且庞大的神经网络来学习先验。为了制作复杂度和精度显著提高的视频,DVD-GAN引入了一种高效的时空鉴别器分解,其架构类似于BigGAN。研究者们建议使用双重鉴别器;空间鉴别器(D v )和时间鉴别器(D f )用来生成长且分辨率高的视频,并在生成器中使用循环神经网络(RNN),如图4-6所示。

图4-6 基于GAN的文本转视频生成模型框架 [17]

在图4-6基于GAN的文本转视频生成模型框架中,一般的操作流程如下:

(1)将文本指令输入循环单元RNN中,将文本编码为潜在向量 Z 并跨帧创建这些向量的有效序列。

(2)潜在向量 Z 进入生成器G以生成图像。

(3)为确保生成的图像与文本指令匹配,生成器输出的图像被发送到鉴别器D f ,该鉴别器区分此输出和来自训练数据集的真实图像。TiVGAN等模型用来自另一帧的图像替换来自特定帧的真实图像,以强制鉴别器确认视觉输出的时间传播信号。

(4)同时,生成器具有正确帧顺序的连接图像被发送到鉴别器D v ,区分生成的帧序列和真实帧序列。此外,每次生成新图像(第一帧除外)时都会执行此鉴别。

其他包含两个鉴别器的模型包括TFGAN、StoryGAN、TGANs-C和IRC-GAN。除了多鉴别器之外,插入融合特征并将文本特征与图像特征混合在一起,可以使用单个鉴别器生成视频。还有一个可行的方案,在生成潜在表示期间,将背景和显著对象的语义分离,通过结合基于文本指令的运动生成过滤器权重,显著对象的表示就得到进一步的增强。

在扩散模型流行之前,许多人认为GAN在生成样本质量方面是最先进的生成模型。但GAN并非没有缺陷,因为受自身算法框架限制,GAN的对抗性目标难以训练,并且经常遭受模式崩溃的困扰。相比之下,扩散模型具有稳定的训练过程,并且由于它们是基于可能性的,因此提供了更多的多样性。虽然扩散模型具有这些优势,但是与GAN相比仍然效率低下,在推理过程中需要多次进行网络评估。

4.3 扩散模型

虽然扩散模型背后的数学理论很复杂,但是我们可以形象地理解其框架和原理。图4-7展示了扩散模型运行的两个过程:前向扩散和反向降噪。

1.基本原理

在前向扩散中,从左至右,小狗图片被逐步加上符合正态分布的噪声,直到最后得到一幅肉眼只能看到噪声的图片,如图4-7所示。添加噪声就是扩散过程,可以简单地比喻成京剧中的化妆。京剧演员为了体现角色特点,会在脸上涂上各种颜色,形成各种脸谱,观众已经无法辨认出其本来面目。

图4-7 扩散模型示意 [18]

在反向去噪生成过程中,从右至左,逐步去掉噪声,恢复小狗图片,这也是扩散模型生成图像的过程。此时,相当于京剧演员表演完后,洗脸卸妆,逐渐从脸谱还原成本来面目。

Diffusion加入的噪声服从高斯分布,训练过程则学习高斯分布特征。学会高斯分布就学会了噪声分布,就能通过降噪生成图片(从高斯噪声中还原图片)。

降噪时则逐步去除噪声。每步的变化只和前一步有关(马尔可夫链)。用高斯分布将马尔可夫链简化,获得第0步初始图像与第 N 步加噪声后之间的直接关系。

逆向过程是通过第 N 步噪声状态求第 N -1步噪声状态。假设第0步初始图像状态并使用贝叶斯条件概率,已知第0步与第 N 步以及第0步与第 N -1步的关系,可以表示出第 N 步与第 N -1步的关系,从而实现预测噪声。

使用神经网络模型学习噪声的规律,输出值作为高斯分布的一部分加入了逆向过程,从而影响每次去除噪声的结果,以及解决去掉哪些噪声的问题。

总之,Diffusion model就是前向加噪模糊图片、逆向降噪还原图片。采用什么样的深度网络结构才能高效地实现这一过程呢?

由于原图和加噪声后的图片大小一致,研究者尝试用一个UNet结构来实现降噪过程。

2.UNet

UNet顾名思义是一个U结构神经网络,如图4-8所示。其功能类与Auto-Encoder相似,左侧Contracting是一个将高维数据压缩成低维的特征提取网络,相当于Decoder;右侧Expansive是一个上采样网络,相当于Encoder。UNet在相同尺寸的Contracting和Expansive层上增加了直接连接,通过直连,图片中同一位置的信息可以更好地在左右两边网络上传递。

UNet主要用于噪声预测。在UNet左侧输入一张带噪声的图片,经过UNet处理后,输出预测的噪声。前面展示了小猫图像加噪声的过程,加噪声后的图像=噪声+原图。使用UNet预测噪声后,然后去除噪声就能获得原图。

扩散模型通过迭代逐步去除噪声,不是直接给出推理生成的结果,所以有时候耗时较长。

注意,将文本嵌入作用到UNet上时使用了注意力机制。注意力机制的核心思想是在处理序列数据时,模型应该关注与当前任务最相关的部分,而不是平等地对待整个序列,从而提高模型的性能。

图4-8 Stable Diffusion中的UNet结构

3.扩散模型与视频生成

前面详细介绍了GAN生成视频的详细原理,扩散模型与GAN相比关键在于其潜空间特征不同。虽然GAN具有低维潜空间,但是扩散模型保留了图像的原始大小。此外,扩散模型的潜空间通常使用随机高斯分布,类似于VAE。在语义属性方面,GAN的潜空间包含与视觉属性相关的子空间,基于此属性,可以通过潜空间的变化来操纵属性。相反,由于扩散模型不利用潜空间的任何语义属性,因此当扩散模型进行此类转换时,一般使用条件引导技术。然而,研究者证明扩散模型的潜空间具有明确定义的结构,使得在潜空间中的插值操作能够自然地映射到图像空间,生成合理的中间图像。总之,从语义角度来看,对扩散模型的潜空间的探索远少于GAN,但这可能是社区未来要遵循的研究方向之一。

由于扩散模型是当前视频生成中最受欢迎的模型,市场上最著名的几款视频生成工具均采用了扩散模型,因此我们将在第5章进行专门解读。

4.4 自回归模型

在自回归模型创建的视频序列中,每个视频帧都从逻辑上与上一个视频帧紧密相连,从而确保叙事和视觉的连续性,吸引观众。

注意力机制,主要是自注意力机制,其是自回归模型中的关键部分,可以捕捉长程依赖关系。虽然研究者们在语言建模、机器翻译和视频生成等各种任务中引入了自注意力机制,并表现出了高保真度,但是计算成本通常很高。

1.注意力机制

当与朋友逛街走散时,我们能够快速从人群中找到朋友,并忽略其他人。在一本书阅读到最后一页时,我们也能在欣喜于主角的happy ending时回忆起他刚出现时的场景。

Attention试图将人类能够快速抓住重点、关联久远的历史信息的注意力机制(Attention)应用于人工智能中。AI领域的著名论文之一Attention is all you need率先提出Attention结构。虽然过往研究中也提出过self-attention等类似结构,但是该论文因提出“attention无所不能”这一大胆论断而被载入史册。

虽然效果显著,但注意力机制的公式表达十分简洁:

其中, Q 表示query, K 表示key, V 表示value, d k K 的维度。Query、key、value是由Attention is all you need一文引入的抽象概念,并无明确的含义。为了便于大家理解,下面继续引用知乎专栏作者“电光幻影炼金术”列举的两个例子。

□ 搜索领域。以在bilibili中搜索Sora相关的视频为例,key代表bilibili数据库中所有Sora相关的视频序列;query代表我们输入的关键字序列Sora;value代表搜索到的视频序列。

□ 推荐系统。以在淘宝购物为例,key代表淘宝数据库中所有的商品信息;query代表我们在淘宝上最近关注的商品信息;value代表淘宝推送给我们的商品信息。

需要注意的是,key、query、value都是隐变量特征,他们的含义往往不像上述两个例子那么明确,因此无须过于关注其含义,反而应关注其结构形式。注意力机制从形式上或者数学上大幅提升了RNN等传统seq2seq结构的性能,在当前生成式AI中的影响力巨大,已经成为搭建复杂模型的基本结构。

根据公式可以发现,注意力机制的核心计算在于按照关系矩阵 QK T 进行加权平均。softmax把关系矩阵 QK T 归一化成概率分布形式,然后根据概率分布对 V 进行重新采样,最终得到新的Attention结果。

Attention通过加权融合不同的信息,并突出重要信息,弱化次要信息。与传统的CNN卷积操作不同,CNN只能关注到卷积核附近的局部信息(local information),不能融合远处的信息(non-local information)。而Attention可以加权融合全局信息(global information)。虽然Attention关注了更多信息,但是其计算量并未显著增加。

2.Transformer架构

Transformer架构一般由多个Attention模块堆叠而成,如图4-9所示。Transformer主要由Encoder(编码器)和Decoder(解码器)两部分组成,由于Transformer能够比较好地运行并行训练,所以被引用到了视频生成领域。

Vision Transformer(ViT)是第首个使用Transformer实现大规模图像数据集学习的视觉自回归模型,该模型使用多头自注意力应用于输入图像中的一致尺度,并通过网络层次结构保持空间尺度,如图4-10所示。ViT将原始的Transformer模型应用于以矢量形式展开的一系列图像“补丁”,并使用监督分类任务在大型专有数据集(包含3亿张图像的JFT数据集)上进行了预训练,然后针对图像识别基准(如ImageNet分类)进行了微调。

图4-9 Transformer整体结构

图4-10 ViT架构(左)与Transformer编码器(右) [19]

3.基于Transformer的视频生成

基于Transformer的视频生成方法来源于LLMs(大语言模型)。通常,这些方法采用对下一个标注的自回归预测或对屏蔽标注的并行解码来生成视频。受到ViT技术的启发,VideoGPT将VQVAE与基于Transformer的标注预测集成在一起,使其能够自回归地预测视频生成的视觉标注。此外,GAIA-1整合了包括文本描述、图像和驾驶动作在内的各种模态,从而生成了自动驾驶场景的视频。与这些自回归方法不同,同样基于Transformer的VideoPoet通过并行解码生成了非常高质量的视频。

在视频生成中,自回归模型可用于按顺序生成视频帧,并根据先前生成的帧对每个帧进行条件处理。典型案例如视频像素网络,作为自回归模型,它扩展了PixelCNN以对视频数据进行建模。VPN将视频编码为四维依赖链,其中使用LSTM捕获时间依赖性,使用PixelCNN捕获空间和颜色依赖性。Phenaki、CogVideo、GODIVA和StoryDALL-E等都是基于自回归的视频生成模型。

自回归文生视频模型的一般框架如图4-11所示,下面按照该框架进行讲解。

(1)将视频帧编码为一系列图像标记。

(2)将这些标记与文本标记一起输入产生新生成的帧的Transformer中。在推理过程中,输入此转换器的图像标记将被替换为空图像标记或软标记。

(3)将Transformer的输出标记解码为RGB视频帧,可以对其进行插值以获得更精确的帧速率。

图4-11 基于自回归的文本到视频生成模型框架 [17]

黑色箭头为训练流程,红色箭头为推理流程

不同的模型会拉伸框架的不同部分来生成视频,通常有三种方案:

□ 在将视频帧编码为图像标记序列的过程中进行修改,合并因果转换器以确保跨帧的时间连贯性,如Phenaki;

□ 集成帧速率信息并实现分层生成,如CogVideo;

□ 屏蔽帧标记,强制生成转换器学习跨帧的时间序列信息。此时,生成转换器可以以任何方式设计,如在现有空间注意力之上合并时间注意力。

这些早期的努力虽然受到当时的技术和对文本-视频相互作用的理解的限制,但为开发更先进的方法(如基于扩散的DiT模型)奠定了基础。 sRsYnyUrYoWBj7Y5dGAANBz88Cztee1bsun50Eox9s1spLRDiYNbhhQWMl+6esyc

点击中间区域
呼出菜单
上一章
目录
下一章
×