Bootstrap

网络训练后参数没有变化_【文末有福利】生成对抗网络

0d95ea4125db2589e6ee84ead7fe9efb.gif

以最大似然估计的方式来获得生成图像模型的方法,这种方法是可行的,但有比较大的约束,即模型不能太复杂,比如服从正态分布,那么通过最大似然估计的方式就可以计算出,但如果是一个非常复杂的分布,那么使用这种方式难以获得一个理想的模型,这种强制性的约束就会造成各种限制,而我们希望的是可以为任意分布,这就需要引出GAN了。

 1 生成器来拟合分布 

在GAN中有两个主要的组成部分,分别是生成器与判别器,这里先讨论生成器,因为通过最大似然估计的方式能以计算复杂分布的,所以GAN的方法就是直接使用一个神经网络来完成这个事情,而这个神经网络就是生成器,因为神经网络可以拟合任意的分布,所以生成器不存在最大似然估计会遇到的问题。

对于GAN中的生成器而言,它会接收一个噪音输入,这个噪音输入可以来自于正态分布、均匀分布或其他任意分布,经过生成器复杂的神经网络变换,输出的数据就可以组成一种复杂的分布,最小化这个分布与真实分布的差异则可。输入给生成器的数据其分布不用太在意,因为生成器是一个复杂的神经网络,它有能力将输入的数据“改造”成各式各样的数据分布,直观如图1所示。

691862be47dd744554cd3ae5fe537b9a.png 图1生成器 那么对生成器而言,它的目标函数就为:

54bc2fd27bfe7e806b8df06febfbe870.png

即最小化生成分布 1d892f88a96e4f59b6b08c85ebc2f236.png 与真实分布 cbd5b431ea99d5381a3fa57749e1bb1d.png 的距离 23289b2d355e74a58a4d5b38fe059c74.png 。 因为我们依旧无法准确的知道生成分布 1d892f88a96e4f59b6b08c85ebc2f236.png与真实分布 cbd5b431ea99d5381a3fa57749e1bb1d.png具体的分布情况,所以依旧使用采样的方式来解决这个问题,即从数据集中抽取一下样本将抽取出的样本的分布看成是 1d892f88a96e4f59b6b08c85ebc2f236.pngcbd5b431ea99d5381a3fa57749e1bb1d.png的分布,这种做法的背后思想其实是大数定理,知道了两个分布后,就可以通过训练生成器来最小化两分布的距离了。  2 判别器计算分布的差异  生成器可以最小化生成分布 1d892f88a96e4f59b6b08c85ebc2f236.pngcbd5b431ea99d5381a3fa57749e1bb1d.png真实分布之间的距离了,但如何定义这个距离,即生成器目标函数中的 23289b2d355e74a58a4d5b38fe059c74.png如何定义? GAN可以通过判别器来定义这两个分布的距离,简单回顾一下判别器,如图2所示。
;