什么是 生成对抗网络?
生成对抗网络是一类隐式生成模型:生成器负责产生样本,判别器负责估计样本来自训练分布还是生成器,两个网络通过相互耦合的博弈目标进行训练。
快速了解
| 创建时间 | 2014 年由 Ian Goodfellow 等人提出 |
|---|---|
| 规范文档 | 官方规范 |
工作原理
对抗目标与交替更新
生成器把噪声映射成样本,也可以接收类别、源图像或属性等条件;判别器或 Critic 对真实批次和生成批次评分。训练会交替更新两方参数:先让判别器更好地区分来源,再通过当前判别器的梯度更新生成器。工程中常用的非饱和生成器损失与原始极小极大表达式不同,但通常能在训练早期提供更强梯度。
理论均衡不是停止条件
原始分析表明,在无限表达能力和最优判别器假设下,当生成分布等于数据分布时,判别器输出二分之一。真实训练只有有限模型、有限数据、变化中的对手和近似优化。判别准确率接近 50% 也可能表示判别器欠拟合或双方同时失败,因此不能仅凭该数值或较低的生成器损失判断模型已经收敛并可用。
失败模式与稳定化
模式崩溃会把概率集中到少量输出;判别器过快分离两个分布时可能产生梯度消失;双方目标持续变化还会造成振荡或发散。条件输入、Wasserstein 等替代目标、梯度惩罚、谱归一化、平衡更新频率和数据增强可在特定条件下缓解问题,但没有一种方法适用于所有任务。需要保留消融实验,并按数据切片检查失败。
评测与部署
应在留出数据和固定采样协议下分别评测逼真度与覆盖率。FID 把多种误差压缩成一个数字,Precision/Recall 类指标可进一步区分样本质量与分布覆盖。还要检查最近邻或成员泄露、子群体代表性、下游效用、延迟、显存和可复现性。对单次前向生成、图像到图像转换、超分辨率或专用生成器,GAN 仍可能是合适方案。
主要特点
- 通过相互耦合的目标对抗训练生成器与判别器或 Critic
- 定义易于采样但通常没有直接可计算似然的隐式分布
- 可使用标签、图像、属性或其他结构化输入进行条件生成
- 训练完成后通常只需一次生成器前向计算即可采样
- 容易出现模式崩溃、梯度消失、振荡和训练数据记忆
- 必须分别证明逼真度、覆盖率、隐私和下游效用
常见用途
- 基于配对或非配对数据的专用图像到图像转换
- 在明确感知目标下执行超分辨率、修复与补全
- 从固定训练完成的生成器进行低延迟采样
- 经过子群体、隐私和下游验证的合成数据实验
- 使用对抗目标开展表示学习或领域适配研究
示例
Loading code...常见问题
判别器准确率达到 50% 就代表 GAN 训练完成吗?
不代表。二分之一是原始理论在生成分布与数据分布一致时的理想判别器输出。真实训练中,判别器欠拟合、批次噪声或两个网络同时失效也可能产生相似数值。应结合留出集上的逼真度、覆盖率、记忆风险和下游任务评测判断。
GAN 的模式崩溃是什么?
模式崩溃是指大量潜变量输入被映射到很窄的一组输出。单个样本可能很逼真,但生成分布遗漏了训练数据的重要变化。应使用大规模留出采样、类别或属性覆盖、最近邻分析和 Precision/Recall 类指标诊断,不能只挑选少量图片目测。
有了扩散模型,GAN 是否已经过时?
没有。扩散模型通常更容易扩展到通用高保真生成,但比较结果取决于数据、条件方式、质量目标、硬件和延迟。训练完成的 GAN 可用一次前向计算生成结果,在专用转换、超分辨率、修复和低延迟任务中仍可能更合适,应以目标工作负载实测。
评测 GAN 应该使用哪个指标?
不存在通用单一指标。应分别报告逼真度和覆盖率,说明特征表示、样本数和数据切分,并加入任务专用人工或下游评测。FID 会受实现和数据选择影响,Precision/Recall 类指标能补充维度,但仍无法衡量安全、记忆、子群体质量或业务价值。
GAN 合成数据可以直接替代真实训练数据吗?
不能默认替代。生成器可能复制偏差、遗漏稀有模式、泄露训练样本,或制造只在合成基准上有效的捷径。应用前应在锁定的真实留出集上比较真实数据、纯合成数据和混合数据方案,并检查子群体表现与隐私风险。