前言
近年来,视觉生成技术飞速发展。从早期的GANs到如今的扩散模型,视觉生成模型经历了多次技术迭代,逐步实现了从“生成图像”到“理解并创造图像”的飞跃。像DALL·E、Stable Diffusion等工具已经广泛应用于创意设计、广告、游戏、影视等领域,成为AI生成内容(AIGC)的重要组成部分。如今,视觉生成不仅限于静态图像,还拓展到了视频生成领域,标志着AI在动态视觉内容创作上的重大突破。
那么,这些模型究竟是如何工作的?它们的发展历程又经历了哪些关键节点?本文将带你一探究竟。
图像生成:从对抗到扩散的技术演进
随着深度学习技术的发展,图像生成领域经历了翻天覆地的变化。从早期基于对抗机制的生成对抗网络(GANs),到近年来逐渐崭露头角的扩散模型(Diffusion Models),每一代模型都在不断推动着图像生成技术的边界。我们一起来回顾图像生成模型的发展过程,了解这些模型相关技术的基本原理和各自特点。
AE:压缩与重建的艺术
自动编码器(AutoEncoder, AE)是一种用于无监督学习的神经网络架构,它的概念最早可以追溯到1980年代,是无监督学习领域的早期探索之一。
自动编码器的核心思想是通过压缩数据到低维空间,再解码还原原始数据。其结构分为三部分:
- 编码器(Encoder) :将输入图像压缩为低维向量;
- 隐含层(Latent Space) :也叫潜在空间,由压缩后的低维向量组成,图像的特征表示;
- 解码器(Decoder) :从隐含层还原图像。
训练目标是最小化重构误差,常用损失函数有MSE或交叉熵。
假设我们有一个图像数据集,每个图像都可以表示为一个向量。
- 编码过程:图像被压缩成一个低维向量,这个低维向量包含了图片的关键特征;
- 解码过程:低维向量通过解码器重构,得到图像,并且它接近原图
训练目标:定义损失函数为,计算原始图像 与重构图像之间的均方误差。通过反向传播算法来更新网络参数,以最小化这个误差。
简单来说,AE的工作过程就是数据降维-特征学习-数据重建,就像一个“压缩-解压”工具。它的局限性在于:
- 主要用于还原输入而非生成新图,无法创造新的、多样的输出。
- 图片向量只是简单地映射在低维空间中,缺乏规律性和语义信息,不像嵌入(Embedding)空间那样可以有效地表示相似度。这是因为自动编码器的设计初衷是为了重建图像,而不是为了表达其内部的语义关系。
总结:AE 的意义在于提供了一种概念验证,即图像可以被转化为低维向量表示形式,然后再从这种形式中重构出来。这一思路为后续更加先进的生成模型的发展奠定了基础。
VAE:从重建到生成
变分自动编码器(Variational AutoEncoder, VAE)于2013年被提出,旨在解决传统自动编码器(AutoEncoder, AE)在建模数据概率分布和生成新样本方面的不足。
核心思想:让隐含空间具备统计意义
变分自动编码器(VAE)在AE基础上引入概率建模,让隐含空间(latent space)具有统计特性。具体来说,编码器不再输出一个确定的隐含向量,而是输出一个概率分布,通常是高斯分布,由两个参数来描述:
- 均值(μ):表示分布的中心位置;
- 方差(σ²)或标准差(σ):表示数据的离散程度。
这意味着每个输入数据点在隐含空间中被映射为一个高斯分布,而非一个固定的点。然后通过从这个分布中采样,可以得到不同的隐含变量 z=μ+σ⋅ϵ,其中 ϵ 是从标准正态分布中采样的随机变量。这种“重参数化技巧(Reparameterization Trick)”使得整个模型可以进行端到端的梯度传播,从而实现有效的训练。
为什么选用高斯分布?
高斯分布具有良好的数学性质,如连续性、易采样性和集中性,广泛存在于自然数据中。VAE利用这些特性,在隐含空间中将每个输入映射为一个高斯分布(由均值 μ 和标准差 σ 表示),从而实现:
- 语义相似性建模:靠近均值的点对应语义相近的图像;
- 多样化生成:从均值附近采样,可生成内容略有差异但语义一致的新图像;
- 结构规则化:通过KL散度约束,使隐含空间平滑、连续,便于生成与插值。
这些优势使VAE在保持生成质量的同时,具备良好的可控性和可解释性。
VAE的结构如下:
- 编码器(Encoder) :输入图像 x 被编码为一个高斯分布,使用均值(μ)和标准差(σ)表示。
- 潜在空间(Latent Space) :潜在空间是由一系列潜在变量组成的连续空间,这些变量通过编码器从输入数据中学习而来,并遵循特定的概率分布(通常为高斯分布)。具体来说,潜在空间的构成依赖于编码阶段生成的均值(μ)和标准差(σ),并通过重参数化技巧引入独立随机变量 ϵ 来实现采样,从而得到具体的潜在向量 z=μ+σ⋅ϵ。
- 解码器(Decoder) :接收采样得到的 z,尝试重构原始输入图像,与传统AE类似,但重构结果具有一定的多样性。
这种设计不仅保证了潜在空间具有良好的结构特性,还确保了其具备生成新样本的能力。
VAE 的损失函数为 ,由两部分组成:
- 重构损失(Reconstruction Loss) :比较解码器输出与原始输入之间的差异,衡量还原质量;
- KL散度(Kullback-Leibler Divergence) :衡量编码器输出的分布与标准正态分布之间的差异;KL 散度的引入,让隐含分布更接近标准正态分布,便于后续的采样和生成。
总结:VAE 不是直接将图像映射到一个低维向量,而是映射到一个概率分布,再通过采样生成隐含变量。这个“概率分布”成为了多样性的来源,大大提升了模型的表达能力,使得 VAE 成为一种具备生成能力的自动编码器。
应用与演变:VAE 的发展路径
由于 VAE 能够学习到连续且平滑的隐含空间,它在多个生成与建模任务中展现出重要价值:
- 数据生成:用于图像、音频等复杂数据的生成;
- 特征学习:提取具有语义意义的潜在表示;
- 异常检测:通过重构误差识别异常样本;
- 数据插值:在两个样本间生成自然过渡的新数据。
VAE自提出以来,不断被扩展和优化:
- 2013年:VAE 由 Kingma 与 Welling 提出,首次将变分推断引入自动编码器框架,开启了基于概率建模的生成模型新方向;
- 2017年:VQ-VAE(矢量量化 VAE)被提出,采用离散隐变量建模,解决了传统 VAE 在生成细节上的不足,为高质量图像生成和跨模态任务奠定了基础;
- 2021年:DALL·E 1 发布,结合 VQ-VAE 与 Transformer 架构,实现了根据文本描述生成图像的能力,标志着多模态生成模型的重要突破。
VAE 是现代生成模型的重要基础,尤其适用于需要建模数据分布并生成新样本的任务。随着结构和训练方法的不断优化,VAE 被广泛应用于图像生成、语音合成、文本建模等多个领域。
GAN:对抗中学习生成
生成对抗网络(Generative Adversarial Networks, GAN)是由Ian Goodfellow及其团队在2014年6月提出的一种深度学习模型。
GAN的核心思想来源于博弈论中的二人零和博弈,它由两个神经网络组成:
- 生成器(Generator) :基于随机噪声生成图像,目的是生成尽可能逼真的样本以欺骗判别器。
- 判别器(Discriminator) :判断输入图像是真实图像还是生成器伪造的图像。它接受数据样本作为输入,并输出一个概率值,表示该样本为真实的概率。
GAN的训练是一个动态的过程,涉及生成器和判别器之间的对抗,像是两个玩家之间的博弈:
- 训练判别器识别真实数据:首先,使用真实数据训练判别器,使其能够识别出真实的数据。
- 训练判别器区分真假数据:然后,用生成器产生的假数据来训练判别器,让其学会区分真假数据。
- 改进生成器生成更真实的样本:接着,利用判别器的反馈来训练生成器,使生成器能产生更加真实的样本。
- 持续迭代优化:这个过程不断重复,直到生成器产生的数据足够逼真,以至于判别器无法区分它们与真实数据。
这个过程在数学上可以被看作是一个最小最大优化问题:生成器试图最小化判别器正确分类的概率,而判别器则试图最大化自己对真假样本的区分能力。
效果和影响
通过判别器与生成器之间的博弈,促使生成器能够产出逼真且高质量的图片,这是GAN的一大亮点。这种相互对抗的方式使得生成器不断优化自身,以产生更接近真实数据分布的输出。
另一方面,GAN在实际应用中也面临着显著的挑战:
- “模式崩溃”问题:生成器可能会忽略潜在空间中的某些部分,导致生成的图像缺乏多样性。换句话说,尽管生成的图像可能非常逼真,但它们往往集中在数据分布的特定模式上,无法覆盖所有可能的变种。这限制了GAN在需要多样化输出场景下的应用效果。
- 训练过程比较不稳定:模型容易遭遇收敛困难的问题。由于GAN涉及两个神经网络的动态平衡,如何有效地调整这两个网络使其协同工作是一个复杂的过程。不恰当的参数设置或训练策略可能导致训练失败,或是生成结果的质量远低于预期。
为了克服其在多样性与稳定性方面的局限,GAN 自提出以来也在不断发展与优化。例如,StyleGAN 等代表性变体通过引入风格控制机制,不仅提升了生成图像的质量,还增强了对生成内容的精细控制能力。这使得 GAN 在人脸生成、虚拟角色设计等高要求应用中取得了突破性进展。
总体而言,GAN(生成对抗网络)凭借其高质量的图像生成能力以及持续演进的稳定架构,在图像生成领域长期占据核心地位。其不仅推动了生成模型理论的发展,也为工业界提供了强大的技术支撑,成为现代图像生成技术的重要基石。
Diffusion Models:从“加噪”到“去噪”的生成路径
扩散模型(Diffusion Models)的初步概念于2015年首次被提出。这类生成模型的灵感源自物理学中的扩散过程:在物理世界中,系统从有序状态逐渐向无序状态演变的过程,如热量从高温区域向低温区域扩散的现象。扩散模型巧妙地模拟了这一从有序到无序的动态变化,并通过逆向过程重建秩序,即从随机噪声中逐步恢复出有序的数据结构,并把它应用到图像生成领域。
核心思想:加噪与去噪
扩散模型通过逐步向图像数据中添加噪声,并训练一个反向神经网络,从噪声中逐步还原原始图像。
扩散模型的运作分为两个阶段:
-
正向扩散过程(加噪声) :从原始图像出发,逐步加入高斯噪声,直到变成一个纯噪声。
-
逆向生成过程(去噪声) :从噪声中逐步恢复原始数据。模型在每一步学习“当前噪声图”与“前一步真实图像”之间的关系,从而实现图像的渐进还原。整个过程完全无监督,仅需原始图像,无需任何标注数据。
在生成过程中,每一步都预测一个更清晰的图像,直到重建原图。这种方式很直观,但在实践中存在一些挑战:
- 训练不稳定:每一步都要直接重构图像,误差容易累积
- 生成质量受限:直接预测图像像素难以捕捉复杂分布
- 优化困难:预测图像本身缺少统计特性,学习目标不够明确
后来,这些问题在 DDPM(2020) 中得到了改进,通过将目标从“预测图像”改为“预测噪声”,显著提升了训练稳定性和生成质量。可以说,直到 DDPM等高效模型的出现,才真正推动了扩散模型的广泛应用。
DDPM:让扩散模型更高效
去噪扩散概率模型(Denoising Diffusion Probabilistic Models,DDPM)是在2020年6月提出的一种创新性的生成模型。DDPM 是扩散模型(Diffusion Models)发展中的一个里程碑式工作,它在原有扩散模型的基础上,通过重新设计训练目标和模型结构,显著提升了模型的训练效率、生成质量与稳定性。
早期扩散模型的基本思想是:
- 通过逐步向图像像素添加噪声,构建一个前向扩散过程;
- 然后逆向这个过程,从噪声图开始逐步预测更清晰的图,直到重建原始图像像素。
然而,这一过程在工程实现中面临较大挑战:
- 从加噪图像中恢复原始图像的逆向过程缺乏明确的统计特性,使得直接建模变得困难。
- 通常需要依赖复杂的概率近似方法(如变分推断)来进行训练,这不仅增加了实现难度,也影响了训练效率和生成效果。
核心思路:将逆向生成过程建模为去噪任务
DDPM 的核心创新在于:将扩散模型的逆向过程重新建模为一个去噪任务,也就是说去噪声过程的每一步从“预测原图”改为“预测噪声” 。
具体来说,去噪过程的每一步都要从含噪图像恢复到前一个更清晰的状态:
- 传统扩散模型:基于直接预测状态
- DDPM:基于预测应该去除多少噪声 ,然后再计算出状态;
DDPM的工作过程如下:
-
扩散过程(前向过程) :按照预定的噪声调度(noise schedule),逐步向图像添加高斯噪声,直到图像完全变成随机噪声。
- 在每一时间步 中, 表示带噪数据,从前一步的中添加噪声得到:。其中, 是噪声调度,控制每一步添加的噪声量; 是高斯噪声。
- 随着 的增加, 变得越来越嘈杂,直到它近似于一个高斯分布。
这是一个固定且可解析建模的过程,不需要训练,每一步的噪声添加都符合高斯分布规律。
-
反向过程(生成过程) :从最终时间步 的带噪数据 中逐步去噪,重建原始数据 。
-
这个过程通过使用神经网络来近似条件概率 来建模
-
是一个由参数 参数化的神经网络,用于预测噪声。给定任意时间步 和 加噪图像 ,每一步的目标是预测被添加的噪声
-
通过 和预测噪声就可以反向计算出:
-
DDPM的训练目标非常清晰且易于实现:让模型学会预测给定加噪图像中的噪声。
- 我们希望让预测噪声接近真实噪声:
- 训练目标就是最小化预测噪声与真实噪声的差异:
这个训练目标简洁、直观,且便于用均方误差(MSE)等常见损失函数进行优化,是DDPM能够高效训练和稳定生成的关键所在。
使用 U-Net 架构预测噪声
在 DDPM 中,训练的核心目标就是学习预测噪声 。为此,模型采用了基于U-Net架构的网络结构:
-
U-Net 架构最初由Olaf Ronneberger等人于2015年在论文《U-Net: Convolutional Networks for Biomedical Image Segmentation》中提出,旨在用于医学图像分割任务。
-
随着时间的发展,U-Net 因其出色的性能和灵活性,已被广泛应用于各种领域,包括作为扩散模型中的关键组件用于去噪过程。
-
而 DDPM 使用的 U-Net 模型受到了OpenAI于2017年发布的 PixelCNN++ 的启发。
UNet 的主要结构特点是其对称的编码器-解码器架构,并且在编码器和解码器之间有直接的连接(跳跃连接),整个架构看起来像一个 U 字型:
-
编码器-下采样路径(Contracting Path) :U-Net 的左侧是一个典型的 卷积神经网络(CNN) 结构,实现对图像的多尺度特征提取。
- 由多个卷积层 + 激活函数(如 ReLU)+ 池化层(如 MaxPooling)组成
- 每一层逐渐 减小空间分辨率(H×W),同时 增加通道数(C),以提取更高层次的语义特征
- 每个阶段的输出会被保存下来,供右侧解码器使用(跳跃连接)。
-
解码器-上采样路径(Expansive Path) :U-Net 的右侧是一个 CNN 解码器,通过反卷积操作逐步恢复空间分辨率,同时结合来自编码器的高分辨率特征图(通过跳跃连接)。
每一层会将上采样的结果与来自编码器对应层的特征图 拼接起来(concatenate),从而融合高低层次的特征信息。
-
跳跃连接(skip connections) :将编码器的特征图直接连接到对应的解码器层,以帮助解码器在恢复图像细节的同时保留语义信息。
U-Net 的核心优势在于其能够通过编码器-解码器架构以及跳跃连接高效地提取和融合多尺度特征,非常适合处理具有复杂结构的数据。在扩散模型中,它能够有效地从含噪声图像 中提取并重建多尺度特征,从而准确预测出每一步中被添加的噪声。
由先验建模驱动的优化策略
DDPM 的核心优化体现了对扩散过程和数据分布的深刻理解,这些理解本质上是一种先验建模。例如:
- 建模噪声而非直接建模图像:在扩散过程中添加的噪声具有良好的统计性质(即高斯分布)和可预测性,这种选择基于对数据分布特性的先验假设,使得模型能够更高效地学习如何去除噪声。
- 引入时间步信息:将时间步 t 编码并注入到模型中,让模型了解当前处于去噪过程的具体阶段。这一做法体现了对扩散过程不同阶段特性的理解,比如早期阶段加的噪声较小,图像还保留着清晰的轮廓和结构,后期就几乎全是噪声,通过引入时间步可以帮助模型根据不同的噪声强度和结构特征调整其去噪策略。
- 使用 U-Net 提取多尺度特征:U-Net 架构因其在图像生成、分割等任务中的优异表现而被选用为骨干网络,这是对图像数据特性的先验判断。U-Net 架构特别擅长捕捉从粗略轮廓到精细纹理的多尺度特征,能够在去噪过程中同时处理全局和局部细节,这一能力使其成为扩散模型实现高质量图像生成的关键组件。
这些改进使扩散模型在图像质量和训练效率上大幅提升。
噪声与生成多样性的精妙结合
你可能会好奇:为什么往图像中添加噪声再逐步去除噪声,就能生成全新的图像,还能满足生成多样性?
其实,噪声本身,正是多样性的源头:
- 随机起点:生成始于一张完全随机的高斯噪声图像。由于每次的噪声都不同,即使目标一致,最终结果也各具特色。这个随机起点,为每张图像注入了独一无二的“基因”。
- 扩散与逆扩散机制:在训练阶段,扩散模型学习如何准确预测加噪图像中的噪声成分;而在生成过程中,模型则使用学到的知识逐步去除噪声(反向去噪)。这一过程并不是简单地还原某一张特定的原图,而是通过一系列合理的猜测来构建新的图像。每一步都允许一定程度的偏差存在,这些细微的变化累积起来,使得最终生成的图像不仅多样化,而且充满了创意。
- 精准预测噪声:模型在训练中学会识别并还原噪声。这不仅让它理解图像结构,还能适应不同噪声模式,从而捕捉数据分布中的细微差异,实现更丰富的生成效果。
- 深度网络的支撑作用:扩散模型依赖深度神经网络(比如U-Net)来预测噪声。复杂的网络结构能学习更丰富的数据特征,合理的设计和调参则在图像质量与创意之间取得平衡,让输出既清晰又富有想象力。
因此,扩散模型巧妙地将噪声转化为创造力的源泉。正是通过理解和操控噪声,模型才能生成既高质量又各不相同的图像,在图像生成领域展现了非凡的能力。
Ablated Diffusion Model:迈向高质量生图的扩散路径
基于对DDPM的改进,OpenAI 于2021年5月发表了《Diffusion Models Beat GANs on Image Synthesis》,提出了消融扩散模型(Ablated Diffusion Model, ADM),它在多个图像生成任务中超越了生成对抗网络(GANs)。
在当时的图像生成领域,GANs 和 扩散模型各具优势:
- GANs:基于“生成器-判别器”对抗机制,通过不断博弈提升生成图像的逼真度。这使得 GANs 在图像质量、细节还原、逼真度方面表现非常出色,长期在FID、Inception Score等主流评价指标上占据领先。
- 扩散模型:通过逐步去噪过程生成图像,属于基于似然(likelihood-based)的概率模型,目标是完整建模数据分布。因此其生成结果具有更高的多样性,但是生成的图像在细节质量上不如 GANs。
作者指出,GANs 在图片生成质量上领先的主要原因在于:
- GANs 的网络架构与训练机制已历经多年优化;
- GANs 通常以牺牲分布覆盖完整性为代价,换取更高质量的生成结果。
为此,ADM 将 GANs 的架构设计与训练策略引入扩散模型,构建出可在生成过程中调节“真实性-多样性”平衡的机制。最终在保持扩散模型多样性优势的同时,显著提升了生成图像的质量,实现了图像生成领域的性能突破,达到当时最优水平(SOTA)。
核心优化:分类器引导(Classifier Guidance)
ADM 在生成过程中调节“真实性-多样性”平衡的核心机制就是分类器引导(Classifier Guidance)。通过结合预训练分类器的梯度信息,优化生成过程中的每一步,从而在多样性和保真度之间实现精细控制。
具体过程如下:
-
训练一个分类器:首先,在特定数据集上训练一个高效的分类神经网络 ,用于预测给定图像 属于各个类别标签的概率分布。
-
使用扩散模型进行图像生成:扩散模型通过逐步去除噪声来生成图像。这一过程可以用反向扩散过程表示为:
其中, 和 分别是高斯分布的均值和方差函数,由神经网络参数化得到。在训练阶段,扩散模型学习预测噪声,然后通过数学变换得到 和 分布参数。
-
引入分类器的指导:在扩散模型生成图像的过程中,通过引入已经训练好的分类器的梯度信息来指导生成过程。具体来说,在每一步反向扩散过程中,除了考虑扩散模型自身的逆向生成路径外,还会根据分类器 给出的类别概率分布调整生成路径,以增加生成图像属于目标类别的概率。
对于每一步 :
- 计算分类器的对数似然比(log-likelihood ratio):
- 然后,将这个梯度信息加入到扩散模型的均值预测中:
- 这里 是一个超参数,用于调节分类器引导的强度。较大的 值会使得生成的图像更加倾向于符合分类器预测的目标类别,但可能会减少多样性;较小的 则允许更大的多样性。
通过调整 的值,可以在生成图像的多样性和保真度之间进行灵活权衡。理想情况下,适当的选择可以使生成的图像既具有较高的视觉质量,又能覆盖数据分布的广泛部分。
引入分类器调节生成过程后,图片生成的效果能够在尽量保持多样性的前提下,大大提升了准确性。研究表明,在ImageNet等复杂数据集上,分类器引导可以显著改善生成效果,特别是在高分辨率图像生成方面。
基于 Classifier Guidance 的改进
既然用 Classifier Guidance 指导反向扩散过程有这么显著的效果,那能否改进 Guidance 来进一步指导这一过程呢?于是,基于 Classifier Guidance 的启发,研究者们展开了广泛的探索,并提出了多种创新方法:
- Classifier-Free Guidance:2021年,Google发表了《Classifier-Free Diffusion Guidance》,提出了一种无需训练分类器即可实现扩散模型指导的方法。该方法通过直接在扩散模型训练中引入条件信息(即各种有用的特征信息,比如文本描述、类别标签或属性向量等),避免了额外训练分类器的需求,从而简化了模型架构并提高了生成效率。实验表明,这种方法不仅能够达到与使用分类器相当甚至更好的效果,而且极大地提升了模型的应用灵活性和便捷性。
- GLIDE:同年,OpenAI 团队发表了《GLIDE: Towards Photorealistic Image Generation and Editing with Text-Guided Diffusion Models》,将 Classifier Guidance 的思想进一步拓展到文本引导图像生成领域。GLIDE 使用一个预训练的文本编码器(基于 Transformer 架构)来捕捉文本描述的语义信息,并将其作为条件信号输入扩散模型。在反向扩散过程中,通过文本条件引导不断优化图像生成结果,使其更符合文本描述。GLIDE 在文生图任务中表现出色,在生成质量与可控性方面取得了显著提升。
- CLIP Guidance:2022年,Google Research 团队发表了《More Control for Free! Image Synthesis with Semantic Diffusion Guidance》,尝试使用 CLIP 模型作为Guidance机制的一部分。CLIP 是一种能够理解图文关系的模型,它允许用户通过自然语言描述来引导图像生成过程。通过将CLIP模型集成到扩散模型中,可以实现更细致、更具语义控制的图像合成能力,使得根据文本提示(prompt)生成高质量特定主题图像成为可能。这项技术突破为图像生成领域带来了前所未有的创意自由度和多样性。
这一系列关键技术优化,让扩散模型实现了“弯道超车”,图像生成领域正式进入扩散模型时代。
DALL·E 2:高质量的文生图
DALL·E 2于2022年4月由 OpenAI 推出,它结合了CLIP和扩散模型的优势,实现了从文本到图像生成的高质量转换。
在此之前,图像生成领域主要依赖于如GANs和VAEs等传统方法。随着Diffusion Models在图像生成质量上的突破,尤其是其在语义理解和细节生成方面的优越表现,促使了 DALL·E 2 采用这种新技术,从而超越了基于VQ-VAE与Transformer架构的 DALL·E 1。
Hierarchical Text-Conditional Image Generation with CLIP Latents
总体结构
DALL·E 2 模型的整体结构如下,按虚线划分为两大部分:
-
CLIP编码器:对应架构图中虚线以上的部分。这一个预训练好的图文理解模型,由文本编码器(text Encoder) 和图像编码器(img Encoder) 协同工作,将关联的图文对信息映射到同一个数学空间中,确保它们可以在相同的语义层面上进行比较。
-
扩散模型:基于由CLIP编码器提供的文本向量,经过 prior先验模型 和 decoder 解码器的处理,生成最终的图像输出。
- Prior先验模型:从给定的文本描述中预测出 CLIP 图像嵌入(latent representation),即基于文本输入预测出与之相对应的潜在图像特征。
- Decoder解码器:反向扩散生成过程,通过给定的图片向量加噪声再逐步去噪的方式生成最终的输出图像。
DALL·E 2 模型的文生图包含以下主要过程:
-
文本编码:首先利用CLIP中的 文本编码器 将用户输入的文本描述转化为向量形式,这一过程使得文本能够在同一数学空间内与图像进行比较。
-
先验模型(Prior) :接着,先验模型根据文本向量生成一个图像向量,目标是使该图像向量尽可能接近于CLIP中与之配对的真实图像向量。这一步骤对于确保生成的图像与输入的文本描述相匹配至关重要。
-
扩散模型生成图像:最后,扩散模型通过一系列精心设计的步骤,逐步去除噪声,从而基于给定的图像向量生成出最终的清晰图像。
DALL·E 2 的训练过程:
DALL·E 2 的训练方式采用模块化设计,即将其各个子模块分别进行训练,最后将这些训练完成的模块整合在一起。
-
训练 CLIP 模型:实现文本与图像的联合编码
与 CLIP 模型原始训练方法完全一致,即训练出一个文本编码器(text encoder)和图像编码器(image encoder),使其能够同时编码文本和图像。
通过该训练过程,文本和图像可以分别被映射到一个共享的特征空间中,从而实现语义对齐。
-
训练 Prior 模型:从文本编码生成图像编码
Prior 模型的目标是从文本嵌入出发,生成一个与对应图像嵌入尽可能接近的图像向量。具体训练过程如下:
- 从预训练好的 CLIP 模型中分别提取编码器,使用 text encoder 将文本描述转换为特征向量,使用 img encoder 将图像编码成图像特征向量。
- Prior 模型基于文本特征预测对应的图像特征,目标是使尽可能接近真实的图像特征。
- 通过损失函数衡量与之间的差异,并通过反向传播调整 Prior 模型参数以最小化该差异。
- 在训练过程中应用PCA来提升训练稳定性和效果,通过减少维度和去除噪声保留关键信息。
训练完成后,Prior 模型与CLIP的 text encoder 结合,形成一个系统,就能够从新的文本描述生成对应的图像编码特征,用于后续图像生成任务。
-
训练 Decoder 模型:从图像向量扩散生成图像
Decoder 的目标是基于CLIP图像嵌入向量和可选的文本描述(条件引导)还原高分辨率的图像。
DALL·E 2的解码器采用了改进的GLIDE模型,与传统的自编码器(AE)不同,GLIDE模型能够根据给定的条件生成高质量、多样化的图像。
核心创新:CLIP模型 和 扩散模型的巧妙结合
DALL·E 2 的核心创新在于其独特的技术组合和优化,其关键创新点包括:
- 扩散模型(Diffusion Model)的应用:DALL·E 2使用了扩散模型来生成图像。扩散模型通过一个逐步去噪的过程从随机噪声中生成数据。相比传统的生成对抗网络(GANs),扩散模型在生成高质量、多样化的图像方面表现得更加稳定,并且能够处理更复杂的结构。
- CLIP模型的集成:DALL·E 2结合了OpenAI的 CLIP 模型,该模型可以理解文本与图像之间的关系。通过CLIP,DALL·E 2能够将输入的文本描述转化为图像特征,从而指导扩散模型生成符合文本描述的图像。
- 潜在空间操作:传统的扩散模型都是直接在像素空间中进行加噪去噪处理,而 DALL·E 2 是在一个低维的潜在空间中工作。具体来说,由 Prior 模型将输入文本嵌入映射到相应的图像潜变量空间,然后再由 Decoder 基于图像向量做去噪生成。这样做不仅提高了效率,还使得模型能够更好地捕捉和表示复杂的语义信息。
通过巧妙结合CLIP和扩散模型,DALL·E 2不仅解决了传统生成模型缺乏语义理解的问题,还显著提升了图像生成的质量和可控性。
- 多模态学习能力:DALL·E 2展示了强大的多模态学习能力,即同时理解和处理多种类型的数据(如文本和图像)。这种能力使它可以从自然语言描述中“想象”出视觉元素,并将其转换为具体的图像。
- 高分辨率图像生成:相较于前代产品,DALL·E 2能够生成更高分辨率的图像,同时保持细节丰富和逼真的质量。
在这些创新共同作用下,让DALL·E 2在生成图像时既能够遵循给定的文本描述,又能创造出具有高度视觉保真度和创意性的图像,在文生图领域中取得突破性的进展。
Latent Diffusion Model:在潜在空间中去噪
潜在扩散模型(Latent Diffusion Model, LDM)于2022年7月由慕尼黑大学等机构的研究人员在《High-Resolution Image Synthesis with Latent Diffusion Models》中提出。
LDM 结合了 VAE 和扩散模型的优点,将扩散过程迁移至低维潜在空间中进行,改进了传统扩散模型在像素空间进行去噪所带来的高计算成本问题。具体来说,LDM 首先使用预训练的 VAE 编码器将图像编码到潜在空间,在该空间内完成扩散与去噪操作,最后通过解码器还原为高质量图像。这一改进大幅提升了生成效率与模型可控性,使高分辨率图像生成更加稳定且资源友好。
模型架构
LDM 的模型架构可以分为三个主要部分:
-
像素空间(Pixel Space) :使用 VAE 实现像素空间与潜在空间的转换
- 编码器:将原始图像 编码为潜在表示 向量,实现从像素空间到低维潜在空间的映射。
- 解码器:将去噪后的潜在向量 解码为生成图像 ,还原到像素空间。
-
潜在空间(Latent Space) :使用扩散模型实现扩散与去噪的核心流程
- 扩散过程:在潜在空间中逐步向 添加噪声,最终得到带噪的潜在变量 。
- 去噪过程:使用 U-Net 骨干网络,预测每一步的噪声 并更新 ,逐步恢复原始潜在表示。
- 其中,在 U-Net 网络的瓶颈层和上采样层都引入了交叉注意力机制(Cross-Attention), 将条件特征(如文本编码)的 K/V 与图像特征的 Q 进行交互,实现“以文导图”的条件信息指导去噪生成过程。
-
条件机制(Conditioning) :条件编码转换
- 将各种模式的条件(文本、图片等)通过特定域编码器转换成中间表示,
- 并将条件传递给U-Net的交叉注意力机制,用于指导去噪过程,实现可控生成。
这些关键组件协同工作,使 LDM 能够在低维潜空间中高效完成高质量、可控的图像生成任务。
LDM的核心亮点:
- 高效的扩散过程:将扩散过程从像素空间转移到低维的潜在空间。这样不仅大幅降低了计算成本,还能保持高质量的生成效果。这种设计使其在高分辨率图像生成任务中表现出色。
- 强大的条件生成能力:引入了交叉注意力机制,能够灵活地融合各种条件输入,例如用户的文本提示(prompt),从而实现精准的文本到图像生成,显著提升了模型的交互性与可控性。
作为 LDM 的典型应用,Stable Diffusion 系列模型将其发扬光大,现已成为当前视觉生成模型的主流方案。
视频生成:从图像到动态内容
随着视觉生成模型的成熟,研究者也将目光投向了视频生成,希望AI不仅能生成静态图像,还能生成连贯、自然的视频内容。这一领域对模型的时空建模能力提出了更高要求。
ViViT:从视觉 Transformer 到视频 Transformer
ViViT(Video Vision Transformer)是由 Google 于 2021年 在《ViViT: A Video Vision Transformer》中提出的一种面向视频任务的视觉Transformer模型。ViViT的提出标志着 Transformer 架构从静态图像处理向动态视频分析的关键性跨越,为视频理解领域带来了新的视角与方法。
作为对图像级 Vision Transformer(ViT)的扩展,ViViT首次将纯 Transformer 架构成功应用于视频建模领域。其核心特性在于引入了时空分离的注意力机制、支持多尺度时空建模,并采用了时空位置编码来捕捉视频数据中的时间连续性和空间复杂性。
Vision Transformer:视觉 Transformer
在深入探讨ViViT之前,我们先简要介绍一下其前身——Vision Transformer (ViT)。ViT是Google提出的一种基于Transformer 架构的图像处理模型,它摒弃了传统的卷积神经网络(CNN),完全依赖于自注意力机制来处理图像数据,使得ViT能够捕捉全局信息,而不仅仅是局部特征,这在处理复杂场景时尤为重要。
ViT的核心思想是:
- 图像分块:将图像分割成多个小块(patch),然后进行序列化,得到输入向量序列;
- 位置编码:对 patch 添加位置编码,以便模型理解原始的空间关系;
- 自注意力机制:通过Transformer的多层全局自注意力机制处理,从而捕捉整个图像中的长距离依赖关系。
- 分类输出:最终,基于自注意力计算得到的向量来进行图像分类或其他任务。
从ViT到ViViT:时空建模
ViViT(Video Vision Transformer)正是在 ViT(Vision Transformer)基础上发展而来,专门用于视频理解和生成。
与ViT类似,ViViT也采用了Transformer架构,但针对视频数据的特点做了相应的调整。
-
输入处理阶段:将视频转换成嵌入向量
- 时空Patch分割:视频被分割为一系列时空patch(tubelets),每个patch由连续帧中的对应区域构成,是一个包含空间信息(图像块)和时间信息(帧序)的多维单元。
- Position + Token Embedding:每个时空patch通过线性嵌入操作转换为token向量;为了保留时空patch在时间和空间上的相对位置信息,还对token向量施加位置编码(position embedding)。
-
语义理解阶段:使用 Transformer Encoder 的多头自注意力机制(Multi-Head Self-Attention, MHSA)计算
- ViViT通过结合空间注意力和时间注意力来捕捉视频中复杂的时空模式。为此,有不同的策略来优化时空特征的理解与建模:
- Spatio-temporal Attention(时空注意力机制) :直接将时空patch向量交给编码器,利用MHSA计算不同patch间的相关性,包括同一帧内和跨帧的不同patch之间的关系。这种方式能够直接建模跨空间和时间维度的全局依赖关系,提供了最全面的建模能力,但计算复杂度高。
- Factorised Encoder(分解编码器) :先用空间编码器提取每帧内的二维空间特征,然后用时间编码器分析多帧间的时序信息,以捕捉物体的移动和变化。这种方法有效地分离了空间和时间维度的特征提取过程。
- Factorised Self-Attention(分解自注意力机制) :使用单一编码器,每层的MHSA分为两步执行:第一步专注于空间维度的自注意力计算,第二步则关注时间维度的自注意力计算。这种设计允许在同一个编码器中依次进行空间和时间信息的深度挖掘,实现了更高效的时空特征融合。
- Factorised Dot-Product Attention(分解点积注意力) :利用单一编码器,每层的MHSA被划分为负责空间和时间特征提取的空间头和时间头。这些头的结果通过concat拼接后,再经由线性层整合,形成一个综合了时空特征的长向量。这种方式提供了灵活的融合机制,可以并行处理时空信息。
- 通过时空结合的注意力机制,使得ViViT不仅能够理解单个帧内的内容,还能够理解不同帧之间的时间关系。
-
输出处理阶段
- MLP Head:从Transformer Encoder输出的特征向量通过一个多层感知机(MLP)头部进行进一步处理,以完成诸如分类等任务。
ViViT作为专门针对视频数据优化的Transformer模型,在视频理解领域取得了显著成就,在多个权威视频理解数据集中都取得最先进水平(SOTA),成为这一领域的标杆性模型。而ViViT的成果也进一步证明了Transformer架构在处理不同模态数据(包括文字、图片、视频理解及生成)方面的强大能力和广泛适用性。
DiT:扩散模型+ Transformer 的视频生成新范式
Diffusion Transformer(DiT)是一种结合了Transformer架构的扩散模型 ,它将强大的Transformer机制引入扩散模型中,在模型性能上实现了突破性进展。
核心创新:将 Transformer 架构 引入 LDM
DiT是基于LDM(Latent Diffusion Model)框架构建的,但是把生成过程的主干网络从U-Net替换成了Vision Transformer(ViT)。
- LDM 框架:通过一个预训练的 VAE 将输入图像压缩成低维表示,然后在 潜在空间(latent space)中进行训练。在潜在空间中,使用 U-Net 主干网络 + 交叉注意力机制实现条件控制的扩散生成过程。
- 基于Transformer的主干网络:DiT 摒弃了传统LDM中的U-Net架构,转而采用Transformer作为其主干网络。这使得模型能够更有效地捕捉数据中的长距离依赖关系,并提高了生成结果的质量。
值得注意的是,LDM 在 U-Net 架构中也引入了交叉注意力层来融合条件信息,允许模型在生成过程中灵活地结合各种类型的输入条件,如文本描述或边界框等,实现可控生图。然而 DiT 则更进一步,完全用 Transformer 架构替换了 U-Net 架构,实现了更好的全局自注意力机制建模效果。
我们对比这两种架构设计的差异:
-
U-Net + 交叉注意力:显式的语义对齐
交叉注意力层分布在 U-Net 的多个分辨率层级,使得条件信息能够在不同抽象层次上影响生成,允许条件信息在多个层级动态调节生成,实现复杂的条件控制。
-
纯Transformer架构:隐式的统计调制
Transformer 的自注意力机制天然具备全局建模能力,而使用 adaLN-Zero 注入的条件信息能够更均匀地影响所有 token,实现更好的全局一致性和计算效率。
LDM 和 DiT 代表了扩散模型的两条技术路径:前者通过 U-Net + 交叉注意力实现高效的条件控制和局部建模,后者通过 Transformer+adaLN-Zero 突破全局一致性和计算效率。
效果和影响
DiT 用 Transformer 替代 U-Net 后,在多个方面实现了显著的突破:
- 全局一致性:U-Net 依赖卷积的局部感受野和跳跃连接传递特征,容易出现 “局部细节正确但整体逻辑矛盾” 的问题,而Transformer 架构通过自注意力机制实现全局依赖建模,生成的空间关系更协调、语义一致性更强。
- 计算效率:Transformer 的 “全局-局部” 建模平衡与 adaLN-Zero 条件注入机制,大幅降低了计算开销。
- 扩展性:U-Net 受限于卷积的局部归纳偏置,扩展到大模型时容易出现优化困难(如过拟合、训练不稳定);而Transformer 的 Scaling Laws 在 DiT 中得到充分体现,通过增加模型深度 / 宽度,性能可稳定提升 。
DiT 架构为图像和视频生成领域带来了突破性的解决方案,它使得高质量、时序连贯且富有表现力的视频生成从技术构想变为现实。业内最受瞩目的视频/图像生成模型 Sora、Stable Diffusion 3 都是基于 DiT 架构实现的。其中,Sora在技术报告中特别提到了 Transformer 架构带来的规模化能力:
视频模型在大规模训练时会展现出许多有趣的涌现能力。这些能力使Sora能够模拟现实世界中一些关于人、动物和环境的方面。这些特性在没有任何明确的三维、物体等归纳偏置的情况下出现——它们纯粹是规模现象。
这种 “规模现象” 所蕴含的工业化价值,更让我们对 AI 生成技术的未来满怀无限憧憬。
总结
最后,简单回顾一下本文涉及的视觉生成模型的演变时间线:
- 2013年:VAE提出,引入概率建模;
- 2014年:GAN提出,开启对抗生成时代;
- 2015年:扩散模型提出,从噪声中生成图像;
- 2017年:VQ-VAE,引入离散潜在变量;
- 2020年:DDPM优化扩散模型,提升效率;
- 2021年:扩散模型超越GAN;ViViT发布,探索视频生成;
- 2022年:DALL·E 2、LDM推出,文生图能力大幅提升;Meta发布Make-A-Video;
- 2023年:DiT发布,实现高质量视频生成;Runway推出Gen-2;
- 2024年:Stable Diffusion v3、DiT进一步优化,视频生成进入实用阶段;Sora发布,提供更个性化的视频生成解决方案。
视觉生成模型的发展,经历了从GAN的对抗博弈,到VAE的隐含空间建模,再到扩散模型的噪声去噪机制。每一代模型不断地创新融合,推动生成质量、可控性和效率不断提升。
而视频生成作为视觉生成的新战场,正在快速崛起。从ViViT到DiT架构,再到Make-A-Video、Gen-2和Sora等应用,视频生成模型正快速走向成熟,展现出令人惊叹的生成能力和应用潜力。我们可以期待,未来AI将不仅会“画画”,还能“拍电影”,为影视制作、虚拟现实等领域的创新带来无限可能。