李弘毅老师GAN笔记(四),GAN 背后的理论

这一节理论推导的课程,证明了 GAN 的可行性,并解释了 GAN 背后的原理。

目录

1 目标

2 推导

2.1 极大似然估计

2.2 极大似然估计与最小 KL 散度

2.3 判别网络

3 算法


1 目标

以二次元图像生成为例,我们的目标是什么呢,从数学角度来说其实就是得到一个函数,输入 x 是一个向量,输出 y 便是生成的图像,其实 y 也是一个向量,满足的分布设为 李弘毅老师GAN笔记(四),GAN 背后的理论,其中 李弘毅老师GAN笔记(四),GAN 背后的理论 为函数的参数,设真实的二次元图像满足的分布为 李弘毅老师GAN笔记(四),GAN 背后的理论,那么我们的目标就是使得 李弘毅老师GAN笔记(四),GAN 背后的理论 与 李弘毅老师GAN笔记(四),GAN 背后的理论 越接近越好,也就是说我们生成的图像与期望图像约真实越好。

2 推导

2.1 极大似然估计

我们从 李弘毅老师GAN笔记(四),GAN 背后的理论 中抽样,得到一系列真实样本李弘毅老师GAN笔记(四),GAN 背后的理论,那么目标就是这些样本在分布 李弘毅老师GAN笔记(四),GAN 背后的理论 中的值(概率)越大越好,记得到目标公式:

李弘毅老师GAN笔记(四),GAN 背后的理论

 找到 李弘毅老师GAN笔记(四),GAN 背后的理论 使得 L 最大。

2.2 极大似然估计与最小 KL 散度

两者是等价的关系,详见下面公式推导:

李弘毅老师GAN笔记(四),GAN 背后的理论

 KL散度(KL divergence)就是衡量两个分布的差异性的公式,越小差异性越小。当然也可以用其他计算差异性的公式来计算,下边统称为 Div,所以目标公式变为了:

李弘毅老师GAN笔记(四),GAN 背后的理论

 G 也就是我们要求的生成网络的模型,但是后边那个求解 Div 的式子较为困难,因为我们不知道两个分布,所以没办法计算,因此有了判别网络,来拟合这个式子。

2.3 判别网络

如何拟合呢?其实思路很简单,我们定一个目标函数,使得这个目标函数和我们要拟合的式子很接近就OK了。我们这里给的目标函数如下所示,要求 V 越大越好:

李弘毅老师GAN笔记(四),GAN 背后的理论

 对其展开得:

李弘毅老师GAN笔记(四),GAN 背后的理论

假设 D(x) 可以取任意函数,那上边那个积分取最大可以变成对于任意 x 取最大。

李弘毅老师GAN笔记(四),GAN 背后的理论

继续推导,求导找到最大值:

李弘毅老师GAN笔记(四),GAN 背后的理论

 将 D(x) 的极大值带入 V 的定义式得:

李弘毅老师GAN笔记(四),GAN 背后的理论

李弘毅老师GAN笔记(四),GAN 背后的理论

 其中,JSD 是 JS 散度, 定义如下式:

李弘毅老师GAN笔记(四),GAN 背后的理论

 所以,最小化 李弘毅老师GAN笔记(四),GAN 背后的理论 等价于最大化 V(G, D),G 是生成网络(函数),D 是判别网络(函数),所以最优生成网络为:

李弘毅老师GAN笔记(四),GAN 背后的理论

然后梯度下降就OK了。

由于真实图像和生成图像的分布的期望不知道,所以可以通过多个采样去估计,

李弘毅老师GAN笔记(四),GAN 背后的理论

所以实际上的 V 如下式:

李弘毅老师GAN笔记(四),GAN 背后的理论

 

3 算法

最后再完整的贴一个算法

李弘毅老师GAN笔记(四),GAN 背后的理论