近年来,生成对抗网络(GAN)取得了巨大的成功,它能够根据给定的先验分布合成新的数据,该技术对超分辨率、域风格迁移等应用都有所帮助。根据最原始的定义,GAN 由两个网络构成:(1)生成器,旨在生成能够欺骗判别器的逼真样本;(2)判别器,通过学习将真实样本与由生成器生成的样本区分开来。
当下最先进的 GAN 可以生成足以骗过人类的高质量图像,但是其训练过程的不稳定仍然是一个具有挑战性的问题。因此,近期一系列的研究工作都着眼于解决不稳定训练的问题。判别器陡峭的梯度空间是造成不稳定的 GAN 训练的原因之一,它会导致在生成器的训练过程中出现模式崩溃。尽管 L2 归一化和权重裁剪这些简单的方法可以有效地使 GAN 训练过程更加稳定,但是这些额外的约束限制了判别器的模型容量。这样一来,相较于学着生成真实图像,生成器会更倾向于欺骗判别器。
另一种流行的方法是通过对判别器应用正则化或归一化,将判别器形式化定义为一个利普希茨连续的函数(Lipschitz continuous function),其利普希茨常数为 K。这样,在不大幅度牺牲判别器性能的条件下,判别器的梯度空间会变得更平滑。
对判别器施加利普希茨约束有三种特点:
-
模型或模块级别的约束。如果约束目标依赖于完整的模型而不是内部模块的总和,我们就将该方法定义为一个模型级别的约束;反之,我们将其定义为一个模块级别的约束。例如,梯度惩罚(1-GP)就是一种模型级别的约束,而谱归一化(SN)则是一种模块级别(层级别)的约束。我们认为,模型级别的约束更好,这是因为模块级别的约束会限制层的模型容量,从而成倍地降低神经网络的能力;
-
基于采样或基于非采样的约束。如果某种方法需要从固定的样本池中采样数据,则该方法为基于采样的约束。例如,1-GP 中具有正则化操作,因此它是一种基于采样的约束;而由于归一化仅仅依赖于模型架构,所以 SN 是一种非采样的约束。由于基于采样的方法可能对于之前没有采样到的数据无效,因此我们认为基于非采样的方法的性能优于基于采样的方法;
-
硬约束或软约束。如果带约束的判别器的函数空间中任何函数的利普希茨常数都小于等于一个固定的有限值,则该方法为一种硬约束,否则该方法为一个软约束。例如,SN 是一种硬约束,其中固定的有限值等于 1;1-GP 通过正则化过程松弛了约束的严格性,因此它没有有限的上界。由于一致的利普希茨常数保证了对未见过的数据的梯度稳定性,我们认为硬约束的性能优于软约束。
在近日的一篇论文中,来自阳明交大(NYCU)的研究者提出了一种新的归一化方法——梯度归一化(gradient normalization, GN),该方法旨在解决 GAN 由于陡峭的梯度空间造成的训练不稳定问题。不同于现有的梯度惩罚和谱归一化等方法,梯度归一化方法为判别函数施加了一个硬的 1 - 利普希茨约束,从而提升了判别器的性能。此外,对梯度归一化方法稍加修改,就可以将其用于不同的 GAN 架构。研究者在四个数据集上进行了大量的实验,实验结果表明使用梯度归一化训练的 GAN 在 Frechet Inception 距离(FID)和 Inception Score(IS)两种指标上的性能优于现有的方法。
-
论文地址:https://arxiv.org/pdf/2109.02235.pdf
-
代码地址:https://github.com/basiclab/GNGAN-PyTorch
研究者指出,与 SN 不同,GN 的利普希茨常量不会以神经网络的乘法形式衰减,这是因为我们将判别器视为一种通用的函数近似器,计算出的归一化项与中间层无关。梯度归一化方法有以下两个良好的特性:(1)归一化同时满足模型级、非基于采样、硬约束三个特性,并且不会引入额外的超参数。(2)GN 的实现十分简单,可以兼容各种网络架构。
预备知识
生成对抗网络
生成器 G:Rd_z→Rn 和判别器 D:R^n→R 之间的博弈可以被形式化定义为如下的极大极小目标:
其中,p_r(x) 是真实数据分布,p_g=G_*(p_z)。* 是前推测度,p_z 是 d_z 维的先验分布。当判别器 D 最优时,可以保证生成器 G 收敛到真实分布 p_r(x) 上。然而,训练 GAN 会遇到许多问题,除了梯度消失和梯度爆炸之外,还有两种原因造成不稳定的训练:首先,优化上面的目标函数(1)等价于最小化 p_g(x) 和 p_r(x) 之间的 JS 散度。如果 p_g(x) 和 p_r(x) 并未重合,则 JS 散度会为一个常数,并导致梯度消失;第二,有限的真实样本往往会造成判别器的过拟合,间接造成围绕真实样本的梯度爆炸。
Wasserstein GAN (WGAN)
研究人员提出了 WGAN,通过最小化 p_g(x) 和 p_r(x) 之间的 Wasserstein-1 距离来优化 GAN。
其中,L_D 是判别器 D 的利普希茨常数。L_D 定义如下:
换而言之,L_D 是使得下式成立的最小实数:
值得注意的是,度量 ||·|| 可以是任意的向量范数。WGAN 的判别器旨在通过在满足利普希茨约束 (4) 的条件下最大化目标函数 (2) 来近似 Wasserstein 距离。实际上,我们可以通过将函数与放缩因子相乘来缩放利普希茨常数,因此对利普希茨常数 L_D 的不同选择不会对结果产生影响。此外,学界已经证明,Wasserstein 距离在学习的分布由低维流形支撑时比 KL 距离更加敏感。显然,近似的误差率与判别器的容量有关。如果判别器可以在一个较大的函数空间内搜索,它就可以更加精确地近似 Wasserstein 距离,从而使生成器更好地建模真实分布。同时,利普希茨约束限制了值表面的倾斜度,缓解了判别器的过拟合问题。
符号定义
定义 1:令 f_K:R^n→R 为 K 层网络,它可以被形式化定义为一个由一组仿射变换组成的函数:
其中,W_K∈R^d_K×d_K-1 以及 b_K∈R^d_K 是第 K 层的参数,d_K 是第 K 层的目标维度,φ_K 是第 K 层的元素级的非线性激活函数。f_K,∀k ∈ {1 · · · K} 代表前 K 层组成的子网络。
为了分析带有层级别约束的网络性能,我们将层级别的利普希茨网络定义如下。
定义 2:令 f_K : R^n → R 为第 K 层网络,如果 ∃L_k ≤ L, ∀k ∈ {1 · · · K}, 则 f_K 是层级别的 L - 利普希茨约束,其中 L_K 为第 k 层的利普希茨常数。
引理 3:令 f : R^n → R 为连续的可微函数,且 L_f 为 f 的利普希茨常数。则利普希茨约束 (4) 等价于
假设 4:令 f : R^n → R 为神经网络建模的连续函数,网络 f 的所有激活函数是分段线性函数。则函数 f 几乎肯定是可微的。
神经网络在计算机上的实现会受到数值误差的影响,我们可以启发式地证明上述结论。对于复杂的算术运算(如矩阵乘法),数值误差会积累,因此我们会扰动输出值从而避免不可微点。
梯度归一化
引理 3 启发研究者通过直接约束梯度范数来设计一种归一化技术。他们首先证明了层级别的 1 - 利普希茨约束(例如 SN-GAN)的利普希茨常数可能随着层数的增加而显著降低。这对本文提出的梯度归一化技术有很大的启发。
在本文中,研究者假设激活函数为 1 - 利普希茨函数,并证明了较深的网络的利普希茨常数会收到其浅层网络的限制。下图为梯度归一化 GAN(GN-GAN)的算法。
定理 5:令 f_K : R^n → R 为带有层级别的 1 - 利普希茨约束的 K 层网络,则前 k 层网络 L_f_k 的利普希茨常数的上界为 L_f_k-1,即:
定理 6:令 f : R^n → R 为通过神经网络建模的连续函数。网络 f 的所有激活函数是分段线性的。则归一化函数
带有 1 - 利普希茨约束,即:
实验
为了评估梯度归一化的性能,研究者首先在 CIFAR-10 和 STL-10 这两个标准数据集上进行了无条件和有条件的图像生成实验。其中,CIFAR-10 数据集包含 6 万张尺寸为 (32×32×3) 的图像,5 万张图像被划分为训练实例,1 万张图像被划分为测试实例。STL-10 数据集用于研发无监督特征学习,它包含 5 千张训练图像、8 千张测试图像和 10 万张无标签的、尺寸为 (48 × 48 × 3) 的图像。
此外,研究者还在 CelebA-HQ、LSUN Church Outdoor 这两个具有较高分辨率的数据集上测试了梯度归一化方法。CelebA-HQ 包含 3 万张尺寸为 (256 × 256 × 3) 的人脸图像;LSUN Church Outdoor 是 LSUN 数据集的一个子集,包含 12.6 万张尺寸为 (256 × 256 × 3) 的教堂外景图。
Inception Score(IS) 和 Frechet Inception Distance(FID) 是两种流行的评测生成模型的指标。研究者用它们对 GN 进行定量评测。为了公平比较,所有的评价结果都是通过 IS 和 FID 的官方实现计算的。为了与之前没有严格遵循标准评价协议的工作进行比较,本文的评价是根据几种计算 FID 的不同设置来设计的。此外,他们还保留了在整个训练过程中的最佳模型,并报告了平均性能。
下表 3 将提出的 GN-GAN 与几种 SOTA 模型进行了比较,例如 SN-GAN [22]、WGANGP [10] 和 CR-GAN [35]。结果表明,研究者提出的 GN-GAN 在 Inception Score 和 FID 方面优于现有的归一化方法。
研究者进一步使用 BigGAN [1] 中提出的相同架构在 CIFAR10 数据集上进行实验。同样地,判别器中的 SN 被 GN 代替。下表 4 显示 GN 在 FID 方面可以进一步将 BigGAN 提升 31.8%。
为了展示提出的梯度归一化能够生成高分辨率图像,研究者利用 SN-GAN 中提出的架构在 CelebA-HQ 和 LSUN Church Outdoor 上生成 256×256 图像。同样地,在实验中 SN 被 GN 代替。下图 1 和图 2 中的生成结果展示出了有竞争力的性能。
定理 5 的实验分析。因此,研究者设计了实验来测试具有 Wasserstein 损失的 SN 和 GN。下图 3a 和 3b 分别显示了关于 CIFAR-10 数据集上不同方法的训练迭代的判别器的初始分数和 Lipschitz 常数。下图 3c 显示了 CIFAR-10 数据集层级中 GN-9L 和 SN-9L 的 Lipschitz 常数。
定理 6 仅仅给出了在判别器分段线性的情况下的梯度范数的上界。然而,研究者假设 GN 适用于大多数激活函数。因此,他们复现了具有不同激活函数的 SN-GAN、WGAN-GP、原始 GAN 的标准 CNN 训练过程。
下图 4 显示了具有不同激活函数的 GAN、WGAN-GP、SN-GAN、GN-GAN 的 IS、FID 指标,说明 GN 在 ELU 和 ReLU 激活函数上取得了最佳的得分。并且在 Softplus(β = 20) 激活函数上得到了不错的得分 。值得注意的是,在 β 增大时,Softplus 与 ReLU 趋同。因此,GN 在 Softplus(β = 20) 上的性能优于 Softplus。