文章目录
一、生成模型的发展脉络
在深度学习尚未兴起的时期,计算机视觉领域的传统图像生成算法主要依赖纹理合成和纹理映射等技术。这些算法基于手工设计的特征进行图像构建,然而,手工特征的局限性使得它们在生成复杂多样图像时能力受限,难以满足日益增长的技术需求。
2014年,生成对抗网络(GANs)的提出成为该领域的重要里程碑。GANs的出现,为图像生成乃至更广泛的数据生成任务带来了突破性进展,在众多应用场景中展现出显著优势。此后,变分自编码器(VAEs)、扩散生成模型等相继问世,这些模型进一步提升了对图像生成过程的精细控制能力,生成图像的质量也达到了新的高度。
二、生成模型的基本原理
生成模型(Generative Model)的核心原理是通过学习训练数据的概率分布,并利用该分布生成新的、与训练数据相似的数据样本。
其基本逻辑通常包括:
- 学习数据分布:模型通过大量的训练数据学习数据的潜在概率分布,如高斯分布、多模态分布等。
- 随机采样:训练完成后,模型可以从学习到的概率分布中进行采样,生成新的数据点。
- 优化目标:通常采用最大似然估计、变分推理或对抗学习等方法优化生成质量。
三、主要生成模型及其逻辑
1、生成对抗网络(GAN)
基本原理:
- 由 生成器(G) 和 判别器(D) 组成,二者通过对抗博弈进行训练。
- 生成器(Generator) 生成伪造数据,使其尽可能逼真。
- 判别器(Discriminator) 负责判断数据是真实数据还是生成数据。
- 训练目标是让生成器生成的数据让判别器无法区分真伪。
损失函数:
min
G
max
D
V
(
D
,
G
)
=
E
x
∼
p
d
a
t
a
(
x
)
[
log
D
(
x
)
]
+
E
z
∼
p
z
(
z
)
[
log
(
1
−
D
(
G
(
z
)
)
)
]
\min_G \max_D V(D, G) = \mathbb{E}_{x \sim p_{data}(x)}[\log D(x)] + \mathbb{E}_{z \sim p_z(z)}[\log (1 - D(G(z)))]
GminDmaxV(D,G)=Ex∼pdata(x)[logD(x)]+Ez∼pz(z)[log(1−D(G(z)))]
优缺点:
✅ 生成数据质量高,图像更加逼真。
✅ 生成速度快,能够实时生成数据。
❌ 训练不稳定,容易发生 模式崩塌(Mode Collapse),即生成器只生成某一类样本,缺乏多样性。
❌ 调参复杂,容易梯度消失或爆炸。
2、 变分自编码器(VAE)
基本原理:
- VAE 基于 概率建模,通过 编码器(Encoder) 和 解码器(Decoder) 来学习数据的潜在分布。
- 编码器 将数据映射到潜在空间,学习 (q(z|x)) 分布(通常为正态分布)。
- 解码器 通过从潜在空间采样并重建数据 (x’) 来生成新样本。
- 训练目标 是最大化 证据下界(ELBO):
L = E q ( z ∣ x ) [ log p ( x ∣ z ) ] − D K L ( q ( z ∣ x ) ∣ ∣ p ( z ) ) \mathcal{L} = \mathbb{E}_{q(z|x)}[\log p(x|z)] - D_{KL}(q(z|x) || p(z)) L=Eq(z∣x)[logp(x∣z)]−DKL(q(z∣x)∣∣p(z))
优缺点:
✅ 训练稳定,无需对抗训练。
✅ 生成数据的 多样性较高,可以进行 潜在变量操作(如风格迁移)。
❌ 生成的图像往往较模糊,质量低于 GAN。
❌ 生成速度较慢。
3、 扩散模型(DPM)
基本原理:
- 前向扩散(加噪):逐步向数据添加高斯噪声,使数据变成 标准正态分布。
- 逆向扩散(去噪):训练神经网络逐步去除噪声,恢复出原始数据。
数学公式:
- 前向扩散过程:
q ( x t ∣ x t − 1 ) = N ( x t ; 1 − β t x t − 1 , β t I ) q(x_t | x_{t-1}) = \mathcal{N}(x_t; \sqrt{1 - \beta_t} x_{t-1}, \beta_t I) q(xt∣xt−1)=N(xt;1−βtxt−1,βtI) - 逆向扩散过程:
p ( x t − 1 ∣ x t ) = N ( x t − 1 ; μ θ ( x t , t ) , σ θ 2 I ) p(x_{t-1} | x_t) = \mathcal{N}(x_{t-1}; \mu_\theta(x_t, t), \sigma_\theta^2 I) p(xt−1∣xt)=N(xt−1;μθ(xt,t),σθ2I)
优缺点:
✅ 生成质量高,细节丰富。
✅ 无模式崩塌,更稳定。
❌ 生成过程 非常慢,需要迭代多步。
❌ 计算资源需求高,比 GAN 更耗时。
4、 基于能量的模型(EBM)
基本原理:
- 通过构造一个 能量函数 (E(x)),使得真实数据 (x) 的能量较低,而伪造数据的能量较高。
- 通过 MCMC 采样 或 对抗训练 进行优化。
训练方法:
- 采用 最大似然估计(MLE),通过 对比散度(Contrastive Divergence, CD) 进行近似计算:
∇ θ log p θ ( x ) = − E p θ ( x ) [ ∇ θ E θ ( x ) ] + E p d a t a ( x ) [ ∇ θ E θ ( x ) ] \nabla_{\theta} \log p_{\theta}(x) = -\mathbb{E}_{p_{\theta}(x)}[\nabla_{\theta} E_{\theta}(x)] + \mathbb{E}_{p_{data}(x)}[\nabla_{\theta} E_{\theta}(x)] ∇θlogpθ(x)=−Epθ(x)[∇θEθ(x)]+Epdata(x)[∇θEθ(x)] - 生成数据时需要 马尔可夫链蒙特卡洛(MCMC) 采样,计算量大。
优缺点:
✅ 适用于高维数据建模,如 图像去噪、超分辨率。
✅ 可以明确建模数据的概率密度,易于解释。
❌ 训练 计算成本高,需要大量样本。
❌ 采样速度慢,MCMC 采样代价昂贵。
5、 正规化流(NF)
基本原理:
- 通过一系列 **可逆变换 f θ ( x ) f_{\theta}(x) fθ(x),将复杂数据分布映射到 标准分布(如高斯分布),再通过逆变换生成数据。
- 变换遵循 雅可比矩阵 规则:
p ( x ) = p ( z ) ∣ det d f θ − 1 ( x ) d x ∣ p(x) = p(z) \left| \det \frac{d f^{-1}_{\theta}(x)}{dx} \right| p(x)=p(z) detdxdfθ−1(x)
其中, z = f θ ( x ) z = f_{\theta}(x) z=fθ(x) 是潜在空间中的变量。
优缺点:
✅ 生成速度快,一次前向传播即可生成数据。
✅ 能精确建模概率密度,适用于 概率推理 任务。
❌ 需要设计可逆变换,限制较大。
❌ 生成质量一般,难以建模复杂分布。
四、 生成模型对比分析
模型名 | 核心优势 | 主要挑战 | 应用场景 |
---|---|---|---|
VAE | 基于概率框架建模数据分布,强调覆盖性/多样性,能生成更全面的样本类别 | 生成结果常因潜在空间平滑而模糊,细节表现弱于GAN | 数据补全、低维表示学习、需多样化生成的任务(如文本生成) |
GAN | 通过生成器与判别器的对抗训练,生成高质量样本(如逼真图像),且支持快速采样(实时生成) | 易出现模式崩溃(多样性不足),且训练过程不稳定(需精细调参) | 图像合成、风格迁移、超分辨率等对生成速度和质量要求高的任务 |
DPM | 通过去噪(Denoising)过程逐步细化样本,结合扩散-逆扩散框架,在质量与多样性间取得平衡 | 如DDPM、DDIM等变体通过优化采样步骤,部分实现了快速采样(接近GAN速度) | 高保真图像生成(如DALL·E 2、Stable Diffusion)、跨模态生成等前沿领域 |
- GAN 适合 快速高质量生成,但训练不稳定。
- VAE 适合 稳定训练与概率推理,但生成质量较低。
- DPM 适合 高质量数据生成,但计算复杂。
- EBM 适合 概率密度建模,但训练难度大。
- NF 适合 快速概率推理,但需要设计可逆变换。
五、生成模型的应用拓展
生成模型在众多领域得到了广泛应用。
- 在计算机视觉领域,可用于图像生成、图像修复、超分辨率重建等任务,能够生成逼真的图像,提升图像的质量和分辨率;
- 在自然语言处理领域,可实现文本生成、机器翻译、对话系统等功能,生成连贯、有逻辑的文本内容;
- 在医疗领域,辅助医学图像分析、疾病预测等工作,为医疗诊断和治疗提供支持;
- 在游戏开发、虚拟现实等领域,用于生成虚拟场景、角色等,增强用户体验。