zoukankan      html  css  js  c++  java
  • 一阶Lipschitz连续性对GAN的帮助

    (x)属于有界空间(mathbb{R}^n),则定义在实数域上的函数(f(x))有界的充分条件是函数(f)满足Lipschitz(一般指的是一阶的)连续性。
    但却不是必要条件,因为反过来论述是不对的。

    证明非常简单:
    充分性是成立的
    若函数(f)满足Lipschitz连续性,则必定满足,对任意(a, b in mathbb{R}^n), 存在常数K满足

    [|f(b) - f(a)| leq Kcdot|b-a| ]

    接下来,先证明(f(x))中必定存在一个非无穷大值(f(x_0))
    采用反证法:
    (f(x))中所有值都是无穷大,那么对任意(a, b in mathbb{R}^n),都有(|f(b) - f(a)| = +infty) .
    然而,由于(mathbb{R}^n)是有界的,因此必定存在非无穷大值常数(C)满足(|b-a|leq C, Cgeq 0)
    那么,必然可得:

    [|f(b) - f(a)| = +infty > Kcdot C geq Kcdot |b-a| ]

    该结论显然和Lipschitz连续性的假设冲突,因此,(f(x))中不都是无穷大。
    也即,至少存在一个非无穷大值(f(x_0))
    回到主线,继续证明充分性:
    假设(f(x_0))是一个非无穷大值,对任意(xin mathbb{R}^n),由于(f(x))满足Lipschitz连续性,因此必然存在

    [|f(x) - f(x_0)| leq Kcdot|x - x_0| leq Kcdot C ]

    从而,

    [Kcdot C - f(x_0) leq f(x)leq Kcdot C + f(x_0) ]

    因此,(f(x))是有界的,命题的充分性得证。

    必要性是不成立的
    (f(x))有界时,不存在常数(K)使得任意(a, binmathbb{R}^n)满足(|f(b)-f(a)|leq Kcdot|b-a|)
    换言之,对于任意给定的常数(K),总能找到(a, binmathbb{R}^n)使得(|f(b)-f(a)|>Kcdot|b-a|)
    可以举个非常特殊的例子,这个例子可以打破你的一切幻想(不管你设想的条件多么苛刻,这个例子都能满足,但却始终不满足Lipshitz连续性:

    [egin{equation} f(x)=left{ egin{aligned} sqrt{x} & , & x >= 0 \ -sqrt{-x} & , & x < 0 end{aligned} ight. end{equation} ]

    画出其曲线为下图

    从图上来看(f(x))在定义域上是连续的,但在(x=0)处不可微,对于该函数分段求一阶导数,发现此处的一阶微分是(+infty)
    因此根据无穷大的定义,如果在(x=0)附近的邻域(Omega_{x=0})内取点,对于任意给定的(K),我们总能找到(a,bin Omega_{x=0})
    使得(frac{f(b)-f(a)}{b-a} > K),也即对任意给定的(K),都能在0附近找到(a, b),使得(|f(b)-f(a)| > Kcdot|b-a|)。显然必要性是不成立的。

    在GAN的训练过程中,为了避免GAN发生模式崩溃,通常会采用梯度裁剪的方式来稳定GAN的训练过程,事实上,其他归一化手段也有类似的效果。
    梯度裁剪中采用的是梯度L1归一化,起到的效果就是使得由梯度塑造的生成器模型(Generator),在各点的局部具有Lipshitz连续性,
    这种超出本愿(只想稳定GAN,约束输出的值域)的过强假设,将损害生成器模型的构造能力,(类似于限制一个人的思考组合空间,
    而强行让一个人的思维具备连续性,违背了思维的可跳跃性的基本假设。)生成器生成的样本的多样性将大打折扣。

  • 相关阅读:
    idea添加类注释和方法注释
    蓝桥杯ALGO-1,区间k大数查询
    personalblog
    ul+li水平居中的几种方法
    前端ps部分
    帝国cms-tab
    帝国cms判断某一字段是否为空
    帝国cms建站总结-(分页)
    Js获取验证码倒计时
    前端截取字符串:JS截取字符串之substring、substr和slice详解
  • 原文地址:https://www.cnblogs.com/thisisajoke/p/13496035.html
Copyright © 2011-2022 走看看