本系列是自己看完李毅宏老师的GAN系列教程后整理的笔记,有错误的地方请指正。
一、 目的
给定一个数据集,求该数据集的一个分布?譬如图1,表示一张图(可以理解成一个高维的向量),现有的数据集都是一些二次元图片,最终的目的就是寻找二次元图片的分布
。有了这个分布后,就可以从这个分布中进行采样,从而生成更多的二次元图片。假设二次元图片的分布函数长得更蓝色区域一样,采样在蓝色区域内的点都能表示成高质量的二次元图片。而落在蓝色区域外的点只能生成非二次元或质量很差的二次元图片。
因此,本节课的目的就是如何求
图1
二、 极大似然估计
- 设数据集的分布:
,当然不知道这个分布具体长啥样,不然就没事做了,但是我们知道处于这个分布内的数据点。
- 因此,自然会想到,用现有的处于分布
内的数据构造一个分布去近似
。令这个近似的分布为:
。这是参数化的表达式,其中
就是要求得的参数。例如:
是一个高斯分布,其中
就表示均值和方差。
具体来讲,其参数的计算方法如下:
- 先从原数据集中采样,即在分布
上采样,得到样本:
- 计算:
- 采样样本的似然函数就可以写成:
- 寻找参数
最大化似然函数。
图2
三、 极大似然估计=KL散度
其实证明过程就如图3所示。
其实这里我有几个待解决的问题:
- 特地证明这种关系是为了说明什么?
- 最大化最大似然函数等价于最小化KL散度,为什么神经网络中的loss函数不直接优化似然函数?
-
该用什么表示?
图3
四、生成器
的一个表示方法就是用神经网络。理论上,用神经网络可以近似任意一个函数,理所当然能近似
这个分布函数。
如图4所示,我们希望最终产生的尽可能的接近
,也就说要最小化
和
的“差异性”。
现在问题就是如何计算这种差异性?
图4
五、判别器
现在遇到的问题是如何解决下面这个式子:
很遗憾的是,不管是还是
我们都无从知道。但是,我们可以得到来自
和
的数据样本。
图5
实际上,解决方法是从判别器入手的。判别器的主要作用就是:判断输入进来的样本是好还是坏(是属于还是属于
)。如图6,蓝色的星星和红色星星输入进Discriminator后,输出的结果是每一个样本属于
的概率。这个过程跟二分类模型类似。而判别器最终的目的就是最大化:
图6
下面就要介绍这个跟JS散度的关系,也就说,其实
恰好可以衡量两种分布的差异性,那么也就可以用
去替代
。这便是这节最终想要做的事。下面是证明。
image.png
image.png
image.png
image.png
image.png













网友评论