CN111882026B - 通过潜在空间正则化对无监督式生成对抗网络进行优化 - Google Patents

通过潜在空间正则化对无监督式生成对抗网络进行优化 Download PDF

Info

Publication number
CN111882026B
CN111882026B CN202010283857.4A CN202010283857A CN111882026B CN 111882026 B CN111882026 B CN 111882026B CN 202010283857 A CN202010283857 A CN 202010283857A CN 111882026 B CN111882026 B CN 111882026B
Authority
CN
China
Prior art keywords
output
generator
discriminator
encoder
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010283857.4A
Other languages
English (en)
Other versions
CN111882026A (zh
Inventor
钟声
周世付
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dayin Network Technology Shanghai Co ltd
Original Assignee
Dayin Network Technology Shanghai Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dayin Network Technology Shanghai Co ltd filed Critical Dayin Network Technology Shanghai Co ltd
Publication of CN111882026A publication Critical patent/CN111882026A/zh
Application granted granted Critical
Publication of CN111882026B publication Critical patent/CN111882026B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/002Image coding using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)

Abstract

本发明提出了一种训练生成对抗网络(GAN)中的发生器G的方法,包括发生器G在接收到第一输入Z之后随即生成第一输出G(Z);GAN的编码器E在接收到第一输出G(Z)作为输入之后随即生成第二输出E(G(Z));G在接收到第二输出E(G(Z))作为输入之后随即生成第三输出G(E(G(Z)));E在接收到第三输出G(E(G(Z)))作为输入之后随即生成第四输出E(G(E(G(Z))));训练E最小化第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的差;以及使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束对发生器G的训练。G(Z)是Z的环境空间表示。E(G(Z))是G(Z)的潜在空间表示。G(E(G(Z)))是E(G(Z))的环境空间表示。E(G(E(G(Z))))是G(E(G(Z)))的潜在空间表示。

Description

通过潜在空间正则化对无监督式生成对抗网络进行优化
相关申请的交叉引用文件
本专利申请要求2019年5月2日提交的第62/842,125号美国临时专利申请,以及2019年10月23日提交的第16/661,982号美国正式专利申请的优先权,其全部内容通过引用的方式纳入本文。
技术领域
本发明涉及生成对抗网络(GAN),具体领域为GAN的训练方法。
背景技术
机器学习涉及到计算机在没有明确指令的情况下学习如何执行任务。计算机根据样本数据来构建(如推断出)用于执行任务的模型。当计算机接收到新数据时将使用该模型来执行任务。所述任务可以是分类任务、预测任务、推理任务等。
生成对抗网络(GAN)是可用于生成新数据的一类机器学习系统。例如,GAN可用于生成新图像。例如,在超分辨率领域中,GAN可用于通过低分辨率图像来生成高分辨率图像。例如,在修复领域中,GAN可用于重建图像和/或视频中的丢失或受损部分。GAN还可以用在许多其他应用中,例如用于生成逼真的域特定图像(即生成看起来像是真实的图像)。
发明内容
一方面,本发明提出了一种对生成对抗网络(GAN)中的发生器G进行训练的方法。该方法包括发生器G在接收到第一输入Z后随即生成第一输出G(Z);GAN的编码器E在接收到第一输出G(Z)作为输入后随即生成第二输出E(G(Z));发生器G在接收到第二输出E(G(Z))作为输入后随即生成第三输出G(E(G(Z)));编码器E在接收到第三输出G(E(G(Z)))作为输入后随即生成第四输出E(G(E(G(Z))));对编码器E进行训练以最小化第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的差;并使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束对发生器G的训练。第一输出G(Z)是第一输入Z的第一环境空间表示。第二输出E(G(Z))是第一输出G(Z)的第一潜在空间表示。第三输出G(E(G(Z)))是第二输出E(G(Z))的第二环境空间表示。第四输出E(G(E(G(Z))))是第三输出G(E(G(Z)))的第二潜在空间表示。
第二方面,本发明提出了一种用于训练生成对抗网络(GAN)的发生器G的设备。该设备包括一台处理器和一个存储器。处理器被配置为执行存储在存储器中的指令,以使得发生器G在接收到第一输入Z后随即生成第一输出G(Z);编码器E在接收到第一输出G(Z)作为输入后随即生成第二输出E(G(Z));发生器G在接收到第二输出E(G(Z))作为输入后随即生成第三输出G(E(G(Z)));编码器E在接收到第三输出G(E(G(Z)))作为输入后随即生成第四输出E(G(E(G(Z))));对编码器E进行训练以最小化第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的差;并使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束对发生器G的训练。第一输出G(Z)是第一输入Z的第一环境空间表示。第二输出E(G(Z))是第一输出G(Z)的第一潜在空间表示。第三输出G(E(G(Z)))是第二输出E(G(Z))的第二环境空间表示。第四输出E(G(E(G(Z))))是第三输出G(E(G(Z)))的第二潜在空间表示。
第三方面,本发明提出了一种用于样式转换的方法。该方法包括:由发生器G接收包含有第一位参与者的源图像的相应输入;然后从发生器G输出一幅输出图像,在输出图像中第一位参与者的图像经过了修改。使用生成对抗网络(GAN)通过以下步骤训练发生器G:发生器G在接收到第一输入Z后随即生成第一输出G(Z);编码器E在接收到第一输出G(Z)作为输入后随即生成第二输出E(G(Z));发生器G在接收到第二输出E(G(Z))作为输入后随即生成第三输出G(E(G(Z)));编码器E在接收到第三输出G(E(G(Z)))作为输入后随即生成第四输出E(G(E(G(Z))));对编码器E进行训练以最小化第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的差;并使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束对发生器G的训练。第一输出G(Z)是第一输入Z的第一环境空间表示。第二输出E(G(Z))是第一输出G(Z)的第一潜在空间表示。第三输出G(E(G(Z)))是第二输出E(G(Z))的第二环境空间表示。第四输出E(G(E(G(Z))))是第三输出G(E(G(Z)))的第二潜在空间表示。
附图说明
在阅读以下详细描述时参考附图将有助于更好地理解本发明的内容。需要强调的是,根据惯例,图示中各个部分并不是按比例绘制的。相反,为表述清楚起见,已对各个不同部分的尺寸进行任意扩大或缩小。
图1是一个通用的生成对抗网络(GAN)的示例图。
图2是一个可以用于实现神经网络的计算设备的示例框图。
图3是一个GAN生成的数据所产生的一个问题的示例图。
图4是一个图像流形和图像流形的潜在空间的示例图。
图5A-5B是根据本发明实施例所绘制的包含一个编码器的GAN架构的示例图。
图6是根据本发明实施例所绘制的训练生成对抗网络(GAN)的方法的示例流程图。
具体实施方式
深度神经网络(DNN)已被应用于诸多领域,尤其用于解决诸如图像识别和图像生成之类的计算机视觉问题。特别是卷积神经网络(CNN)已经被广泛使用并且已在这些领域中取得了尖端科研成效。
深度CNN模型通过诸如滤波、跨步、池化和非线性整流等操作来提取图像特征。CNN层越深这些特征就越抽象。这些特征(称为潜在空间特征)被送到网络的最底层以执行计算机视觉任务,如对象检测、图像分类、图像分割、图像注释和图像生成等。人们已经提出了许多模型架构来改善诸如准确性等各方面性能。
生成对抗网络(GAN)可用于学习数据分布,例如真实图像的数据分布。基于学习可以生成新图像。更具体地说,GAN的发生器G学习关于真实数据底层的真实数据分布,然后试着生成看起来像真实样本的样本。
GAN网络的一个问题在于所生成的数据(如生成的图像)可能包含不需要的伪像,例如失真或不自然的图像结构,例如图3所述情况。导致这种伪像的原因至少部分是由于缺乏明确的潜在空间优化。CNN的深层潜在空间特征可能难以理解和/或操纵。CNN的最终性能通常是许多反复试错试验的结果。许多实验的设计并没有就如何获得网络体系结构和/或目标功能以取得更好的结果有明确的规划。另外,很多这样的实验所取得的改进(例如:所生成图像的真实性、分类的准确性等)通常非常有限或不甚理想。
本公开所述的实施例和GAN架构可用于消除或至少减少这些伪像。因此,发生器G可以生成更逼真和无伪像的数据。
本公开所述的实施例和GAN架构在本公开所述的GAN架构的训练中采用了利普希茨连续条件(Lipschitz Continuity Condition)。利普希茨连续条件可用于在GAN架构中引入编码器E。编码器将新的潜在空间正则化概念引入GAN架构。图像空间发生器G和潜在空间编码器E都可以同时被优化。这样可以显著提高性能。
编码器E可用于最小化第一个生成的样本G(Z)与第二生成的样本G(E(G(Z)))之间的潜在空间差值,G(E(G(Z)))即第一个生成的样本G(Z)的编码表示(即潜在空间表示)的环境空间表示,详见下文说明。G(Z)和G(E(G(Z)))的潜在空间分别表示为E(G(Z))和E(G(E(G(Z))))。本文的公开内容主要应用于无监督学习情境。在无监督学习中,对应于生成数据G(zi)的真实数据样本yi是未知的,并且/或者是非必需的。换句话说,当生成新数据G(zi)时,并不知道G(zi)应该是什么样的;具体而言,即虽然G(zi)应该看起来像真实数据样本yi,但并不知道真实数据样本yi是什么样子。
在本文通篇中,发生器可被称为G、发生器或发生器网络;鉴别器可被称为D、鉴别器或鉴别器网络;编码器可被称为E、编码器或编码器网络。
本文首先引用了可以实现该训练的系统、架构或环境来说明如何通过潜在空间正则化来优化无监督情境下的生成对抗网络。
图1是一个通用的生成对抗网络(GAN)100的示例图。GAN 100包括发生器102和鉴别器104。GAN 100的目的是通过训练(即在训练完成之后)让发生器102可以生成逼真的数据(如生成的逼真的面部图像),使得鉴别器104无法辨别该数据是生成的。也就是说,鉴别器104认为(即被引导至误认为)所生成的数据是真实数据。
发生器102可以是反卷积网络,它接收随机噪声Z的向量,并对噪声Z进行上采样,以产生生成的数据(如生成的图像)G(Z)。发生器102可被视为将输入Z映射至输出G(Z)的函数。鉴别器104可以是卷积网络,它可以将传送过来的输入数据和输入106一起进行辨别是真实数据还是伪造数据(即生成的数据)。
例如,对于给定的输入X,鉴别器104输出一个标签D(X),表明输入X是真实的还是生成的数据。鉴别器104可以是二项分类器,可将输入X标记(如归类)为真实的数据或生成的数据。例如,如果鉴别器104认为输入X为生成的数据,则可将D(X)标识为0;否则可将D(X)标识为1。也可使用其他输出值来标识。又如,D(X)也可以是一个概率值。
如图中开关108所示,鉴别器104可以接收发生器102的输出G(Z)或真实数据样本Y作为其输入X。当鉴别器104接收G(Z)作为输入时(即当X=G(Z))时,鉴别器104的输出为值D(G(Z)),表示鉴别器104认为输入G(Z)是真实的还是生成的。当鉴别器104接收Y作为输入时(即当X=Y时),鉴别器104的输出为值D(Y),表示鉴别器104认为输入Y是真实的还是生成的。
可以认为发生器102网络和鉴别器104网络互相协作,并且同时也彼此相互作用。通俗地说,可将发生器102看作是伪造者,而将鉴别器104看作是警察。伪造者的目的(在训练期间)是生成数据使得警察无法识别所生成的数据是伪造的。
发生器102受到训练以期将概率D(G(Z))最大化以便欺骗鉴别器104,使得鉴别器104无法辨别G(Z)是生成的。鉴别器104则受到训练以期将概率D(G(Z))最小化并将概率D(Y)最大化,使其可以在真实数据样本Y中将生成的样本G(Z)辨别出来。如果将实际输入Y输入至鉴别器104,鉴别器104的目标是输出如概率D(X)=1;而如果输入数据是生成的(如G(X)),则输出D(X)=0。如上所述,D(X)可以是指输入X为真实数据的概率(即P(输入的类别=真实数据))。
最终结果是,当发生器102和鉴别器104交会时,鉴别器104无法再将所生成的样本G(Z)与真实数据样本Y区分开来。此时,可以认为发生器102已经了解了真实数据Y的分布。此处“交会”是指对发生器102和/或鉴别器104中的任何一个进行的额外训练确实达到了性能的改善(或充分改善)。
反向传播可用于改善发生器102网络和鉴别器104网络中的任何一个的性能。
如上所述,鉴别器104可以输出值D(x)用于表明输入X是真实数据样本的可能性。鉴别器104的目的是使得将真实数据样本(即Y)识别为真实的以及将所生成的样本(即G(Z))识别为伪造的(即生成)的可能性达到最大化。也就是说,鉴别器104的目标是最大化输入数据的相似性。可以使用交叉熵p log(q)来计算损失。交叉熵损失是鉴别器识别真实样本和生成样本(如图像)的准确程度的度量。对鉴别器104的权重θD进行优化可以通过下列等式(1)表示:
在等式(1)中,EPy表示对于变量Y(即真实数据样本)的分布的期望值,EPz表示对于变量Z(即G(Z)产生所在的随机噪声)的分布的期望值,θD和θG分别为鉴别器104(D)和发生器102(G)的当前网络权重参数。给定当前鉴别器网络参数为θD,当将输入Y(即真实数据样本)发送至鉴别器104时,鉴别器104的输出为给定当前鉴别器网络参数θD,当将输入/>(即为对于给定当前发生器网络参数θG,当将输入z发送至发生器102时,发生器102所生成的输出)发送至鉴别器104时,鉴别器104的输出为/>
等式(1)(即鉴别器104的目标函数)可以概括为:找到一组新的鉴别器网络参数,即以便最大程度加强鉴别器104识别真实数据样本(即对应于算式/>的能力,以及识别生成的数据样本(即对应于算式/> 的能力。
对发生器102进行训练也可以通过反向传播算法。如上所述,发生器102的目标函数可以使得发生器102生成达到D(x)的最高可能值的数据(如图像)以欺骗鉴别器104。由此,发生器G的目标函数可根据等式(2)给出:
EPz如等式(1)所述。等式(2)可以概括为:找到发生器102的最佳参数,即G,使得发生器102的输出G(Z)可以最大程度地欺骗鉴别器104。
等式(1)和(2)可以组合成极大极小优化问题:
在一个示例中,等式(1)和(2)的目标函数可以联合学习,例如分别通过交替递增和递减鉴别器104和发生器102的梯度。例如,可以将发生器102的参数θG固定,使用真实数据样本(即Y)和生成数据样本(即)对鉴别器104执行增加一个梯度的单次循环。然后,将鉴别器104的参数θD固定,通过减少一个梯度的单次循环对发生器102进行训练。可以通过交替方式训练鉴别器104网络和发生器102网络,直到发生器102生成样本G(Z)让鉴别器104无法识别其为生成的样本。
图2是一个可以用于实现神经网络的计算设备的示例框图。神经网络可以是卷积神经网络。例如,计算设备200可以用于实现图1中的发生器102和鉴别器104其中之一或两者同时实现。计算设备200可用于实现编码器E,详见下文所述。计算设备200可以是包括多个计算设备的计算系统,或者是单个的计算设备,如移动电话、平板电脑,膝上电脑、笔记本电脑、台式电脑等。
计算设备200中的CPU 202可以是中央处理单元,或者CPU 202也可以是能够操控或处理现在或以后开发的信息的任何其他类型的设备或多个设备。尽管本文所公开的实施例可以采用如CPU 202这样的单个处理器来实现,如图中所示,但是也可以使用多个处理器来提高速度和效率。
计算设备200中的存储器204在具体实现中可以是只读存储器(ROM)设备或随机存取存储器(RAM)设备。也可采用任何其他合适类型的存储设备作为存储器204。存储器204可以包括可由CPU 202通过总线212访问的代码和数据206。存储器204还可以包括操作系统208和应用程序210,其中应用程序210包括一个或多个让CPU202得以运行本文所述方法的程序。例如,应用程序210可以包括应用程序1到N,其中包括运行本文所述方法的视频编码程序。计算设备200还可以包括辅助存储器214,比如它可以是配合移动的计算设备200使用的存储卡。视频通信会话可以包含大量信息,因此它们可以全部或部分地存储在辅助存储器214中并且根据处理需要加载到存储器204中。
计算设备200还可以包括一个或多个输出设备,如显示器218。在一个示例中,显示器218可以是显示器与可操作触摸输入的触敏元件组合而成的触敏显示器。显示器218可以通过总线212耦合到CPU 202上。也可以使用其他允许用户编程或使用计算设备200的输出设备作为显示器218之外的附加或替代输出设备。如果输出设备是显示器或包含显示器,则该显示器可以以各种方式实现,包括液晶显示器(LCD)、阴极射线管(CRT)显示器或发光二极管(LED)显示器,如有机LED(OLED)显示器等。
计算设备200还可以包括图像传感设备220(如相机),或者包括现存或以后开发的可以感测图像(如一幅用户操作计算设备200的图像)的任何其他图像传感设备220,或者与上述图像传感设备220通信。可将图像传感设备220摆放至面对操作计算设备200的用户的位置。在一个示例中,可以配置图像传感设备220的位置和光轴,使得视场范围包括与显示器218直接相邻并且可见到显示器218的区域。
计算设备200还可以包括声音传感设备222(如麦克风),或者包括现存或以后开发的可以感测设备200附近的声音的任何其他声音传感设备222,或者与上述声音传感设备222通信。可将声音传感设备222摆放至面对操作计算设备200的用户的位置,并可以对其进行配置使其接收声音,并且可以被配置为接收声音,比如用户操作计算设备200时由用户发出的声音,如语音或其他声音。
图2仅描绘了计算设备200的CPU 202和存储器204被集成到单个处理单元中的情况,除此之外也可以采用其他配置。CPU 202的操作可以分布在多个机器(每个机器包含一个或多个处理器)上,这些机器可以直接耦合或跨局域或其他网络耦合。存储器204可以分布在多个机器上,例如基于网络的存储器或运行计算设备200的操作的多个机器中的存储器。本文仅描述了单个总线的情况,除此之外计算设备200的总线212也可以由多个总线组成。此外,辅助存储器214可以直接耦合到计算设备200的其他组件,也可以通过网络访问,或者也可以包括诸如存储卡的单个集成单元或诸如多个存储卡的多个单元。因此,计算设备200可以以各种各样的配置实现。
如上所述,已有越来越多的应用将GAN模型用于图像处理任务,如超分辨率、图像到图像转换、图像或视频样式转换、修复以及其他应用。但是,GAN模型存在一些固有的问题,比如模式崩溃和失真等问题。模式崩溃是指当多个不同的输入本来预期/意图应得到多个不同的输出,但却发生了多个输入映射至一个输出的情况。例如,对于给定双峰分布的数据,其中2个高斯集中在两个点,GAN可能仅仅学习了其中一的个模式。因此,无论发生器接收到什么输入,输出都将只映射出所学习到的那个高斯分布。
例如,当采用发生器(如图1中的发生器102)来生成模仿自然图像的图像时,生成的图像可能会看起来不真实、失真和/或缺少细节。图3是由GAN生成的数据所产生的问题300的一个示例。更具体地说,图3是在使用无监督训练来训练发生器的情况下,发生器(如图1的发生器102)所生成的图像的示例。也就是说,在发生器的训练期间,对于生成的图像而言并不知道目标图像(即真实图像)是什么。
图3示出了图像302和图像306,它们本应该是狗的图像。尽管乍一看图像302、306看起来像是狗的图像,但图像302、306其实包含变形和/或看起来不自然或意外的部分和/或包含缺失的部分。例如,图像302中的狗的结构304就是这种不自然的结构。例如,尽管图像306中的狗的结构308可能看起来像是脸,但如果仔细观察,脸部看起来是不完整的。另外,图像302中的狗的身体306看起来更像一团模糊,而不像狗的身体。
GAN的发生器生成这种不自然的图像可能至少部分是因为使用了无监督训练来训练GAN。重申一下,在无监督训练中,发生器的每个输入Z和预期的输出Y之间并没有严格的对应关系。也就是说,并没有相应的目标Y(Y的相关描述见图1)。在无监督训练中,唯一的期望/要求是G(Z)(即当Z作为输入时发生器的输出)应该像一个真实的数据样本。例如,如果G(Z)是一幅图像,则G(Z)应该看上去真实。
因此,由GAN发生器生成的数据(如图像)最好不要包含伪像,如失真和/或非自然的结构。生成具有较少伪像的图像可以改善GAN的学习性能。也就是说,生成的数据越真实,GAN就能越快达到等式(1)和(2)的最优解。
可以将自然图像看作是存在于一个嵌入高维空间(也称为环境空间)的流形中。图4是一个图像流形和图像流形的潜在空间的示例图。图中描绘出流形402。通常流形402的维度比环境空间的维度要低。为便于观察,将环境空间404描绘为三维空间。一般来说,环境空间404可以被认为是m维的。为便于观察,将流形402描绘为映射至二维潜在空间,即潜在空间406。但一般来说,流形402可以被认为是n维的,其中n≤m。
如箭头408所示,流形402可以经由编码映射E(即编码器E)映射至较低维的空间(即潜在空间406)。较低维度的空间可以被称为潜在空间。如箭头410所示,从潜在空间406到环境空间404的反向映射是发生器函数G。也就是说,发生器如图1中的发生器102可以在环境空间404中生成数据样本。这两个空间(即环境空间404和潜在空间406)在数学上是同胚的。因此,编码器E和发生器G是同胚的。也就是说,图像流形402在发生器和编码器空间中是同胚的。在这种同胚现像下,至少在理论上,这两个空间是相等的。使用相应的发生器函数或编码函数可以将一个空间映射至另一个空间。
不同类别的自然图像存在于流形的不同邻域中。生成的(即通过发生器生成,如图1中发生器102)每个数据样本(如每幅图像)最好是位于目标邻域附近。也就是说,例如,图1中生成的数据样本G(Z)最好可以尽可能地接近图1中的目标Y。
为实现此目的,根据本发明的实施方案可使用采用潜在空间正则化的新GAN架构。编码器E可以与GAN(如图1的GAN 100)相结合。根据本发明的方法,可采用新的损失函数来训练GAN模型。
上文已经解释了潜在空间的正则化。如图4相关所述,如N×M大小的一组自然图像在一个流形(如流形402)中,并存在于N*M维空间(如环境空间404)中。如果该组图像都通过少量连续的变量进行有效地参数化,那么该组图像将在此高维空间中处于低维流形中或在其附近。
通常我们知道,在将神经网络用于完成任务(如分类、回归、图像重建等)之前,神经网络会经过训练从多个层(卷积层、循环层、池化层等)中提取特征。神经网络成为(如学习)在潜在空间上投影(如映射)图像的功能。换句话说,潜在空间就是特征所在的空间。潜在空间包含了图像的压缩形式。然后该压缩图像用于尽可能准确地重建输入。如需出色地完成任务,神经网络必须学会提取最贴切的特征(如最贴切的潜在空间)。
给定潜在空间中的任何两个样本z1和z2(即z1和z2作为发生器的输入,如图1中的发生器102),在环境空间中生成的样本为G(z1)和G(z2)(即G(z1)和G(z2)分别为发生器的相应输出)。不等式(3)可以用于发生器函数。
|G(z1)-G(z2)|≤k*|z1-z2| (3)
不等式(3)表示函数G(即发生器G的输出)的绝对变化(即|G(z1)-G(z2)|))不超过绝对潜在空间差值(即|z1-z2|)的常数倍数(该常数以k表示)。该常数k被称为利普希茨(Lipschitz)常数。也就是说,利普希茨连续性条件被应用于发生器,使得函数的变化(即发生器的输出)不超过发生器的输入的变化。通过应用利普希茨连续性条件可以很好地控制图像的变化;或者说,可以很好地控制函数G的变化。
直接用发生器输入的差值(即|z1-z2|))来约束输出的差值(即|G(z1)-G(z2)|))并不可行(或者说并不合适),因为输入(如z1和z2)通常是随机噪声或被随机噪声或其他的形式干扰或破坏。因此,可以通过将编码器(也称为编码映射E,或编码网络)引入GAN模型从而使用不等式(4)(见下)中的约束条件,而不是使用不等式(3)中的约束条件。
附加的编码映射E(即编码器E)可用于明确地将输入样本映射至其潜在空间。例如,如果将发生器G的输出G(Z)输入到编码器E,则编码器E会将G(Z)映射至E(G(Z))。也就是说,编码器E将环境空间点G(Z)映射至潜在空间点E(G(Z))。由此,合成函数将输入Z映射至潜在空间点E(G(Z))。
如果将从编码器E输出的潜在空间点E(G(Z))本身作为发生器G的输入,则发生器G会将E(G(Z))映射回环境空间G(E(G(Z))。如果环境空间点G(E(G(Z)))本身作为编码器E的输入,则编码映射E会将G(E(G(Z))映射至潜在空间点E(G(E(G(Z)))),该潜在空间就与Z的潜在空间相同。由此,E(G(Z))和E(G(E(G(Z))))分别是G(Z)和G(E(G(Z)))的潜在空间表示。根据本发明的实施例,编码器E学习(即被训练)尽量最小化E(G(E(G(Z))))和E(G(Z))之间的差。
如以上关于不等式(3)所述,最好是通过生成的样本的潜在空间差来约束这些生成的样本的环境空间差。因此,以此类推,最好是通过生成的样本的潜在空间差(即不等式(4)中的|E(G(Z))-E(G(E(G(Z))))|)来约束生成的样本G(Z)与G(E(G(Z)))之间的差(即不等式(4)中的|G(Z)-G(E(G(Z)))|)。
由此,可采用不等式(4)所述的利普希茨条件。利普希茨条件可以同时应用在发生器G和编码器E上,详见下述。利普希茨条件由不等式(4)表示。
|G(Z)-G(E(G(Z)))|≤k*|E(G(Z))-E(G(E(G(Z))))| (4)
在不等式(4)中,当给定噪声样本Z作为发生器的输入,则发生器G的输出为G(Z);E(G(Z))是编码器E从环境空间映射而来的潜在空间点。如果将编码器的输出E(G(Z))作为发生器的输入,则发生器的输出为G(E(G(Z)))。如果将发生器的输出G(E(G(Z)))输入到编码器,则编码器的输出为E(G(E(G(Z))))。应注意的是,此处使用的绝对差(如|G(Z)-G(E(G(Z)))|,|E(G(Z))-E(G(E(G(Z))))|等)指的是L1范数(L1-norms),除非另有说明。但本发明并不限于采用该范数,也可以使用另一种范数或其他误差测量。例如,误差可以是均方误差。
使用不等式(4)代替不等式(3)是因为Z(即z1和/或z2)是随机噪声。用噪声输入的差值直接约束发生器函数G的差值并不理想。在无监督GAN的训练中,发生器G的输入通常是随机噪声(而不像在在监督学习中的输入通常是一些受到随机噪声或其他伪像或损坏所影响的数据)。两个随机噪声输入的差异也是随机的,并且可能差异很大。因此,该差值不能用于约束发生器G的两个相应输出的差值。
如图1相关所述,典型的GAN架构仅包括发生器和鉴别器。因此,典型的GAN架构并不包括上述的编码器E。
图5A是根据本发明实施例所绘制的包含一个编码器的GAN架构500的示例图。GAN架构500包括发生器502、鉴别器504和编码器506。发生器502可以跟图1中所述的发生器102一样,只是发生器502的目标函数与发生器102的目标函数不同,如下所示。鉴别器504可以跟图1中所述的鉴别器104一样。编码器506可以是神经网络,如卷积神经网络。例如,编码器506可以改编一个典型VGG模型(如VGG16)的前几层,和/或后面再加上几个放大层,使得编码器506的输出与噪声样本Z(即发生器502的输入)的大小相匹配。VGG和VGG16以牛津大学(Oxford University)的视觉几何组(Visual Geometry Group)命名,并在KarenSimonyan,Andrew Zisserman(2015)所著的VERY DEEP CONVOLUTIONAL NETWORKS FORLARGE-SCALE IMAGE RECOGNITION.ICLR 2015.中描述。获取自https://arxiv.org/pdf/1409.1556.pdf%20http://arxiv.org/abs/1409.1556.pdf,其全部内容并入本文。编码器506可以由计算设备(即装置)实现或由其运行,如图2中的计算设备200。GAN架构500可以在无监督的训练中使用。
如图1相关所述,发生器502可以接收输入Z作为输入并输出生成的样本G(Z)。输入Z可以是从分布(例如均匀分布)p(z)中采样的随机值。输入Z可以包括多个成分。也就是说,输入Z可以是随机值的多维(如J维)向量。通过训练,发生器学习从随机噪声Z到环境空间G(Z)的映射。因此,G(Z)是随机输入Z的环境空间表示。
鉴别器504可通过路径508接收所生成的样本G(Z),或通过路径510接收对应于G(Z)的目标Y。如果鉴别器504接收到G(Z),则鉴别器504输出值D(G(Z)),用于表示鉴别器504认为G(Z)是真实的还是生成的。如果鉴别器504接收到Y,则鉴别器504输出值D(Y),用于表示鉴别器504认为输入Y是真实的还是生成的。
编码器506还通过路径512接收生成的样本G(Z)作为输入。如果编码器506接收到G(Z),则编码器506输出值E(G(Z))。E(G(Z))是噪声Z的环境空间表示G(Z)的潜在空间表示。
E(G(Z))被反馈到发生器502中,如路径514所示。当发生器502接收到E(G(Z))时,发生器502输出G(E(G(Z))),即潜在空间表示E(G(Z))的环境空间表示。G(E(G(Z)))沿着路径516被送至编码器506,然后编码器506输出潜在空间表示E(G(E(G(Z))))。
编码器506可以被认为是(1)将G(Z)编码至特征的通常较小(即潜在)空间,生成的图像(即G(Z))的显著(即重要)特征(即E(G(Z))),(2)然后将重新生成(通过发生器502)的编码(E(G(Z)))的映射(即G(E(G(Z))))编码至特征的通常较小的空间,以及(3)在应用不等式(4)时最小化这两种编码(即E(G(Z))and E(G(E(G(Z)))))之间的差值,不等式(4)在发生器502的优化(详见下述)中由虚线518表示。E(G(Z))和E(G(E(G(Z))))之间的差值也用于优化(即训练)编码器506。
因此,等式(2)的发生器502优化问题可以转换(即改写)成等式(5),也就是说,等式(2)的优化问题必须在编码映射关系(即编码器506)上满足关于的利普舒茨连续性条件。
在等式(5)中,k是常数,θG是发生器502网络的当前权重集;θE是编码器506网络的当前权重集;并且EPz表示对于噪声输入样本Z的分布的预期。是由等式(5)的优化问题所得到的新的发生器网络权重集。
从数学的角度看,等式(5)可以改写为等式(6)(因为等式(5)的解必须是等式(6)的解),其中利普舒茨约束作为一项被添加至(即并入)发生器的目标函数(即等式(1)中:
通过引入超参数μ1和μ2,可以将等式(6)转换为等式(7),其中μ1>0且μ2>0。超参数μ1可以与等式(6)的参数μ相同;并且超参数μ2可以等于μ*k。超参数μ1和μ2可以通过启发法来设定和/或可以凭经验导出。
如上所述,发生器502将编码器506的输出E(G(Z))和E(G(E(G(Z))))用于发生器502的损失函数中,如等式(7)所示,见图中虚线518。如上所述,编码器506受到训练以最小化E(G(Z))和E(G(E(G(Z))))之间的绝对差。
GAN 500模型可以通过下列等式(8)-(10)来表示。在训练期间,交替地训练鉴别器504、发生器502和编码器506。可以训练鉴别器504以最大化等式(8)中的函数,如在图1中的GAN 100那样。训练发生器502和编码器506以分别使等式(9)和(10)中的损失函数最小化。注意,等式(8)与等式(1)相同,而等式(9)与等式(7)相同。
使用编码器506的权重集θE,当G(Z)被送至(即输入至)编码器506处时,编码器506将会输出E(G(Z))。使用相同的权重集θE,当G(E(G(Z)))被送至(即输入至)编码器506处时,编码器506将会输出E(G(E(G(Z))))。也就是说,在生成E(G(Z))和E(G(E(G(Z))))时使用的是相同的权重集。在一些实施方案中,在使用并行处理器的情况下,可以将G(Z)和G(E(G(Z)))输入到编码器506中以得到输出E(G(Z))和E(G(E(G(Z))))。预期G(Z)和G(E(G(Z)))应该是相像的。
将G(Z)和G(E(G(Z)))两者送至编码器506可以构成一次循环。编码器506的权重不会在一次循环内更新。在一次或多次完整循环之后才会更新权重。
虽然本文采用特定的发生器目标函数(如等式(2))和特定的鉴别器目标函数(如等式(1))作为等式(4)和(5)的约束项,但本发明的内容并不限于此。如果等式(1)和(2)中使用其他形式的鉴别器函数和发生器对抗函数,则等式(4)或(5)中的约束项也可以采用其他形式。例如,等式(4)可以与Wasserstein距离、相对鉴别器(Relativisticdiscriminator)或一些其他目标函数一起使用,它们用于代替等式(1)和(2)。Wasserstein距离的详细描述见Arjovsky,M.,Chintala,S.&Bottou,L.(2017).WassersteinGenerative Adversarial Networks.Proceedings of the 34th InternationalConferenceon Machine Learning,in PMLR 70:214-223。相对鉴别器的详细描述见Jolicoeur-Martineau,A.:The relativistic discriminator:a key element missingfrom standard gan.arXiv preprint arXiv:1807.00734(2018)。由此可见,如使用不同的目标函数则等式(8)-(10)也需做相应调整。
表I的伪代码示出了一个包含编码器的GAN(如图5A中的GAN 500)的训练算法的示例。
表I说明了可以使用N次循环来训练GAN模型。鉴别器网络(即图5A中的鉴别器504)、发生器网络(即图5A中的发生器502)和编码器网络(即图5A中的编码器506)中的每一个按此顺序在一次循环中被训练。也就是说,一次循环涉及三个网络的训练:鉴别器、发生器和编码器。作为初始化步骤(即表I中的第0行),可分别将鉴别器、编码器和发生器网络的权重θDE和θG初始化为随机值。
含有L个步骤的第一次循环(由表I中的第2-5行组成)描述了对鉴别器网络的训练。在一些实现中,L为1。在其他一些实现中,L可以大于1。这样,根据L的不同取值,鉴别器网络可以被优化1次或多次。
在每次循环中,在表I的第3行,可在噪声数据生成分布pg(z)中选择一小批m个噪声样本{z1,...,zm},并从真实数据分布pdata(y)中选择一小批真实输入数据样本{y1,...,ym}。根据本文所述的无监督学习情境,尚不知道哪个zi(for i=1,...,m)对应于这一小批选出来的输入样本{y1,...,ym}中的输入样本yj(for j=1,...,m)。这样的对应关系也无需存在。
接下来,在表I的第4行,通过梯度递增来更新鉴别器权重θD(因为如等式(8)所示,更新鉴别器权重就是最大化优化问题)。本文对梯度递增(和递减)的细节不作赘述,因为该细节对于本领域的技术人员而言都已熟知,并且对于理解本发明也不是必需的。通常我们知道,随机梯度的递增(或递减)(如本文的表I和其他地方所述)意味着递增(或递减)梯度的至少一部分。通常,梯度的一部分用于递增(或递减)。
在训练鉴别器的L个步骤之后,表I的算法开始更新发生器和编码器网络(即更新其权重)。在表I的第6行,使用有噪声的数据生成分布pg(z)采样的另一小批(即一个集合)噪声样本{z1,…,zm}和使用有噪声的分布pdata(y)采样的一小批真实数据输入样本{y1,...,ym}被选择出来。根据本文所述的无监督学习情境,尚不知道哪个zi对应于哪个yj。如上所述,它们之间并不需要有对应关系。
在表I的第7行,使用等式(9)的右侧更新发生器参数θG。也就是说,可以通过递减等式(9)右侧的随机梯度来获得更新的参数。与此同时或在此之后,在表I的第8行,通过递减其梯度来更新编码器参数θE,该梯度是基于等式(10)的右侧计算出来的。
上述过程完成了更新鉴别器、发生器和编码器网络的相应参数的一次循环。该过程可以重复N次,其中N可以是足够大的数目,以便GAN网络实现交会。N也可以凭经验设定。在一个示例中,可以不用执行N次算法,而是在算法中包含一个终止条件,该终止条件在确定GAN网络的性能不会再有充分改善时将终止算法。在一个示例中,可以在编码器和发生器之后再训练鉴别器。因此,表I中的第2-5行可以放在第6-9行之后。
在一个示例中,可使用等式(11)代替等式(8)来训练GAN的鉴别器。
这样,鉴别器同样试图最大程度缩小G(E(G(Z)))是真实数据的机会。图5B示出了该设置。
图5B是根据本发明实施例所绘制的包含一个编码器的GAN架构500的示例图。图5B与图5A中附图具有相同标识的部分,其相关描述也完全相同。图5B的鉴别器552与图5A的鉴别器506类似,不同的地方在于鉴别506器还可沿路径554接收到发生器的输出G(E(G(Z))),而鉴别器552则使用等式(11)的目标函数。当鉴别器552接收到G(E(G(Z)))时,鉴别器552将输出值D(G(E(G(Z)))),该值表示鉴别器552认为G(E(G(Z)))是真实的还是生成的。因此,可以使用表I描述的相关算法来训练GAN 550,不同的是,在表I的第4行,可以通过梯度递增(见下)来更新鉴别器权重θD
由此,可以训练鉴别器552以区分G(E(G(Z)))、G(Z)和Y(真实数据样本)中的哪个是生成和/或真实数据。
图6是根据本发明实施例所绘制的训练生成对抗网络(GAN)的方法的示例流程图。GAN可以是图5A中的GAN 500或图5B中的GAN 550。这样,发生器G可以是图5A或图5B中的发生器502,并且GAN可以包括鉴别器D(如图5A中的鉴别器504或图5B中的鉴别器552)和编码器E(如图5A或图5B中的编码器506)。方法600可以由计算设备(即装置)实现,如图2中的计算设备200。在完成方法600后,可以存储发生器G的参数。参数可以存储在存储器中,如存储在图2中的存储器204中。发生器G的参数可以包括发生器G的网络权重。参数还可以包括发生器网络架构,如层数、每层的配置等等。
方法600可以由一个或多个处理器(如图2中的CPU 202)部分或完全地执行。方法600可以作为可执行指令存储在一个或多个存储器中,如图2中的存储器204或辅助存储器214。一个或多个处理器可以被配置为执行存储在一个或多个存储器中的指令。
在一个示例中,可以在一个或多个计算设备(例如图2中的计算设备200)上采用(如在其上运行)发生器G、编码器E和鉴别器D。在一个示例中,发生器G、编码器E和鉴别器D中的每一个都可以在单独的计算设备上实现,但这种实现也并非必须如此。
重申一下,可以通过包括处理器(如一个或多个处理器)和存储器(如一个或多个存储器)的系统来执行方法600。因此,该系统可以包括一个或多个设备。在一个示例中,编码器E、发生器G和鉴别器D中的每一个都可以在系统的一个或多个设备上运行。在一个示例中,编码器E、发生器G和鉴别器D中的其中两个或三个可在系统的一个设备上运行。也可以采用其他方式的系统配置。
在602处,发生器G可以在接收到第一输入Z后随即生成第一输出G(Z),如图5A中相关所述。如上所述,G(Z)是在给定随机分布pg(z)中的噪声样本Z时由发生器G生成的合成数据。第一输出G(Z)构成第一输入Z的第一环境空间表示。
在604处,编码器E在接收到第一输出G(Z)作为输入后随即生成第二输出E(G(Z))。如上所述,E(G(Z))是G(Z)的潜在空间表示(即第一潜在空间表示)。
在606处,发生器G在接收到第二输出E(G(Z))作为输入后随即生成第三输出G(E(G(Z)))。如上所述,第三输出G(E(G(Z)))是随机样本Z的环境空间表示(即G(Z))的潜在空间表示(即E(G(Z)))的环境空间表示。
在608处,如上所述,编码器E在接收到第三输出G(E(G(Z)))作为输入后随即生成第四输出E(G(E(G(Z))))。第四输出E(G(E(G(Z))))是噪声样本Z的环境空间表示(即G(Z))的潜在空间表示(即E(G(Z)))的环境空间表示(G(E(G(Z)))))的潜在空间表示(即第二潜在空间表示)。同样如上所述,鉴别器D受到训练以区分G(Z)和Y(真实数据样本)中的哪一个是生成数据,哪一个是真实数据。
在610处,方法600训练编码器E以最小化潜在空间表示之间的差值。也就是说,方法600训练编码器E以最小化第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的差值。
在612处,方法600使用潜在空间表示(即第二输出E(G(Z))和第四输出E(G(E(G(Z)))))来约束对发生器G的训练,如上所述。
如表I相关所述,方法600可以包括通过对m个样本递减一个梯度来更新编码器E。
使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束发生器G的训练可以包括在损失函数中使用第二输出E(G(Z))和第四输出E(G(E(G(Z)))),该函数用于更新发生器G的权重。
如上所述,使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束对发生器的训练可包括通过对m个样本递减一个梯度 来更新发生器G。如上文所述,参数μ1和μ2是超参数。/>
在一个示例中,使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束对发生器的训练可包括通过对m个样本递减一个梯度 来更新发生器G,如表I中的第7行相关所述。
在一个示例中,如图5B相关所述,方法600可包括由GAN的鉴别器D接收第三输出G(E(G(Z)),并且通过递增一个梯度 来更新鉴别器D。
如上所述,可以通过应用利普希茨条件来训练发生器G,以使输出G(Z)和第三输出G(E(G(Z)))之间的第一差值不超过第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的第二差值。
在一个示例中,GAN的鉴别器G可以接收第三输出G(E(G(Z)))和输出D(G(E(G(Z))))。如上文的等式8相关所述,使用损失函数 更新鉴别器D的权重θD
同样如上所述,编码器E可以是神经网络或可以包含神经网络。该网络可以是VGG网络。在一个示例中,神经网络可以包括一个放大层,以使得编码器E的第二输出E(G(Z))和第四输出E(G(E(G(Z))))分别具有的第一大小等于第一输入Z的第二大小。
当训练完成时,鉴别器D不再能够区分真实数据样本(真实图像)和生成的(如合成的、生成的)样本。如果鉴别器仍然能够区分真假,则意味着训练没有被优化并且训练不能算作已经完成。如前所述,GAN模型的原理是发生器试图迷惑鉴别器,而鉴别器则试图不要被迷惑。因此,该过程是“对抗性的”。然而,最终当发生器G的数据生成做得足够好时,鉴别器D将不再能够分辨哪个第一输入数据(如第一图像)是真实的而哪个第二输入数据(如第二图像)是伪造的。
在一个示例中,编码器E可以是VGG网络或可以包含VGG网络。在一个示例中,VGG网络可以被适配或者可以包括一个或多个放大层。一个或多个放大层的目的是使得编码器E的输出(如E(G(Z))或E(G(E(G(Z))))))可以与发生器G的输入(如随机样本Z或E(G(Z)))具有相同的维度。一般而言,编码器E可以是或可以包含其他神经网络类型,如卷积神经网络。在其他示例中,编码器E可以是或可以实现其他机器学习模型或技术。
如上所述,例如在等式(5)-(7)和(9)中,可以通过应用利普希茨条件来训练发生器G,以使输出G(Z)和G(E(G(Z)))之间的第一差值不超过潜在空间表示E(G(Z))和潜在空间表示E(G(E(G(Z))))之间的第二差值。
还应注意的是,通常在训练GAN网络中,训练用的发生器就是随后用于生成数据和/或执行推断或执行任何其他任务的那个发生器。通常,编码器和鉴别器不用于训练发生器之外的其他用途。
如上所述,本文所述的技术可以在无监督训练中使用。无监督训练可用于图像或视频的样式转换等应用中。样式转换是一种采用其他图像的样式来重组图像的技术。例如,在一次视频通信中有第一位参与者和第二位参与者,第二位参与者可以选择让第一位参与者看到的第二位参与者的面孔为某位名人。这样,似乎是这位名人替代了第二位参与者在讲话并参与视频通信。另外,第二位参与者可以选择将墨镜加在自己的脸上;或者如果第二位参与者是戴着眼镜的,则他可以选择在显示中不戴墨镜。
因此,本发明所述实施方式的另一方面是一种用于样式转换的过程。该过程包括:由发生器G接收包含有第一位参与者的源图像的相应输入;以及从发生器G输出一幅输出图像,其中在输出图像中第一位参与者的图像经过了修改。源图像也可以是包括上述第二位参与者的图像。源图像可以被第一位参与者的接收设备(如移动通信设备)进行接收。源图像也可以从第二位参与者的发送设备进行发送。例如,第一位参与者和第二位参与者可以使用他们各自的通信设备来参加实时视频通信会话。输出图像可以是将第二位参与者的图像根据他/她自己的偏好而修改的生成图像。在另一个示例中,输出图像也可以是将第二位参与者的图像根据第一位参与者的偏好而修改的生成图像。
在实时视频通信会话期间将发生器G用于生成输出图像之前,可以如上所述对发生器G进行训练。例如,发生器G可以依照图6所述相关方式进行训练。
为了便于解释,本文将图6的方法600描绘并描述为一系列步骤。但本发明所述的步骤可以以各种顺序实现,可同时和/或迭代地运行。另外,本发明所述步骤也可以与本文未呈现和描述的其他步骤一起运行。此外,实现本发明所述的方法可能并不需要所有示出的步骤。
本文所述的实施方案可通过功能块组件和各种处理步骤来描述。本文的流程和序列可以单独或以任何组合形式来执行。功能块可以通过执行任意数量的可运行特定功能的硬件和/或软件组件来实现。例如,所述的内容可以采用各种集成电路组件,例如存储器元件、处理元件、逻辑元件、查找表等,在一个或多个微处理器或其他控制设备的控制下执行各种功能。类似地,实现所述内容各个功能时如需采用软件编程或软件元件,都可以采用诸如C、C++、Java、汇编程序等的任何编程或脚本语言来实现本发明,且可以采用任何数据结构、对像、进程、例程或其他编程元素的任意组合来执行各种算法。各项功能可以在一个或多个处理器上通过执行算法来实现。此外,本发明所述各功能可以采用任意数量的常规技术来进行电子配置、信号处理和/或控制、数据处理等。
以上发明的实施方式或部分实施方式可以采取计算机程序产品的形式,该程序产品可通过计算机使用或可由计算机可读介质进行访问等。计算机可用或计算机可读介质可以是任何设备,该设备可以具体包含、存储、传送或传输供任何处理器使用或与其结合使用的程序或数据结构。该介质可以是电子的、磁的、光学的、电磁的或半导体设备等等。也可包含其他适用的介质。上述计算机可用或计算机可读介质可以被称为非暂时性存储器或介质,并且可以包括RAM或其他易失性存储器或存储设备,它们可以随时间变化而发生改变。本文所述的设备存储器并非必须物理上配备于设备中,而是可以由设备远程访问,并且不必与设备中其他物理上配备的存储器相邻,除非另有特别说明。
本文采用“示例”一词来表示举例、实例或说明。本文所述用于“示例”的任何功能或设计不一定表示其优于或胜于其他功能或设计。相反,使用“示例”一词是为了以具体的方式呈现概念。本文中所使用的“或”字旨在表示包含性的“或”而不是排他性的“或”。也就是说,“X包括A或B”意在表示任何自然的包含性排列,除非另有说明,或者从上下文可明确判断则另当别论。换句话说,如果X包含A,X包含B,或X包含A和B,那么在任何前述实例下“X包含A或B”都成立。此外,在本申请以及所附权利要求书中,“一”、“一个”通常应该被解释为表示“一个或多个”,除非另有说明或从上下文中明确指出是单数形式。另外,本文通篇中的“一个功能”或“一项功能”这两个短语并不意味着同一个实施方式或同一项功能,除非另有特别说明。
本文示出和描述的具体实现是本发明的说明性示例,且无意于以任何方式限制本发明的范围。为表述简洁起见,可能对传统电子设备、控制系统、软件开发和系统的其他功能方面(以及系统的各个操作组件中的组件)未作详细描述。此外,各个图例中所示的连接线或连接器旨在表示各种元件之间的示例性功能关系和/或物理或逻辑耦合关系。在实际设备中可以存在许多其他替代或附加的功能关系、物理连接或逻辑连接。
本文中“包含”或“具有”及其同义词旨在表示包括其后列出的项目及其等同物以及附加项目。本文中“安装”、“连接”、“支持”和“耦合”及其同义词被广泛使用并且包括直接和间接安装、连接、支持和耦合。此外,“连接”和“耦合”不限于物理或机械连接或耦合。
在本发明所述内容(特别是下文的权利要求书)中,“一”、“一个”和“该”以及类似的指示代词应理解为包含一个和多个的单数和复数形式。此外,本文中对数值范围的描述只是一种简便的描述方式,旨在表示包含在该范围之内的每一个单独数值,并且每个单独值并入规格范围中,等效于在本文中单独列举。最后,本文所述的所有方法的步骤可以以任何合适的顺序执行,除非本文另有说明或者与上下文明显矛盾。本文提供的示例或示例性语言(例如“诸如”)的使用旨在更好地说明本发明,并无意于限制本发明的范围,除非另有说明。
对于本文中实施方式的描述说明是为了便于理解本发明之用,而非限制本发明的内容。相反,本发明旨在覆盖权利要求范围之内所涵盖的各种变体和等同设置,该范围应被赋予最宽泛的解释以涵盖法律允许的所有上述变体和等同设置。
虽然已经结合某些实施例对本发明进行描述说明,但应理解为,本发明并不限于所公开的实施方式,与之相反,本发明旨在覆盖权利要求范围之内所涵盖的各种变体和等同设置,该范围应被赋予最宽泛的解释以涵盖法律允许的所有上述变体和等同设置。

Claims (18)

1.一种训练生成对抗网络GAN的发生器G的方法,包括:
发生器G在接收到第一输入Z之后随即生成第一输出G(Z),其中第一输出G(Z)是第一输入Z的第一环境空间表示;其中第一输入Z为用于生产图像的随机噪声,第一输出G(Z)为嵌入高维空间中的图像;
GAN的编码器E在接收到第一输出G(Z)作为输入后随即生成第二输出E(G(Z)),其中第二输出E(G(Z))是第一输出G(Z)的第一潜在空间表示,其中第二输出E(G(Z))为图像G(Z)在低维空间的映射;
发生器G在接收到第二输出E(G(Z))作为输入后随即生成第三输出G(E(G(Z))),其中第三输出G(E(G(Z)))是第二输出E(G(Z))的第二环境空间表示,其中第三输出G(E(G(Z)))为对第二输出E(G(Z))进行上采样生成的图像;
编码器E在接收到第三输出G(E(G(Z)))作为输入后随即生成第四输出E(G(E(G(Z)))),其中第四输出E(G(E(G(Z))))是第三输出G(E(G(Z)))的第二潜在空间表示,其中第四输出E(G(E(G(Z))))为图像G(E(G(Z)))在低维空间的映射;
训练编码器E以最小化第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的差;
使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束对发生器G的训练;以及
应用利普希茨条件来训练发生器G,以使输出G(Z)和第三输出G(E(G(Z)))之间的第一差值不超过第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的第二差值。
2.根据权利要求1所述的方法,其中训练编码器E以最小化第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的差包括:
通过对m个样本递减一个梯度
来更新编码器E;
其中m个样本包括从噪声先验分布pg(z)中选取的m个随机样本{z1,z2,...,zm}和从真实数据分布pdata(y)中选取的m个目标数据样本{y1,y2,...,ym},
其中是在给定编码器E的第一当前权重值θE和/>的情况下编码器E的第二输出E(G(Z)),其中/>是在给定发生器G的第二当前权重θG时发生器G接收到第一输入zi后随即生成的第一输出;以及
其中是在给定第一当前权重值θE、第二当前权重值θG和第一输入zi,的情况下,编码器E生成的第四输出E(G(E(G(Z))))。
3.根据权利要求1所述的方法,其中使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束对发生器G的训练包括:
在用于更新发生器G的权重的损失函数中使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))。
4.根据权利要求1所述的方法,其中GAN还包括一个鉴别器D,其中使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束对发生器G的训练包括:
通过对m个样本递减一个梯度
来更新发生器G;
其中μ1andμ2是超参数,
其中m个样本包括从噪声先验分布pg(z)中选取的m个随机样本{z1,z2,...,zm}和从真实数据分布pdata(y)中选取的m个目标数据样本{y1,y2,...,ym},
其中θE是编码器E的第一当前权重值,
其中θG是发生器G的第二当前权重值,
其中θD是鉴别器D的第三当前权重值,并且
其中表示鉴别器D认为第一输出/>是否为真实数据。
5.根据权利要求1所述的方法,还包括:
由GAN的鉴别器D接收第三输出G(E(G(Z)));以及
通过对m个样本递增一个梯度
来更新鉴别器D;
其中这m个样本包括从噪声先验分布pg(z)中选取的m个随机样本{z1,z2,...,zm}和从真实数据分布pdata(y)中选取的m个目标数据样本{y1,y2,...,ym},
其中θE是编码器E的第一当前权重值,
其中θG是发生器G的第二当前权重值,
其中θD是鉴别器D的第三当前权重值,并且
其中表示鉴别器D认为目标数据zi是否为真实数据,
其中表示鉴别器D认为第一输出/>是否为真实数据,以及
其中表示鉴别器D认为第三输出/>是否为真实数据。
6.根据权利要求1所述的方法,还包括:
由GAN的鉴别器D接收第三输出G(E(G(Z)));以及
并且使用损失函数
来更新鉴别器D的权重θD
其中表示在给定当前权重值θD的情况下鉴别器D认为目标样本y是否为真实数据,
其中,表示对于真实数据y的第一分布的第一期望值,
其中表示在给定权重θD的当前值的情况下鉴别器D认为第一输出G(Z)是否为真实数据,以及
其中表示关于第一输出G(Z)的随机第二分布的第二期望值。
7.根据权利要求1所述的方法,其中编码器E包括神经网络。
8.根据权利要求7所述的方法,
其中神经网络包含一个放大层,并且
其中编码器E的第二输出E(G(Z))和第四输出E(G(E(G(Z))))分别具有的第一大小等于第一输入Z的第二大小。
9.一个用于训练生成对抗网络GAN中的发生器G的系统,包括:
一台处理器;以及
一个存储器,处理器被配置为可执行存储器中的指令用于:
发生器G在接收到第一输入Z之后随即生成第一输出G(Z),其中第一输出
G(Z)是第一输入Z的第一环境空间表示,其中第一输入Z为用于生产图像的随机噪声,第一输出G(Z)为嵌入高维空间中的图像;
GAN的编码器E在接收到第一输出G(Z)作为输入后随即生成第二输出
E(G(Z)),其中第二输出E(G(Z))是第一输出G(Z)的第一潜在空间表示,其中第二输出E(G(Z))为图像G(Z)在低维空间的映射;
发生器G在接收到第二输出E(G(Z))作为输入后随即生成第三输出
G(E(G(Z))),其中第三输出G(E(G(Z)))是第二输出E(G(Z))的第二环境空间表示,
其中第三输出G(E(G(Z)))为对第二输出E(G(Z))进行上采样生成的图像;
编码器E在接收到第三输出G(E(G(Z)))作为输入后随即生成第四输出
E(G(E(G(Z)))),其中第四输出E(G(E(G(Z))))是第三输出G(E(G(Z)))的第二潜在空间表示,其中第四输出E(G(E(G(Z))))为图像G(E(G(Z)))在低维空间的映射;
训练编码器E以最小化第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的差;
使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束对发生器G的训练;以及
应用利普希茨条件来训练发生器G,以使输出G(Z)和第三输出G(E(G(Z)))之间的第一差值不超过第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的第二差值。
10.根据权利要求9所述的系统,其中训练编码器E以最小化第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的差包括:
通过对m个样本递减一个梯度
来更新编码器E,
其中m个样本包括从噪声先验分布pg(z)中选取的m个随机样本{z1,z2,...,zm}和从真实数据分布pdata(y)中选取的m个目标数据样本{y1,y2,...,ym},
其中是在给定编码器E的第一当前权重值θE和/>的情况下编码器E的第二输出E(G(Z)),其中/>是在给定发生器G的第二当前权重θG时发生器G接收到第一输入zi后随即生成的第一输出;以及
其中是在给定第一当前权重值θE、第二当前权重值θG和第一输入zi,的情况下,编码器E生成的第四输出E(G(E(G(Z))))。
11.根据权利要求9所述的系统,其中使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束对发生器G的训练包括:
用于更新发生器G的权重的损失函数中使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))。
12.根据权利要求9所述的系统,其中GAN还包括一个鉴别器D,其中使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束对发生器G的训练包括:
通过对m个样本递减一个梯度
来更新发生器G,
其中μ1andμ2是超参数,
其中m个样本包括从噪声先验分布pg(z)中选取的m个随机样本{z1,z2,...,zm}和从真实数据分布pdata(y)中选取的m个目标数据样本{y1,y2,...,ym},
其中θE是编码器E的第一当前权重值,
其中θG是发生器G的第二当前权重值,
其中θD是鉴别器D的第三当前权重值,并且
其中表示鉴别器D认为第一输出/>是否为真实数据。
13.根据权利要求9所述的系统,其中指令还包括用于以下操作的指令:
由GAN的鉴别器D接收第三输出G(E(G(Z)));以及
通过对m个样本递增一个梯度
来更新鉴别器D,
其中这m个样本包括从噪声先验分布pg(z)中选取的m个随机样本{z1,z2,...,zm}和从真实数据分布pdata(y)中选取的m个目标数据样本{y1,y2,...,ym},
其中θE是编码器E的第一当前权重值,
其中θG是发生器G的第二当前权重值,
其中θD是鉴别器D的第三当前权重值,并且
其中表示鉴别器D认为目标数据zi是否为真实数据,
其中表示鉴别器D认为第一输出/>是否为真实数据,以及
其中表示鉴别器D认为第三输出/>是否为真实数据。
14.根据权利要求9所述的系统,其中指令还包括用于以下操作的指令:
由GAN的鉴别器D接收第三输出G(E(G(Z)));以及
使用损失函数来更新鉴别器D的权重θD
其中表示在给定当前权重值θD的情况下鉴别器D认为目标样本y是否为真实数据,
其中,表示对于真实数据y的第一分布的第一期望值,
其中表示在给定权重θD的当前值的情况下鉴别器D认为第一输出G(Z)是否为真实数据,以及
其中表示对于第一输出G(Z)的随机第二分布的第二期望值。
15.根据权利要求9所述的系统,其中编码器E包含一个神经网络。
16.根据权利要求15所述的系统,
其中该神经网络还包含一个放大层,并且
其中编码器E的第二输出E(G(Z))和第四输出E(G(E(G(Z))))分别具有的第一大小等于第一输入Z的第二大小。
17.一种用于视频通信的样式转换的方法,包括:
由发生器G接收包含有视频通信第一位参与者的源图像的相应输入;以及
从发生器G输出一幅输出图像,其中在输出图像中第一位参与者的图像经过了修改,其中使用生成对抗网络GAN通过以下步骤训练发生器G:
发生器G在接收到第一输入Z之后随即生成第一输出G(Z),其中第一输出G(Z)是第一输入Z的第一环境空间表示,其中第一输入Z为第一位参与者的源图像,第一输出G(Z)为嵌入高维空间中的图像;
编码器E在接收到第一输出G(Z)作为输入后随即生成第二输出E(G(Z)),
其中第二输出E(G(Z))是第一输出G(Z)的第一潜在空间表示,其中第二输出
E(G(Z))为图像G(Z)在低维空间的映射;
发生器G在接收到第二输出E(G(Z))作为输入后随即生成第三输出
G(E(G(Z))),其中第三输出G(E(G(Z)))是第二输出E(G(Z))的第二环境空间表示,
其中第三输出G(E(G(Z)))为对第二输出E(G(Z))进行上采样生成的图像;
编码器E在接收到第三输出G(E(G(Z)))作为输入后随即生成第四输出
E(G(E(G(Z)))),其中第四输出E(G(E(G(Z))))是第三输出G(E(G(Z)))的第二潜在空间表示,其中第四输出E(G(E(G(Z))))为图像G(E(G(Z)))在低维空间的映射;
训练编码器E以最小化第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的差;以及
使用第二输出E(G(Z))和第四输出E(G(E(G(Z))))来约束对发生器G的训练;以及
应用利普希茨条件来训练发生器G,以使输出G(Z)和第三输出G(E(G(Z)))之间的第一差值不超过第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的第二差值。
18.根据权利要求17所述的方法,其中GAN还包含一个鉴别器D,且其中训练编码器E以最小化第二输出E(G(Z))和第四输出E(G(E(G(Z))))之间的差包括:
通过对m个样本递减一个梯度
来更新发生器G,
其中μ1andμ2是超参数,
其中m个样本包括从噪声先验分布pg(z)中选取的m个随机样本{z1,z2,...,
zm}和从真实数据分布pdata(y)中选取的m个目标数据样本{y1,y2,...,ym},
其中θE是编码器E的第一当前权重值,
其中θG是发生器G的第二当前权重值,
其中θD是鉴别器D的第三当前权重值,并且
其中表示鉴别器D认为第一输出/>是否为真实数据。
CN202010283857.4A 2019-05-02 2020-04-13 通过潜在空间正则化对无监督式生成对抗网络进行优化 Active CN111882026B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962842125P 2019-05-02 2019-05-02
US62/842,125 2019-05-02
US16/661,982 US11544571B2 (en) 2019-05-02 2019-10-23 Optimizing unsupervised generative adversarial networks via latent space regularizations
US16/661,982 2019-10-23

Publications (2)

Publication Number Publication Date
CN111882026A CN111882026A (zh) 2020-11-03
CN111882026B true CN111882026B (zh) 2023-11-24

Family

ID=73017792

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010283857.4A Active CN111882026B (zh) 2019-05-02 2020-04-13 通过潜在空间正则化对无监督式生成对抗网络进行优化

Country Status (2)

Country Link
US (1) US11544571B2 (zh)
CN (1) CN111882026B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11048980B2 (en) * 2019-04-30 2021-06-29 Agora Lab, Inc. Optimizing supervised generative adversarial networks via latent space regularizations
US11615317B2 (en) * 2020-04-10 2023-03-28 Samsung Electronics Co., Ltd. Method and apparatus for learning stochastic inference models between multiple random variables with unpaired data
KR102159052B1 (ko) * 2020-05-12 2020-09-23 주식회사 폴라리스쓰리디 영상 분류 방법 및 장치
CN113283444B (zh) * 2021-03-30 2022-07-15 电子科技大学 一种基于生成对抗网络的异源图像迁移方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10282513B2 (en) * 2015-10-13 2019-05-07 The Governing Council Of The University Of Toronto Methods and systems for 3D structure estimation
US10825219B2 (en) * 2018-03-22 2020-11-03 Northeastern University Segmentation guided image generation with adversarial networks

Also Published As

Publication number Publication date
US11544571B2 (en) 2023-01-03
US20200349447A1 (en) 2020-11-05
CN111882026A (zh) 2020-11-03

Similar Documents

Publication Publication Date Title
CN111899163B (zh) 生成对抗网络中单图像超分辨率的有效结构保持
CN111882026B (zh) 通过潜在空间正则化对无监督式生成对抗网络进行优化
CN110047056B (zh) 用深度图像到图像网络和对抗网络的跨域图像分析和合成
US11645835B2 (en) Hypercomplex deep learning methods, architectures, and apparatus for multimodal small, medium, and large-scale data representation, analysis, and applications
Sun et al. Learning layout and style reconfigurable gans for controllable image synthesis
US11694085B2 (en) Optimizing supervised generative adversarial networks via latent space regularizations
CN112288011B (zh) 一种基于自注意力深度神经网络的图像匹配方法
Xiang et al. Towards interpretable skin lesion classification with deep learning models
CN112001488A (zh) 训练生成型对抗性网络
CN115661246A (zh) 一种基于自监督学习的姿态估计方法
CN114897728A (zh) 图像增强方法、装置、终端设备以及存储介质
CN116071601A (zh) 训练模型的方法、装置、设备和介质
US20230289608A1 (en) Optimizing Supervised Generative Adversarial Networks via Latent Space Regularizations
Shih et al. Video interpolation and prediction with unsupervised landmarks
WO2022175717A1 (en) System and method for self-attentive image modality conversion and domain adaptation
Zhang et al. SE-DCGAN: a new method of semantic image restoration
KR20230167086A (ko) 공간과 시간에 따른 어텐션을 이용한 비디오 시퀀스에서 객체 표현에 대한 비지도 학습
RaviPrakash et al. Variational capsule encoder
Mathieu Unsupervised Learning Under Uncertainty
US20240169686A1 (en) Directed inferencing using input data transformations
KR102307671B1 (ko) 얼굴 인증을 수행하기 위한 방법
US20240144019A1 (en) Unsupervised pre-training of geometric vision models
Lucas Deep Perceptual Losses and Self-supervised Fine-tuning for Image and Video Super-resolution
Morssy Bayesian methods for inverse problems
Lu et al. Meta Deformation Network: Meta Functionals for Shape Correspondence

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant