生成对抗网络架构
- 27/06/2025 by Abdi Dharma
生成对抗网络(GAN)是由 Ian Goodfellow 和其他几位研究人员于 2014 年提出的一种深度学习架构。这项技术非常流行,因为它可以利用原始数据生成各种虚假数据,因此被称为“Deepfake”。GAN 技术的另一个应用是“This Person Does Not Exist”网站的人脸图像页面,该网站生成的人脸图像就是使用 GAN 技术生成的。随着时间的推移,这项技术越来越成熟,因为生成的图像非常逼真,就像是从真人脸上拍摄下来的一样。
GAN 架构图
简单来说,GAN 架构如上图所示,其中的主角是生成器模型,而配角是鉴别器模型。这项技术的工作原理其实非常简单,可以用一个罪犯和警察之间的故事来解释。
罪犯与警察
假设生成器模型是一个拥有印钞机的罪犯,负责印制假币;而鉴别器模型是一个拥有扫描机的警察,负责识别真币和假币之间的区别。
罪犯会拿一张写有随机数据的白纸(Random Input),然后从这张随机纸中,将数据送入印钞机(Generator),生成假币(Fake Samples)。
除了假币,真币(Real Samples)也会被混合在一起,交给警察(Discriminator),由扫描机进行分析。
警察自己知道哪些是假币,哪些是真币,因为这些钱都贴有标签。警察会检测并评估他们的预测和分析结果(Loss)。
如果对评估结果(Loss)仍不满意(Satisfy?),则结果将交给犯罪分子(Generator)和警察(Discriminator),让他们分析评估结果并调整各自的机器(Fine Tuning),以提升犯罪分子制造与真钱相似的假币的能力,并让警察更好地区分真钱和假币(Adversarial)。
如果满意(Satisfy?),则在本轮循环结束时,犯罪分子(Generator)将作为主要参与者,从包含随机数据(Random Input)的空白纸上,生成与真钱相似的假币(Generated Data),并在市场上流通。
因此,在这种情况下,有两个模型是 GAN 技术的基准:一个是判别器模型,负责进行预测和学习;另一个是生成器模型,负责生成数据。这两个模型似乎在相互竞争。在数学博弈论中,这两个模型之间的竞争过程也称为零和博弈。零和博弈是指双方之间的一场比赛,比赛的结果是赢家获得的利润与输家损失的利润相同。因此,如果赢家获得 +3 分,输家将获得 -3 分,最终结果实际上为 0。这就是为什么这个博弈被称为零和博弈,因为如果将赢家和输家的结果相加,结果仍然为零。
并且也按照这个技术本身的含义,其中生成这个词的意思是这个技术会产生某种东西,它与对抗这个词相连,对抗的意思是互相敌对,而与网络或者网络这个词闭合,所以如果写成完整的,生成对抗网络,意思是一个以敌对的方式工作以产生某种东西的网络。