生成对抗网络(GAN)的简介
生成对抗网络GAN(Generative adversarial networks)是Goodfellow等在2014年提出的一种生成式模型。GAN在结构上受博弈论中的二元零和博弈(即二元的利益之和为零,一方的所得正是另一方的所失)的启发,系统由一个生成器和一个判别器构成。
生成器和判别器均可以采用目前研究火热的深度神经网络构建。GAN的优化过程是一个极小极大博弈(Minimax game)问题,优化目标是达到纳什均衡,使生成器估测到数据样本的分布.
举个例子,生成器和判别器的关系就像假币制造商和警察之间的关系一样。
GAN网络结构如下图所示:
生成对抗网络(GANGenerative Adeversaial Networks)作为一种深度学习框架,是近几年来无监督学习方法最具前景的方法之一。2014年,lan Goodellow发表论文《Generative Adversaril Net》首次对GAN进行了说明描述。如图所示,GAN由两个模型组成:(1)生成模型(生成器)⑵判别模型(判别器)。在实验过程中,生成器会生成像训练图像的高仿图像,而判别器则需要判断生成器中的图像是否为真实图像。为了这个目的,生成器在每轮训练中会提高造假质量以生成更好的”假图像"来骗过判别器。判别器也需要提升判别能力来分辨是否造假。这形成了一种博弈,博弈的平衡点就是生成器生成的图像非常真实,二判别器的判别概率为50%。
生成对抗网络的应用
- 卡通动漫图像生成
- 图像超分辨率重建
- 图像风格迁移
- 从文本到图像生成
判别器与生成器模型的建立
处理数据后,需搭建GAN的网络模型;本节分别从权重初始化出发,搭建生成器、判别器和损失函数模型。
进行数据预处理后,要进行定义网络与训练模型,对应步骤为:
创建网络,创建生成器和判别器,定义损失函数与优化器,连接网络与损失函数。
生成器模型
生成器G通过图像反卷积操作将噪声图像生成目标图像,最后通过判别器来评估其接近真实图像的程度,生成器结构如图所示
建立生成器的步骤:第一步建立转置卷积函数,第二步建立批标准化函数,第三步建立GAN网络生成器模型,第四步加载预训练生成器模型,第五步实例化生成器模型。
判别器模型
判别器对生成器生成的图像进行判别,最终输出一个概率值来判断是否为真实图像。其结构如图所示
建立判别器模型步骤:第一步建立卷积函数,第二步建立GAN网络判别器模型,第三步加载预训练判别器模型,第四步实例化判别器模型。