logo资料库

生成式对抗网络研究进展.pdf

第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
资料共14页,剩余部分请下载后查看
第 39 卷第 2 期 2018 年 2 月 通 信 学 报 Journal on Communications Vol.39 No.2 February 2018 生成式对抗网络研究进展 王万良,李卓蓉 (浙江工业大学计算机科学与技术学院,浙江 杭州 310024) 摘 要:生成式对抗网络(GAN, generative adversarial network)对生成式模型的发展具有深远意义,自提出后立 刻受到人工智能学术界和工业界的广泛研究与高度关注,随着深度学习的技术发展,生成式对抗模型在理论和应 用上得到不断推进。首先,阐述生成对抗模型的研究背景与意义,然后,详细论述生成式对抗网络在建模、架构、 训练和性能评估方面的研究进展及其具体应用现状,最后,进行分析与总结,指出生成式对抗网络研究中亟待解 决的问题以及未来的研究方向。 关键词:深度学习;生成式对抗网络;卷积神经网络;自动编码器;对抗训练 中图分类号:TP183 文献标识码:A doi: 10.11959/j.issn.1000-436x.2018032 Advances in generative adversarial network College of Computer Science and Technology, Zhejiang University of Technology, Hangzhou 310024, China WANG Wanliang, LI Zhuorong Abstract: Generative adversarial network (GAN) have swiftly become the focus of considerable research in generative models soon after its emergence, whose academic research and industry applications have yielded a stream of further progress along with the remarkable achievements of deep learning. A broad survey of the recent advances in generative adversarial network was provided. Firstly, the research background and motivation of GAN was introduced. Then the re- cent theoretical advances of GAN on modeling, architectures, training and evaluation metrics were reviewed. Its state-of-the-art applications and the extensively used open source tools for GAN were introduced. Finally, issues that re- quire urgent solutions and works that deserve further investigation were discussed. Key words: deep learning, generative adversarial network, convolutional neural network, auto-encoder, adversarial training 1 引言 近年来,深度学习在计算机视觉[1,2]、自然语言 处理[3,4]、语音[5]等多个应用领域中都取得了突破性 进展,其动机在于建立能够模拟人类大脑神经连接 结构的模型,在处理图像、文本和声音等高维信号 时,通过组合低层特征形成更加抽象的高层表示、 属性类别或特征,进而对数据进行层次化表达[6~8]。 深度学习的模型可大致分为判别式模型和生成式 模型,目前,深度学习取得的成果主要集中在判别 式模型,即将一个高维的感官输入映射为一个类别 标签[9,10],这些成果主要归功于反向传播(BP, back propagation)算法[11]和 Dropout 算法[12,13]对模型的 训练。著名物理学家 Richard 指出,要想真正理解 一样东西,我们必须能够把它创造出来。因此,要 想令机器理解现实世界,并基于此进行推理与创 造,从而实现真正的人工智能,必须使机器能够通 过观测现实世界的样本,学习其内在统计规律,并 基于此生成类似样本,这种能够反映数据内在概率 分布规律并生成全新数据的模型为生成式模型。 收稿日期:2017-05-24;修回日期:2018-01-17 基金项目:国家自然科学基金资助项目(No.61379123) Foundation Item: The National Natural Science Foundation of China (No.61379123) 2018032-1
·136· 通 信 学 报 第 39 卷 然而,相对判别式模型来说,生成式模型的研 究进展较为缓慢,究其原因主要是较高的计算复杂 度。典型的生成式模型往往涉及最大似然估计、马 尔可夫链方法、近似法等[14]。受限玻尔兹曼机(RBM, restricted Boltzmann machine)[15]及其扩展模型(如 深度置信网络[16]、深度玻尔兹曼机[17])采用最大似 然估计法,即令该参数下模型所表示的分布尽可能 拟合训练数据的经验分布。最直接的方法是利用梯 度上升法求得对数似然函数最大值,但由于样本分 布未知且包含归一化函数(也称配分函数)而无法 给出参数梯度的解析解,替代方法是基于采样构建 以数据分布为平稳分布的马尔可夫链,以获得满足 数据分布的样本,然后利用蒙特卡罗迭代对梯度进 行近似,这种方法计算复杂。变分自编码器(VAE, variational autoencoder)[18]采用近似法,其性能优 劣取决于近似分布的好坏,而该近似分布的假设需 要一定的先验知识,此外,由于受变分类方法的局 限,VAE 对概率分布的估计是有偏的,在学习过程 中 对 目 标 函数 下 界 而 不是 目 标 函 数进 行 逼 近 。 PixelRNN[19]是自回归模型的一种,将图像生成问题 转化为像素序列预测学习问题,假设每个像素的取 值只依赖于空间中某种意义的近邻,通过给定的像 素对每个像素的条件分布进行建模,采样效率较 低 。 上 述 生成 式 模 型 的复 杂 训 练 使之 只 能 生 成 MNIST[20]和 CIFAR-10[21]等简单数据集的图片,并 不适用于较大尺度的复杂图像。 生成式模型是一个极具挑战的机器学习问题, 主要体现在以下 2 点。首先,对真实世界进行建模 需要大量先验知识,建模的好坏直接影响生成式模 型的性能;其次,真实世界的数据往往非常复杂, 拟合模型所需计算量往往非常庞大,甚至难以承 受。针对上述两大困难,Goodfellow 等[22]提出一种 新型生成式模型——生成式对抗网络(GAN, gen- erative adversarial network),开创性地使用对抗训练 机制对 2 个神经网络进行训练,并可使用随机梯度 下降(SGD, stochastic gradient descent)实现优化。 这避免了反复应用马尔可夫链学习机制带来的配 分函数计算,不需变分下限也不需近似推断,从而 大大提高了应用效率[23]。尽管 GAN 从提出至今不 过两年半时间,但关注和研究热度急速上升,并已 从学术界延伸至工业界,Google、OpenAI、Facebook 和 Twitter 等知名人工智能企业纷纷投入大量精力 研究和拓展 GAN 的应用[24~27]。目前,GAN 已成功 应用于图像生成 [28~30]和视频生成 [31,32]领域,此 外,若干研究工作[33~35]已成功将 GAN 应用在强 化学习中。 本文论述了 GAN 在建模、架构、训练和性能 评估方面的最新研究进展及其具体应用现状,最后 进行分析与总结,指出生成式对抗网络研究中亟待 解决的问题。 2 生成式对抗网络 2.1 基本思想 受博弈论中二元零和博弈的启发,GAN 的框架 中包含一对相互对抗的模型:判别器和生成器。判 别器的目的是正确区分真实数据和生成数据,从而 最大化判别准确率;生成器则是尽可能逼近真实数 据的潜在分布。为了在博弈中胜出,二者需不断提 高各自的判别能力和生成能力,优化的目标就是寻 找二者间的纳什均衡。GAN 示意[36]如图 1 所示, 生成器(点划线框内的多层感知机)的输入是一个 来自常见概率分布的随机噪声矢量 z,输出是计算 机生成的伪数据;判别器(虚线框内的多层感知机) 的输入是图片 x(x 可能采样于真实数据,也可能采 样于生成数据),输出是一个标量,用来代表 x 是 真实图片的概率,即当判别器认为 x 是真实图片时 输出 1,反之输出 0[22]。判别器和生成器不断优化, 当判别器无法正确区分数据来源时,可以认为生成 器捕捉到真实数据样本的分布。 2.2 标准模型 1) 极大极小博弈 生成器和判别器可以是任意可微函数,因此, 可以利用随机梯度下降法(SGD)进行优化,而采 用 SGD 的前提是建立一个目标函数来判断和监视 学习的效果。由于判别器是一个二分类模型,因此, 可用交叉熵表示其目标函数,即 J D ( ) = − 1 E 2 1 E 2 x ( ) [ ( ) [ z x p ~ data z ~ p z D x log ( ) ] − log(1 − D G ( z ( ))) ] (1) 其中,E 是求期望,G 和 D 分别表示生成器与判别 器的可微函数,x 是真实数据样本,z 是随机噪声矢 量,G(z)是判别器的生成数据。式(1)第一项表示 D 判断出 x 是真实数据的情况,第二项则表示 D 判别 出数据是由生成器 G 将噪声矢量 z 映射而成的生成 数据。由于 G 与 D 进行二元零和博弈,因此,生 2018032-2
第 2 期 王万良等:生成式对抗网络研究进展 ·137· 图 1 GAN 示意 ) = − J G 成器 G 的目标函数 ( 优化问题可描述为如下极大极小博弈问题。 min max G D V D G J D ( E x p ~ = x ( ) ( ) data , ) 。因此,GAN 的 log ⎡ ⎣ ( log 1 ( ) D x ⎤ ⎦ ( D G − + ( ) z ) ) ⎤ ⎦ E z ~ p z ( ) z ⎡ ⎣ (2) 由于在训练初期缺乏足够训练,G 所生成的数 据不够逼真,因此,D 很容易就能将生成数据与真 实数据区分开来,导致 G 得不到足够梯度。因此, 文献[22]提出,通过最大化 logD(G(z))而不是最小化 log(1−D(G(z))来训练 G 是一个更好的策略。 2) 非饱和博弈 为了解决生成器的弱梯度问题,除了采用文 献[22]的方法外,还可以把极大极小博弈替换成非 饱和博弈,即 J D ( ) = − J G ( ) = − ⎧ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪⎩ 1 E 2 1 E 2 1 2 E x ( ) [ ( ) [ z x p ~ data z ~ p z log ( D G z ( )) z ~ p z ( ) z D x log ( ) ] − log(1 − D G ( z ( ))) ] (3) 换言之,G 用自己的伪装能力来表示自己的目标 函数,而不是简单直接地取 J(D)的相反数。从而均衡 不再完全由价值函数 min max V(G,D)决定,即使 D 准 确地拒绝了所有生成样本,G 仍可以继续学习。 2.3 泛化模型 Goodfellow 等[22]从博弈论的角度阐释了 GAN 的思想,即 GAN 的训练目标是使生成器 G 与判别 器 D 达到纳什均衡,此时,生成模型 G 产生的数 据分布完全拟合真实数据分布。若从信息论角度理 解,GAN 所最小化的实际上是真实数据分布和生成 分布之间的 Jensen-Shannon 散度。Goodfellow[37]认 为 Kullback-Leibler 散度比 Jensen-Shannon 散度更 适用于 GAN 的目标函数构建,Sønderby 等[38]和 Kim 等[39]基于 Kullback-Leibler 散度对 GAN 进行建 模,通过最小化两者之间的交叉熵进行训练。文献[40] 对 此 进 行 拓 展 , 提 出 的 f-GAN 将 基 于 Jensen- Shannon 散度的 GAN 建模泛化为基于 f-散度的优化 目标,从而将 Kullback-Leibler 等经典散度度量也包 含在 f-散度中。 2.4 网络结构实现 在生成器 G 和判别器 D 的网络结构方面,朴 素生成式对抗网络[22]通过多层感知机(MLP, mul- ti-layer perceptron)来实现。由于卷积神经网络 (CNN, convolutional neural network)较 MLP 有更 好的抽象能力,DCGAN[28]将朴素生成式对抗网络 的 MLP 结构替换为 CNN 结构,考虑到传统 CNN 所包含的池化层并不可微,DCGAN 用步进卷积网 络(strided convolution)及其转置结构分别实现判 2018032-3
·138· 通 信 学 报 第 39 卷 别器 D 和生成器 G,用于训练过程的空间降采样和 升采样。该研究工作提出了 GAN 架构下的一种具 体且有效的实现方式和经验指导,成为后续许多理 论研究和应用研究的基础。另外,朴素 GAN 的定 义域为实数且生成器 G 和判别器 D 均可微,这样 设计是为了根据 D 的梯度信息对生成数据进行微 调,从而提高生成数据质量。然而,当数据是离散 时此方式并不可行,这也是在自然语言处理中应用 生成对抗网络的主要障碍。为了生成离散序列, TextGAN[41]和 SeqGAN[42]等模型往往通过循环神 经网络实现判别器 D,通过 CNN 实现生成器 G。 3 GAN 的架构 3.1 条件生成式对抗网络 GAN 的最大优点体现在其对抗训练方式通过 对 p(x)直接采样来逼近真实样本,利用反向传播即 可获得梯度而不需复杂的马尔可夫链和推断过程, 从而大大简化了计算。然而,文献[22]使用 z 作为 先验,但生成式模型如何利用这个先验却是无法控 制的。换言之,GAN 的学习模式过于自由而导致 GAN 的训练过程和结果都不可控。为了提高 GAN 的稳定性,Mirza 等[43]提出条件生成式对抗网络 (cGAN, conditional GAN),将条件变量 y 作为模 型的附加信息以约束生成过程,这种条件变量可以 是类别标签甚至还可以是不同模态的数据。GAN 的 架构如图 2 所示。图 2(a)是 cGAN 的概念图,可以 看出,cGAN 在朴素 GAN 的基础上将条件变量 y 与 z 同时输入生成器 G 中,在判别器 D 中,真实样 本 x 和条件变量 y 同时作为判别函数的输入。因此, cGAN 的目标函数在朴素 GAN 的基础上进一步改 写为 min max G D (4) cGAN 需要同时对 z 和条件变量 y 进行采样, 其中,对随机噪声采样是简单的,但生成条件变量 则需多加考虑。最常见的一种方法是直接从训练数 据中获取条件变量,例如,文献[43]的条件变量采 用的是类别标签 y,其同时作为生成器和判别器的 附加输入层。然而,这种情况下生成器可能会记住 这些训练样本从而达到虚假的最优。针对这个问 题,Gauthier[44]提出在训练过程中基于训练样本的 条件变量值构造核密度估计(也称为帕尔森窗口估 ( D x y ( D G y log ⎡ ⎣ ( log 1 V D G ) ⎤ ⎦ ( z E E x p ~ ⎡ ⎣ ⎤ ⎦ ) = + − ) ) x ( ) z ( ) z ~ p z data ( , ) 计),对条件变量进行随机采样。文献[43]和文献[44] 都 是 以 类 别 标 签 作 为 条 件 变 量 , 与 之 不 同 , LAPGAN[45]和 GRAN[32]的条件变量是上一级所生 成的图片,利用前一步得到的生成结果进行训练, 相当于将复杂分布的建模问题转化为一系列简单 子问题,从而问题得以大大简化。金字塔中每一级 都通过使用 cGAN 来训练一个单独的生成性卷积网 络 Gi,以避免模型过拟合,这是 LAPGAN 的显著 特点和最大优势。StackGAN[46,47]本质上也是一种 cGAN,基于前一层所生成的分辨率较低图片及文 字信息生成分辨率较高的图片。 Chen 等[48]提出的 InfoGAN 是条件生成式对抗 网络中的另一重要模型。同样地,InfoGAN 的生成 器 G 的输入包含条件变量,不同的是,这个条件变 量是从噪声矢量中拆分出来的结构化隐变量。朴素 GAN 利用其唯一的输入信号z 能生成与真实数据相 一致的模型分布,然而人们并不清楚它究竟是如何 将 z 的具体维度与数据的有效语义特征对应起来 的,因此,也就无法通过控制 z 以生成期望的数据, 针对这个问题,InfoGAN 通过从噪声矢量中拆分出 结构化的隐变量,进而使生成过程具备可控性且生 成结果具备可解释性。具体地,InfoGAN 将朴素 GAN 中的 z 进行拆解,从而 InfoGAN 中输入的先 验变量可拆分为:1)一组用于表示数据语义特征 的结构化隐变量,用 c 表示这部分具有可解释性的 先 验 , 例 如 , 对 于 MNIST 数 据 集 来 说 , 可 用 c1,c2,…,cL 表示光照方向、笔画粗细和字体的倾斜角 度等;2)不能再压缩的、无法描述的非结构化噪 声矢量 z,将 z 和 c 同时输入生成器,如图 2(b)所示。 根据信息论,互信息 I(x;y)度量了 y 的信息对 x 不确 定性的减少量,因此,为了学习重要的语义特征, 可通过最大化隐变量 c 和生成分布 G(z,c)的互信息 I(c;G(z,c))使生成过程中的重要特征在生成过程中 得到充分学习。InfoGAN 的价值函数为 V D G V D G min max ( I G c G c z ( , )) (5) I( ; λ = − ) ( ) , , D 利用结构化隐变量 c 的可解释性,InfoGAN 能 控制生成样本在某个特定语义维度的变化,从而使 生成器能生成更符合真实样本的结果。通过引入变 分分布逼近真实样本分布,并与互信息下限的优化 进行交替迭代,从而实现具体优化。 3.2 双向生成式对抗网络 GAN 通过将简单的隐变量分布映射至任意复 2018032-4
第 2 期 王万良等:生成式对抗网络研究进展 ·139· 图 2 GAN 的架构 杂的数据分布来生成令人信服的自然图像[28,45],这 表明 GAN 的生成器能对隐空间中的数据分布进行 语义线性化,学习到隐空间中数据的良好特征表 达。然而,GAN 缺少一种有效的推断机制,未能学 习从数据空间映射至隐空间的逆映射[49]。为解决这 个问题,Donahue 等[50]和 Dumoulin 等[51]将单向的 GAN 变为双向的 GAN,从而既能进行有效推断又 保证了生成样本质量。Donahue 等[50]提出的双向生 成式对抗网络(BiGAN, Bidirectional GAN),除了 学习标准 GAN 中的生成器 G 和判别器 D 外,还学 习了一个将数据映射至隐式表达的编码器 E,如 图 2(c)所示。Dumoulin 等[51]提出的 ALI 与 BiGAN 一样,通过编码器 E 学习到的特征表达有助于训练 判别器 D,通过同时训练编码器和解码器以迷惑生 成器,使判别器难以区分究竟是真实样本及其编码 还是生成样本及其隐变量,换言之,双向生成对抗网 络的生成器判别的是联合样本(x, z)而不是样本 x。 3.3 自编码生成式对抗网络 基于变分自动编码器的生成模型[15]能学习一 种可以用于半监督学习或图像修复等辅助任务的 近似推断机制,但该方法的最大似然训练模式会使 生成样本比较模糊[52]。而基于 GAN 的生成模型虽 然生成样本质量更优,但缺少一种有效的推断机 制[53]。Larsen 等[54]将 VAE 和 GAN 并入同一个无监 督生成模型中,当将编码器和解码器看作一个生成 模型整体时,这个生成模型和判别器构成了扩展的 生成式对抗模型;若将解码器和判别器看作一个整 体时,这个整体相当于解码器,并与编码器共同构 成了扩展的自编码器,因此,该模型结合了 GAN 和 VAE 的优点。Che 等[55]在此基础上提出将 VAE 的重构误差作为遗失模式的正则项,进而提高 GAN 的稳定性和生成样本质量。对抗自编码器(AAE, adversarial autoencoder)[56]将利用自编码器得到的 重构误差和对抗训练得到的隐变量与目标分布之 间的误差进行组合,从而既能通过自编码器进行推 断又能得到结构化的隐变量。 3.4 组合生成式对抗网络 通过对朴素 GAN 进行堆叠、平行或相互反馈, 来调整 D 和 G 的组合方式。Wang 等[57]提出 GAN 的自组合和级联组合,前者对经过不同迭代次数的 同一模型进行组合,既充分利用模型组合的效果又 可避免其带来过多额外计算,后者将多个不同的 cGAN 进行级联,通过门函数将未被充分利用的训 练数据传入下一个 GAN 进行重复使用,如图 3(a) 所示。Liu 等[58]提出的 CoGAN 包含一对 GAN,每 个 GAN 负责生成一个领域的图片,如图 3(b)所示。 在训练过程中,共享生成器低层和判别器高层的参 数,共享的参数使这一对 GAN 所生成的图片相似, 其余不共享的参数使每个 GAN 所生成的图片不完 全相同。Im 等[59]提出生成式对抗的平行化 GAP, 即不让判别器与固定且唯一的生成器进行对抗训 练,而是同时训练几组 GAN,并令每个判别器周期 性地与其他 GAN 的生成器进行对抗训练,如图 3(c) 所示。GAP 适用于 GAN 的任何扩展模型,因此, 可将 GPU 分配给不同的 GAN 衍生模型(如 DCGAN 和 LAPGAN)进行并行计算。并行对抗训练能增加 判别器所处理的模式数量,从而有效避免模式坍塌 问题,因此,可将 GAP 视为正则化手段。Zhu 等[60] 提出的 CycleGAN 包含 2 个判别器 Dx 和 Dy,用于 鼓励图片在 2 种不同风格之间的迁移。Li 等[61]提出 TripleGAN,在生成器 G 和判别器 D 的基础上额外 增加一个分类器 C,G 和 C 的目的都是使 D 难辨真 假,C 的引入避免了判别器 D 既需判别生成样本又 需对生成样本进行分类。 2018032-5
·140· 通 信 学 报 第 39 卷 Dk 图 3 GAN 的不同组合方式 4 训练与评估 4.1 训练机制 GAN 的训练可采用交替优化方法,即固定 G 的参数以更新 D 的参数,然后固定 D 的参数以更 新 G 的参数。Goodfellow 等[22]指出,当生成器 G 固定时,存在唯一的最优判别器 D*= ;当 p data p +g data p pg=pdata 时,生成器 G 达到最优,此时 D*=0.5,即 最优判别器 D*无法区分真实数据与生成数据。在 训练过程中如何平衡生成器 G 和判别器 D 非常关 键,理论上,当固定生成器的参数时,判别器的参 数不断更新直至最优,然而在实际应用中,往往判 别器 D 的参数更新 k 次后,生成器 G 的参数才更新 一次。 GAN 的判别器 D 和生成器 G 都是可微函数, 因此,可用随机梯度下降进行训练。在判别器 D 接 近最优时,生成器 G 的损失函数 Ez[log(1−D(G(z))] 实 质 上 是 最 小 化 真 实 分 布 和 生 成 分 布 之 间 的 Jensen-Shannon 散度。然而,当真实分布和生成分 布的支撑集是高维空间中的低维流形时,这 2 个分 布 的 重 叠 部 分 测 度 为 零 的 概 率 为 1 , 此 时 , Jensen-Shannon 散度是常数 log2,导致训练梯度消 失 。 针 对 这 个 问 题 , Arjovsky 等 [62] 提 出 Wasserstein-GAN(WGAN),用 Wasserstein 距离 代替 Jensen-Shannon 散度来衡量真实分布和生成分 布的距离。由于 Wasserstein 距离较 Jensen-Shannon 散度具有更佳的平滑性,解决了梯度消失问题,因 此,理论上 WGAN 彻底解决了训练不稳定问题。 而且,Wasserstein 距离的连续性和可微性能够提供 持续的梯度信息,因此,WGAN 不要求生成器 G 与 判 别 器 D 之 间 严格平 衡 。WGAN 中 用 一 个 Lipschitz 连续性约束对应着 GAN 判别器 D 的批评 函数 f,在如何进行 Lipschitz 约束的问题上,WGAN 采用了权值截断,然而,带有权值截断的优化器会 在一个比 1-Lipschitz 小的空间中搜索判别器,导致 判别器偏向非常简单的函数,此外,截断后梯度在 反向传播过程中会出现梯度消失或弥散。针对这个 问题,Gulrajani 等[63]提出用梯度惩罚代替权值截断 来进行 Lipschitz 约束,以获得更快的收敛速度和更 高的生成样本质量。此外,朴素 GAN 没有对生成 分布做任何假设,要想拟合任意分布必须给判别 器 D 引入无限建模能力,而这容易导致过拟合。 Qi 等[64]对判别器的无限建模能力进行约束,通过将 损失函数限定在满足 Lipschitz 连续性约束的函数 类上并使用(真实样本,生成样本)这样的成对统 计量来学习批评函数 f,迫使两者之间必须配合, 从而实现建模能力的按需分配。 上述研究工作的共同之处在于梯度信息是一 阶的,Metz 等[65]提出在训练时对判别目标函数进行 展开优化,即生成器当前决策是基于判别器因该决 策而采取的后续 k 个决策而生成的,这个方法在本 质上是用二阶甚至高阶梯度指导生成器的训练。在 标准 GAN 的训练中,生成器和判别器的参数更新 都是在其他模型参数固定的前提下对自身参数使 用梯度下降法进行更新,而该研究工作中提出的代 理损失函数使得模型参数基于其他模型参数的变 化而进行更新,具体地,在对生成器使用梯度下降 法进行参数更新后,基于判别器的后续 k 步参数更 新再去调整生成器的梯度。这种额外的信息能使生 成器的概率分布更加平均,从而判别器的下一步不 易坍塌至某一个点,但由于对判别目标函数的展开 优化涉及二阶甚至高阶梯度,因而计算非常复杂。 4.2 训练技巧 GAN 的训练技巧研究大大加快了 GAN 的研究 和应用进展,目前,研究工作[24]是围绕训练技巧展 2018032-6
第 2 期 王万良等:生成式对抗网络研究进展 ·141· 开的,此外,也有很多研究工作[28,38]提出了针对具 体训练问题的技巧,本节将对常用的训练技巧进行 简单介绍。 仅以最大化判别器的输出为优化目标容易导 致 判 别 器 过 训 练 ,Salimans 等 [24]提 出 特 征 匹 配 (feature matching),将判别器学到的特征作为生成 器附加信息,以使生成样本尽量匹配这些统计特 征,此时判别器的作用是指出能有效区分真假数据 的特征。与其他机器学习算法一样,GAN 所得到的 标签最好是经过平滑处理的,例如,将用 0 和 1 表 示类别的离散标签替换为更加平滑的 0.1 和 0.9。标 签平滑最近被证明能有效降低对抗样本对神经网 络的干扰[66],对于 GAN 而言,标签平滑能避免判 别器向生成器传递过大的梯度信号,从而防止算法 坍塌至极端样本。经标签平滑处理的最优判别器从 原来的 D*= 变为 D*= , p α data p data p β+ model p + model p data p + model p data 然而,这带来了新问题:由于 pmodel 出现在分子中, 当 pdata 接近 0 而 pmodel 较大时,pmodel 所生成的样本 便不会趋向真实样本。因此,Salimans 等[24]提出单 边标签平滑,仅对真实样本的标签进行平滑,而生 成样本的标签始终设为 0。然而,Sønderby 等[38]认 为标签平滑在贝叶斯最优分类器不唯一时并不奏 效,进而提出在样本中而不是标签中加入噪声。加 入噪声后贝叶斯最优判别器是唯一的,由于训练分 布变宽,判别器不易过拟合,从而可对判别器进行 更多次训练。 Ioffe 等[67]提出的批归一化(BN, batch nor- malization)每次取一批而不是单独一个数据进行归 一化,从而使数据变得更加集中,利用批归一化是 GAN 的常用训练技巧之一。例如,Springenberg 等[68] 在判别器的所有层以及生成器除最后一层外的所 有层中均采用了批归一化,使激活值产生边界,有 效防止了生成器的模式震荡并改善了判别器的泛 化性能;此外,批归一化在 DCGAN[28]中的使用明 显改善了网络的优化。然而,批归一化难免使网络 的输出高度依赖于与输入数据 x 位于同一批的其余 数据,那么,当批内数据过于相似时,对生成器的 输入进行批归一化会导致生成图片内出现强相关。 针对这个问题,Salimans 等[24]提出“参照批归一化”, 即取一批固定数据作为参照数据集,待处理的输入 数据依据参照数据集的均值和标准差进行批归一 化,而这种方法的缺陷在于归一化效果依赖于参照 数据集的选取。鉴于此,进一步提出“虚拟批归一 化”[24],在对输入数据进行归一化时,将输入数据 加入参照数据集中形成新的数据集——虚拟数据 集,对此数据集进行批归一化处理,能有效避免生 成数据与参照数据过于相似。由于虚拟批归一化需 对 2 批数据进行前馈计算,开销较大,故只在生成 器中使用。 4.3 模型评估 常见的生成式模型评价指标有平均对数似然、 核密度估计和生成样本的视觉保真度[37,52],这些方 法分别适用于不同的生成式模型,而对 GAN 目前 仍没有一个标准的定量评估指标。文献[22,43]通过 帕尔森窗口法对 GAN 进行评估,帕尔森窗口法是 一种非参数的密度函数估计方法,既不需利用样本 分布的先验知识,也不需对样本分布作任何假设, 是一种从样本出发研究数据分布的方法。然而当数 据的维度很高时,即便大量的样本也不能保证通过 帕尔森窗口估计可逼近模型的真实分布,样本维数 越高,采用帕尔森窗口估计的效果越差。文献[45] 提出了人工检视,通过 AMT(amazon mechanical turk)平台让人类标注者判断所见图片是真实样本 还是生成样本。这种情况下,标注者充当着判别器 的角色,而生成器是经过训练的 GAN,当标注者获 得反馈信息时,判别的准确性会极大地提高。 人工检视的问题在于成本高昂和主观性强,为 降低人工检视所需的实验成本,Salimans 等[24]提出 一种与人工检视高度相关的替代方法将人工检视 过程自动化,由于该评价方式是基于 Inception 模型[69] 的,因而取名为 Inception 得分。基于 Inception 得 分的强分类器能以较高置信度生成优质样本,然而 仅当样本足够多时,Inception 得分才能有效评价生 成样本的多样性。Che 等[55]进一步指出,假设一个 生成器能生成很好的样本而这些样本都是同一种 模式的,这种情况下,尽管生成器发生了模式坍塌, 但它依然能够获得很高的 Inception 得分。因此,对 于有标签的数据集,Che 等[55]提出一种“MODE 得 分”来同时评价视觉保真度和样本多样性。 文献[28]提出基于分类性能对模型进行评估, 这种方法最突出的问题是评估结果高度依赖于分 类器的选择。例如,文献[28]中采用最近邻分类器, 而欧氏距离对图像来说并不是一种很好的相似性 度量。Im 等[59]提出一种针对 GAN 的评估方法 GAM (generative adversarial metric),令 2 组 GAN 互相 2018032-7
·142· 通 信 学 报 第 39 卷 竞争、互为评委。尽管 GAM 是一个有效的评估标 准,但是 GAM 要求相互比较的判别器在留存测试 数据集的误差率不相上下,然而,对于进行并行对 抗训练的模型,其判别器的泛化性会有明显提升, 致使并行训练与非并行训练的模型之间错误率差 别较大,从而无法使用 GAM 对模型进行评估,鉴 于此,Im 等[59]进一步提出了 GAM Ⅱ,去除 GAM 的上述限制,仅度量这些判别器的平均(或者最差) 错误率。 5 GAN 的应用 GAN 作为一种生成式模型,最直接的应用就是 数据生成,即对真实数据进行建模并生成与真实数 据分布一致的数据样本[14],如图像、视频、语音、 自然语言文本等。此外,GAN 还可用于机器学习中 的半监督学习。本节将从计算机视觉、语言与语音、 半监督学习以及其他领域对GAN 的应用进行介绍。 5.1 计算机视觉领域 目前,GAN 应用最成功的领域是计算机视觉, 包括图像和视频生成,如图像翻译[30,60,70~72]、图像 超分辨率[26]、图像修复[73]、图像上色[74]、人脸图像 编辑[75~80]以及视频生成[31,32]等。 文献[60,70,72]将 GAN 应用于图像翻译,例如, 根据轮廓图像生成照片、根据白天图像生成对应夜景 等,如图 4 所示[70]。Zhu 等[71]进一步将图像翻译拓展 使多模态图像翻译,大大增加了生成图像的多样性, 如图 5 所示。除了从二维图像到二维图像的翻译外, Gadelha 等[30]提出的 PrGAN 能够以一种完全无监督 的训练方式将给定的一系列甚至是一张 2D 图像翻译 为该物体的 3D 体素形状和深度信息。 Ledig 等[26]提出一个用于超分辨率的生成式对抗 网络 SRGAN,该模型的目标函数由对抗损失函数和内 容损失函数共同构成,其中,对抗损失函数通过训练 判别器区分真实图片和由生成器进行超分辨重构的图 片,从而能够学习自然图片的流形结构,通过峰值信 噪比和结构相似性等指标对重建图像进行评估,结果 表明 SRGAN 的效果比现有最先进的采用深度残差网 络优化均方差更接近高分辨率原图。Pathak 等[73]将 cGAN[43]应用到图像修复,以图像缺失部分的周边像素 为条件训练生成式模型,生成完整的修复图像,利用对 抗思想训练判别器对真实样本和修复样本进行判断,经 对抗训练后,生成器所生成的修复图像与遮挡区块周边 是连贯的,而且是符合语义的,如图 6 所示[73]。人脸 图像去遮挡是图像复原的延伸应用,Zhao 等[81]训练判 别器区分真实无遮挡人脸图像和基于有遮挡图像而复 原的人脸图像,能有效移除人脸图像中的遮挡物并用 于人脸识别。文献[75~80]将 GAN 应用于人脸图片编 辑。GAN 除了能够生成高质量的自然图像(例如手写 字体[22]、卧室[28,82]、人眼[83]和人脸[84]等)外,还能生 成抽象的艺术作品[85]。 (a) 根据轮廓图像生成照片 (b) 根据白天图像生成对应夜景 图 4 图像翻译 (a) 输入 (b) 多模态输出 图 5 多模态图像翻译 2018032-8
分享到:
收藏