当前位置: 首页 > 科技观察

生成对抗网络概览:从架构到训练技能,这篇论文就够了

时间:2023-03-17 13:02:55 科技观察

近日,帝国理工学院、蒙特利尔大学等研究机构联合发表论文,对生成对抗网络进行了梳理。本文从最基本的GAN架构及其变体开始,到训练过程和训练技术,全面概述了生成对抗网络的概念、问题和解决方案。机器之心简要介绍了这篇论文。论文地址:https://arxiv.org/pdf/1710.07035.pdf生成对抗网络(GAN)提供了一种无需大量标记训练数据即可学习深度表征的方法。通过反向传播算法分别更新两个网络来执行竞争性学习来训练它们。GAN学习的表征可用于多种应用,包括图像合成、语义图像编辑、风格转换、图像超分辨率技术和分类。本文的目的是为信号处理社区提供GAN的调查。除了介绍训练和构建GAN的不同方法外,我们还讨论了其理论和应用中的剩余挑战。1.引入生成器和鉴别器通常由包含卷积层和/或全连接层的多层网络组成。生成器和鉴别器必须是可微的,但不一定是直接可逆的(理论分析必须是可逆的)。如果生成网络是从某个表示空间映射而来,即将一个潜在空间映射到数据空间(我们需要关注图像),它可以更正式地表示为:G:G(z)→R^|x|,其中z∈R^|z|是潜在空间中的样本,x∈R^|x|是一个图像,并且|·|代表维度。原始GAN的判别网络D可以看作是一个函数D,将图像数据映射到(图像来自真实数据分布,而非生成器分布)判别概率:D(x)→(0,1).给定一个固定的生成器G,可以训练鉴别器D来判断图像是来自训练数据(正确,概率接近1)还是来自生成器(错误,概率接近0)。如果判别器已经是最好的,就变得不可能被愚弄了,生成器G需要继续训练来降低判别器的准确率。如果生成器分布足够好以完美匹配真实数据分布,那么鉴别器将最大程度地被愚弄,为所有输入给出0.5的概率值。在实践中,鉴别器可能没有被训练到理想状态,我们将在第4节中更深入地探讨训练过程。图1图1.该图分别显示了GAN中鉴别器D和生成器G的训练过程。通常用神经网络实现,但实际上它们可以用任何形式的可微分系统(将数据从一个空间映射到另一个空间)来实现。2.GAN架构图2图2.GAN在训练过程中,生成器可以生成一个样本分布p_g(x)来匹配真实数据p_data(x)。通过适当地参数化和训练GAN,这些分布变得无法区分。GAN的表示分布可以通过学习生成网络和判别网络的参数(权重)来构建。(1)全连接GAN第一个GAN架构在生成器和鉴别器上都使用了全连接神经网络。此类架构已应用于相对简单的图像数据库,即MNIST(手写数字)、CIFAR-10(自然图像)和TorontoFaceDataset(TFD)。(2)卷积GAN由于CNN非常适合处理图像数据,它是全连接到卷积神经网络的自然延伸。早期在CIFAR-10上的实验表明,使用具有相同级别和监督学习表示能力的CNN来训练生成器和鉴别器网络更加困难。LaplacianPyramidalAdversarialNetwork(LAPGAN)[13]通过使用多尺度分解生成过程的形式为这个问题贡献了一个方案:groundtruth图像本身被分解成一个Laplacian金字塔,并且训练条件卷积GAN来生成每一层给定上一层。此外,Radford等人。[5](对于“深度卷积GAN”)提出了一系列称为DCGAN的网络架构,它允许训练一对深度卷积生成器和鉴别器网络。DCGAN在训练中使用stridedconvolution和fractional-stridedconvolution,在训练中学习空间下采样和上采样算子。这些算子处理采样率和位置的变化,这是从图像空间映射到低维潜在空间以及从图像空间映射到鉴别器的重要要求。第IV-B节将详细介绍DCGAN架构和训练。作为二维图像合成的扩展,Wu等人。[14]提出了使用体积卷积合成3D数据样本的GAN。吴等。[14]合成新奇物体,如椅子、桌子和汽车;此外,他们还展示了一种从2D图像映射到3D图像的方法。(3)条件GANMirza等人。通过将生成器和鉴别器转换为类条件生成器和鉴别器,将(2D)GAN框架扩展到条件设置。条件GNN的优势在于它们可以为多模态数据生成提供更好的表示。ConditionalGAN和InfoGAN[16]是并行的,它可以将噪声源分解为不可压缩源和一个“latentcode”,并可以通过最大化latentcode和generatorhiddenfactor之间的互信息来发现变化。这个潜在代码可以用来在完全无监督的数据中发现目标类,即使这个潜在代码是模棱两可的。InfoGAN学习的表示在语义上似乎具有丰富的特征,并且可以处理图像中的复杂纠缠(包括姿势变化、光照和面部图像的情感内容)。(4)GAN推理模型GAN的初始形式无法将给定的输入x映射到潜在空间中的向量(在GAN文献中,这通常被称为推理机制)。已经提出了几种用于逆向预训练GAN的生成器的技术,例如独立提出的AdversariallyLearnedInference(ALI)和BidirectionalGANs(BidirectionalGANs),它们通过添加推理网络使判别器提供简单有效的扩展联合测试数据空间和潜在空间。这种形式的生成器由两个网络组成:编码器(推理网络)和解码器。他们同时接受训练以愚弄鉴别器。鉴别器将接收一个向量对(x,z)(见图4)并决定它是包含真实图像及其编码,还是包含生成的图像样本和相关的潜在空间输入到生成器。理想情况下,编码器-解码器模型中的输出(作为输入的重构)应该与输入相似。通常,使用ALI/BiGAN合成的重建数据样本保真度较低。可以通过额外添加(数据样本及其重建)对抗性成本函数来提高样本保真度。(5)Anti-autoencoder(AAE)自编码器是由编码器和解码器组成的网络,它学习将数据映射到内部隐藏表示,然后再映射出来,即从数据空间学习到图像(或其他)通过编码映射到隐空间,再通过解码从隐空间映射回数据空间。这两个映射形成一种重建操作,这两个映射将被训练,直到重建图像尽可能接近原始图像。图3图3.左图为Mirza等人提出的条件GAN(ConditionalGAN),可以根据条件(class-condition)合成图像;鉴别器根据条件类别确定图像是真还是假。对,InfoGAN,它的判别器也可以估计类别标签。图4图4.ALI/BiGAN的结构,由三个网络组成。其中一个是鉴别器,还有另一个网络将噪声向量从潜在空间映射到图像空间(解码器,用G表示),最后一个网络(编码器,用E表示)将真实图像从图像空间映射到潜在空间。3.训练GAN(1)引言GAN的训练目标是获得最大化判别器分类准确率的参数,获得最大化判别器欺骗性的生成器参数。图5总结了训练过程。训练成本由价值函数V(G,D)评估,其中包括生成器和鉴别器的参数。训练过程可以表示为:在训练过程中,更新一个模型的参数,固定另一个模型的参数。古德费洛等人。证明对于固定生成器存在唯一的最优鉴别器D*(x)=p_data(x)/(p_data(x)+p_g(x))。他们还证明了当pg(x)=pdata(x)时生成器G是最优的,这相当于最优判别器对所有样本x给出的概率值为0.5。换句话说,当鉴别器D被最大化混淆并且无法区分真假样本时,生成器G是最优的。理想情况下,鉴别器将被训练为当前生成器的最佳选择;然后生成器将再次更新。然而在实践中,判别器可能没有被训练到最优,所以常见的策略是判别器只会进行少量的迭代训练,生成器和判别器会同步更新。此外,生成器经常使用max_GlogD(G(z))的替代非饱和训练规范,而不是min_Glog(1?D(G(z)))。尽管理论上有独特的解决方案,但训练GAN具有挑战性,而且由于多种原因往往不稳定。提高GAN训练效率的一种方法是跟踪训练过程中可能遇到的经验症状,包括:两个模型(生成器、判别器)无法收敛[5];生成相似的样本[25];判别器的损失很快收敛到零,没有留下足够强的梯度路径来继续更新生成器。图5图5.GAN训练的主循环。可以通过传递随机样本来获得新型数据样本x',z是作为生成器网络输入绘制的随机噪声。在生成器更新一次之前,鉴别器可能需要更新k次。(2)训练技术GAN训练图像生成的第一个重大改进是Radford等人提出的DCGAN架构。[5].这项研究是对先前用于计算机视觉领域的CNN架构的进一步探索,并为构建和训练生成器和鉴别器带来了一系列指南。在第III-B节中,我们提到了步幅卷积和小步幅卷积的重要性[27],它们是架构设计的重要组成部分。这允许生成器和鉴别器学习可以提高图像合成质量的良好上采样和下采样操作。专门针对训练,研究人员建议在两个网络中使用批量归一化[28]来稳定深度模型中的训练。另一个建议是尽量减少用于提高深度模型可训练性的全连接层的数量。最后,Radford等人。[5]认为在鉴别器中间使用leakyReLU激活优于常规ReLU。Salimans等人。[25]进一步提出启发式方法来稳定GAN训练。首先,特征匹配稍微改变了生成器的目标,以增加可用信息量。具体来说,鉴别器仍然需要训练来区分真实样本和假样本,但生成器的训练目标是匹配鉴别器中假样本和真实样本的预期中间激活值(特征)。其次,mini-batchdiscrimination为判别器增加了一个额外的输入,这个特征编码了mini-batch中给定样本和其他样本之间的距离。目的是防止模式崩溃,因为鉴别器可以很容易地确定生成器是否产生相同的输出。第三个启发式技巧是启发式平均,如果网络参数偏离先前值的运行平均值,则会受到惩罚,这有助于收敛到平衡。第四种技术是virtualbatchnormalization,它通过计算Normalizedbatchstatistics来减少mini-batch内的样本对其他样本的依赖。最后,单边标签平滑将鉴别器的目标从1替换为0.9,平滑鉴别器的类边界,从而防止鉴别器过度自信并为生成器提供不良梯度。S?nderby等人。[29]通过在样本中添加噪声以在将样本提供给鉴别器之前挑战鉴别器来改进这一想法。S?nderby等人。[29]认为单边标签平滑会偏向于最好的判别器,他们的技术——样本噪声(instancenoise)使得真实样本和假样本的流形更接近,同时防止判别器轻易找到完全匹配的判别器边界区分真假样本。这个技巧可以在实践中通过向合成图像和真实图像添加高斯噪声来实现,这样标准偏差会随着时间的推移而减小。后来Arjovsky等人。[26]正式化了向数据样本添加噪声以稳定训练的过程。(3)代价函数的修改GAN代价函数的泛化:Nowozinetal.[30]认为GAN训练可以推广到不仅可以最小化Jensen-Shannon散度,还可以最小化f散度值的估计。这些可以称为f-GAN。防止梯度消失的附加成本函数:Arjovsky等。[32]提出WGAN,这是一种GAN网络,具有从近似Wasserstein距离派生的附加成本函数。7.Discussion(1)OpenproblemModeCollapse:第4章提到,GAN普遍存在的问题是生成器崩溃(generatorcollapsing),只能输出一小类相似的样本(partialcollapse),最坏的情况是只能生成一个简单的样本(完全折叠)[26],[48]。训练不稳定性-鞍点:在GAN中,损失函数的Hessian变为非正定的。因此二阶矩阵非正定只能求鞍点,不能求局部极小值。(2)结论GANs之所以令人感兴趣,不仅是因为它们可以从潜在空间和数据空间之间的映射和逆映射中学习深度的、高度非线性的映射,还因为它们可以利用大量未标记的图像数据,这样的操作类似于深度表示学习。GAN训练中有很多理论和算法发展的机会。在深层网络的帮助下,新应用程序的机会比比皆是。【本文为栏目组织《机器之心》微信公众号《机器之心(id:almosthuman2014)》原文翻译】点击此处查看作者更多好文