对GAN中generator和discriminator的理解

参考资料:B站《李宏毅对抗生成网络(GAN)国语教程(2018)》

对GAN中generator和discriminator的理解_第1张图片

首先介绍了极大似然估计的原理,假设我们有一组样本Pdata,我们需要估计出它的一个分布情况。比如,我们假设是一个正态的概率分布,θ就是这个正态分布的参数,我们就需要估计出合适的θ,使得从Pdata中采样x1,...xm,图中L的值最大。下面我通过简单地草图说明一下我的理解,假设红线是Pdata的真实分布(不一定是高斯的,可以是无数学表达式的分布),这我们是不知道的,而我们的Pdata就是这条红线上以概率(纵坐标值)采样得到的数据,可以想象Pdata中更多的数据是来自峰值附近的点的。于是,我们需要把这些点带入绿线的函数,我们需要调整绿线函数的参数θ,使得函数值尽可能大(也就是说这些点也是尽可能的在峰值附近),那自然,绿线就要尽可能的更红线重合在一起,最后,只要我们对绿线假设的分布足够符合红线的分布,理论上我们是基本可以估计出Pdata的真实分布的。

对GAN中generator和discriminator的理解_第2张图片

而在GAN的generator中,假设我们的任务就是输入随机生成的一个向量z,输出x是一系列不同样子的猫的图片。这里继续画一下草图,这里我们把x抽象成一个图片世界(黑色矩形),在这个世界中,有不同的区域(以不同颜色的圈表示),有些区域是猫的领地(红圈),有些区域是狗的领地(蓝圈)。。。然后我们现在有一个外貌特征z,比方说z的第一维表示毛的颜色,第二维表示耳朵形状。。。那这个generator的作用就是根据我们提供的特征z,生成对应样貌的猫x,但是首先有一个很重要的问题,由于x是一个图片世界,里面有各种各样的客观事物,我们总得先保证生成的x是在猫的范畴里吧。这时候就需要用到我们的Pdata了,也就是从猫的领域里面的抽出来的图片,有了这些图片做参考,我们就可以判断生成的x到底是不是猫了。到这里,我们就可以回顾一下上面的极大似然估计了,如果我现在把猫看作数字的话,那我们就可以按照上面的L作为loss来训练generator了,但是问题就是我们的x都是一堆图片,图片怎么能作为一个概率分布函数的自变量呢。所以,这时候我们就用discriminator来代替完成L的工作。

对GAN中generator和discriminator的理解_第3张图片对GAN中generator和discriminator的理解_第4张图片

其实L的工作就是让猫尽量像猫更不像狗,那我们就可以把这个问题看成一个二分类的问题,来训练discriminator。如下图,Pdata就是真实的猫的图片集合,Pg是我们输入z,通过G生成的“猫”的图片。那接下来我们只需要完成分类就行了,这里就不细说分类器的原理了。

对GAN中generator和discriminator的理解_第5张图片

 

 

 

 

你可能感兴趣的:(深度学习)