生成对抗网络GAN(一)摘要

1.前序

1.1.判别模型和生成模型

1,判别模型:数学表示是y=f(x),条件概率分布为p(y|x),输入一张训练集图片时,判别模型输出分类标签y,模型学习的是输入图片x与输出的类别标签的映射关系,即在x的条件下,输出y的概率。
2,生成模型:数学表示是概率分布p(x),没有约束条件的生成模型是无监督模型,将给定的简单先验分布,映射为训练集图片的像素概率分布p(x),即输出一张服从p(x)分布的具有训练集特征的图片。
生成对抗网络GAN就是属于生成模型。

1.2.其他GAN

自回归模型:是从回归分析中的线性回归发展而来,只是不用x预测y,而是用x预测 x(自己),所以叫做自回归。多用于序列数据生成如文本、语音。PixelRNN/CNN则使用这种方法生成图片,效果还不错。但是由于是按照像素点去生成图像导致计算成本高, 在可并行性上受限,在处理大型数据如大型图像或视频是具有一定麻烦的。
变分自编码器:VAE是在AE(Autoencoder自编码器)的基础上让图像编码的潜在向量服从高斯分布从而实现图像的生成,优化了数据对数似然的下界,VAE在图像生成上是可并行的, 但是VAE存在着生成图像模糊的问题。
基于流的模型:包括Glow、RealNVP、NICE等。流模型思想很直观:寻找一种变换 y = f(x)(f 可逆,且 y 与 x 的维度相同) 将数据空间映射到另一个空间,新空间各个维度相互独立。这些年,看着GAN一直出风头,流模型表示各种不服,自从2016年问世以来,一直在“不服中…”。

2.GAN的原理与组成

2.1GAN原理

生成对抗网络一般是由一个生成器和一个判别器组成。生成器的作用是通过学习训练集数据的特征,在判别器的指导下,将随机噪声分布尽量拟合为训练数据的真实分布,从而生成具有训练集特征的相似数据。而判别器则负责区分输入的数据是真实的还是生成器生成的假数据,并反馈给生成器。两个网络交替训练,能力同步提高,直到生成网络生成的数据能够以假乱真,并与与判别网络的能力达到一定均衡。

2.2.GAN本质

其实GAN模型以及所有的生成模型都一样,做的事情只有一件:拟合训练数据的分布。对图片生成任务来说就是拟合训练集图片的像素概率分布。下面我们从原理的角度演示一下GAN的训练过程:
在这里插入图片描述

上图中:
黑色点线为训练集数据分布曲线
蓝色点线为判别器输出的分布曲线
绿色实线为生成器输出的分布曲线
z展示的是生成器映射前的简单概率分布(一般是高斯分布)的范围和密度
x展示的是生成器映射后学到的训练集的概率分布的范围和密度
(a)判别器与生成器均未训练呈随机分布
(b)判别器经过训练,输出的分布在靠近训练集“真”数据分布的区间趋近于1(真),在靠近生成器生成的“假”数据分布的区间趋近于0(假)
(c)生成器根据判别器输出的(真假)分布,更新参数,使自己的输出分布趋近于训练集“真”数据的分布。
经过(b)(c)(b)(c)…步骤的循环交替。判别器的输出分布随着生成器输出的分布与训练集分布的接近而更加平缓;生成器输出的分布则在判别器输出分布的指引下逐渐趋近于训练集“真”数据的分布。
(d)训练完成时,生成器输出的分布完美拟合了训练集数据的分布,判别器的输出由于生成器的完美拟合而无法判别生成器输出的真伪而呈一条取值约为0.5(真假之间)的直线。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值