具有多个鉴别器的生成对抗性网络的多目标训练
摘要
最近的文献已经证明,通过使用一组鉴别器来训练生成对抗性网络有很好的结果,而传统的游戏涉及一个生成者对抗单个对手。这种方法对一些简单的损失合并进行单目标优化,例如算术平均。在这项工作中,我们通过将不同模型提供的损失的多次最小化定义为多目标优化问题,重新审视了多重鉴别器设置。具体来说,我们在大量不同的数据集上评估了多重梯度下降和超体积最大化算法的性能。此外,我们认为,先前提出的方法和超体积最大化都可以被视为多重梯度下降的变化,其中可以有效地计算更新方向。我们的结果表明,与以前的方法相比,超体积最大化在样本质量和计算成本之间表现出更好的折衷。
1.简介
生成对抗性网络(GANs)(Goodfellow et al.,2014)提供了一种新的生成建模方法,使用博弈论训练方案隐式学习给定的概率密度。在GAN架构出现之前,逼真的生成建模仍然难以捉摸。尽管提供了前所未有的现实主义,但GAN培训仍然充满了稳定性问题。通常报道的缺点包括鉴别器提供的有用梯度信号的缺乏,以及模式崩溃,即发生器样本缺乏多样性。
近年来,为了在GAN框架内克服训练不稳定性1,人们投入了大量的研究工作。一些架构,如BEGAN(Bertelot et al.,2017),已经应用自动编码器作为鉴别器,并提出了一种新的损失函数来帮助稳定训练。反过来,TTUR(Heusel et al.,17)等方法试图定义单独的时间表来更新生成器和鉴别器。PacGAN算法(Lin et al.,2017)提出修改鉴别器的架构,以接受m个级联样本作为输入。这些样本被联合分类为真实样本或生成样本,作者表明,这种方法可以帮助加强样本多样性。此外,SNGAN中的鉴别器参数引入了频谱归一化(Miyato et al.,2018),旨在确保Lipschitz连续性,经验表明,这可以在多组超参数中产生高质量的样本。或者,最近工作已经提出用多个鉴别器来解决GANs的不稳定性问题。Neyshabur等人(2017)提出了一种GAN变体,其中一个生成器针对一组鉴别器进行训练,其中每个鉴别器看到输入的固定随机投影。先前的工作,包括(Durugkar等人,2016;Doan等人,2018)也探索了使用多种鉴别器进行训练。
在本文中,我们在Neyshabur等人(2017)引入的框架的基础上,提出重新制定平均损失最小化,以进一步稳定GAN训练。具体而言,我们建议将每个鉴别器提供的损失信号视为一个独立的目标函数。为了实现这一点,我们同时使用多目标优化技术将损失降至最低。也就是说,我们利用了文献中先前介绍的方法,如多重梯度下降(MGD)算法(Désidéri,2012)。然而,由于在大型神经网络的情况下,MGD的成本高得令人望而却步,我们建议使用更有效的替代方案,例如在固定的、共享的损耗上限(我们将其称为最低点η*)和每个组件损耗之间定义的区域中最大化超容。
与Neyshabur等人(2017)的方法不同,在该方法中,当训练生成器时,平均损失被最小化,超容量最大化(HV)优化了加权损失,并且生成器的训练将自适应地将更大的重要性分配给来自其表现不佳的鉴别器的反馈。
在MNIST上进行的实验表明,与平均损失最小化或GMAN的方法(低质量和成本)和MGD(高质量和高成本)相比,HV在计算成本与样本质量的权衡方面表现出良好的折衷。此外,还研究了对引入的超参数的敏感性,结果表明,增加鉴别器的数量会增加生成器的鲁棒性以及样本质量和多样性。在CIFAR-10上的实验表明,所描述的方法在定量评估方面产生了更高质量的生成器样本。此外,随着鉴别器数量的增加,图像质量和样本多样性再次得到持续改善。
总之,我们的主要贡献如下:
1.我们通过将多鉴别器GAN训练框架放在多目标优化的背景下,为其提供了一个新的视角,并得出了先前对GAN变化的研究与MGD的相似之处,MGD通常被用作多目标优化中的通用求解器。
2.我们提出了一种训练多鉴别器GANs的新方法:超体积最大化,该方法通过损失来衡量每个鉴别器的梯度贡献。
2.准备工作
在本节中,我们提供了一些来自先前文献的关于多目标优化的定义,这些定义将在以下部分中有用。粗体符号用于表示向量值变量。
多目标问题:
其中K是目标数,Ω是变量空间,x=[x1,x2,…,xn]T∈Ω是决策向量或问题的可能解。F:Ω→ RK是一组K目标函数,将n维变量空间映射到K维目标空间。
帕累托优势。设x1和x2是两个决策向量。x1被称为支配x2(用x1≺x2表示)当且仅当对于所有i∈{1,2,…,K}fi(x1)≤fi(x2),并且对于某些j∈{1,2,…,K}fj(x1)<fj(x2)。如果决策向量x在Ω中不被其他向量支配,则x被称为非支配解。
帕累托最优。决策向量x∈Ω被认为是Pareto最优的,当且仅当不存在x∈Ω使得x≺x,即x*是非支配解。Pareto最优集(PS)被定义为所有Pareto最优解x∈Ω的集合,即PS={x∈ω|x是Pareto最优}。所有目标向量F(x)的集合,使得x是Pareto最优的,称为Pareto前沿(PF), 即P F={F(x)∈RK|x∈PS}。
帕累托平稳性。帕累托平稳性是帕累托最优的必要条件。对于fk可微的每-其中对于所有k,如果存在一组标量αk,k∈{1,…,k},则F在x处是Pareto平稳的,使得:
多梯度下降。针对F(x)的多目标优化的无约束情况,提出了多重梯度下降,假设所有k的fk(x)都是凸的、连续可微的和光滑的。MGD通过定义所有Γfk(x)的凸包并在其中找到最小范数元素,为所有fk找到一个共同的下降方向。考虑w*,由下式给出:
w∗将是0,此时x是Pareto稳定点,或者w∗≠0,那么w∗是fi(x)的下降方向。与梯度下降类似,MGD的步骤是在每次迭代t中找到最常见的降低方向w∗t,然后根据学习率λ更新参数。根据以下式子。
3.相关工作
3.1.使用多个鉴别器训练GAN
虽然我们更希望在训练期间始终具有来自鉴别器的强梯度,但由于鉴别器很快学会区分真实样本和生成的样本(Goodfellow,2016),因此香草GAN使这一点难以确保,因此此后没有提供有意义的误差信号来改进生成器。Durugkar等人(2016)提出了生成多对抗性网络(GMAN),该网络包括针对K个不同鉴别器的softmax加权算术平均来训练生成器:
其中Dk(x)和G(z)分别是第k个判别器和发生器的输出。使用所提出的平均方案的目的是支持较差的鉴别器,从而在训练期间为生成器提供更有用的梯度。实验是在β=0(相等重量)→ ∞ (只考虑最差鉴别器),β=1,以及生成器学习的β。K={2,5}的模型使用预先提出的指标和Inception评分进行了测试和评估(Salimans等人,2016)。结果表明,在大多数考虑的情况下,鉴别器损失的简单平均值为这两个指标提供了最佳值。
Neyshabur等人(2017)提出使用相同的架构用K个鉴别器训练GAN。每个鉴别器Dk看到不同的随机投影的输入图像的低维版本。随机投影由随机初始化的矩阵Wk定义,该矩阵在训练期间是固定的。所提供的理论结果表明,只要有足够数量的鉴别器,生成器G诱导的分布将接近真实的数据分布Pdata。此外,投影空间中的判别任务更难,即真实和虚假的例子更相似,从而避免了判别器的早期收敛,这导致了GAN训练中常见的稳定性问题,如模式崩溃(Goodfellow,2016)。从本质上讲,作者用一个难题换成了K个更容易的子问题。每个鉴别器LDk的损耗与等式5中所示的相同。然而,生成器损失LG被定义为每个鉴别器提供的损耗的总和,如等式6所示。LG的这种选择没有利用可用的信息,例如生成器相对于每个鉴别器的性能。
3.2.超容量最大化
设S为多目标优化问题的解。S的超体积H定义为(Fleis-cher,2003):H(S)=μ(Şx∈S[F(x),η*]),其中μ是Lebesgue测度,η*是由所有x∈S支配的点(即fi(x)的上界为η),称为最低点。H(S)可以理解为{F(x)|x∈S}所覆盖的空间的大小。
超容量最初是作为通过基于人群的算法获得的帕累托最优前沿的覆盖率和收敛性的定量指标引入的(Beume et al.,2007)。即使在挑战场景中,例如同时最小化50个目标,基于H的直接最大化的方法也表现出良好的收敛性(Bader&Zitzler,2011)。在机器学习的背景下,单解超容量最大化已被应用于神经网络,作为均方误差的替代损失(Miranda&Zuben,2016),即训练批中每个例子提供的损失被视为单一成本,多目标方法旨在使所有例子的成本最小化。作者表明,这种方法提供了一种廉价的类似助推的训练。
4.具有多个鉴别器的GANs的多目标训练
我们介绍了GAN博弈的一种变体,其中生成器解决以下多目标问题:
其中,每个lk=−Ez~pz log Dk(G(z)),k∈{1,…,k},是第k个鉴别器提供的损耗。训练以通常的方式进行(Goodfellow等人,2014),即在鉴别器和生成器之间交替更新。执行每个鉴别器的更新以最小化等式5中描述的损失。
我们的生成器更新的一个自然选择是MGD算法,如第2节所述。然而,根据MGD中的要求,在每个参数更新步骤之前计算最陡下降的方向w*,对于大型神经网络来说可能是令人望而却步的。因此,我们提出了一种多目标优化的替代方案,并认为我们的方案和之前发表的方法都可以被视为执行MGD更新规则的计算效率更高的版本,而不需要每次迭代都求解二次规划,即计算w*。
4.1.训练GANs的超容量最大化
Fleischer(2003)已经证明,最大化H产生Pareto最优解。由于MGD收敛于一组Pareto平稳点,即Pareto最优解的超集,因此超体积最大化产生了使用MGD获得的解的子集。我们利用这一特性,并将生成器损失定义为负日志超容量,如等式8所定义:
其中最低点坐标η是所有lk的上界。在图1中,我们为K=2的情况提供了一个示例。高亮显示的区域对应于eV。由于最低点η*是固定的,V将最大化,因此LG将最小化,当且仅当每个lk最小化。此外,通过调整中所示的结果:
LG相对于任何生成器参数θ的梯度由下式给出:
换句话说,梯度可以通过计算每个鉴别器提供的损耗梯度的加权和来获得,鉴别器的权重被定义为到最低点分量的反距离。这种模拟自然会更加重视最终梯度中的较高损失,这是超体积最大化的另一个有用特性。
纳迪尔点选择。从方程9中可以明显看出,η的选择直接影响不同鉴别器提供的梯度的重要性分配。特别地,当mink {η − lk }的数量增加时,多目标 GAN 游戏逐渐接近由lk的简单平均定义的游戏。先前的文献已经深入讨论了在基于种群的方法中选择η的影响(Auger等人,2009;2012)。然而,这些结果并不容易适用于单一解决方案的情况。如第5节所示,我们的实验表明,η的选择对样品的最终质量起着重要作用。然而,随着鉴别器数量的增加,这种影响变得不那么重要了。
纳迪尔点自适应。类似于(Miranda&Zuben,2016),我们提出了η的自适应方案,使得在迭代t:ηt=δmaxk{lkt},其中δ>1是用户定义的参数,将被称为松弛。这迫使mink{ηt−lkt}在maxk{lkt}高时更高,否则则更低,当训练开始时,它会产生类似于平均损失的行为,并自动将更多的重要性放在那些在训练过程中表现较差的判别器上。
我们在图2中进一步说明了所提出的适应方案。考虑一个双目标问题,其中lt>0对应于迭代t时的LD1,l2>0对应于LD2。分别地如果不进行适应,并且η在整个训练过程中保持不变,如图2中的红色虚线所示。对于足够大的t,η−l1t≈η−l2t。这将为不同损失提供的梯度分配相似的权重,这违背了采用超容量最大化而非平均损失最小化的目的。假设损耗随着时间的推移而减少,在T更新后,ηT=δmax{l1T,l2T}<η,因为损耗现在接近于0。因此,所采用的自适应方案即使在损耗变低时也保持梯度加权的相关性。随着训练的进行,这种影响将变得更加积极,对更高的损失赋予更大的梯度重要性,如ηT−max{l1T,l2T}<η0−max{l 10,l20}。
对超体积最大化中Nadir point adaptation自己的理解
与平均损失最小化的比较。Neyshabur等人(2017)证明的上限假设真实分布和生成分布的边缘沿所有随机投影都是相同的。然而,平均损失最小化并不能确保沿所有方向的边缘之间具有同样好的近似。在竞争鉴别器的情况下,即,如果减少给定投影上的损失会增加相对于另一投影的损失,则损失的分布可能是不均匀的。另一方面,对于HV,特别是当η在整个训练过程中降低时,只要存在具有高损耗的鉴别器,总损耗就会保持较高。这一目标倾向于偏好中心区域,在中心区域中,所有鉴别器都呈现出大致相同的低损耗。
4.2.多个鉴别器GAN与MGD之间的关系
前面描述的用于解决具有多个鉴别器的GAN的所有方法,即平均损失最小化(Neyshabur et al.,2017)、GMAN的加权平均(Durugkar et al.,2016)和超容量最大化,可以定义为类似MGD的两步算法,包括:步骤1-将所有梯度合并为单个更新方向(计算集合α1,…,K);步骤2-按照步骤1中返回的方向更新参数。对于本文研究的不同方法,步骤1的定义可以总结如下:
5. 实验
我们进行了四组实验,旨在理解以下现象:(i)用多个鉴别器训练GANs的替代方法如何与MGD进行比较;二在样本质量和覆盖范围方面,替代方法的表现如何相互比较;(iii)在给定所研究方法的情况下,不同数量的鉴别器如何影响性能;以及(iv)考虑到训练一组鉴别器所涉及的附加成本,多鉴别器设置是否实用。
首先,我们利用了MNIST相对较低的维度,并将其用作将MGD与本文中提出的其他方法(即平均损失最小化(AVG)、GMAN的加权平均损失和HV)进行比较的试验台。此外,还评估了多次初始化和松弛组合,以研究鉴别器数量的变化如何影响对这些因素的鲁棒性。
然后,在增加鉴别器数量的同时,以64x64像素的分辨率放大CIFAR-10进行实验。为了利用(Neyshabur等人,2017)中描述的相同架构运行实验,我们进行了升频,目的是提高图像分辨率。我们根据生成样本的质量,评估了HV相对于基线方法的性能。为了与已知的单判别器设置进行清晰的比较,我们在CIFAR-10的原始分辨率下进行了额外实验。我们还使用堆叠的MNIST数据集(Srivastava等人,2017)分析了HV对生成样本多样性的影响。最后,将单判别器与多判别器情况的计算成本和性能进行比较。附录中展示了在堆叠的MNIST和分辨率为128×128的CelebA数据集上训练的生成器样本,以及分辨率为256×256的Cats数据集的样本。
在所有实验中,我们都使用了相同的架构、超参数和初始化来训练AVG、GMAN和我们提出的方法,唯一的变化是生成器的损失函数。除非另有说明,否则我们使用Adam(Kingma和Ba,2014)来训练所有模型,其中学习率、β1和β2分别设置为0.0002、0.5和0.999。小批量大小设置为64。用于比较的是Fre ́chet Inception Distance(FID)(Heusel等人,2017)。有关FID计算的详细信息可在附录A中找到。
5.1. MGD与其他方法的比较
我们在MNIST实验中使用了MGD,为此,在每个参数更新之前都需要解决一个二次规划问题。为此,我们使用了Scipy的Serial Least Square Quadratic Program solver2实现。生成器和判别器分别使用了三层和四层全连接层,其中采用了LeakyReLU激活函数。在判别器中还使用了Dropout,随机投影层则被实现为一个随机初始化的norm-1全连接层,将MNIST的向量化维度从784降低到512。预训练的LeNet(LeCun等人,1998年)的输出层用于FID计算。
在使用8个鉴别器的100个时期的实验结果在图3和图4中呈现。在图3中,箱线图指的是从生成器中抽取的10000张图像所计算的30次独立FID值的统计结果。FID结果是在训练时通过对1000多张图像进行计算获得的,最好的结果在图4中报告,并附有达到该结果所需的时间。
MGD在所有测试方法中表现最好。然而,每次迭代的成本不允许在MNIST以外的更大的数据集中使用它。另一方面,HV最大化的表现接近MGD而不像其他基准方法,同时不引入额外的重要成本。
在图5中,我们通过绘制每种方法的更新方向的范数(由|| Kk=1 αk ∇lk ||给出)来分析Pareto稳定性方面的收敛性。所有方法都收敛到类似的范数,导致结论是不同的Pareto稳定解将在样本质量方面表现不同。附录中的图13显示了最佳FID作为墙钟时间的函数。
HV对初始化和δ的选择的敏感性。在以下设置下,对δ和初始化的性能敏感性进行了分析:在MNIST上使用HV进行训练,使用8、16、24个判别器进行训练50个epochs。每个δ={1.05,1.5,1.75,2}和判别器数量进行三个独立运行(不同初始化),共得到36个最终模型。图6报告了使用10000个图像进行5次FID独立计算得到的盒式图,对于所描述的36个模型的每个模型。结果清楚地表明,增加判别器数量会使得最终模型获得的FID变化更小。
5.2. HV作为MGD替代方法
5.2.1. 放大的CIFAR-10数据集
我们使用放大后的CIFAR-10数据集来评估HV与基线方法的性能。FID是使用预先训练的ResNet(He等,2016年)计算的。ResNet是针对CIFAR-10的10类分类任务进行训练的,达到了大约95%的测试精度。DCGAN(Radford等,2015)和WGAN-GP(Gulrajani等,2017)被包括在FID参考实验中。对于所有的多鉴别器设置,采用了与(Neyshabur等,2017)中相同的架构。使用了逐渐增加的鉴别器数量。Inception分数(Salimans等,2016)以及使用其他模型计算的FID包含在附录-表7中。
在图7中,我们报告了对于每种方法,通过三次独立运行获得的最佳模型在10000个图像上进行15次独立评估的FID箱形图。结果再次表明,相对于其他方法,HV在生成样本的质量方面表现更好。此外,性能随着较多鉴别器的使用而明显提高。图8显示了不同运行中最佳模型的训练时FID,即在每个时期后,通过1000个生成图像进行测量。针对较多鉴别器进行训练的模型明显会收敛到更小的值。我们在附录中的图10-(a)中报告了每种方法的更新方向的范数||Kk=1 αk∇lk||。
5.2.2. CIFAR-10
我们对CIFAR-10数据集在其原始分辨率上进行了实验,旨在将我们提出的方法与先前介绍的方法进行比较。因此,我们重复了类似于(Miyato et al., 2018)-Table 2中报告的实验,针对所谓的标准CNN模型进行实验。采用相同的架构,从鉴别器中移除谱归一化,并添加了一个随机投影输入层。
在表1中,我们使用原始实现在5000个生成图像上评估了FID和Inception score的结果,以及在10000个图像上进行评估。与我们提出的方法和我们实现的(Miyato et al., 2018)的FID一起,使用预先在CIFAR-10数据集上训练的ResNet分类器测量的FID也在表格中给出。
从表格中可以看出,采用多鉴别器设置以及超体积最大化,可以使得类似DCGAN的生成器的性能有了显著提升,将所有评估指标都提升到了与最近提出的GAN方法相竞争的水平,并且优于我们自己实现的SNGAN(使用Miyato等人(2018)报告的最佳性能设置)。
5.3. 计算的成本
在表2中,我们比较了不同GAN模型使用1个和24个鉴别器训练的最小FID(使用预训练的ResNet进行测量)以及计算成本,包括时间和空间成本。在多个鉴别器设置下训练GAN的计算成本相对较高,无论是在FLOPS还是内存方面都是如此,与单个鉴别器设置相比。然而,这种额外的成本可以带来对性能的相应改善。这种效果在使用DCGAN(Radford等人,2015)、最小二乘GAN(LSGAN)(Mao等人,2017)和HingeGAN(Miyato等人,2018)等三种不同的著名方法时都得到了验证。所有单个鉴别器模型的架构都遵循DCGAN的描述(Radford等人,2015)。对于24个鉴别器模型,我们使用了第5.2.1节中描述的设置。所有模型都是使用64个小批量大小在150个时期内进行训练的。
我们进一步强调,即使使用多个鉴别器进行训练可能比传统方法更具计算成本,但这样的框架支持完全并行训练鉴别器,这在其他GAN设置中并不容易实现。例如,在WGAN中,鉴别器在每个生成器更新之前都会被串行更新多次。在附录中的图10-(b)中,我们提供了所有评估方法之间每次迭代的实际时间比较。使用8和16个鉴别器的串行更新实现被观察到比WGAN-GP更快地运行。此外,本文中进行的所有实验都在单个GPU硬件上执行,这表明多个鉴别器设置是一种实用的方法。
5.4. 判别器的数量影响样本的多样性
本节我们重复了(Srivastava et al., 2017)的实验,以分析在使用超体积最大化训练的情况下,鉴别器数量如何影响相应生成器的样本多样性。我们采用堆叠MNIST数据集,并使用(Lin et al., 2017)中报告的结果进行比较。使用1万和2.6万个生成图像获得了8、16和24个鉴别器的HV结果,并对10次运行进行了平均。在表3中报告了覆盖模式的数量以及生成模式分布与测试数据之间的KL散度。
与之前的实验一样,结果随着增加鉴别器数量而持续改善。所有使用 HV 的评估模型都优于 DCGAN、ALI、Unrolled GAN 和 VEEGAN。此外,使用 16 和 24 个鉴别器的 HV 实现了最先进的覆盖值。因此,通过使用更多的鉴别器来增加每个模型的容量直接导致了相应生成器覆盖率的提高。训练细节以及架构信息在附录中呈现。
6. 结论
本文表明,在GAN训练中使用多个鉴别器是一种实用的方法,可以通过牺牲额外的计算成本来获得更高质量和多样性的生成样本。这种方法是GAN训练的其他进展的补充,并且可以与其他方法轻松结合使用。我们介绍了一个多目标优化框架来研究多个鉴别器GAN,并展示了先前工作和多梯度下降算法之间的强烈相似性。所提出的方法被观察到能够一致地产生更高质量的样本,以FID为度量,并且增加鉴别器的数量被证明可以增加样本的多样性和生成器的鲁棒性。
对数量|| Kk=1 αk ∇lk ||进行更深入的分析是未来研究的主题。我们假设将其用作惩罚项可能会减少需要高数量鉴别器的必要性。