◆王琳皓 李丹
改进的GAN技术在图对图迁移学习中的应用
◆王琳皓 李丹
(四川大学锦城学院计算机与软件学院 四川 611731)
生成的对抗性网络GAN在近年的技术上突破了越来越多,被人们称为“下一代深度学习”,可见其重要程度。本文是针对GAN网络的技术问题进行了改良以及应用到制作生成性对抗网络(GANs)框架上的各个新型架构特点与训练过程。我们主要采用了启发式激励技术(特征匹配、虚拟批标准化等),对图像质量的评价这两类技术来对原网络进行改进,并且将其应用在加州理工大学ucsd的Birds 6*6数据集来达到新的实验目的。
改进的GAN;新数据集;启发式激励技术;图像质量评价
生成性质的对抗模型网络(generative adversarial networks,GANs)是一种基于线性博弈法理论的网络生成的线性对抗模型,也是机器人深度学习网络技术。GAN的设计作用和生成目的主要在于让它形成一个g(z;(g))噪声生成器被动网络,该生成g(z;(g))被动网络作为噪声生成器,把一个噪声对于z的一个矢量函数变化转换成噪声x=g(z;(g)),以便从这个数据分布中的pdata(x)中得到噪声样本。g的模拟训练网络信号从被网络识别的模拟网络信号d(x)中开始提供,该被网络识别的模拟网络信号d(x)被用来进行网络训练以识别分布模型Pmodel(x)的生成数据和实际数据。然后,将其训练完毕后转换为欺骗识别器,并由此接收到的输出信号为真。GAN的一种最新研究结果表明,它可以制备和研发出优质的样品。然而,GAN的驱动方式需要一种具有高维连续参数的非凸对策纳什均衡,而不是要求游戏的纳什均衡,它通常是由梯度下降技术形成,以求成本函数的低值。这些算法在寻求纳什均衡时可能无法收敛[1]。本文将介绍一些促进GANs在游戏中收敛的技巧。这些技术的动机是对非收敛性问题的启发式理解。我们希望这其中的一些技术能够为今后的工作奠定基础,为整合提供正式的保障。
在关于人工智能研究的搜索方法中,这种启发式的技术是比较流行的,比如常见的a*算法,a*启发式算法被广泛应用于电子游戏,计算机游戏AI设计等,启发式算法可以在合理评估函数下具有良好的性能。但启发式搜索需要定义准确评价函数,在环境未知的复杂状态下很难做到。通过激励函数鼓励学习,可以有效地让代理人在与网络环境的相互交流中准确地判断其行为的优劣,好处是不必在事前知道网络环境的模型,适合于在线学习,提供了一种有效实用的方法。
激励性学习法是近年来被研究比较多的一种机器学习方式,其与传统的监督性学习法有所不同。在我们鼓励学习的整个过程中,智能不是以谁做的哪个动作最好为主要被告,不是为了让你与环境进行互动,而是反复试错,从环境中获取奖罚信息,积累教育经验,让你可以自己去判断谁做的动作最好,这些都是如何启发学习最有趣和吸引力的事情。事实证明,在复杂的决策体系中,关于环境预先知识的信息比较少,而且对学习者进行监督可能已经成为了不可能。因此重复学习的反复试验和自我学习的方法——激发学习是必须的。学习在许多方面都取得了良好的成效。
训练GAN网络其中包含寻找一个二人非合作博弈的纳什均衡。每一个参与者都希望将自己的代价函数最小化,J(D)(θ(D),θ(G))为判别器,J(G)(θ(D),θ(G))为生成器。纳什均衡是一个点(θ(D),θ(G)),使J(D)相对于θ(D)最小,J(G)相对于θ(G)最小。不幸的事情就是,找到纳什均衡方法是一个极其困难的问题。对于特殊情况下可能存在的算法,但我们并没有知道任何一种可行的算法都可以广泛应用于GAN博弈,其中代价函数都是非凸的,参数都是连续的,参数空间也都是非常高维的。
我们将每个参与者的代价最小化后,纳什均衡就会出现,这样的做法直观地激发了使用传统的基于梯度的最小化技术并且同时把每一个参与者的成本最小化的想法。但是这样做有一个缺点,对θ(D)的修正减小了J(D),但是会增加J(G),对θ(G)的修正减小了J(G)却增加J(D),导致梯度下降在很多游戏中最终无法收敛。让f(x)表示判别器中间层上的激活,我们对生成器的新目标定义为||Ex∼p dataf(x)−Ez∼pz(z)f(G(z))||22.,判别器,也就是f(x),按照通常的方式进行训练。与常规GAN训练一样。因此,目标有一个固定的点,生成器被定义为:||E x∼p data f(x−E z∼p z(z)f(G(z))|| 2f(x),以通常的方式进行训练。和其他常规GAN训练一样,目标具有一个固定的点,其中g精准地匹配了训练后的数据。虽然我们无法在该实验过程中得到保证,但是我们已经做出了很多的经验结果,表明特征匹配对于在常规GAN变得不稳定时更加有用。
神经网络的改进比较典型的要属批处理归一化,这一操作可以对原网络极大地优化,并被证明是高效率的dcgans。然而,其示例的输入x0会导致神经网络输出将相同一批处理器中的另外几个输入x0作为自己的依赖元素。我们引入了一种虚拟批标准化(vbn)这种方法可以很大程度上避免上述问题。其中,每个示例x都是根据在训练的开始时选择并固定在参考批的示例上所搜集的统计信息和x本身做归一化。引用批只是使用它自己的统计信息来对其做规范化。VBN在计算上是昂贵的,因为它需要在两个小批数据上运行前向传播,所以我们只在生成网络中使用它。
由此产生的生成性对抗网络缺乏目标功能,很难比较不同模型的性能。通过判断注释器的视觉质量来判断样本,一个直观的性能指标。我们使用亚Amazon Mechanical Turk(MTurk)来自动化这个过程,我们使用它来指示注释器来区分生成的数据和实际数据。使用手动注释器的一个缺点是,度量因任务设置和注释器的动机而不同。我们还发现,当向注释者提供关于其错误的反馈时,结果会发生巨大的变化:通过从这些反馈中学习,注释者能够更好地显示生成的图像中的缺陷,并给出更悲观的质量评估。我们提出了一种自动评价样本的方法,可以发现它与人类评估有很好的相关性:将初始模型适用于生成的每一张图像,以便于获得标签p(yx)的各种条件分布。包含一个有意义的对象在其中的图像必须要求是具有较低熵。此外,我们期望模型产生不同的图像,所以边缘rp(yx=g(z))dz应该有一个高熵,通过结合这两个要求,我们提出的度量是:exp(exkl(p(yx)p(y)),其中我们将结果指数化,使值更容易比较。我们发现在数量足够多的样本上对这一度量进行评估是很重要的,因为这是作为衡量该指标多样性的一部分。
我们使用加州理工大学ucsd的Birds 200数据集,将每个数据集(图像、文本嵌入)转换为hd5格式。使用了其中前100组图片(见:https://github.com/reedscot/cvpr2016;https://github.com/reedscot/icml2016;GitHub-aelnouby/Text-to-Image-Synthesis:Pytorch implementation of Generative Adversarial Text-to-Image Synthesis paper)。
在数据集的运行过程中由于原文作者的运行环境和技术都与我们的有所不同,所以我们针对改进的GAN技术对代码做出了一些调整及改进。
我们首先考虑了学习率的提高方法,进过多次实验发现将学习率从0.0002提高一倍到0.0004时会对结果产生较为显著的提高。第二个遇到的问题是visdom在kaggle上面无法使用,所以需要针对已有的版本在kaggle上面进行虚拟环境的配置。由于Visdom采用的是0.1.8版本,所以我们在虚拟环境配置路径上选择指定安装包环境,然后上传数据集,等待结果运行出来后和本地的pycharm代码配套使用(PyCharm可以使用virtualenv中的功能来创建虚拟环境)。最后一个是函数不匹配的问题,kaggle运行环境不支持源代码的函数(包的IP不支持)所以我们根据当前虚拟环境进行了修改。
GAN可以完成分布之间的迁移学习,同理可以将其应用到图片的迁移中。
本文所提出的改进技术直观地应用到如图1所示场景:给定图A和图B,通过特定的算法将A的风格迁移到B上,以此来实现图片之间的风格转换,总结为图到图的翻译(风格迁移)。本质上是一个分布向目标分布的一个映射。
其运行后的结果如图2所示。生成的对抗网络被认为是一种很有前途的生成模型,到目前为止,被不稳定的培训和缺少适当评估度量而严重妨碍。本次研究工作从理论层面提出了该两个问题的一个部分解决办法。我们已经提出几种新的技术来进行稳定性的训练,使我们可以训练以前没有办法进行训练的模型。此外,我们所研究的评价度量(初始得分)也为我们对这些评价度量的比较提供了依据。我们将科学技术运用到半监督式学习的课程中来,在计算机和视觉领域中的许多不同类别的数据集上获得了最先进的研究结果。在这项任务中所做出的努力和贡献都是实践中的,我们期待着在未来工作中发展更加严谨的理论认识。
图2 birds*6*6运行结果
[1]Christian Szegedy,Vincent Vanhoucke,Sergey Ioffe,Jonathon Shlens,and Zbigniew Wojna. Rethinking the inception architecture for computer vision. arXiv preprint arXiv:1512.00567,2015.
[2]Jost Tobias Springenberg.Unsupervised and semi-supervised learning with categorical generative adver-sarial networks. arXiv preprint arXiv:1511.06390,2015.
[3]Martin Abadi,Ashish Agarwal,Paul Barham,et al.TensorFlow:Large-scale machine learning onhet-erogeneous systems,2015.Software available from tensorflow.org.
[4]刘桥平,邱昕,郭瑞.基于深度神经网络的自动调制识别[J].电子设计工程,2019(23).
[5]张婷婷,方宇强,韩蕾.基于深度残差网络的自动调制识别方法研究[J].计算机仿真.,2021(01).