在深度学习中,Lipschitz continuity常用于约束学习函数的形状,从而起到正则化的作用。那么,该约束的有效性和实现方式是什么?

Lipschitz连续

直觉上,Lipschitz连续是一个限制函数变化过快的特性,定义为:

给定两个度量空间$(X,d_{X})$和$(Y,d_{Y})$,$d_{X}$表示集合$X$上的度量,$d_{Y}$表示集合$Y$上的度量。若存在实数$K$,对于$\forall{\mathbf{x}_1,\mathbf{x}_2}$,
$$
\begin{aligned}
d_{Y}(f(\mathbf{x}_1),f(\mathbf{x}_2))\le Kd_{X}(\mathbf{x_1},\mathbf{x_2})
\end{aligned}\tag{1}
$$
那么,函数$f:X\to Y$被认为Lipschitz连续。$K$被称为Lipschitz常量。

推论:若函数的梯度有界:$\Vert\nabla_{\mathbf{x}}f(\mathbf{x})\Vert\le K$,那么函数$f$也为Lipschitz连续

Lipschitz约束的有效性

Loss-Sensitive Generative Adversarial Networks on Lipschitz Densities》表明Lipschitz密度集包含大量的分布族,该分布在连续密度空间属于稠密的。例如:自然图片的密度被像素值的压缩集合所定义,且可被视为Lipschitz连续,这是因为两个相似的图片不可能以一个无界的变化率突然改变。

由此,作者们假设真实样本比生成样本拥有一个更小的损失,且该损失差有一定幅度,那么可通过Lipschitz连续的方式施加先验,提高学习效率。

Lipschitz连续的实现方式

WGAN中,为了降低利用Wasserstein-1度量两个分布之间距离度量的计算难度,需要限制判别器函数为Lipschitz函数。这种约束主要通过权重clipping的方式实现。

实际上,WGAN的训练并不稳定。因此,WGAN-GP增加了判别器梯度损失的方式,实现Lipschitz连续约束。

标签: none

版权: 本篇博文采用《CC BY-NC-ND 4.0》,转载必须注明作者和本文链接

添加新评论