前言
欢迎阅读生成式AI模型指南。本教程为中国研究人员提供了一个全面的资源,以了解近年来革新人工智能领域的各种生成式AI模型。
本教程的目的
本指南旨在提供对关键生成式AI模型的清晰而简明的概述,重点关注:
- 扩散模型:包括DDPM、Stable Diffusion和一致性模型
- 标准化流:使用可逆变换的模型
- 流匹配:基于连续时间流的生成模型
- 变分自编码器(VAE):具有概率编码器和解码器的潜变量模型
- 生成对抗网络(GAN):具有生成器和判别器网络的对抗框架
- 自回归模型:如用于大型语言模型的Transformer架构
每个部分都探讨了这些模型的理论基础、架构和实际应用,使不同技术专业水平的读者都能理解复杂的概念。
如何使用本指南
本书的结构允许顺序阅读和针对特定模型的探索。您可以:
- 按顺序阅读各章节,全面了解生成模型的全景
- 直接跳到您感兴趣的特定模型类型
- 使用参考部分查找原始论文和其他资源
贡献
教程源码: https://github.com/dongzhuoyao/vincent-genai-course
贡献请参考此框架: https://github.com/rust-lang/mdBook
许可证
本指南基于 CC BY-NC-SA 4.0 许可证。
我们希望本指南能增强您对生成式AI的理解,并在这一激动人心的领域中启发您自己的实验和应用。
扩散模型
扩散模型是一类已经彻底改变了基于AI的内容创作的生成模型。这些模型通过逐渐向数据添加噪声,然后学习逆转这一过程来生成新样本。
概述
扩散模型已成为生成式AI中最强大的方法之一,特别是对于图像,但也越来越多地应用于音频、视频和3D内容等其他模态。它们的工作原理是:
- 前向过程:逐渐向数据添加噪声,直到变成纯噪声
- 反向过程:学习迭代去噪以生成新数据
主要优势
- 高质量生成
- 灵活的条件机制
- 与GANs相比训练更稳定
- 强大的理论基础
扩散模型的类型
本节介绍扩散模型的几个重要变体:
- VAE:变分自编码器的相关优化
- DDPM:原始的去噪扩散概率模型
- Score-based Diffusion:单阶段or两阶段扩散模型
- Stable Diffusion:用于文本到图像生成的潜在扩散模型
- 一致性模型:快速采样扩散变体
- Vector Quantized Diffusion:向量量化扩散模型
每个子章节都提供了关于模型架构、训练过程和应用的详细解释。
理论基础
第一篇 Diffusion 论文: Sol Dickenstein
Sol Dickenstein et al. 2015, Diffusion Probabilistic Models
DDPM
去噪扩散概率模型(DDPM)是一类通过逆转渐进噪声过程来学习生成数据的生成模型。
关键概念
- 前向扩散过程:逐渐向数据添加高斯噪声
- 反向扩散过程:学习逐步对图像去噪
- U-Net架构:常用作去噪网络
数学公式
DDPM通过定义一个逐渐向数据添加噪声直至变成纯噪声的前向扩散过程,然后训练模型来逆转这一过程。
参考文献
Score Matching
Yang Song, 2019, Score-Based Generative Modeling through Stochastic Differential Equations
Score-based Diffusion
Yang Song, ICLR 2021, Score-based Generative Modeling through Stochastic Differential Equations
Flow Matching
Flow Matching is a generative modeling technique that builds upon the ideas of continuous normalizing flows and probability flow ODEs, offering an alternative training approach for generative models.
Overview
Flow Matching defines a continuous-time transformation from a simple distribution (like a Gaussian) to a complex target distribution. Unlike traditional normalizing flows, flow matching doesn't require computing the Jacobian determinant, making it more flexible and computationally efficient.
Key Concepts
- Vector Fields: Learning a vector field to represent the continuous-time flow
- Straight-line Paths: Using simple paths between distributions
- Conditional Flow Matching: Extending to conditional generation
- ODE-based Generation: Sampling by solving an ordinary differential equation
Relation to Other Models
- Diffusion Models: Flow matching can be seen as a generalization of score-based diffusion models
- Normalizing Flows: Similar concept but with different training objectives
- Optimal Transport: Connection to optimal transport theory
Advantages
- Flexible Architecture: No invertibility requirement
- Efficient Training: More efficient than score matching in some cases
- Theoretical Guarantees: Well-founded mathematical framework
- Stable Training: Often more stable than adversarial approaches
Applications
- Image Generation: Creating realistic images
- Shape Generation: 3D shape synthesis
- Audio Synthesis: Generating audio waveforms
- Density Estimation: Learning complex distributions
Awesome Flow Matching
References
- Lipman et al. (2022), "Flow Matching for Generative Modeling"
- Liu et al. (2022), "Flow Straight and Fast: Learning to Generate and Transfer Data with Rectified Flow"
- Tong et al. (2023), "Improving and Generalizing Flow-Based Generative Models with Minibatch Optimal Transport"
Stochastic Interpolants
采样方法
默认ancestral sampling
ODE 采样方法
DDIM
DPM
VAE 相关的优化
VAE 由三部分组成
VAE 的优化: Scale Equivariance
Stable Diffusion 稳定扩散模型
Stable Diffusion是由Stability AI开发的潜在扩散模型,能够根据文本描述生成详细的图像。
架构
- 潜在空间扩散:在压缩的潜在空间中应用扩散过程
- 文本条件:使用CLIP文本嵌入来引导生成过程
- VAE:将图像编码到潜在空间并解码回来
- UNet:在潜在空间中执行去噪过程
主要特点
- 文本到图像生成
- 图像到图像转换
- 图像修复和扩展
- 微调能力
应用
- 创意艺术生成
- 设计原型制作
- 内容创作
- 图像编辑
参考文献
一致性模型
一致性模型是一种生成模型,相比传统扩散模型提供更快的采样速度,同时保持生成质量。
关键创新
- 单步生成:仅需一步即可生成高质量样本
- 少步生成:通过少量采样步骤提供质量-速度的权衡
- 蒸馏方法:从预训练的扩散模型中蒸馏知识
优势
- 比常规扩散模型采样速度快得多
- 确定性采样过程
- 保持与扩散模型相当的生成质量
技术细节
- 一致性函数:将噪声映射到数据点
- 一致性蒸馏:学习一致性函数的训练技术
- 自我条件化:提高生成质量
参考文献
improved consistency models
Simplified Consistency Models
Shorcut Models
B 站链接https://www.bilibili.com/video/BV113Z7YrEHs/
扩散模型骨干网络设计
扩散模型的性能在很大程度上取决于其骨干网络的设计。这些骨干网络负责学习噪声预测或去噪过程,对生成质量至关重要。
U-Net架构
U-Net是扩散模型中最常用的骨干网络,其特点包括:
- 对称编码器-解码器结构:通过下采样逐步减小特征图尺寸,然后通过上采样恢复尺寸
- 跳跃连接:连接编码器和解码器对应层,保留细节信息
- 残差块:改进的ResNet块,提高训练稳定性和模型性能
- 自注意力层:在某些分辨率层中引入,捕获远程依赖关系
Mamba架构
Mamba是一种基于RNN的骨干网络,其特点包括:
- 时间步嵌入:将去噪步骤转换为特征表示,通常使用正弦位置编码
- 条件嵌入:
其他常见骨干网络
Transformer架构
- Diffusion Transformer (DiT):使用Transformer块替代卷积层
- U-ViT:结合U-Net的多尺度特性和Vision Transformer的注意力机制
- 优势:更好地捕获全局依赖关系,对大尺寸图像效果更佳
高效改进
- Progressive U-Net:渐进式的U-Net变体,针对不同噪声级别使用不同复杂度的网络
- 轻量级设计:使用分组卷积、深度可分离卷积等减少参数量
- 知识蒸馏:从大型模型蒸馏知识到小型模型,平衡效率和质量
时间步和条件嵌入
- 时间步嵌入:将去噪步骤转换为特征表示,通常使用正弦位置编码
- 条件嵌入:
- 类别条件:使用类别嵌入或one-hot向量
- 文本条件:使用CLIP或T5等语言模型的文本编码
- 跨模态条件:结合多种模态输入的特征
扩散模型骨干设计中的关键考虑因素
- 感受野大小:更大的感受野有助于捕获全局结构
- 参数效率:优化参数数量和计算复杂度
- 多分辨率处理:有效处理不同尺度的特征
- 注意力机制:在合适的层级高效应用注意力机制
- 可扩展性:能够适应不同尺寸的输入和复杂度要求
最新研究方向
- 动态架构:根据噪声水平动态调整网络结构
- 混合架构:结合CNN和Transformer的优点
- 一致性架构:专为一致性模型设计的特殊骨干网络
- 量化感知设计:考虑到部署时量化需求的骨干网络设计
参考文献
- Ronneberger et al. (2015), "U-Net: 用于生物医学图像分割的卷积网络"
- Ho et al. (2020), "去噪扩散概率模型"
- Peebles & Xie (2023), "扩散变换器"
Transformer
U-Net
Mamba
Mamba 是一种基于状态空间模型(SSM)的新型序列建模架构,它通过选择性状态空间机制来高效处理长序列数据。相比传统的 Transformer,Mamba 在保持性能的同时显著降低了计算复杂度。
架构
Mamba 的主要组件包括:
-
选择性状态空间层
- 状态空间模型:捕获序列依赖关系
- 选择性机制:动态调整状态转换
- 并行计算:支持高效的序列处理
-
多层堆叠
- 残差连接:促进梯度流动
- 层归一化:稳定训练过程
- 前馈网络:非线性变换
-
输入投影
- 线性投影:调整特征维度
- 位置编码:提供序列位置信息
数学框架
状态空间模型
Mamba 使用连续时间状态空间模型:
[ \frac{d}{dt}h(t) = Ah(t) + Bx(t) ] [ y(t) = Ch(t) + Dx(t) ]
其中:
- ( h(t) ) 是隐藏状态
- ( x(t) ) 是输入
- ( y(t) ) 是输出
- A, B, C, D 是系统参数
离散化
通过零阶保持(ZOH)将连续系统离散化:
[ h_{k+1} = (I + \Delta A)h_k + \Delta Bx_k ] [ y_k = Ch_k + Dx_k ]
变体
Mamba-2
通过改进选择性机制和状态空间设计来增强性能。
多模态 Mamba
扩展支持多模态输入的处理能力。
优势
- 计算效率:线性时间复杂度的序列处理
- 长程依赖:有效捕获长序列依赖关系
- 并行计算:支持高效的并行处理
- 内存效率:较低的内存占用
局限性
- 状态空间设计:需要仔细设计状态空间参数
- 训练稳定性:可能需要特殊的训练策略
- 实现复杂度:实现相对复杂
应用
- 序列建模:长文本处理
- 时间序列预测:预测任务
- 音频处理:音频序列处理
- 基因组学:DNA 序列分析
参考文献
- Gu, A., & Dao, T. (2023). Mamba: Linear-time sequence modeling with selective state spaces.
- Gu, A., et al. (2022). Efficiently modeling long sequences with structured state spaces.
- Smith, J. T., et al. (2023). Simplified state space layers for sequence modeling.
Transformer U-Net
Transformer U-Net 是一种结合了 Transformer 和 U-Net 架构的骨干网络,它通过自注意力机制和跳跃连接来增强特征提取和重建能力。这种架构特别适合处理需要捕获全局和局部信息的任务。
架构
Transformer U-Net 的主要组件包括:
-
编码器路径
- 卷积层:进行下采样和特征提取
- Transformer 块:捕获全局依赖关系
- 位置编码:提供序列位置信息
-
解码器路径
- 反卷积层:进行上采样和特征重建
- Transformer 块:处理全局上下文
- 跳跃连接:融合不同尺度的特征
-
瓶颈层
- Transformer 块:处理最深层特征
- 全局上下文:捕获整体信息
数学框架
自注意力机制
Transformer 块中的自注意力计算:
[ \text{Attention}(Q, K, V) = \text{softmax}(\frac{QK^T}{\sqrt{d_k}})V ]
其中:
- Q, K, V 分别是查询、键和值矩阵
- ( d_k ) 是键向量的维度
位置编码
使用正弦和余弦函数的位置编码:
[ PE_{(pos,2i)} = \sin(pos/10000^{2i/d_{\text{model}}}) ] [ PE_{(pos,2i+1)} = \cos(pos/10000^{2i/d_{\text{model}}}) ]
变体
多尺度 Transformer U-Net
通过引入多尺度特征处理和注意力机制来增强性能。
轻量级 Transformer U-Net
通过减少参数和计算量来优化效率。
优势
- 全局感知:通过自注意力机制捕获全局依赖
- 多尺度处理:结合 U-Net 的跳跃连接处理不同尺度
- 灵活架构:可以根据任务需求调整 Transformer 块数量
- 并行计算:支持高效的并行处理
局限性
- 计算复杂度:自注意力机制的计算开销较大
- 内存需求:需要较大的内存来存储注意力图
- 训练难度:需要仔细调整学习率和优化器
应用
- 图像生成:高质量图像生成
- 图像分割:精确的图像分割
- 医学图像处理:医学图像分析和处理
- 视频处理:视频帧生成和处理
参考文献
- Chen, J., et al. (2021). TransUNet: Transformers make strong encoders for medical image segmentation.
- Wang, W., et al. (2021). Pyramid vision transformer: A versatile backbone for dense prediction without convolutions.
- Liu, Z., et al. (2021). Swin transformer: Hierarchical vision transformer using shifted windows.
Guidance
Classifier Guidance
Classifier-Free Guidance
扩散模型的应用
扩散模型的应用: 图像生成
扩散模型的应用: 视频生成
扩散模型的应用: 音频生成
扩散模型的应用: 3D 生成
扩散模型的应用: 文本到图像生成
扩散模型的应用: 文本到视频生成
图像编辑
Normalizing Flow
Normalizing Flows are a family of generative models that use invertible transformations to map between a simple base distribution and a complex target distribution.
Key Concepts
- Invertible Transformations: Bijective mappings between spaces
- Change of Variables Formula: Mathematical foundation that allows exact likelihood computation
- Flow-based Generation: Sampling from a simple distribution and transforming through learned flows
Types of Normalizing Flows
- NICE/RealNVP: Coupling layers with affine transformations
- Glow: Extended RealNVP with 1x1 convolutions
- Autoregressive Flows (IAF, MAF): Using autoregressive transformations
- Continuous Normalizing Flows: Defining flows using ordinary differential equations
Advantages
- Exact Likelihood: Unlike VAEs, flows provide exact likelihood computation
- Efficient Sampling: Unlike autoregressive models, sampling can be parallelized
- Invertibility: Can transform in both directions (generation and inference)
- Stable Training: More stable than GANs, using maximum likelihood
Applications
- Image Generation: High-quality image synthesis
- Anomaly Detection: Identifying outliers in data
- Density Estimation: Learning complex probability distributions
- Variational Inference: More expressive posterior approximations
Challenges
- Architectural Constraints: Requiring invertibility limits model expressiveness
- Computational Cost: Some flows can be computationally expensive
- High-dimensional Data: Scaling to very high dimensions can be challenging
References
- Rezende & Mohamed (2015), "Variational Inference with Normalizing Flows"
- Dinh et al. (2016), "Density estimation using Real NVP"
- Kingma & Dhariwal (2018), "Glow: Generative Flow with Invertible 1x1 Convolutions"
变分自编码器 (VAE)
变分自编码器(VAE)是一类重要的生成模型,它通过结合神经网络和变分推断来学习数据的潜在表示。VAE 的核心思想是通过编码器将输入数据映射到潜在空间,然后通过解码器从潜在空间重建数据。
主要类型
连续变分自编码器
连续 VAE 使用连续的潜在空间,通过重参数化技巧实现端到端的训练。它特别适合处理连续数据,如自然图像。
向量量化变分自编码器 (VQ-VAE)
VQ-VAE 使用离散的潜在表示,通过向量量化将连续向量映射到离散的码本。它特别适合处理离散数据,如文本和音频。
应用领域
-
图像生成与处理
- 图像压缩
- 图像重建
- 风格迁移
-
音频处理
- 语音合成
- 音频压缩
- 音乐生成
-
文本生成
- 文本压缩
- 文本生成
- 文本表示学习
-
异常检测
- 基于重构误差的异常检测
- 数据清洗
发展趋势
-
架构改进
- 更高效的编码器-解码器结构
- 更好的潜在空间组织
- 更强的生成能力
-
训练方法
- 更稳定的训练策略
- 更好的损失函数设计
- 更高效的优化方法
-
应用扩展
- 多模态学习
- 跨域迁移
- 可解释性研究
参考文献
- Kingma, D. P., & Welling, M. (2013). Auto-encoding variational bayes.
- van den Oord, A., et al. (2017). Neural discrete representation learning.
- Razavi, A., et al. (2019). Generating diverse high-fidelity images with VQ-VAE-2.
连续变分自编码器 (Continuous VAE)
变分自编码器(VAE)是一种生成模型,它结合了神经网络和变分推断来学习数据的潜在表示。VAE 的核心思想是通过编码器将输入数据映射到潜在空间,然后通过解码器从潜在空间重建数据。
架构
VAE 由两个主要部分组成:
- 编码器网络:将输入数据映射到潜在空间的分布参数(均值和方差)
- 解码器网络:将潜在空间的样本映射回数据空间
数学框架
变分推断
VAE 使用变分推断来优化以下目标函数(证据下界,ELBO):
[ \mathcal{L}{\text{VAE}} = \mathbb{E}{q_\phi(z|x)}[\log p_\theta(x|z)] - \text{KL}(q_\phi(z|x) | p(z)) ]
其中:
- ( q_\phi(z|x) ) 是编码器定义的近似后验分布
- ( p_\theta(x|z) ) 是解码器定义的似然函数
- ( p(z) ) 是先验分布(通常为标准正态分布)
- KL 项是 KL 散度,用于正则化潜在空间
重参数化技巧
为了能够通过编码器反向传播,VAE 使用重参数化技巧:
[ z = \mu + \sigma \odot \epsilon, \quad \epsilon \sim \mathcal{N}(0, I) ]
变体
β-VAE
β-VAE 通过引入权重系数 β 来增强潜在空间的结构化表示:
[ \mathcal{L}{\beta\text{-VAE}} = \mathbb{E}{q_\phi(z|x)}[\log p_\theta(x|z)] - \beta \text{KL}(q_\phi(z|x) | p(z)) ]
条件 VAE (CVAE)
CVAE 通过引入条件信息来增强生成过程:
[ \mathcal{L}{\text{CVAE}} = \mathbb{E}{q_\phi(z|x,c)}[\log p_\theta(x|z,c)] - \text{KL}(q_\phi(z|x,c) | p(z|c)) ]
优势
- 结构化潜在空间:通过 KL 散度正则化,VAE 学习到结构化的潜在表示
- 生成能力:可以从潜在空间采样生成新的数据样本
- 无监督学习:不需要标签数据就能学习数据的表示
- 概率框架:提供了完整的概率模型框架
局限性
- 模糊输出:由于 KL 散度正则化,生成的结果可能过于平滑
- 后验崩塌:编码器可能忽略输入信息,导致 KL 项接近零
- 近似差距:变分推断的近似可能导致次优解
应用
- 图像生成:生成新的图像样本
- 表示学习:学习数据的低维表示
- 异常检测:基于重构误差检测异常样本
- 数据压缩:通过潜在表示压缩数据
参考文献
- Kingma, D. P., & Welling, M. (2013). Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114.
- Higgins, I., et al. (2017). beta-VAE: Learning basic visual concepts with a constrained variational framework.
- Sohn, K., et al. (2015). Learning structured output representation using deep conditional generative models.
向量量化变分自编码器 (VQ-VAE)
向量量化变分自编码器(VQ-VAE)是 VAE 的一个重要变体,它使用离散的潜在表示而不是连续的潜在空间。VQ-VAE 通过将连续向量映射到离散的码本(codebook)来实现这一点,这使得它特别适合处理离散数据(如文本、音频等)和需要精确重建的场景。
架构
VQ-VAE 的主要组件包括:
- 编码器网络:将输入数据映射到连续向量空间
- 向量量化层:将连续向量映射到最近的码本条目
- 解码器网络:从量化后的向量重建输入数据
- 码本:包含 K 个可学习的向量,用于量化
数学框架
向量量化过程
给定编码器输出 ( z_e(x) ),VQ-VAE 通过以下步骤进行量化:
- 计算与码本中所有向量的距离
- 选择最近的码本条目
- 使用选中的码本条目进行重建
量化过程可以表示为:
[ z_q(x) = \text{VQ}(z_e(x)) = e_k, \quad k = \arg\min_j |z_e(x) - e_j|_2 ]
训练目标
VQ-VAE 的训练目标包括:
- 重建损失:确保解码器能够准确重建输入
- 码本损失:更新码本向量以更好地表示输入
- 承诺损失:防止编码器输出在码本条目之间频繁切换
总损失函数为:
[ \mathcal{L}{\text{VQ-VAE}} = \mathcal{L}{\text{recon}} + |\text{sg}[z_e(x)] - e_k|_2^2 + |\text{sg}[e_k] - z_e(x)|_2^2 ]
其中 (\text{sg}) 表示停止梯度操作。
变体
VQ-VAE-2
VQ-VAE-2 通过引入分层结构来增强生成能力,使用多个 VQ 层处理不同尺度的特征。
VQ-GAN
VQ-GAN 将 VQ-VAE 与对抗训练相结合,通过判别器来提升生成质量。
优势
- 离散表示:更适合处理离散数据
- 精确重建:可以产生更清晰的输出
- 自回归生成:支持自回归式的生成过程
- 多尺度处理:可以处理不同尺度的特征
局限性
- 码本大小限制:码本大小需要预先设定
- 计算开销:量化过程需要计算与所有码本条目的距离
- 训练稳定性:需要仔细平衡各个损失项
应用
- 图像生成:高质量图像生成
- 音频处理:语音合成和音频压缩
- 文本生成:基于离散 token 的文本生成
- 视频生成:多帧视频生成
参考文献
- van den Oord, A., et al. (2017). Neural discrete representation learning.
- Razavi, A., et al. (2019). Generating diverse high-fidelity images with VQ-VAE-2.
- Esser, P., et al. (2021). Taming transformers for high-resolution image synthesis.
Auto-regressive Model
PixelRNN
Agent
什么是Agent
如何构建一个Agent
如何使用Agent
Agent Composition
Discrete-State Model
掩码模型(Masked Discrete-State Model)
Uniform Discrete-State Model
多模态模型(Multi-modal Model)
生成对抗网络 (GAN)
生成对抗网络(GAN)是一类重要的生成模型,它通过生成器和判别器的相互博弈来学习数据分布。GAN 的核心思想是通过对抗训练来提升生成质量,使得生成器能够产生逼真的样本。
主要类型
连续生成对抗网络 (默认)
连续 GAN 使用连续的潜在空间,通过生成器和判别器的相互博弈来提升生成质量。它特别适合处理连续数据,如自然图像。
向量量化生成对抗网络 (VQ-GAN)
VQ-GAN 结合了 VQ-VAE 和 GAN 的优点,使用离散的潜在表示和对抗训练来提升生成质量。它特别适合处理离散数据,如文本和音频。
应用领域
-
图像生成与处理
- 图像生成
- 图像编辑
- 风格迁移
- 超分辨率
-
音频处理
- 语音合成
- 音乐生成
- 音频增强
-
文本生成
- 文本生成
- 对话系统
- 机器翻译
-
视频生成
- 视频生成
- 视频编辑
- 动作迁移
发展趋势
-
架构改进
- 更稳定的训练策略
- 更高效的网络结构
- 更好的生成质量
-
训练方法
- 更稳定的优化算法
- 更好的损失函数设计
- 更高效的训练策略
-
应用扩展
- 多模态生成
- 可控生成
- 可解释性研究
参考文献
- Goodfellow, I., et al. (2014). Generative adversarial networks.
- Arjovsky, M., et al. (2017). Wasserstein GAN.
- Esser, P., et al. (2021). Taming transformers for high-resolution image synthesis.
连续生成对抗网络 (Continuous GAN)
生成对抗网络(GAN)是一种通过对抗训练来学习数据分布的生成模型。连续 GAN 使用连续的潜在空间,通过生成器和判别器的相互博弈来提升生成质量。
架构
连续 GAN 由两个主要组件组成:
- 生成器网络:将随机噪声映射到数据空间
- 判别器网络:区分真实数据和生成数据
数学框架
对抗目标
GAN 的训练目标可以表示为:
[ \min_G \max_D \mathbb{E}{x \sim p{data}}[\log D(x)] + \mathbb{E}_{z \sim p_z}[\log(1-D(G(z)))] ]
其中:
- ( G ) 是生成器
- ( D ) 是判别器
- ( p_{data} ) 是真实数据分布
- ( p_z ) 是潜在空间分布(通常为标准正态分布)
训练过程
- 判别器更新:最大化判别准确率
- 生成器更新:最小化判别准确率
变体
WGAN
WGAN 使用 Wasserstein 距离来改善训练稳定性:
[ \min_G \max_{D \in \mathcal{D}} \mathbb{E}{x \sim p{data}}[D(x)] - \mathbb{E}_{z \sim p_z}[D(G(z))] ]
StyleGAN
StyleGAN 通过风格混合和噪声注入来增强生成多样性。
优势
- 高质量生成:可以产生逼真的样本
- 灵活性:可以处理各种类型的数据
- 无监督学习:不需要标签数据
- 端到端训练:可以直接优化生成质量
局限性
- 训练不稳定:需要仔细平衡生成器和判别器
- 模式崩塌:可能只生成有限种类的样本
- 评估困难:缺乏明确的评估指标
应用
- 图像生成:创建逼真的图像
- 图像编辑:属性编辑和风格迁移
- 数据增强:生成训练数据
- 跨域转换:图像到图像转换
参考文献
- Goodfellow, I., et al. (2014). Generative adversarial networks.
- Arjovsky, M., et al. (2017). Wasserstein GAN.
- Karras, T., et al. (2019). A style-based generator architecture for generative adversarial networks.
向量量化生成对抗网络 (VQ-GAN)
向量量化生成对抗网络(VQ-GAN)结合了 VQ-VAE 和 GAN 的优点,使用离散的潜在表示和对抗训练来提升生成质量。VQ-GAN 通过向量量化将连续特征映射到离散的码本,并利用判别器来优化重建质量。
架构
VQ-GAN 的主要组件包括:
- 编码器网络:将输入数据映射到连续特征空间
- 向量量化层:将连续特征映射到离散码本
- 解码器网络:从量化特征重建数据
- 判别器网络:评估重建质量
- 码本:包含可学习的离散表示
数学框架
向量量化过程
给定编码器输出 ( z_e(x) ),VQ-GAN 通过以下步骤进行量化:
[ z_q(x) = \text{VQ}(z_e(x)) = e_k, \quad k = \arg\min_j |z_e(x) - e_j|_2 ]
训练目标
VQ-GAN 的训练目标包括:
- 重建损失:确保解码器能够准确重建输入
- 对抗损失:通过判别器提升生成质量
- 感知损失:使用预训练网络提取特征进行监督
总损失函数为:
[ \mathcal{L}{\text{VQ-GAN}} = \mathcal{L}{\text{recon}} + \lambda_{\text{adv}}\mathcal{L}{\text{adv}} + \lambda{\text{perceptual}}\mathcal{L}_{\text{perceptual}} ]
变体
VQ-GAN-2
VQ-GAN-2 通过引入分层结构和多尺度判别器来增强生成能力。
VQ-GAN-3
VQ-GAN-3 进一步改进了码本设计和训练策略。
优势
- 高质量生成:结合了 VQ-VAE 的精确重建和 GAN 的逼真性
- 离散表示:更适合处理离散数据
- 多尺度处理:可以处理不同尺度的特征
- 可控生成:支持基于离散 token 的生成控制
局限性
- 计算开销:需要维护和更新码本
- 训练复杂度:需要平衡多个损失项
- 码本大小限制:需要预先设定合适的码本大小
应用
- 图像生成:高质量图像生成和编辑
- 视频生成:多帧视频生成
- 音频处理:高质量音频生成
- 文本生成:基于离散 token 的文本生成
参考文献
- Esser, P., et al. (2021). Taming transformers for high-resolution image synthesis.
- Yu, J., et al. (2022). Vector-quantized image modeling with improved VQGAN.
- Yu, J., et al. (2023). Scaling autoregressive models for content-rich text-to-image generation.