生成对抗网络
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、生成对抗网络(GAN)
我们提出了一个通过对抗过程估计生成模型的新框架,在新框架中我们同时训练两个模型:一个用来捕获数据分布的生成模型G,和一个用来估计样本来自训练数据而不是G的概率的判别模型D,G的训练过程是最大化D产生错误的概率。这个框架相当于一个极小化极大的双方博弈。在任意函数G和D的空间中存在唯一的解,其中G恢复训练数据分布,并且D处处都等于1/2。在G 和D由多层感知器定义的情况下,整个系统可以用反向传播进行训练。在训练或生成样本期间不需要任何马尔科夫链或展开的近似推理网络。实验通过对生成的样品进行定性和定量评估来展示这个框架的潜力。
1.1目标函数
GAN的目标函数:
从判别器D的角度,他希望自己可以尽可能的区分真是样本和虚假样本,因此希望D(x)尽可能的大,D(G(x))尽可能的小,即V(D,G)尽可能的大。从生成器的角度看,他希望自己尽可能的骗过D,也就是希望D(G(x))尽可能的大,即V(D,G)尽可能的小。两个模型相对抗,最后达到全局最优。
图中,黑色曲线是真实样本的概率分布函数,绿色曲线是虚假样本的概率分布函数,蓝色曲线是判别器D的输出,它的值越大表示这个样本越有可能是真实样本。最下方的数噪声z,它映射到了x。
我们可以看到,一开始,虽然G(z)和x是在同一个特征空间里的,但它的的差异很大,这时,虽然鉴别真实样本和虚假样本的模型D性能也不强,但它很容易就能把两者区分开来,而随着训练的推进,虚假样本的分布住建与真实样本重合,D虽然也在不断更新,但也已经力不从心了。
最后黑线和绿线几乎重合,模型达到了最优状态,这时D的输出对弈任意样本都是0.5.
1.2最优化问题表达
定义最优化问题的方法由两部分组成,首先我们需要定义判别器D以判别样本
是不是从 Pdata(x) 分布中取出来的,因此有:
其中 E 指代取期望。这一项是根据「正类」(即辨别出 x 属于真实数据 data)的对数损失函数而构建的。最大化这一项相当于令判别器 D 在 x 服从于 data 的概率密度时能准确地预测 D(x)=1,即:
另外一项是企图欺骗判别器的生成器 G。该项根据「负类」的对数损失函数而
构建,即:
我们定义目标函数为:
对于 D 而言要尽量使公式最大化(识别能力强),而对于 G 又想使之最小
(生成的数据接近实际数据)。整个训练是一个迭代过程。其实极小极大化博
弈可以分开理解,即在给定 G 的情况下先最大化 V(D,G) 而取 D,然后固定 D,并最小化 V(D,G)而得到 G。其中,给定 G,最大化 V(D,G)评估了 Pg和
Pdata 之间的差异或距离。
最后,我们可以将最优化问题表达为:
1.3理论推导