《Generative Adversarial Nets》论文精读

2023-07-30,,

论文精读Generative Adversarial Nets》

  导言:生成模型是目前爆火的一个研究方向,据Microsoft对于ChatGPT-4的研究称“ChatGPT-4可以看成是通用型人工智能(AGI)的早期版本;其独特的推理能力和理解语义能力迅速在全球掀起了大模型研究的一股热潮。不仅仅是NLP领域,CV领域也有相应的工作,例如meta研究发布的《Segment Anything》这篇论文,也是图像分割领域的里程碑,可以做到不经过训练就能够对未知的样本达到非常好的语义分割的效果。日后的博客将会更新一些生成方向的论文和前沿的科技。”

  《Generative Adversarial Nets》。这是一篇由Ian Goodfellow等人于2014年提出的重要论文,提出了一种新颖的生成模型,称为生成对抗网络(GAN)。

  在这篇论文中,作者提出了一种通过对抗过程估计生成模型的框架,其中包含两个模型:一个生成模型G和一个判别模型D。生成模型G用来生成伪造数据,而判别模型D用来评估一个数据样本是真实数据还是伪造数据。这两个模型通过对抗过程相互训练,最终得到一个能够生成类似于真实数据的生成模型。

  GAN是一种非常有效的生成模型,已经在图像生成、语音合成、自然语言处理等领域取得了广泛应用。这篇论文对于深度学习和生成模型的发展具有重要意义,并且一直受到广泛的研究和引用。

  在此前的生成模型领域,一般都用的是基于概率的生成模型,例如自回归模型等;GAN的诞生开创了生成模型的一个全新的世界。其主要利用了博弈论的原理:训练两个神经网络分别是D和G,分别是判别网络D和生成模型G,生成模型是学习给定样本的数据分布,并尽可能的生成出符合给定样本数据分布的全新数据;判别器的作用是判断给定的样本是生成器生成出来的还是原始数据。我们期望于判别模型尽可能的能够分清给定数据到底是生成器生成的,还是原始数据分布;并且期望于生成器能够尽可能的逼近原始数据,做到以假乱真的效果。

  最终我们可以达到纳什平衡:判别器对于给定的数据有50%的概率认为是原始数据,有50%的概率认为是生成器生成的数据。这样就达到了我们GAN的收敛效果。事实上,可以用验钞机和罪犯的例子来理解:印假钞的罪犯期望于能够做出以假乱真的假币,在外人眼里与真钞毫无区别;而我们的验钞机则想要区分出一张钞票的真伪。通过这个小例子,对于GAN的基本原理就能了解的差不多了。

  说完了我们模型的最终效果,我们来考虑一些更加细节的东西,包括我们该如何训练这两个神经网络?他们的损失函数是什么样子的?

  上面的给出的公式就是我们GAN的损失函数,其中p_data是指x服从与给定的数据分布,D(x)指的是判别器将给定数据判定为真实数据的概率;与之类似的是,z~pz(z)是指随机噪声,G(z)是指生成器生成出的数据,D(G(z))意为判别器判定生成器生成出的数据为真实数据的概率即犯错的概率。事实上,我们的生成网络和判别网络共享一个损失函数即上面所提到的这个,我们在训练时,首先更新判别网络D的参数:我们考虑,最终的目的是想要让模型对于给定样本的判别能力尽可能的强,同时对于生成器生成的数据,我们期望犯错的概率尽可能的小,所以在更新D的参数时,我们首先需要最大化D(x),同时最最大化1-D(G(z)),值得注意的是,对于后面的1-D(G(z)),代表的是判别器成功将生成数据判定为生成数据的概率。同理,在更新生成器时,我们需要最小化1-D(G(z)),也就是说最大化D(G((z)),这与我们上面所讨论的原理是相一致的。

  接下来我们考虑一些更加细节的东西:事实上,对抗网络和生成网络的纳什平衡是50%时,也就是我们上面所讨论的情况,知晓这些,GAN的相关内容就没什么问题了。

  后面将更新的论文是《Auto-Encoding Variational Bayes》敬请期待!

《Generative Adversarial Nets》论文精读的相关教程结束。

《《Generative Adversarial Nets》论文精读.doc》

下载本文的Word格式文档,以方便收藏与打印。