今天的这篇小文将是GAN模型理论介绍的最后一篇。有一些内容,所用数学技巧和方法非常高大上,理论结果也非常漂亮,但是完全搞明白其中的门门道道需要相当大精力和知识铺垫,况且实际运用也非常小众,但是作为模型理论里十分重要的一部分,有必要做一定程度的了解。故今天的文章将类似于“参观博物馆”的形式,只大概展示一些结果,带领大家看一看IPM框架和由此产生的各种各样的GAN。
作者&编辑 | 小米粥
在第二期,已经解释过原始形式的GAN其实只是fGAN的一个特例,在fGAN中我们可以通过选择不同形式的f(x)来获得不同的距离度量,从而产生各种GAN,例如LSGAN,EBGAN。其实,关于GAN的目标函数,除了f-divergence外还有另一大类:IPM,非常熟悉的WGAN便是属于IPM框架下的一种GAN。类似地,我们也可以在IPM框架下产生各种各样的GAN。
1 IPM
IPM(integral probability metric)也是一种对于两个概率分布之间的距离的度量。在IPM技术中,首先定义了满足某种限制条件的某一类函数的集合F,然后寻找一个最优的f(x)∈F使得两个分布之间的差异最大,该最大的差异值即为两个分布之间的距离:
这里要求f(x)(判别器)是可测、有界的实值函数,且函数空间F是对称的。
正是由于选择不同的函数空间F,导致了两种分布之间的各种各样的距离度量以及它们的性质差异。这点与f-divergence很像,例如在WGAN中,选择函数空间F为:
WGAN将判别器函数限定为满足1-Lipschitz条件,则对应了Wasserstein距离:
另外需要说明,IPM定义的距离度量虽然满足对称性、非负性、三角不等式,但是当该距离为0时,并不能严格证明两个分布相等,故为一种伪度量。
在这样的框架下,GAN的判别器(critic)先学习某种两个分布之间的距离,其目标函数为:
然后,优化生成器使得该距离最小:
接下来,我们将简单介绍三个不同类型的IPM,一起看一看IPM框架的强大泛化能力。
2. IPM框架下的GAN
2.1 Mean feature matching
如果我们定义函数空间为如下形式:
其中,v是m维的向量,其p范数小于等于1,Φ(x)是一个被w参数化的神经网络,f(x)为两个向量的内积。利用对偶范数的定义:
此时的IPM距离为:
其中,
为分布经过映射后的均值,这便是Mean feature matching GAN。
我们是这样计算两个分布之间的距离:寻找一个最优映射Φ(x)使得两个分布在映射到Φ(x)的特征空间后,其均值的差异最大,均值最大差异值即为两个分布之间的距离。接下来生成器的任务便是使得均值匹配,即均值差异变小。
我们不仅可以关注一阶统计特征——均值,还可以关注数据二阶统计特征——方差,类似得,函数空间F选择为:
对应的IPM距离为:
我们称之为Covariance Matching GAN。更进一步,同时考虑均值和方差两个统计特征,则可以得到如下的IPM距离:
2.2 Maximum mean discrepancy
最大均值差异(Maximum mean discrepancy)距离在迁移学习中具有广泛的应用,用来衡量两个分布的距离以判断其是否相似,它是在再生核希尔伯特空间中度量两个分布的差异。当给定核函数(例如高斯核函数),便给定了一个希尔伯特空间,再将函数空间限定在希尔伯特空间的单位球中:
对应于高斯核的IPM距离为:
实际中,上述距离(MMD距离)是这样计算的:
一个直观的想法是直接最小化该距离,以此作为生成模型的目标函数,这便是GMMN(Generative moment matching networks),这与一般的GAN形式是不一样的,它不存在判别器的部分,不需要训练神经网络来逼近两个概率分布之间的距离。
MMD GAN在该思路上进行扩展,它不使用固定的高斯核函数,而是通过判别器帮助学习一个核函数来最大化希尔伯特空间上的平均值差异,并将差异值作为分布的距离供生成器训练,需要说明一下它的核函数定义借鉴了高斯核函数的形式:
2.3 Fisher GAN
在线性判别分析中,我们希望找到这样一条直线:将训练样本投影到直线上,可以使得同类型的样本的投影点尽可能接近,而异类型的样本的投影点尽可能远离。类似于此,Fisher GAN不仅最大化均值差异,同时考虑了判别器的二阶矩限制,其函数空间选择为:
则其IPM距离为:
3. 小结
到此,我们花了五期来详细地介绍了一下GAN模型。
第一期中我们介绍了其他生成模型和GAN,一般在生成模型中,对生成器的概率分布进行显式建模,那么可以直接计算似然函数,再以最小化似然函数作为目标来训练生成模型。而在GAN的框架中,需要先利用数学技巧将生成器定义的隐式概率分布和数据集的本质概率分布的距离转化成可以通过采样来计算的形式,再使用神经网络(也就是判别器)来帮助逼近两个概率分布的距离,最后将距离作为目标函数来训练生成模型。
第二期中,我们介绍了一类框架f-divergence,在f-divergence中,通过选择不同的f(x)来构造不同的距离,然后利用共轭函数对距离进行数学变换,使得可采样得到距离的一个近似:
第三期中,先说明了f-divergence的问题:随着数据空间维数增加,距离不连续。我们介绍了处处连续,几乎处处可导且导数不为0的Wasserstein距离,由此引入WGAN,将目标函数视为线性规划问题并利用对偶原理将其转换成易于采样求解的对偶问题,最后推导出WGAN。
第四期中,我们介绍了矩阵的特征值(奇异值)的本质、谱范数等内容,展示了如何施加1-Lipschitz,并介绍了一种可以完美解决1-Lipschitz的SNGAN,
第五期中,我们介绍了另一个与f-divergence同级别的IPM框架,在IPM中,通过选择不同的函数空间来制造不同的距离。并简单展示了在此框架下的WGAN,McGAN,MMD GAN,Fisher GAN等内容。
到此,相信大家对GAN这个生成模型已经有了基本、比较清晰的认识,不得不说,我们的GAN优化之路才刚刚开始了一点,之前只是着重于其基本原理和目标函数(当然,GAN的目标函数五花八门,目前只是做了最基本的阐述,以后肯定还会涉及其他内容,还会再介绍)从下一期开始,接下来我们将会关注GAN的训练时的问题,大家有什么意见和建议欢迎留言,以便能更充分得准备内容。
[1] Li, Chun-Liang, et al. "MMD GAN: Towards Deeper Understanding of Moment Matching Network." (2017).
[2] Mroueh, Youssef, T. Sercu, and V. Goel. "McGan: Mean and Covariance Feature Matching GAN." (2017).
总结
这篇文章简单介绍了一下IPM技术,以及给出几个例子属于IPM框架下的GAN,例如MMDGAN,FisherGAN等,并在最后对之前的内容做了回顾。
标签:函数,框架,一览,均值,距离,IPM,GAN From: https://blog.51cto.com/u_14122493/5751007