Skip to content

参考

基于 Goodfellow 2014 + 各 GAN 变体论文整理

速查

  • 核心公式min_G max_D E[log D(x)] + E[log(1 - D(G(z)))]
  • 理论最优:p_g = p_data 时 D(x) = 1/2
  • 改进主线:DCGAN(架构)→ CGAN(条件)→ CycleGAN(无配对翻译)→ WGAN/WGAN-GP(稳定)→ StyleGAN(解耦)→ BigGAN(规模)
  • 损失函数谱系:JS 散度(原 GAN)→ hinge loss(工业常用)→ Wasserstein 距离(WGAN)→ Wasserstein + 梯度惩罚(WGAN-GP)
  • 评估:FID(越低越好)/ IS(越高越好)/ 精确率-召回率(Precision-Recall)
  • 常见配置:Adam(lr=2e-4, beta1=0.5)、噪声维度 100、Tanh 输出、LeakyReLU(0.2)
  • WGAN-GP λ:梯度惩罚系数默认 10;critic 不用 BatchNorm 改 LayerNorm
  • StyleGAN2 训练分辨率:1024×1024,FFHQ 数据集 7 万张名人脸

GAN 变体对比表

变体年份核心创新解决的问题代表应用
GAN2014极大极小博弈框架提出生成模型新范式概念奠基
CGAN2014条件 y 注入 G/D不可控生成类条件生成
DCGAN2015卷积架构准则 + BatchNorm架构不稳、质量差图像生成奠基
CycleGAN2017双 G 双 D + 循环一致性需配对数据风格迁移、图像翻译
WGAN2017Wasserstein 距离JS 散度梯度消失训练稳定
WGAN-GP2017梯度惩罚替代权重裁剪权重裁剪限制容量稳定训练标配
Pix2Pix2017配对条件 GAN + L1配对图像翻译标注→图像、线稿→彩图
SNGAN2018谱归一化(Spectral Norm)稳定 D 的 Lipschitz类条件生成
StyleGAN2019AdaIN 风格注入 + 映射网络风格不可控高质量人脸生成
BigGAN2019大规模 + 截断技巧 + 自注意力ImageNet 大规模生成类条件 SOTA
StyleGAN22020path length reg + 去伪影AdaIN 伪影人脸/汽车/建筑
StyleGAN32021alias-free(抗混叠)纹理粘附旋转/缩放不变生成

关键公式速查

原始 GAN 价值函数

text
min_G max_D  V(D,G) = E_{x~p_data}[ log D(x) ] + E_{z~p_z}[ log(1 - D(G(z))) ]

等价于:min_G  2·JS(p_data ‖ p_g) - 2·log 2   (JS 散度)

最优判别器

text
D*_G(x) = p_data(x) / ( p_data(x) + p_g(x) )
当 p_g = p_data 时,D*(x) = 1/2

非饱和损失(实践常用)

text
G 的目标改为:max_G  E_z[ log D(G(z)) ]    (而非 min log(1-D(G(z))) )
理论最优相同,但训练初期梯度更大

WGAN 损失

text
critic f_w 最大化: E_{x~p_data}[f_w(x)] - E_z[f_w(G(z))]
约束:f_w 是 1-Lipschitz
G 最小化: -E_z[f_w(G(z))]

WGAN-GP 梯度惩罚

text
L = 原始 WGAN 损失 + λ · E_{x̂}[ (‖∇_{x̂} f(x̂)‖₂ - 1)² ]
x̂ = ε·x_real + (1-ε)·x_fake , ε ~ U(0,1)
λ = 10

CycleGAN 循环一致性

text
L_cyc = E_x[ ‖F(G(x)) - x‖_1 ] + E_y[ ‖G(F(y)) - y‖_1 ]
L_total = L_GAN + λ · L_cyc , λ = 10

StyleGAN AdaIN

text
AdaIN(x_i, y) = y_scale · (x_i - μ(x_i))/σ(x_i) + y_bias
y 由风格向量 w 经线性层投影得到 (scale, bias)

评估指标

指标全称衡量越好方向说明
FIDFréchet Inception Distance真实/生成特征分布的 Fréchet 距离越低越好主流指标,用 Inception 网络提特征,假设高斯算距离
ISInception Score生成图像的「清晰度 + 多样性」越高越好早期间指标,不与真实数据对比,易被欺骗
P&RPrecision & Recall生成质量(P)与覆盖度(R)都高用特征流形判别,分离质量与多样性
KIDKernel Inception Distance核距离版本的 FID越低越好无偏估计,小数据集更稳

生产环境以 FID 为主,辅以人工评估。IS 因不参考真实数据已逐渐被淘汰。

训练超参速查(DCGAN 基线)

参数推荐值说明
噪声维度100z ~ N(0, I)
优化器Adamlr=2e-4, beta1=0.5, beta2=0.999
G 激活ReLU(输出 Tanh)输出归一到 [-1,1]
D 激活LeakyReLU(0.2)输出 Sigmoid(或 hinge loss 无激活)
BatchNorm全用G 输出层与 D 输入层除外
训练比D:G = 1:1WGAN 推荐 D:G = 5:1
数据归一化[-1, 1]配合 Tanh 输出
批大小64-128BigGAN 用 2048

经典论文与资源