让两个神经网络互相对抗:一个专心造假,一个专心鉴伪,最后造假者的作品能以假乱真——这就是生成对抗网络的设计思路。本文讲清生成器与判别器如何互相推动,也说明这种博弈为什么出了名地难以训练。
核心要点
- 生成器负责造样本,判别器负责分辨真假,二者交替提升。
- 理想结局是判别器分不出真假,此时生成样本已足够逼真。
- 博弈容易失衡,模式崩溃和训练震荡是最常见的两类问题。
造假者与鉴定师
生成对抗网络的设计很像一场博弈:生成器负责凭空造出逼真样本,判别器负责分辨样本是真是假。开局生成器造得很糟,判别器轻松识破;随着训练推进,造假手艺不断提高,鉴定眼光也跟着变刁。
这个设计的巧妙之处在于,它把怎么定义逼真这个难以写成分数的问题,交给了另一个网络来回答。传统生成模型需要人为设计评价指标,而这里判别器本身就是评价指标,而且会随对手变强而自动升级。目标达成时,判别器只能靠猜,正确率接近一半。
交替提升的博弈
训练时两者交替更新。先固定生成器,让判别器在真假混合的样本上练习分辨;再固定判别器,让生成器调整参数,想办法骗过当前的判别器。理想情况下这个过程会推动双方共同进步,最终生成样本的分布与真实样本的分布越来越接近。
生成器并不是直接照抄真实图片,而是从一个随机噪声出发,把它变换成一张完整的图像。改变这个随机输入,输出就会变化,于是你可以像调旋钮一样在生成结果之间连续过渡。这种可控的多样性,是它在图像合成、风格迁移等任务上大受欢迎的原因。
训练为什么难稳
问题在于两个网络目标完全对立,一方变强等于另一方变弱,这种博弈并不保证收敛。最常见的一类失败叫模式崩溃:生成器发现某几张图总能让判别器上当,就反复只造这几种,多样性彻底消失。指标上损失很好看,实际产出却单调得可笑。
为了让训练稳住,研究者提出了大量改进:换用更平滑的损失形式、给判别器加约束、改用推土机距离等衡量分布差异的指标。此外它缺少像似然值那样直观的评估指标,效果好坏往往还得靠人眼和人工设计的分数判断,这给调参带来了不少主观性。
常见问题
GAN 和扩散模型有什么不同?
GAN 一步到位地生成结果,速度快,但需要同时训练两个网络,稳定性差;扩散模型先把数据逐步加噪、再学会一步步去噪还原,训练目标简单稳定、多样性更好,代价是生成时要迭代很多步。近年来后者在很多场景更受青睐。
本文为 AI 科普内容,仅用于知识普及,不构成任何技术选型、投资或职业决策建议。