WGANs-GP

作者: 一技破万法 | 来源:发表于2020-09-02 16:39 被阅读0次
    WGAN有时仍能生成不良样本或者无法收敛的原因是因为使用权重裁剪对评论家施加了Lipschitz约束,本文提出了一种削减权重的替代方法,能够有效地解决上述问题。

    介绍

    作者贡献如下:

      1. 在玩具数据集上,我们演示了批评者减重会如何导致不良行为。
      1. 我们提出了梯度罚分(WGAN-GP),它不会遇到相同的问题。
      1. 我们演示了各种GAN架构的稳定训练,重量裁剪的性能改进,高质量图像生成以及字符级GAN语言模型,而无需任何离散采样。

    背景

    GANs

    生成对抗网络GAN训练策略是定义两个竞争网络之间的博弈。 发生器网络将噪声源映射到输入空间。 鉴别器网络接收生成的样本或真实数据样本,并且必须区分两者。 训练了生成器以欺骗鉴别器。
    正式地,生成器G和鉴别器D之间的博弈是最小极大目标:
    \underset{G}{min}\underset{D}{max}\underset{x\in \mathbb{P}_r}{\mathbb{E}}[log(1-D(\tilde{x}))] \tag 1
    其中\mathbb{P}_r是数据分布,而\mathbb{P}_g是由\tilde{x}= G(z),z〜p(z)隐式定义的模型分布(生成器的输入z是从一些简单的噪声分布p中采样的,例如均匀分布 或球形高斯分布)。
    如果在每个生成器参数更新之前将鉴别器训练到最佳状态,则最小化值函数就等于最小化\mathbb{P}_r\mathbb{P}_g之间的Jensen-Shannon散度,但这样做通常会导致鉴别器饱和时梯度消失。 在实践中,对生成器进行训练,以使其最大化\mathbb{E}_{\tilde{x} ~\mathbb{P}_g} [log(D(\tilde{x}))],这在某种程度上可以避免这种困难。 但是,即使存在改进的判别器,即使修改后的损失函数也可能无法正常工作。

    Wasserstein GANs

    认为GAN通常将最小化的差异相对于生成器的参数而言可能不是连续的,从而导致训练困难。 他们建议改为使用Earth-Mover(也称为Wasserstein-1)距离W(q,p),非正式地将其定义为运输质量的最小成本,以便将分布q转换为分布p(其中成本为 质量乘以运输距离)。 在温和的假设下,W(q,p)在任何地方都是连续的,几乎在任何地方都是可微的。
    使用Kantorovich-Rubinstein对偶构造WGAN值函数,以获得:
    \underset{G}{min}\underset{D\in D}{max}\underset{{x\sim\mathbb{P}_r}}{\mathbb{E}}[D(\tilde{x})] \tag 2
    其中D是1-Lipschitz函数的集合,\mathbb{P}_g再次是由\tilde{x}= G(z),z〜p(z)隐式定义的模型分布。 在这种情况下,在最佳判别器下(由于未经过分类,因此在本文中称为评论者),将针对生成器参数值函数最小化可使W(\mathbb{P}_r,\mathbb{P}_g)最小化。
    WGAN值函数会生成一个注释函数,该注释函数的输入梯度要比GAN对应函数更好,从而使生成器的优化更加容易。 根据经验,还观察到WGAN值函数似乎与样品质量相关,而GAN并非如此。
    为了对评论家施加Lipschitz约束,建议将评论家的权重限制在紧凑的空间[-c,c]中。 满足此约束的函数集是某些k的k-Lipschitz函数的子集,它取决于c和注释器体系结构。 在以下各节中,我们将演示此方法的一些问题并提出替代方法。

    最优WGAN评论家属性

    为了理解为什么权重削减在WGAN评论家中是有问题的,并且为了激发我们的方法,我们在WGAN框架中重点介绍了最佳评论家的一些属性。

    命题1

    \mathbb{P}_r\mathbb{P}_g作为\mathcal{X}(一个紧凑的度量空间)的两个分布。然后存在一个1-Lipschitz函数f^*,它是max_{\Vert f\Vert_{L \le 1}}\mathbb{E}_{y\sim \mathbb{P}_g}[f(x)]的最优解。设\pi\mathbb{P}_r\mathbb{P}_g之间的最佳耦合,定义为以下各项的最小化:W(\mathbb{P}_r,\mathbb{P}_g) = inf_{\pi\in\prod(\mathbb{P}_r),\mathbb{P}_g}\mathbb{E}_{(x,y)\sim\pi}[\Vert x -y\Vert,其中\prod(\mathbb{P}_r,\mathbb{P}_g)是联合分布的集合\pi(x,y),其边界分别为\mathbb{P}_r\mathbb{P}_g。然后,如果f^*是可微的,\pi(x=y)=0,并且x_t=tx+(1-t)y 且0\le t\le 1,则认为\mathbb{P}_{(x,y)\sim \pi}[\nabla f^*(x_t)=\dfrac{y-x_t}{\Vert y-x_t\Vert}] = 1

    推论1

    f^*\mathbb{P}_r\mathbb{P}_g下几乎到处都具有梯度1范数。

    权重限制的困难

    我们发现,WGAN中的权重削减会导致优化困难,并且即使优化成功,所产生的批评者也可能具有病理性的价值表面。 我们在下面解释这些问题并演示其效果; 但是,我们不主张每个人在实践中总是存在,也不是它们是唯一的这种机制。
    我们的实验使用来自WGAN的权重约束的特定形式(每个权重的大小的硬限幅),但我们还尝试了其他权重约束(L2范数限幅,权重归一化)以及软约束(L1和L2权重衰减),并发现它们也存在类似的问题。
    在一定程度上,可以通过批注者中的批处理规范化来缓解这些问题,WGAN在他们的所有实验中都使用了批处理规范化。 但是,即使使用批处理归一化,我们也观察到非常深刻的WGAN评论家经常无法收敛 。

    WGAN\WGAN-GP

    WGAN评论家的价值表面使用(顶部)权重裁剪和(底部)梯度惩罚对玩具数据集进行了优化训练。 受过权重削减训练的评论家无法捕捉到更高的数据分布时刻。 “发生器”固定为实际数据加上高WGAN评论家在Swiss Roll数据集上训练期间的高斯噪声。


    WC\GP

    第一个图,当WGAN使用权重裁剪时会爆炸或消失,但使用梯度罚分时则不会爆炸。下图权重裁剪(顶部)将权重推向两个值(裁剪范围的极限),与梯度惩罚(底部)不同:WGAN中的梯度惩罚不会表现出诸如权重裁剪的不良行为。

    能力未充分使用

    通过权重裁剪实现k-Lipshitz约束会使评论家偏向更简单的功能。 如先前在推论1中所述,最优的WGAN评论家几乎在\mathbb{P}_rmathbb{P}_g下的任何地方都有单位梯度范数。 在权重削减约束下,我们观察到试图达到最大梯度范数k的神经网络体系结构最终学习了非常简单的函数。为了证明这一点,我们训练了WGAN评论家,权重削减在多个玩具分布上都达到了最优。 生成器分布\mathbb{P}_g固定为实际分布加上单位方差高斯噪声。 我们在第一张图中绘制了批评家的价值面。 我们在批注者中省略了批量标准化。 在每种情况下,经过权重裁剪训练的评论家都忽略了数据分布的更高时刻,而是对最佳函数进行了非常简单的近似建模。 相反,我们的方法不受此行为的影响。

    梯度消失和爆炸

    我们注意到,由于权重约束和成本函数之间的相互作用,WGAN优化过程很困难,这导致梯度的消失或爆炸而没有仔细调整限幅阈值c。
    为了证明这一点,我们在Swiss Roll玩具数据集上训练了WGAN,在[10^{-1}、10^{-2}、10^{-3}]中更改了裁剪阈值c,并针对连续图层绘制了评论者损失梯度的范数 的激活。 生成器和j鉴别器都是12层ReLU MLP,没有批量标准化。 第二张图显示,对于这些值中的每一个,随着我们在网络中移回更远,梯度都会呈指数增长或衰减。 我们发现我们的方法产生了既不消失也不爆炸的更稳定的梯度,从而可以训练更复杂的网络。

    梯度惩罚

    我们现在提出一种替代的方法来执行Lipschitz约束。 一个可微分函数是1-Lipschtiz,当且仅当该梯度在任何地方都具有最多1范数的渐变时,因此我们考虑相对其输入直接限制评论家输出的梯度范数。 为了规避易处理性问题,我们对约束条件的软版本进行了约束,对随机样本\hat{x}〜\mathbb{P}_\hat{x}的梯度范数进行了惩罚。 我们的新目标是:
    L=\underbrace{\underset{\hat{x}\sim \mathbb{P}_g}{\mathbb{E}}[D(\hat{x})]-\underset{x\sim\mathbb{P}_r}{\mathbb{E}}[D(x)]}_{Original critic loss}+\underbrace{\lambda\underset{\hat{x}\sim\mathbb{P}_\hat{x}}{\mathbb{E}}[(\Vert \nabla_\hat{x}D(\hat{x})\Vert_2-1)^2]}_{Our gradient penalty} \tag 3

    采样分布

    我们隐含地定义从数据分布\mathbb{P}_r和发生器分布\mathbb{P}_g沿两对点之间的直线均匀地进行\mathbb{P}_\hat{x}采样。 这是由以下事实引起的:最佳评论家包含具有梯度1范数的直线,这些直线连接\mathbb{P}_r\mathbb{P}_g的耦合点(请参阅命题1)。 鉴于在任何地方强制执行单位梯度范数约束都是棘手的,仅沿这些直线执行它似乎已足够,并且在实验上会产生良好的性能。

    惩罚系数

    本文中的所有实验均使用λ= 10,我们发现该系数在从玩具任务到大型ImageNet CNN的各种体系结构和数据集上均能很好地工作。

    无需评论家批处理规范化

    大多数先前的GAN实现都在生成器和鉴别器中使用批处理规范化来帮助稳定训练,但是批处理规范化将鉴别器问题的形式从将单个输入映射到单个输出转换为 从整批输入映射到整批输出。 在这种情况下,我们受惩罚的训练目标不再有效,因为我们针对每个输入而不是整个批次对评论者的渐变规范进行了惩罚。 为了解决这个问题,我们只是在模型的批注者中省略了批量归一化,发现没有它们,它们的表现很好。 我们的方法适用于规范化方案,不会在示例之间引入相关性。 特别是,我们建议使用层归一化作为批次归一化的替代品。

    双向惩罚

    我们鼓励渐变的范数趋向于1(双向惩罚),而不是仅仅保持在1(双向惩罚)以下。 从经验上看,这似乎并没有太大地限制评论家,这可能是因为,最佳的WGAN评论家无论如何都在\mathbb{P}_r\mathbb{P}_g下以及中间的大部分区域中都出现了范数为1的梯度。 在我们的早期观察中,我们发现此方法的效果略好一些,但我们并未对此进行全面调查。

    实验

    在一组中训练随机体系结构

    我们实验性地证明了模型具有训练大量我们认为对训练有用的体系结构的能力。 从DCGAN架构开始,我们通过将表1中的模型设置更改为随机的对应值来定义一组架构变体。我们认为,对该集合中的许多架构进行可靠的训练是一个有用的目标,但是我们不主张集合是有用架构的整个空间的无偏或有代表性的样本:它旨在证明我们方法的成功机制,读者应评估它是否包含与预期应用相似的架构。


    Table1

    从这个集合中,我们对200种架构进行采样,并在具有WGAN-GP和标准GAN目标的32×32 ImageNet上进行训练。 表2列出了以下情况的数量:仅标准GAN成功、仅WGAN-GP成功、都成功或都失败,其中成功定义为初始分数>最低分数。 对于大多数分数阈值选择,WGAN-GP成功地训练了该集合中的许多架构,而我们无法使用标准GAN目标进行训练。


    Table2
    针对不同的成功阈值,训练200个随机体系结构的结果。 为了进行比较,我们的标准DCGAN得分为7.24。
    Figure:2

    上图使用不同方法训练的不同GAN架构。 我们仅使用WGAN-GP成功地通过共享的超参数集训练了每种架构。

    在LSUN卧室上训练各种体系结构

    为了展示我们的模型使用默认设置都能来训练许多体系结构的能力,我们在LSUN卧室数据集上训练了六种不同的GAN体系结构。 除了基准DCGAN架构外,我们还选择了六种架构,这些架构的成功训练证明了:
    (1)生成器中没有BN且滤波器数量恒定,像WGAN所述。
    (2)4层512 -dim ReLU MLP生成器,如WGAN中所述
    (3)鉴别器或生成器中均无归一化
    (4)门控乘法非线性,如[24]中所示
    (5)tanh非线性
    (6)101层ResNet 生成器和鉴别器。
    尽管我们并不声称没有我们的方法是不可能的,但据我们所知,这是首次在GAN环境中成功训练非常深的残差网络。 对于每种架构,我们使用四种不同的GAN方法训练模型:WGAN-GP,带权重裁剪的WGAN,DCGAN 和Least-Squares GAN 。 对于每个目标,我们使用了该工作中建议的默认优化器超参数集(LSGAN除外,我们在其中搜索学习率)。
    对于WGAN-GP,我们将鉴别符中的任何批处理归一化替换为层归一化。 我们训练每个模型进行200K迭代,并在图2中显示示例。我们仅使用WGAN-GP成功地使用共享的超参数集训练每个体系结构。
    对于其他所有训练方法,这些体系结构中的某些体系都是不稳定的或遭受模式崩溃的。

    权重裁剪后提升性能

    权重裁剪的方法的优势之一是训练速度和样品质量得到提高。为了证明这一点,我们在图3的训练过程中使用权重裁剪训练WGAN,并在CIFAR10上训练梯度罚分,并绘制初始得分。对于WGAN-GP,我们使用相同的优化程序(RMSProp )和学习率训练具有权重裁剪的WGAN,以及另一个具有Adam和较高学习率的模型。 即使使用相同的优化程序,我们的方法也比权重裁剪更快,收敛性更好。 使用Adam可以进一步提高性能。 我们还绘制了DCGAN的性能图,发现我们的方法(在规定时间内)收敛得比DCGAN慢,但其分数在收敛时更稳定。


    Figure:3

    四个模型在生成器迭代(左)或挂钟时间(右)上的CIFAR-10初始得分:带权重裁剪的WGAN,带RMSProp和Adam的WGAN-GP(用于控制优化器)和DCGAN。 WGAN-GP明显优于减重,并且性能与DCGAN相当。
    $$$$CIFAR-10和LSUN卧室的样品质量
    对于同等架构,我们的方法可达到与标准GAN目标相当的样品质量。 但是,提高的稳定性使我们能够通过探索更广泛的架构来提高样品质量。 为了证明这一点,我们发现了一种在无人监督的CIFAR-10上建立了最新的Inception得分的架构(表3)。 当我们添加标签信息时,除了SGAN之外,相同的体系结构都优于其他所有已发布的模型。


    Table3
    CIFAR-10的初始得分。 我们的无监督模型可实现最先进的性能,我们的条件模型优于除SGAN之外的所有其他模型。
    我们还在128×128 LSUN卧室上训练了一个深层的ResNet,并在图4中显示了示例。我们相信,对于该数据集,在任何分辨率下,这些示例至少都具有迄今为止所报告的最好结果.
    Figure:4

    损失曲线和检测过度拟合的意义

    权重裁剪的WGAN的一个重要好处是,其损失与样品质量相关,并趋于最小。 为了证明我们的方法保留了此属性,我们在LSUN卧室数据集上训练了WGAN-GP ,并在图5中绘制了评论家损失的负值。我们看到损耗随着发生器最小化W(\mathbb{P}_r,\mathbb{P}_g)而收敛。如果容量足够大且培训数据太少,则GAN可能会过拟合。 为了探究网络过拟合时损失曲线的行为,我们在MNIST的随机1000图像子集上训练了大型不规则WGAN,并在图5b的训练集和验证集上绘制了负的评论家损失。 在WGAN和WGAN-GP中,这两个损失是不同的,这表明批评者过分拟合并提供了W(\mathbb{P}_r,\mathbb{P}_g)的不准确估计,此时所有关于样本质量相关性的押注都被取消。 但是,在WGAN-GP中,即使验证损失下降,训练损失也会逐渐增加。
    在解码器生成模型的定量分析研究中还通过估计生成器的对数似然来衡量GAN中的过拟合。 与这项工作相比,我们的方法检测评论家(而不是生成器)中的过度拟合,并针对网络最小化的相同损失来测量过度拟合。

    结论

    在这项工作中,我们演示了WGAN中的权重削减问题,并在批评家损失中采用了惩罚条款的替代方案,该替代方案没有出现相同的问题。 使用我们的方法,我们展示了强大的建模性能和跨各种架构的稳定性。 现在,我们有了用于训练GAN的更稳定的算法,我们希望我们的工作为在大型图像数据集和语言上实现更强的建模性能开辟道路。 另一个有趣的方向是使惩罚项适应标准GAN目标函数,在这种情况下,可以鼓励鉴别器学习更平滑的决策边界,从而稳定训练。

    相关文章

      网友评论

          本文标题:WGANs-GP

          本文链接:https://www.haomeiwen.com/subject/uihvsktx.html