1. Wasserstein GAN
arXiv:1701.07875 [cs, stat]
tensorflow2代码:https://github.com/zhangkaihua88/ML_Paper
1.1. 总结
一句话解释:W距离就是在最优路径规划下把生成拉向真实的最小消耗。
要解决什么问题
- 判别器越好,生成器梯度消失越严重
- 判别器越好的情况下,生成的模型多样性不够
训练困难,生成器和判别器的loss无法指示训练进程。
原始GAN的最小化loss等价于最小化生成器和判别器的JS散度和KL散度,当生成器数据和判别器数据无重叠时或者重叠可忽略时,无论相距多远,JS散度都是常数log2,经公式计算最终导致梯度为0,即梯度消失,Wasserstein距离优越性在于即便两个部分没有重叠,W距离仍能够反映远近。
用什么方法解决
- 判别器最后一层去掉sigmoid
- 生成器和判别器的loss不取log
- 每次更新判别器的参数之后把它们的绝对值截断到不超过一个固定常数c,即Lipschitz限制
- 不要用基于动量的优化算法(包括momentum和Adam),推荐RMSProp,SGD也行
优势
- 将GAN的训练过程,也就是loss指示了训练进程
- 解决了生成样本的多样性的问题
- 使用DCGAN的网络结构,不需要重新设计新的网络结构
- 还存在什么问题
clipx项
1.2. 引言
$\mathbb{P}_r$ ==> 概率分布
$P_r$ ==> 概率密度
非监督式学习
学习一个概率分布,通常我们是学习这个分布的概率密度函数,假设概率密度函数存在,且由多个参数组成即$\left(P_{\theta}\right)_{\theta \in \mathbb{R}^{d}}$,已知该分布下点集为$\left\{x^{(i)}\right\}_{i=1}^{m}$,那么认为这些点既然出现了,就是概率最大的(相当于极大似然的思想)。问题就变成了求解使得
如果实际的资料分布$\mathbb{P}_r$提供机率密度,而$\mathbb{P}_\theta$是参数化的机率密度$P_\theta$,然后,两个资料分布渐近,这相当于最小化Kullback-Leibler divergence(KL-Divergence) $KL(\mathbb{P}_r||\mathbb{P}_\theta)$
但是在现实生活中,处理的分布的支撑集都是低位流形的。两个分布的重叠部分测度为0,那么KL散度就没办法衡量了
典型的纠正办法(不可取),就是给模型的分布加一个有很大宽度的高斯分布,使得模型的分布覆盖所有样本,但是这也造成了生成图像时产生了非常大噪声。
相比估计$\mathbb{P}_r$的概率密度,且这个密度函数还不一定存在,使用另一种方法$g_{\theta}: \mathcal{Z} \rightarrow \mathcal{X}$, $Z$为随机变量,概率密度为$p(z)$,通过改变$\theta$使得分布$\mathbb{P}_\theta$接近于真实分布$\mathbb{P}_r$
- 与密度不同,可以表示局限于低维流形的分布
- 容易生成样本的能力通常比知道密度的数值有用(例如,在考虑给定输入图像的情况下,当考虑输出图像的条件分布时,在图像超分辨率或语义分割中)。
通常,很难在给定任意高维密度的情况下生成样本
本文,致力于测量两种分布之间距离的不同方法,或等效的定义距离或散度
这种距离最重要的不同时对概率分布收敛的影响程度
分布收敛定义:距离或散度$\rho\left(\mathbb{P}_{\theta}, \mathbb{P}_{r}\right)$,分布序列$\left(\mathbb{P}_{t}\right)_{t \in \mathbb{N}}$收敛当且仅当存在一分布$\mathbb{P}_\infty$使得$\rho\left(\mathbb{P}_{t}, \mathbb{P}_{\infty}\right)$取域0.取决于距离的精确度
连续的定义:如果参数$\theta_t$收敛为$\theta$时,那么分布$\mathbb{P}_{\theta_d}$就收敛到$\mathbb{P}_{\theta}$
分布$\mathbb{P}_{\theta_d}$是否收敛依赖于选择计算距离的方法,之所以给出连续的定义,是想说如果损失函数$\theta \mapsto \rho\left(\mathbb{P}_{\theta}, \mathbb{P}_{r}\right)$连续等同于$\theta \mapsto \rho\left(\mathbb{P}_{\theta}\right)$连续
- Section 2 各种距离的比较
- Section 3 应用EM定义WGAN
- Section 4 WGAN实战
1.3. 不同的距离定义
$\mathcal{X}$ ==> compact metric set(像的空间[0,1]$^d$)
$\sum$ ==> $\mathcal{X}$上所以的Borel子集的集合
$Porb{\mathcal{X}}$ ==> $\mathcal{X}$上的概率密度空间
$\mathbb{P}_r,\mathbb{P}_g \in Prob{\mathcal{X}}$
- Total Variation(TV) distance
- Kullback-Leibler(KL) divergence $\mathbb{P}_r,\mathbb{P}_g$假设是绝对连续的,且概率密度函数存在,服从统一测度。$P_{g}(x)=0$和$P_{r}(x)>0$时,KL散度时非对称的并且可能为无限值
- Jensen-Shannon(JS) divergence 其中$\mathbb{P}_m = (\mathbb{P}_r + \mathbb{P}_g)/2$,JS散度时对称的,并且可被定义($\mu = \mathbb{P}_m$)
- Earth-Mover(EM) distance(Wasserstein-1) $\Pi\left(\mathbb{P}_{r}, \mathbb{P}_{g}\right)$ ==> 边界分别为$\mathbb{P}_r$和$\mathbb{P}_g$的联合分布$\gamma(x,y)$
直观理解:$\gamma(x,y)$表示必须从$x$到$y$运输多少质量,才能将分布$\mathbb{P}_r$转换为$\mathbb{P}_g$。EM距离就是最佳传输计划的“成本”。从生成样本和真实样本中随机取出一对样本,计算他们之间的差的均值,最小的那个均值即所求。
简单明了的例子(学习平行线)——概率分布的序列,在EM下收敛,其他下不收敛
令 $Z \sim U[0,1]$,$\mathbb{P}_{0}$ be the distribution of $(0, Z) \in \mathbb{R}^{2}$, $g_{\theta}(z)=(\theta, z)$ with $\theta$ a single real parameter
当$\theta_t \rightarrow 0$,只有EM距离下序列$(\mathbb{P}_{\theta_t})_{t \in M}$收敛到$\mathbb{P}_0$
定理1:已知$\mathbb{P}_r$是空间$\mathcal{X}$上的固定分布,令$Z$为$\mathcal{Z}$空间上的随机变量(e.g. Gaussion)。令$g: \mathcal{Z} \times \mathbb{R}^{d} \rightarrow \mathcal{X}$是一个由$\theta$和$z$确定的函数$g_\theta (z)$,$\mathbb{P}_\theta$代表其分布,那么
- 如果$g$在$\theta$上连续,$W(\mathbb{P}_r,\mathbb{P}_\theta$也连续
- 如果满足假设1,且$g$为Lipschitz函数,那么$W(\mathbb{P}_r,\mathbb{P}_\theta$处处连续且可谓
$JS(\mathbb{P}_r,\mathbb{P}_\theta)$和 all the KLs不满足上述性质
证明:
假设1:$g: \mathcal{Z} \times \mathbb{R}^{d} \rightarrow \mathcal{X}$是有限维空间中的局部Lipschitz函数,$g_\theta (z)$表示对于坐标$(z,\theta)$的求值。如果存在局部Lipschitz常数$L(\theta, z)$,使得$g$对于$\mathcal{Z}$上的某个概率分布$p$满足
推论1:令$g_\theta$是关于参数$\theta$的任意的前向传播NN(feedforward neural network),$p(z)$是当z满足$\mathbb{E}_{z \sim p(z)}[|z|]<\infty$的先验概率。然后满足假设1,因此$W(\mathbb{P}_r,\mathbb{P}_\theta)$处处连续且可微
证明:
下面定理描述着由这些距离与离散所引起的相对强度,KL最强,接着是JS与TV,EM最弱。
定理2:令$\mathbb{P}$是一个在紧空间$\mathcal{X}$上的分布,$(\mathbb{P}_n)_{n \in N}$是空间$\mathcal{X}$上的一个序列。然后考虑$n \rightarrow \infty$时
- 以下陈述为等价陈述
- $\delta(\mathbb{P}_n, \mathbb{P}) \rightarrow 0$ 其中$\delta$为the total variation distance.
- $JS(\mathbb{P}_n, \mathbb{P}) \rightarrow 0$ 其中$JS$为 the Jensen-Shannon divergence.
- 以下陈述为等价陈述
- $W(\mathbb{P}_n, \mathbb{P}) \rightarrow 0$
- $\mathbb{P}_n \stackrel{\mathcal{D}}{\longrightarrow}$其中$\stackrel{\mathcal{D}}{\longrightarrow}\mathbb{P}$表示随机变量的分布收敛性
- $K L\left(\mathbb{P}_{n} | \mathbb{P}\right) \rightarrow 0$ 和 $K L\left(\mathbb{P} | \mathbb{P}_{n}\right) \rightarrow 0$满足上述陈述1
陈述(1)暗示着陈述(2)
证明:
- 以下陈述为等价陈述
定理2说明了即优化后的$W(\mathbb{P}_n, \mathbb{P})$可能比$JS(\mathbb{P}_n, \mathbb{P})$具有更好的特性
结论:
在学习由低维流形支持的分布时,KL,JS和TV距离不是明智的成本函数。 但是,在该设置中,EM距离是明智的。
1.4. Wasserstein GAN
$W\left(\mathbb{P}_{r}, \mathbb{P}_{g}\right)=\inf _{\gamma \in \Pi\left(\mathbb{P}_{r}, \mathbb{P}_{g}\right)} \mathbb{E}_{(x, y) \sim \gamma}[|x-y|]$下确界不易计算。改用
其中上确界覆盖所有的1-Lipschitz functions $f: \mathcal{X} \rightarrow \mathbb{R}$
如果使用$|f|_{L} \leq K$替换为$|f|_{L} \leq 1$那么最终得到的为$K \cdot W\left(\mathbb{P}_{r}, \mathbb{P}_{g}\right)$((考虑K-Lipschitz为某一个常数K))
如果我们有一个参数化的函数族$\left\{f_{w}\right\}_w \in \mathcal{W}$(某些K的K-Lipschitz),那么将问题转化为解决
如果在上上式中达到上确界$w \in \mathcal{W}$(一个很强的假设,类似于证明估计量的一致性时所假设的假设),则此过程将产生$W\left(\mathbb{P}_{r}, \mathbb{P}_{g}\right)$的计算,直到乘法 不变。 此外,我们可以考虑通过估计$\mathbb{E}_{z \sim p(z)}\left[\nabla_{\theta} f_{w}\left(g_{\theta}(z)\right)\right]$通过上式反向传播来对$W\left(\mathbb{P}_{r}, \mathbb{P}_{g}\right)$进行微分(再次,直到一个常数)] 尽管这都是直觉,但我们现在证明该过程是在最佳假设下进行的。
- 定理:令$\mathbb{P}_r$是任意分布,$\mathbb{P}_\theta$是$g_\theta(Z)$的分布,$Z$为带有密度$p$的随机变量,$g_\theta$是满足$W\left(\mathbb{P}_{r}, \mathbb{P}_{g}\right)=\inf _{\gamma \in \Pi\left(\mathbb{P}_{r}, \mathbb{P}_{g}\right)} \mathbb{E}_{(x, y) \sim \gamma}[|x-y|]$的函数。那么,有一个解决这问题的方法当两个函数都有明确定义时证明:
问题就变成了找到一个满足利普西兹函数条件的函数$f$,使得达到最大值。可以用带参数的$w$神经网络确定函数,为使函数满足利普西兹条件,可以简单地将其参数截断到一个范围(比较简单)。$f_w$被称为critic,生成模型的梯度传播为$\mathbb{E}_{z \sim p(z)}\left[\nabla_{\theta} f_{w}\left(g_{\theta}(z)\right)\right]$
用权重剪裁(clipping)来强制Lipschitz约束是一种明显糟糕的方法。如果剪裁(clipping)参数过大,那们每一个权重都需要花费很长的时间才能到达它们的极值,从而造成训练critic最佳化非常困难。如果剪裁(clipping)参数过小,那在神经网路很深或没有使用batch normalization(像是RNNs)的情况下,它会很轻易的导致梯度消失(vanishing gradients)。我们尝试简单的变体(像是将权重(weights)投射到球面(sphere) ),差异很小,并且由于它的简单性和良好的效能,我们坚持使用权重剪裁(weight clipping)。然而,我们确实将强制Lipschitz约束的主题保留在神经网路设置中供进一步研究,我们积极鼓励感兴趣的研究人员来改进这个方法。
EM距离是连续且可微。意味着我们可以(并且应该)训练critic一直到最佳性。
训练critic愈多,将得到的Wasserstein梯度就愈可靠
因为Wasserstein几乎处处可微。
对于JS-divergence,即使discriminator得到更好的梯度,也更可靠,但是险际上它的梯度是0,因为JS是局部饱合的(locally saturated),我们得到消失的梯度
也许更重要的是,当我们这样做的时候,事实上我们可以训练critic一直到最佳性,这确保训练过程不会坏掉。坏掉的一个原因事实在于,固定discriminator的最佳generator是分配最高值的点上的增量总和。
1.5. 实验结果
- 说明这是一个有效的损失度量,和生成模型的收敛以及样本质量有关。
- 提高了优化过程的稳定性。
2. 总结
引入一种算法,我们认为WGAN可以替代传统GAN的训练。在这个新的模型中,我们说明我们可以提高学习稳定性,摆掉脱一些问题,像是mode collapse,并提供有意义的学习曲线来帮助除错与超参数的寻找。此外,我们说明相关优化问题是合理的,并提供广泛的理论工作来强调分布之间其它距离的深度连结。
3. 参考资料
Paper—-Wasserstein GAN
CSDN—-Wasserstein GANs 三部曲(二):Wasserstein GAN论文的理解
CSDN—-WGAN-GP精彩分析(附源代码)
CSDN—-WGAN, WGAN-GP, BE-GAN论文笔记
CSDN—-WGAN(wasserstein GAN)
CSDN—-论文阅读——《Wasserstein GAN》《Improved Training of Wasserstein GANs》
知乎—-令人拍案叫绝的Wasserstein GAN
个人Blog—-WGAN_Paper(翻譯)
个人Blog—-WGAN介绍