前言

欢迎阅读生成式AI模型指南。本教程为中国研究人员提供了一个全面的资源,以了解近年来革新人工智能领域的各种生成式AI模型。

本教程的目的

本指南旨在提供对关键生成式AI模型的清晰而简明的概述,重点关注:

  • 扩散模型:包括DDPM、Stable Diffusion和一致性模型
  • 标准化流:使用可逆变换的模型
  • 流匹配:基于连续时间流的生成模型
  • 变分自编码器(VAE):具有概率编码器和解码器的潜变量模型
  • 生成对抗网络(GAN):具有生成器和判别器网络的对抗框架
  • 自回归模型:如用于大型语言模型的Transformer架构

每个部分都探讨了这些模型的理论基础、架构和实际应用,使不同技术专业水平的读者都能理解复杂的概念。

如何使用本指南

本书的结构允许顺序阅读和针对特定模型的探索。您可以:

  1. 按顺序阅读各章节,全面了解生成模型的全景
  2. 直接跳到您感兴趣的特定模型类型
  3. 使用参考部分查找原始论文和其他资源

贡献

教程源码: https://github.com/dongzhuoyao/vincent-genai-course

贡献请参考此框架: https://github.com/rust-lang/mdBook

许可证

本指南基于 CC BY-NC-SA 4.0 许可证。

我们希望本指南能增强您对生成式AI的理解,并在这一激动人心的领域中启发您自己的实验和应用。

扩散模型

扩散模型是一类已经彻底改变了基于AI的内容创作的生成模型。这些模型通过逐渐向数据添加噪声,然后学习逆转这一过程来生成新样本。

概述

扩散模型已成为生成式AI中最强大的方法之一,特别是对于图像,但也越来越多地应用于音频、视频和3D内容等其他模态。它们的工作原理是:

  1. 前向过程:逐渐向数据添加噪声,直到变成纯噪声
  2. 反向过程:学习迭代去噪以生成新数据

主要优势

  • 高质量生成
  • 灵活的条件机制
  • 与GANs相比训练更稳定
  • 强大的理论基础

扩散模型的类型

本节介绍扩散模型的几个重要变体:

每个子章节都提供了关于模型架构、训练过程和应用的详细解释。

理论基础

第一篇 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

Stochastic Interpolants

采样方法

默认ancestral sampling

ODE 采样方法

DDIM

DPM

VAE 相关的优化

VAE 由三部分组成

VAE 的优化: Scale  Equivariance

关于SD VAE一个简单到令人发指的Trick

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等语言模型的文本编码
    • 跨模态条件:结合多种模态输入的特征

扩散模型骨干设计中的关键考虑因素

  1. 感受野大小:更大的感受野有助于捕获全局结构
  2. 参数效率:优化参数数量和计算复杂度
  3. 多分辨率处理:有效处理不同尺度的特征
  4. 注意力机制:在合适的层级高效应用注意力机制
  5. 可扩展性:能够适应不同尺寸的输入和复杂度要求

最新研究方向

  • 动态架构:根据噪声水平动态调整网络结构
  • 混合架构:结合CNN和Transformer的优点
  • 一致性架构:专为一致性模型设计的特殊骨干网络
  • 量化感知设计:考虑到部署时量化需求的骨干网络设计

参考文献

Transformer

U-Net

Mamba

Mamba 是一种基于状态空间模型(SSM)的新型序列建模架构,它通过选择性状态空间机制来高效处理长序列数据。相比传统的 Transformer,Mamba 在保持性能的同时显著降低了计算复杂度。

架构

Mamba 的主要组件包括:

  1. 选择性状态空间层

    • 状态空间模型:捕获序列依赖关系
    • 选择性机制:动态调整状态转换
    • 并行计算:支持高效的序列处理
  2. 多层堆叠

    • 残差连接:促进梯度流动
    • 层归一化:稳定训练过程
    • 前馈网络:非线性变换
  3. 输入投影

    • 线性投影:调整特征维度
    • 位置编码:提供序列位置信息

数学框架

状态空间模型

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

扩展支持多模态输入的处理能力。

优势

  1. 计算效率:线性时间复杂度的序列处理
  2. 长程依赖:有效捕获长序列依赖关系
  3. 并行计算:支持高效的并行处理
  4. 内存效率:较低的内存占用

局限性

  1. 状态空间设计:需要仔细设计状态空间参数
  2. 训练稳定性:可能需要特殊的训练策略
  3. 实现复杂度:实现相对复杂

应用

  1. 序列建模:长文本处理
  2. 时间序列预测:预测任务
  3. 音频处理:音频序列处理
  4. 基因组学:DNA 序列分析

参考文献

  1. Gu, A., & Dao, T. (2023). Mamba: Linear-time sequence modeling with selective state spaces.
  2. Gu, A., et al. (2022). Efficiently modeling long sequences with structured state spaces.
  3. 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 的主要组件包括:

  1. 编码器路径

    • 卷积层:进行下采样和特征提取
    • Transformer 块:捕获全局依赖关系
    • 位置编码:提供序列位置信息
  2. 解码器路径

    • 反卷积层:进行上采样和特征重建
    • Transformer 块:处理全局上下文
    • 跳跃连接:融合不同尺度的特征
  3. 瓶颈层

    • 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

通过减少参数和计算量来优化效率。

优势

  1. 全局感知:通过自注意力机制捕获全局依赖
  2. 多尺度处理:结合 U-Net 的跳跃连接处理不同尺度
  3. 灵活架构:可以根据任务需求调整 Transformer 块数量
  4. 并行计算:支持高效的并行处理

局限性

  1. 计算复杂度:自注意力机制的计算开销较大
  2. 内存需求:需要较大的内存来存储注意力图
  3. 训练难度:需要仔细调整学习率和优化器

应用

  1. 图像生成:高质量图像生成
  2. 图像分割:精确的图像分割
  3. 医学图像处理:医学图像分析和处理
  4. 视频处理:视频帧生成和处理

参考文献

  1. Chen, J., et al. (2021). TransUNet: Transformers make strong encoders for medical image segmentation.
  2. Wang, W., et al. (2021). Pyramid vision transformer: A versatile backbone for dense prediction without convolutions.
  3. 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

变分自编码器 (VAE)

变分自编码器(VAE)是一类重要的生成模型,它通过结合神经网络和变分推断来学习数据的潜在表示。VAE 的核心思想是通过编码器将输入数据映射到潜在空间,然后通过解码器从潜在空间重建数据。

主要类型

连续变分自编码器

连续 VAE 使用连续的潜在空间,通过重参数化技巧实现端到端的训练。它特别适合处理连续数据,如自然图像。

了解更多关于连续变分自编码器

向量量化变分自编码器 (VQ-VAE)

VQ-VAE 使用离散的潜在表示,通过向量量化将连续向量映射到离散的码本。它特别适合处理离散数据,如文本和音频。

了解更多关于向量量化变分自编码器

应用领域

  1. 图像生成与处理

    • 图像压缩
    • 图像重建
    • 风格迁移
  2. 音频处理

    • 语音合成
    • 音频压缩
    • 音乐生成
  3. 文本生成

    • 文本压缩
    • 文本生成
    • 文本表示学习
  4. 异常检测

    • 基于重构误差的异常检测
    • 数据清洗

发展趋势

  1. 架构改进

    • 更高效的编码器-解码器结构
    • 更好的潜在空间组织
    • 更强的生成能力
  2. 训练方法

    • 更稳定的训练策略
    • 更好的损失函数设计
    • 更高效的优化方法
  3. 应用扩展

    • 多模态学习
    • 跨域迁移
    • 可解释性研究

参考文献

  1. Kingma, D. P., & Welling, M. (2013). Auto-encoding variational bayes.
  2. van den Oord, A., et al. (2017). Neural discrete representation learning.
  3. Razavi, A., et al. (2019). Generating diverse high-fidelity images with VQ-VAE-2.

连续变分自编码器 (Continuous VAE)

变分自编码器(VAE)是一种生成模型,它结合了神经网络和变分推断来学习数据的潜在表示。VAE 的核心思想是通过编码器将输入数据映射到潜在空间,然后通过解码器从潜在空间重建数据。

架构

VAE 由两个主要部分组成:

  1. 编码器网络:将输入数据映射到潜在空间的分布参数(均值和方差)
  2. 解码器网络:将潜在空间的样本映射回数据空间

数学框架

变分推断

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)) ]

优势

  1. 结构化潜在空间:通过 KL 散度正则化,VAE 学习到结构化的潜在表示
  2. 生成能力:可以从潜在空间采样生成新的数据样本
  3. 无监督学习:不需要标签数据就能学习数据的表示
  4. 概率框架:提供了完整的概率模型框架

局限性

  1. 模糊输出:由于 KL 散度正则化,生成的结果可能过于平滑
  2. 后验崩塌:编码器可能忽略输入信息,导致 KL 项接近零
  3. 近似差距:变分推断的近似可能导致次优解

应用

  1. 图像生成:生成新的图像样本
  2. 表示学习:学习数据的低维表示
  3. 异常检测:基于重构误差检测异常样本
  4. 数据压缩:通过潜在表示压缩数据

参考文献

  1. Kingma, D. P., & Welling, M. (2013). Auto-encoding variational bayes. arXiv preprint arXiv:1312.6114.
  2. Higgins, I., et al. (2017). beta-VAE: Learning basic visual concepts with a constrained variational framework.
  3. Sohn, K., et al. (2015). Learning structured output representation using deep conditional generative models.

向量量化变分自编码器 (VQ-VAE)

向量量化变分自编码器(VQ-VAE)是 VAE 的一个重要变体,它使用离散的潜在表示而不是连续的潜在空间。VQ-VAE 通过将连续向量映射到离散的码本(codebook)来实现这一点,这使得它特别适合处理离散数据(如文本、音频等)和需要精确重建的场景。

架构

VQ-VAE 的主要组件包括:

  1. 编码器网络:将输入数据映射到连续向量空间
  2. 向量量化层:将连续向量映射到最近的码本条目
  3. 解码器网络:从量化后的向量重建输入数据
  4. 码本:包含 K 个可学习的向量,用于量化

数学框架

向量量化过程

给定编码器输出 ( z_e(x) ),VQ-VAE 通过以下步骤进行量化:

  1. 计算与码本中所有向量的距离
  2. 选择最近的码本条目
  3. 使用选中的码本条目进行重建

量化过程可以表示为:

[ z_q(x) = \text{VQ}(z_e(x)) = e_k, \quad k = \arg\min_j |z_e(x) - e_j|_2 ]

训练目标

VQ-VAE 的训练目标包括:

  1. 重建损失:确保解码器能够准确重建输入
  2. 码本损失:更新码本向量以更好地表示输入
  3. 承诺损失:防止编码器输出在码本条目之间频繁切换

总损失函数为:

[ \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 与对抗训练相结合,通过判别器来提升生成质量。

优势

  1. 离散表示:更适合处理离散数据
  2. 精确重建:可以产生更清晰的输出
  3. 自回归生成:支持自回归式的生成过程
  4. 多尺度处理:可以处理不同尺度的特征

局限性

  1. 码本大小限制:码本大小需要预先设定
  2. 计算开销:量化过程需要计算与所有码本条目的距离
  3. 训练稳定性:需要仔细平衡各个损失项

应用

  1. 图像生成:高质量图像生成
  2. 音频处理:语音合成和音频压缩
  3. 文本生成:基于离散 token 的文本生成
  4. 视频生成:多帧视频生成

参考文献

  1. van den Oord, A., et al. (2017). Neural discrete representation learning.
  2. Razavi, A., et al. (2019). Generating diverse high-fidelity images with VQ-VAE-2.
  3. 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 的优点,使用离散的潜在表示和对抗训练来提升生成质量。它特别适合处理离散数据,如文本和音频。

了解更多关于向量量化生成对抗网络

应用领域

  1. 图像生成与处理

    • 图像生成
    • 图像编辑
    • 风格迁移
    • 超分辨率
  2. 音频处理

    • 语音合成
    • 音乐生成
    • 音频增强
  3. 文本生成

    • 文本生成
    • 对话系统
    • 机器翻译
  4. 视频生成

    • 视频生成
    • 视频编辑
    • 动作迁移

发展趋势

  1. 架构改进

    • 更稳定的训练策略
    • 更高效的网络结构
    • 更好的生成质量
  2. 训练方法

    • 更稳定的优化算法
    • 更好的损失函数设计
    • 更高效的训练策略
  3. 应用扩展

    • 多模态生成
    • 可控生成
    • 可解释性研究

参考文献

  1. Goodfellow, I., et al. (2014). Generative adversarial networks.
  2. Arjovsky, M., et al. (2017). Wasserstein GAN.
  3. Esser, P., et al. (2021). Taming transformers for high-resolution image synthesis.

连续生成对抗网络 (Continuous GAN)

生成对抗网络(GAN)是一种通过对抗训练来学习数据分布的生成模型。连续 GAN 使用连续的潜在空间,通过生成器和判别器的相互博弈来提升生成质量。

架构

连续 GAN 由两个主要组件组成:

  1. 生成器网络:将随机噪声映射到数据空间
  2. 判别器网络:区分真实数据和生成数据

数学框架

对抗目标

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 ) 是潜在空间分布(通常为标准正态分布)

训练过程

  1. 判别器更新:最大化判别准确率
  2. 生成器更新:最小化判别准确率

变体

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 通过风格混合和噪声注入来增强生成多样性。

优势

  1. 高质量生成:可以产生逼真的样本
  2. 灵活性:可以处理各种类型的数据
  3. 无监督学习:不需要标签数据
  4. 端到端训练:可以直接优化生成质量

局限性

  1. 训练不稳定:需要仔细平衡生成器和判别器
  2. 模式崩塌:可能只生成有限种类的样本
  3. 评估困难:缺乏明确的评估指标

应用

  1. 图像生成:创建逼真的图像
  2. 图像编辑:属性编辑和风格迁移
  3. 数据增强:生成训练数据
  4. 跨域转换:图像到图像转换

参考文献

  1. Goodfellow, I., et al. (2014). Generative adversarial networks.
  2. Arjovsky, M., et al. (2017). Wasserstein GAN.
  3. 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 的主要组件包括:

  1. 编码器网络:将输入数据映射到连续特征空间
  2. 向量量化层:将连续特征映射到离散码本
  3. 解码器网络:从量化特征重建数据
  4. 判别器网络:评估重建质量
  5. 码本:包含可学习的离散表示

数学框架

向量量化过程

给定编码器输出 ( 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 的训练目标包括:

  1. 重建损失:确保解码器能够准确重建输入
  2. 对抗损失:通过判别器提升生成质量
  3. 感知损失:使用预训练网络提取特征进行监督

总损失函数为:

[ \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 进一步改进了码本设计和训练策略。

优势

  1. 高质量生成:结合了 VQ-VAE 的精确重建和 GAN 的逼真性
  2. 离散表示:更适合处理离散数据
  3. 多尺度处理:可以处理不同尺度的特征
  4. 可控生成:支持基于离散 token 的生成控制

局限性

  1. 计算开销:需要维护和更新码本
  2. 训练复杂度:需要平衡多个损失项
  3. 码本大小限制:需要预先设定合适的码本大小

应用

  1. 图像生成:高质量图像生成和编辑
  2. 视频生成:多帧视频生成
  3. 音频处理:高质量音频生成
  4. 文本生成:基于离散 token 的文本生成

参考文献

  1. Esser, P., et al. (2021). Taming transformers for high-resolution image synthesis.
  2. Yu, J., et al. (2022). Vector-quantized image modeling with improved VQGAN.
  3. Yu, J., et al. (2023). Scaling autoregressive models for content-rich text-to-image generation.

编程实践

Diffusion Model 的实现

Flow Matching

DDIM

DPM

Flow Matching

Stochastic Interpolants

PixelRNN

ChatGPT

Agent Composition

Masked Discrete-State Model

Multi-modal Model

GAN