CN114330736A - 具有噪声对比先验的潜在变量生成性模型 - Google Patents

具有噪声对比先验的潜在变量生成性模型 Download PDF

Info

Publication number
CN114330736A
CN114330736A CN202111139234.0A CN202111139234A CN114330736A CN 114330736 A CN114330736 A CN 114330736A CN 202111139234 A CN202111139234 A CN 202111139234A CN 114330736 A CN114330736 A CN 114330736A
Authority
CN
China
Prior art keywords
values
network
training
encoder
latent
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.)
Pending
Application number
CN202111139234.0A
Other languages
English (en)
Inventor
A·瓦达特
J·阿内娅
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of CN114330736A publication Critical patent/CN114330736A/zh
Pending legal-status Critical Current

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • 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
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements

Landscapes

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

Abstract

本发明公开了具有噪声对比先验的潜在变量生成性模型,一个实施例阐述了用于生成图像(或其他生成性输出)的技术。该技术包括:确定多个训练图像中包括的一组视觉属性的一个或更多个第一值,其中该一组视觉属性经由先验网络进行编码。该技术还包括:将重加权因子应用于第一值以生成该一组视觉属性的一个或更多个第二值,其中第二值表示朝向该一组视觉属性的一个或更多个第三值移位的第一值,其中该一个或更多个第三值已经经由编码器网络生成。该技术还包括:经由解码器网络对第二值执行一个或更多个解码操作,以生成多个训练图像中未包括的新图像。

Description

具有噪声对比先验的潜在变量生成性模型
相关申请的交叉引用
本申请要求于2020年9月25日提交的、序列号为63/083,635的题为“具有噪声对比先验的变分自动编码器(VARIATIONAL AUTOENCODERS WITH NOISE CONTRASTIVE PRIORS)”的美国临时专利申请的优先权权益。该相关申请的主题在此通过引用并入本文中。
技术领域
本公开的实施例总地涉及机器学习和计算机科学,更具体地,涉及具有噪声对比先验的潜在变量生成性模型。
背景技术
在在机器学习中,生成性模型通常包括深度神经网络和/或其他类型的机器学习模型,这些模型经过训练以生成新的数据实例。例如,可以在包括大量猫的图像的训练数据集上训练生成性模型。在训练期间,生成性模型“学习”图像中描绘的各种猫的视觉属性。然后,生成性模型可以使用这些学习到的视觉属性来产生训练数据集中未找到的猫的新图像。
变分自动编码器(VAE)是一种生成性模型。VAE通常包括编码器网络,该编码器网络被训练为将训练数据集中的数据点转换为“潜在变量”的值,其中每个潜在变量表示训练数据集中的数据点的属性。VAE还包括先验网络,该先验网络被训练为学习与训练数据集相关联的潜在变量的分布,其中潜在变量的分布表示训练数据集中不同属性的变化和出现。VAE还包括解码器网络,该解码器网络被训练为将编码器网络生成的潜在变量值转换回与训练数据集中的数据点基本相同的数据点。在训练完成后,通过从先验网络在训练期间学习的分布中采样潜在变量值,并经由解码器网络将这些采样的值转换为新的数据点,可以使用经训练的VAE生成与原始训练数据集中的数据相似的新数据。以这种方式生成的每个新数据点可以包括与训练数据集中的数据点的一个或更多个属性相似(但不完全相同)的属性。
例如,可以在包括猫的图像的训练数据集上训练VAE,其中每个图像包括数万到数百万像素。经训练的VAE将包括编码器网络,该编码器网络将每个图像转换为数百或数千个数字潜在变量值。每个潜在变量将代表用于训练VAE的一个或更多个图像中找到的相应视觉属性(例如,图像中猫的脸、皮毛、身体、表情、姿势等的外观)。先验网络将捕获训练数据集中所有图像的视觉属性的变化和出现,作为潜在变量的相应分布(例如,作为均值、标准偏差和/或与数字潜在变量值相关联的其他汇总统计数据)。在训练完成后,可以使用经训练的VAE通过采样落入先验网络学习的潜在变量分布中的潜在变量值,并经由解码器网络将那些采样到的潜在变量值转换为在附加的猫图像中的新的像素值,来生成未包括在训练数据集中的附加的猫图像。
使用VAE生成新数据的一个缺点称为“先验洞问题”,其中在先验网络基于给定训练数据集学习的潜在变量分布中,高概率被分配给与训练数据集中的任何实际数据不对应的潜在变量值区域。这些错误高概率的区域通常是由VAE中的解码器能够学习的潜在变量值的分布的复杂性或“表达性”的限制而产生。此外,由于这些区域不反映训练数据集中任何实际数据点的属性,因此当VAE中的解码器网络将来自这些区域的样本转换为新数据点时,这些新数据点通常与训练数据集中的数据不相似。
继续上述示例,在训练期间,VAE中的编码器可将包括猫图像的训练数据集转换为占据第一组区域的潜在变量值。反过来,先验网络从训练数据集中学习的潜在变量的分布可以包括该第一区域的高概率,这反映第一组区域内的潜在变量值对应于实际训练数据的事实。然而,由先验网络学习的分布还可以包括第二组区域的高概率,该第二组区域不包括编码器从训练数据集生成的任何潜在变量值。在这种情况下,该第二组区域的高概率是错误的,并且错误地表明第二组区域包括对应于实际训练数据的属性的潜在变量值。如上所述,在此类情况下,先验网络学习到的分布与编码器网络从训练数据集中产生的潜在变量的实际分布不匹配,因为先验网络学到的分布比编码器网络产生的实际分布更简单或不具有“表达性”。因此,如果在由先验网络学习的潜在变量的分布中落在第二组区域内的潜在变量值被采样并由VAE中的解码器网络转换成新的像素值,所产生的图像将无法与猫相似。
解决先验网络学习到的潜在变量分布与编码器网络从训练数据集生成的潜在变量实际分布之间不匹配的一种方法是使用采用迭代马尔可夫链蒙特卡罗(MCMC)采样技术的基于能量的模型训练来训练机器学习模型学习更复杂的、或更具“表达性”的潜在变量分布,以表示训练数据集。但是,每个MCMC采样步骤取决于上一个采样步骤的结果,这会阻止并行执行MCMC采样。连续执行不同的MCMC步骤在计算上既低效又耗时。
如上所述,本领域需要的是使用变分自动编码器生成新数据的更有效技术。
发明内容
本发明的一个实施例阐述了用于改进生成性模型产生的生成性输出的技术。该技术包括:从由包括在生成性模型中的先验网络学习的一组潜在变量的分布中采样一个或更多个第一值。该技术还包括:将重新加权因子应用于所述一个或更多个第一值,以便生成所述一组潜在变量的一个或更多个第二值,其中所述重新加权因子基于一个或更多个分类器而确定,所述分类器用于区分从先验分布中采样的值和经由包括在生成性模型中的编码器网络生成的所述一组潜在变量的值。该技术还包括:经由包括在生成性模型中的解码器网络对一个或更多个第二值执行一个或更多个解码操作以产生生成性输出
与现有技术相比,所公开技术的至少一个技术优势在于,与通常使用常规变分自动编码器产生的输出相比,所公开技术产生的生成式输出看起来更逼真,更类似于训练数据集中的数据。另一个技术优势是,利用所公开的技术,由编码器从训练数据集产生的潜在变量的复杂分布可以由机器学习模型来近似,该机器学习模型以相对于现有技术更计算有效的方式来训练和执行。与现有技术方法相比,这些技术优势提供了一种或更多种技术改进。
附图说明
为了能够详细理解各个实施例的上述特征,可以通过参考各个实施例(其中一些在附图中示出)对上述简要总结的发明概念进行更具体的描述。然而,应注意,附图仅示出了本发明概念的典型实施例,因此不应被视为以任何方式限制范围,并且存在其他同样有效的实施例。
图1示出了配置为实现各个实施例的一个或更多个方面的计算设备。
图2是根据各个实施例的图1的训练引擎和执行引擎的更详细说明。
图3A是根据各个实施例的图2的VAE的分层版本中包括的编码器的示例架构。
图3B是根据各个实施例的图2的VAE的分层版本中包括的生成式模型的示例架构。
图4A是根据各个实施例的图2的VAE的分层版本中包括的编码器中包括的示例残差单元。
图4B是根据各个实施例的图2的VAE的分层版本中包括的生成性模型中的示例性残差单元。
图5A是根据各个实施例的包括在可与图2的VAE的分层版本一起使用的分类器中的示例性残差单元。
图5B是根据其他各个实施例的包括在可与图2的VAE的分层版本一起使用的分类器中的示例性残差块。
图5C是根据其他各个实施例的可与图2的VAE的分层版本一起使用的分类器的示例性架构。
图6是根据各个实施例的用于训练生成性模型的方法步骤的流程图。
图7是根据各个实施例的用于产生生成性输出的方法步骤的流程图。
图8是被配置为实现各个实施例的一个或更多个方面的游戏流***。
具体实施方式
在以下描述中,阐述了许多具体细节,以提供对各个实施例的更透彻的理解。然而,对于本领域的技术人员来说,显然可以在没有这些具体细节中的一个或更多个的情况下实践本发明的概念。
概述
变分自动编码器(VAE)是一种机器学习模型,被被训练为在“学习”训练数据集中找到的数据的属性后生成数据的新实例。例如,可以在包括大量猫的图像的数据集上训练VAE。在VAE的训练期间,VAE学习图像中猫的面部、毛发、身体、表情、姿势和/或其他视觉属性的模式。这些学习到的模式允许VAE生成训练数据集中未找到的猫的新图像。
VAE包括许多神经网络。这些神经网络可以包括编码器网络,该编码器网络被训练为将训练数据集中的数据点转换为“潜在变量”的值,其中每个潜在变量表示训练数据集中的数据点的属性。这些神经网络还可包括先验网络,该先验网络被训练为学习与训练数据集相关联的潜在变量的分布,其中潜在变量的分布表示训练数据集中不同属性的变化和出现。这些神经网络还可以包括解码器网络,该解码器网络被训练为将编码器网络生成的潜在变量值转换回与训练数据集中的数据点基本相同的数据点。在训练完成之后,通过从先验网络在训练期间学习的分布中采样潜在变量值并经由解码器网络将这些采样值转换为新数据点,可以使用经训练的VAE生成与原始训练数据集中的数据相似的新数据。以这种方式生成的每个新数据点可以包括与训练数据集中的数据点的一个或更多个属性相似(但不完全相同)的属性。
例如,可以在包括猫图像的训练数据集上训练VAE,其中每个图像包括数万到数百万个像素。经训练的VAE将包括编码器网络,该编码器网络将每个图像转换为数百或数千个数字潜在变量值。每个潜在变量将代表用于训练VAE的一个或更多个图像中找到的相应视觉属性(例如,图像中猫的脸、皮毛、身体、表情、姿势等的外观)。先验网络将捕获训练数据集中所有图像上的视觉属性的变化和出现,作为潜在变量的相应分布(例如,作为平均值、标准偏差和/或与数字潜在变量值相关联的其他汇总统计数据)。在训练完成后,可以通过采样落入先验网络学习的潜在变量的分布中的潜在变量值,并经由解码器网络将那些采样到的潜在变量值转换为附加的猫图像中的新的像素值,来使用经训练的VAE生成在训练数据集中不包括的附加的猫图像。
VAE可用于各种实际应用中。首先,VAE可用于产生可用于广告、出版物、游戏、视频和/或其他类型媒体的图像、文本、音乐和/或其他内容。第二,VAEs可用于计算机图形学应用。例如,VAE可用于渲染二维(2D)或三维(3D)角色、对象和/或场景,而无需用户显式绘制或创建2D或3D内容。第三,VAE可用于生成或扩充数据。例如,人在图像中的外观(例如,面部表情、性别、面部特征、头发、皮肤、衣服、配件等)可以通过调整由VAE中的编码器网络从图像输出的潜在变量值并使用来自相同VAE的解码器网络将调整后的值转换为新图像来改变。在另一个示例中,经训练的VAE中的先验和解码器网络可用于生成包括在另一个机器学习模型的训练数据中的新图像。第四,VAE可用于分析或聚合给定训练数据集的属性。例如,可以分析VAE从一组图像中学习的面部、动物和/或对象的视觉属性,以更好地理解视觉属性和/或改进区分图像中不同类型对象的机器学习模型的性能。
为了帮助VAE生成准确地捕获在训练数据集中发现的属性的新数据,首先在训练数据集中训练VAE。在VAE的训练完成后,训练单独的机器学习模型(称为“分类器”),以区分从由先验网络从训练数据集学习的潜在变量分布中采样的值和由编码器网络从训练数据集生成的潜在变量的实际分布中采样的值。例如,VAE可以首先被训练为学习代表训练数据集中包括的图像中的人脸的视觉属性的潜在变量分布。然后可以训练分类器以确定一组潜在变量值是由VAE中的编码器网络从训练数据集中的图像产生的,还是从先验网络学习的潜在变量分布中采样的。
然后,经训练的VAE和分类器可以一起用来产生类似于训练数据集中的数据的生成性输出。首先,从先验网络学习到的潜在变量分布中采样一组潜在变量值,并将采样到的潜在变量值输入分类器以生成“重新加权因子”,该重新加权因子捕获采样到的潜在变量值与编码器网络从训练数据集中的数据生成的实际潜在变量值之间的差异。接下来,重新加权因子与采样到的潜在变量值相结合,以使采样到的潜在变量值向编码器网络从训练数据集中的实际数据生成的潜在变量值移位(shift)。然后将移位的潜在变量值输入解码器网络,以产生训练数据集中没有的新的“生成性输出”。
例如,先验网络可以存储与代表性别、面部表情、面部特征、头发颜色和样式、肤色、服装、配饰和/或包括在训练数据集中的图像中的人脸的其他属性的潜在变量值有关的统计数据。一组潜在变量值可以使用存储在先验网络中的统计数据进行采样,分类器可以被应用于采样到的潜在变量值,以生成介于0和1之间的一个或更多个值,其代表采样到的潜在变量值由编码器网络从训练数据集中产生和/或使用先验网络采样的概率。然后,分类器的输出可以转换为重新加权因子,重新加权因子可用于将采样到的潜在变量值从不代表训练数据集中实际图像的属性的区域中移开。然后,解码器网络可以应用于移位的潜在变量值,以生成具有可识别的和/或逼真的面部特征的新的面部图像。
***概述
图1示出了配置为实现各个实施例的一个或更多个方面的计算设备100。在一个实施例中,计算设备100包括台式计算机、膝上型计算机、智能电话、个人数字助理(PDA)、平板计算机或配置为接收输入、处理数据和可选地显示图像的任何其他类型的计算设备,并且适合于实践一个或更多个实施例。计算设备100被配置为运行驻留在存储器116中的训练引擎122和执行引擎124。注意,本文描述的计算设备是说明性的,并且任何其他技术上可行的配置都落入本公开的范围。例如,训练引擎122和执行引擎124的多个实例可以在分布式和/或云计算***中的一组节点上执行,以实现计算设备100的功能。
在一个实施例中,计算设备100包括但不限于连接一个或更多个处理器102、耦合到一个或更多个输入/输出(I/O)设备108的输入/输出(I/O)设备接口104、存储器116、存储装置114以及网络接口106的互连(总线)112。处理器102可以是实现为中央处理单元(CPU)、图形处理单元(GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、人工智能(AI)加速器、任何其他类型的处理单元或不同处理单元的组合(例如配置为与GPU一起运行的CPU)的任何合适的处理器。通常,处理器102可以是能够处理数据和/或执行软件应用的任何技术上可行的硬件单元。此外,在本公开的上下文中,计算设备100中所示的计算元件可以对应于物理计算***(例如,数据中心中的***),或者可以是在计算云内执行的虚拟计算实例。
在一个实施例中,I/O设备108包括能够接收输入的设备,例如键盘、鼠标、触摸板和/或麦克风,以及能够提供输出的设备,例如显示设备和/或扬声器。此外,I/O设备108可以包括能够接收输入和提供输出的设备,例如触摸屏、通用串行总线(USB)端口等。I/O设备108可以被配置为从计算设备100的最终用户(例如,设计者)接收各种类型的输入,并且还向计算设备100的最终用户提供各种类型的输出,例如显示的数字图像或数字视频或文本。在一些实施例中,一个或更多个I/O设备108被配置为将计算设备100耦合到网络110。
在一个实施例中,网络110是任何技术上可行类型的通信网络,其允许在计算设备100和外部实体或设备(例如web服务器或另一联网计算设备)之间交换数据。例如,网络110可以包括广域网(WAN)、局域网(LAN)、无线(WiFi)网络和/或因特网等。
在一个实施例中,存储装置114包括用于应用程序和数据的非易失性存储装置,并且可以包括固定或可移除的磁盘驱动器、闪存设备以及CD-ROM、DVD-ROM、蓝光、HD-DVD或其他磁、光或固态存储设备。训练引擎122和执行引擎124可以存储在存储装置114中,并在执行时加载到存储器116中。
在一个实施例中,存储器116包括随机存取存储器(RAM)模块、闪存单元或任何其他类型的存储器单元或其组合。处理器102、I/O设备接口104和网络接口106被配置为从存储器116读取数据和向存储器116写入数据。存储器116包括可由处理器102执行的各种软件程序以及与所述软件程序相关联的应用数据,包括训练引擎122和执行引擎124。
训练引擎122包括在训练数据集上训练变分自动编码器(VAE)的功能,执行引擎124包括执行VAE的一个或更多个部分以生成训练数据集中找不到的附加数据的功能。例如,训练引擎122可以在一组训练图像上训练VAE中的编码器网络、先验网络和/或解码器网络,并且执行引擎124可以执行包括经训练的先验网络和解码器网络的生成式模型,以产生在训练图像中找不到的附加图像。
在一些实施例中,训练引擎122和执行引擎124使用一些技术来减轻先验网络从训练数据集学习到的潜在变量分布和编码器网络从训练数据集输出的潜在变量的实际分布之间的不匹配。更具体地说,训练引擎122和执行引擎124学习识别和避免VAE的潜在变量空间中不编码训练数据集中数据的实际属性的区域。正如下文进一步详细描述的那样,这通过增加VAE产生的生成性输出捕获训练数据集中的数据的属性的可能性,改善了VAE的生成性性能。
具有噪声对比先验的变分自动编码器
图2是根据各个实施例的图1的训练引擎122和执行引擎124的更详细说明。训练引擎122训练学习训练数据208的数据集的分布的VAE 200,并且执行引擎124执行VAE 200的一个或更多个部分以产生生成式输出250,该生成式输出250包括分布中未在训练数据208中找到的附加数据点。
如图所示,VAE 200包括许多神经网络:编码器202、先验252和解码器206。编码器202将一组训练数据208“编码”为潜在变量值,先验252学习编码器202输出的潜在变量的分布,以及解码器206将从分布中采样的潜在变量值“解码”为基本上再现训练数据208的重建数据210。例如,训练数据208可以包括人脸、动物、车辆和/或其他类型对象的图像;语音、音乐和/或其他音频;文章、帖子、书面文件和/或其他文本;三维点云、网格和/或模型;和/或其他类型的内容或数据。当训练数据208包括人脸的图像时,编码器202可以将每个图像中的像素值转换为表示对象和/或图像的推理的视觉属性(例如,肤色、头发颜色和样式、面部特征的形状和大小、性别、面部表情、和/或图像中人脸的其他特征)的更小数量的潜在变量,先验252可学习训练数据208中多个图像上潜在变量的分布的均值和方差,解码器206可以将从潜在变量分布采样和/或由编码器202输出的潜在变量转换为训练数据208中的图像重建。
VAE 200的生成式操作可使用以下概率模型表示:
p(x,z)=p(z)p(x|z), (1)
其中p(z)是先验252对潜在变量z学习的先验分布,p(x|z)是似然函数或解码器206,其生成给定潜在变量z的数据x。换句话说,从先验252p(z)中采样潜在变量,并且数据x具有以采样的潜在变量z为条件的似然。概率模型包括后验p(z|x),其用于推理潜在变量z的值。因为p(z|x)是难以处理的,所以由编码器202学习的另一个分布q(z|x)用于近似p(z|x)。
如图所示,训练引擎122执行VAE训练阶段220,其基于目标232更新编码器202、先验252和解码器206的参数,该目标是基于代表VAE 200的概率模型和训练数据208(例如,一组图像、文本、音频、视频等)与重建数据210之间的误差计算的。尤其是,目标232包括要最大化的对数似然p(x)的变分下限:
Figure BDA0003280401370000091
其中q(z|x)是编码器202学到的近似后验,KL是Kullback-Leibler(KL)散度。最终的训练目标被表述为
Figure BDA0003280401370000092
其中pd(x)是训练数据208的分布。
本领域的技术人员将理解,先验252可能无法匹配编码器202在VAE训练阶段220完成后从训练数据208输出的合计近似后验分布。特别是,合计近似后验可表示为
Figure BDA0003280401370000093
在VAE训练阶段220期间,相对于先验252的参数最大化
Figure BDA0003280401370000094
对应于通过相对于p(z)最小化KL(q(z)||p(z))来使先验252尽可能地接近合计近似后验。然而,在VAE训练阶段220结束时,先验252p(z)无法与合计近似后验q(z)完全匹配(例如,因为先验252的表达能力不足以捕获合计近似后验)。由于这种不匹配,由先验252从训练数据208中学习到的潜在变量分布将高概率分配给潜在变量z所占据的潜空间中不对应于训练数据208中的任何样本的区域。反过来,解码器206无法将来自这些区域的样本转换为有意义地类似于或反映任何训练数据208的属性的数据。
在一个或更多个实施例中,训练引擎122通过创建噪声对比先验(NCP)226来缓解由编码器202学习的合计近似后验分布和在VAE训练阶段220结束时由先验252编码的先验分布之间的不匹配,该噪声对比先验调整来自先验252的样本以避免潜在空间中不对应于训练数据208中样本的区域。在一些实施例中,NCP 226包括以下形式:
pNCP(z)=(r(z)p(z))/Z, (3)
其中p(z)是基础先验252分布(例如高斯分布),r(z)是重新加权因子(例如重新加权因子218),Z=∫r(z)p(z)dz是归一化常数。函数r将n维实值潜在变量z映射为正标量。
如图所示,使用先验252和分类器212的组合创建NCP 226,该分类器212输出与编码器202和先验252的输出相关的概率214。更具体地说,分类器212包括二元分类器(binaryclassifier),该二元分类器分析来自VAE 200的潜在变量样本,并确定该样本是来自编码器202(例如,在训练数据208的相应样本被输入到编码器202之后)还是来自先验252。
为了创建NCP 226,训练引擎122在VAE训练阶段220完成后冻结VAE 200中的编码器202、先验252和解码器206的参数,并执行分类器训练阶段222,其训练分类器212以区分由编码器202从训练数据208生成的第一组潜在变量值和从先验252采样的第二组潜在变量值。例如,分类器212可以包括残差神经网络、基于树的模型、逻辑回归模型、支持向量机和/或其他类型的机器学习模型。对分类器212的输入可以包括来自VAE 200的潜在空间的一组潜在变量值,而来自分类器212的输出可以包括两个总和为1的概率214:代表该组潜在变量值由编码器202生成的可能性的第一概率,以及代表该组潜在变量值从先验252采样的可能性的第二概率。
在一个或更多个实施例中,分类器212使用包括二进制交叉熵损失的目标234来训练:
Figure BDA0003280401370000111
在上述等式中,
Figure BDA0003280401370000114
是二元分类器212,它生成分类概率214,其区分来自编码器202的样本和来自先验252的样本。当
Figure BDA0003280401370000112
时,等式4是最小化的。用D*(z)表示最优分类器212,重新加权因子被估计为:
Figure BDA0003280401370000113
在VAE训练阶段220和分类器训练阶段222都完成后,训练引擎122和/或***的另一个组件从先验252和分类器212创建NCP 226。例如,训练引擎122可以使用等式3来用形式为pNCP(z)∝r(z)p(z)的更有表达性的分布替代基础先验252。反过来,NCP 226使用重新加权因子r(z)将先验252与合计近似后验相匹配,从而避免与z相关联的潜在空间中不对应于训练数据208的编码属性的区域。
在VAE训练阶段220和分类器训练阶段222完成并且NCP 226被创建之后,执行引擎124使用NCP 226和/或VAE 200的一个或更多个部分来产生在训练数据集208中没有发现的生成性输出250。特别是,执行引擎124使用来自先验252所学习的潜在变量分布的潜在变量样本236和使用分类器212生成的相应的重新加权因子218来从NCP 226生成NCP样本224。然后,执行引擎124使用NCP样本224来生成作为解码器206的输出的数据分布238,并且随后从数据分布238采样以产生生成性输出250。
例如,执行引擎124可以在VAE 200在包括人脸图像的训练数据208上进行训练之后,获得一组潜在变量样本236,作为从由先验252输出的参数(例如,均值和方差)描述的分布中采样的潜在变量的值。执行引擎124可以将分类器212应用于潜在变量样本236,以生成概率214,作为0和1之间的一个或更多个值,并使用等式5将概率214转换为一个或更多个重新加权因子218。执行引擎124可以使用重新加权因子218将潜在变量样本236转换为来自NCP 226的NCP样本224,并将解码器206应用于NCP样本224,以获得对应于似然p(x|z)的数据分布238的参数(例如,给定NCP样本224,图像中各个像素的像素值分布)。然后,执行引擎124可以从由解码器206参数化的似然中采样,以产生生成性输出250,其包括人脸的图像。因为潜在变量样本236和NCP样本224是从连续的潜在空间表示获得的,所以执行引擎124可以在潜在变量所代表的视觉属性之间进一步插值(例如,在由一个或更多个潜在变量所代表的愤怒和快乐的面部表情之间产生平滑过渡),以生成训练数据208中没有的人脸图像。
执行引擎124包括使用各种技术从NCP 226生成NCP样本224的功能。首先,执行引擎124可以使用采样-重要性-重采样(SIR)技术来基于潜在变量样本236和重新加权因子218生成NCP样本224。在SIR技术中,执行引擎124从先验
Figure BDA0003280401370000121
生成M个样本。然后,执行引擎124使用用重新加权因子218计算的重要性权重对M个提议的样本中的一个样本进行重新采样。
w(m)=pNCP(z(m))/p(z(m))=r(z(m)), (6)
其中每个重要性权重w(m)与从M个原始样本中重新采样相应样本的概率成比例。因为SIR是非迭代的,所以执行引擎124可以从先验252生成样本提议(proposal),并且并行地在样本提议上对r进行评估。
第二,执行引擎124可以使用基于Langevin Dynamics(LD)的采样技术来从潜在变量样本236和重新加权因子218生成NCP样本224。这种基于LD的采样技术是使用以下能量函数执行的:
E(z)=-log r(z)-log p(z) (7)
在基于LD的采样过程中,执行引擎124通过从先验252p(z)中提取来初始化样本z0,并使用以下方法迭代地更新该样本:
Figure BDA0003280401370000122
其中εt~N(0,1),λ是步长。在LD运行了有限的迭代次数后,初始样本被转换为相应的NCP样本。
在一些实施例中,VAE 200是分层VAE,其对编码器202、先验252和解码器206使用深度神经网络。分层VAE包括将潜在变量划分为不相交组序列的潜在变量层次204。在潜在变量层次204内,来自给定潜在变量组的样本与特征映射相结合,并传递给层次中的后续潜在变量组,以用于从后续组生成样本。
继续等式1表示的概率模型,潜在变量的划分可以用z={z1,z2,...,zK}表示,其中K是组数。在潜在变量层次204内,先验252用pθ(z)=Πkp(zl|z<k)表示,近似后验用p(z)=Πkp(zl|z<k)表示,其中先验中的每个条件p(zl|z<k)和近似后验中的每个条件q(zk|z<k,x)可以用阶乘正态分布表示。此外,
Figure BDA0003280401370000131
是直到第(k-1)组的聚合近似后验,
Figure BDA0003280401370000132
是第k组的聚合条件分布。
在一些实施例中,编码器202包括自下而上的模型和自上而下的模型,其基于训练数据208对潜在变量组执行双向推理。然后将自上而下的模型重新用作先验252,以推理输入到解码器206以产生重建数据210和/或生成性输出250的潜在变量值。编码器202和解码器206的体系结构将在下面参考图3A-3B进行更详细的描述。
当VAE 200是包括潜在变量层次204的层次VAE时,目标232包括以以下形式最大化的证据下限:
Figure BDA0003280401370000133
其中
Figure BDA0003280401370000134
是到第(k-1)组的近似后验。此外,log p(x|z)是给定采样的潜在变量z的观察数据x的对数似然;当p(x|z)对原始数据x赋予高概率时,这个项被最大化(即,当解码器206试图在训练数据208中重建数据点x,给定由编码器202从该数据点生成的潜在变量z)。等式中的“KL”项代表潜在变量层次204的不同级别的后验和相应的先验(例如,由先验252表示)之间的KL散度。每个KL(q(zk|z<k,x)||p(zk|z<k))都可以被认为是第k组中编码的信息量。重新参数化技巧可用于通过目标232对编码器202的参数进行反向传播。
在一个或更多个实施例中,用于具有潜在变量层次204的层次VAE 200的NCP 226包括层次NCP 226,其被定义为:
Figure BDA0003280401370000135
其中每个因素都是基于能量的模型(EBM)。在分级VAE 200的训练期间,训练引擎122最初使用等式8表示的先验
Figure BDA0003280401370000136
和目标232执行VAE训练阶段220。然后,训练引擎122在分层VAE 200的参数冻结的情况下执行分类器训练阶段222。
在分层NCP 226的分类器训练阶段222期间,训练引擎122训练多个分类器,其中分类器的数量等于潜在变量层次204中潜在变量组的数量,并且每个分类器被分配给潜在变量层次204中对应的潜在变量组。每个分类器被额外训练,以区分来自由编码器202生成的所分配的潜在变量组的值和从先验252中所分配的潜在变量组中采样的值。每个分类器可进一步使用一个或更多个残差神经网络来预测来自相应潜在变量组的样本是来自先验252还是来自编码器202,如下文关于图5A-5C进一步详细描述的。
更具体地说,使用以下目标234对每个分类器进行训练。
Figure BDA0003280401370000141
其中来自各组直到第(k-1)组的外部期望样本和来自编码器202和基本先验252分别为第k组输出的近似后验的内部期望样本以相同的z<k为条件。每个分类器Dk对样本zk进行分类,同时使用共享上下文特征c(z<k)在z<k上调节其预测。该共享上下文特征可以包括一个或更多个先前潜在变量组样本z<k和/或从z<k中提取的表示。
在以下情况下,等式13所代表的目标234被最小化。
Figure BDA0003280401370000142
用D*(z,c(z<k))来表示最佳分类器212,分层NCP 226的重新加权因子可被获得为:
Figure BDA0003280401370000143
在训练层次VAE 200和相应的层次NCP 226之后,执行引擎124使用祖先采样从先验252生成潜在变量样本236,并使用SIR或LD从潜在变量层次204中的每个组生成NCP样本224。然后,将来自NCP样本224的一个或更多个潜在变量组输入解码器206,以产生数据分布238和相应的生成性输出250,如上所讨论的。
图3A是根据各个实施例的图2的VAE 200的分层版本中的编码器202的示例体系架构。如图所示,示例体系架构形成双向推理模型,该双向推理模型包括自下而上的模型302和自上而下的模型304。
自下而上的模型302包括多个残差网络308-312,自上而下的模型304包括多个额外的残差网络314-316和可训练参数326。残差网络308-316中的每一个都包括一个或更多个残差单元,下面将结合图4A和图4B对其进行详细描述。
自下而上的模型302中的残差网络308-312从输入324(例如,图像)中确定地提取特征,以推理近似后验中的潜在变量(例如,VAE 200的概率模型中的q(z|x))。反过来,自上而下的模型304的组件用于生成潜在变量层次204中每个条件分布的参数。在从潜在变量层次204中的给定组中采样潜在变量后,这些样本与自下而上的模型302中的特征映射相结合,并作为输入传递给下一组。
更具体地说,给定数据输入324由自下而上模型302中的残差网络308、310和312依次处理。残差网络308从输入324生成第一特征映射,残差网络310从第一特征映射生成第二特征映射,残差网络312从第二特征映射生成第三特征映射。第三特征映射用于生成潜在变量层次204中第一组318潜在变量的参数,并且从组318中获取样本并与参数326组合(例如,相加)以产生对自上而下的模型304中的残差网络314的输入。自上而下的模型304中的残差网络314的输出与自下而上模型302中的残差网络310产生的特征映射相结合,并用于生成潜在变量层次204中的第二组320潜在变量的参数204。从组320中获取样本,并与残差网络314的输出相结合,以生成对残差网络316的输入。最后,自上而下的模型304中残差网络316的输出与自下而上模型302中残差网络308的输出相结合,以生成第三组322潜在变量的参数,并且可以从组322中获取样本以产生表示输入324的潜在变量的全集。
虽然图3A的示例体系架构用三个潜在变量组318-322的潜在变量层次进行了说明,但本领域技术人员将理解,编码器202可以利用层次中不同数量的潜在变量组,层次的每组中不同数量的潜在变量,和/或残差网络中不同数量的残差单元。例如,使用手写字符的28x28像素图像训练的编码器的潜在变量层次204可以包括两个不同“尺度”(即,空间维度)的15组潜在变量和每组潜在变量一个残差单元。前五组具有4x4x20维潜在变量(以高度x宽度x通道的形式),接下来的十组具有8x8x20维潜在变量。在另一示例中,使用人脸的256x256像素图像训练的编码器的潜在变量层次204可以包括五个不同尺度的36组潜在变量和每组潜在变量两个残差单元。这些尺度分别包括8x8x20、16x16x20、32x32x20、64x64x20和128x128x20以及4、4、4、8和16组的空间维度。
图3B是根据各个实施例的图2的VAE 200的分层版本中的生成式模型的示例架构。如图所示,生成式模型包括来自图3A的示例编码器架构的自上而下的模型304,以及实现解码器206的附加残差网络328。
在图3B的示例生成式模型架构中,由自上而下的模型304的残差网络314-316提取的表示用于推理层次结构中潜在变量的组318-322。然后,来自最后一组322潜在变量的样本与残差网络316的输出相结合,并作为输入提供给残差网络328。相应地,残差网络328生成数据输出330,该数据输出330是到编码器的相应输入324的重建和/或从用于VAE 200的训练数据的分布采样的新数据点。
在一些实施例中,自上而下的模型304用于学习VAE 200训练期间潜在变量的先验(例如,图2的先验252)分布。然后,先验在生成式模型和/或NCP 226中重新使用,以在解码器206将部分或全部样本转换为生成式输出之前,从潜在变量的组318-322中采样。编码器202和生成式模型之间的自上而下的模型304的这种共享减少了与学习先验252的单独的自上而下的模型和在生成式模型中使用单独的自上而下的模型相关联的计算和/或资源开销。可替代地,VAE 200可以被构造为使得编码器202使用第一自上而下的模型来生成训练数据208的潜在表示,并且生成式模型使用第二、单独的自上而下的模型作为先验252。
图4A是根据各个实施例的图2的VAE 200的分层版本的编码器202中的示例残差单元。更具体地说,图4A示出了图3A的自下而上模型302中的一个或更多个残差网络308-312所使用的残差单元。如图所示,残差单元包括多个块402-410和将残差单元的输入添加到残差单元的输出的残差链路430。
块402是具有Swish激活函数的批归一化块,块404是3x3卷积块,块406是具有Swish激活函数的批归一化块,块408是3x3卷积块,块410是在残差单元中执行逐通道门控(例如,挤压操作,诸如均值,其获得每个通道的单个值,然后是激励操作,其将非线性变换应用于挤压操作的输出以产生每通道权重)的挤压和激励块。此外,在块402-410上保持相同数量的通道。与具有卷积—批归一化—激活顺序的常规残差单元不同,图4A的残差单元包括批归一化—激活—卷积顺序,其可改进自下而上模型302和/或编码器202的性能。
图4B是根据各个实施例的图2的VAE 200的分层版本的生成式部分中的示例残差单元。更具体地说,图4B示出了图3A和图3B的自上而下模型304中一个或更多个残差网络314-316使用的残差单元。如图所示,残差单元包括多个块412-426和将残差单元的输入添加到残差单元的输出的残差链路432。
块412是批归一化块,块414是1x1卷积块,块416是具有Swish激活函数的批归一化块,块418是5x5逐深度可分离卷积块,块420是具有Swish激活函数的批归一化块,块422是1x1卷积块,块424是批归一化块,块426是挤压和激励块。标有“EC”的块414-420指示通道的数量被扩展“E”倍,而标有“C”的块包括通道的原始“C”数量。具体地,块414执行1x1卷积,该卷积扩展通道的数量以改进由块418执行的逐深度可分离卷积的表达力,并且块422执行映射回“C”通道的1x1卷积。同时,与规则卷积相比,逐深度可分离卷积在增加的内核大小的情况下降低了参数大小和计算复杂度,而不会对生成式模型的性能产生负面影响。
此外,在图4A和图4B的残差单元中使用具有Swish激活函数的批归一化可以改进编码器202的训练和/或常规残差单元或网络上的生成式模型。例如,与在同一残差单元中使用权重归一化和指数线性单元激活相比,图4A的残差单元中批归一化和Swish激活的组合将具有40个潜在变量组的VAE的性能提高了约5%。
图5A是根据各个实施例的分类器(例如,分类器212)中的示例性残差块,该分类器可以与图2的VAE 200的分层版本一起使用。更具体地说,图5A示出了名为“残差块A”的残差块,该残差块包括在分类器中,该分类器被训练成预测潜在变量层次204中相应的潜在变量组由编码器202从训练数据208生成和/或从先验252采样的概率。如图所示,残差块包括若干块502-510(也可以称为层)和残差链接512,该残差链接将残差块的输入加到残差块的输出。
块502是具有Swish激活函数的批归一化块,块504是3x3卷积块,块506是具有Swish激活函数的批归一化块,块508是3x3卷积块,块510是挤压和激励块。图5A中的所有块502-510都标有“C”,表示在所有块502-510和残差块输出的特征图中保持了原始的“C”通道数量。此外,与3x3卷积块504和508相关联的“s1”和“p1”的值表示步长(stride)和填充(padding)参数,它们都被设置为1。
图5B是根据各个实施例的分类器(例如,分类器212)中的示例性残差块,该分类器可以与图2的VAE 200的分层版本一起使用。更具体地说,图5B示出了名为“残差块B”的残差块,它被包括在分类器中,该分类器被训练成预测潜在变量层次204中相应的潜在变量组由编码器202从训练数据208生成和/或从先验252采样的概率。如图所示,残差块包括若干块522-530(也可称为层)、将残差块的输入添加到残差块的输出的残差链接532、以及沿残差链接532的若干附加块534-536(其也可称为层)。
块522是具有Swish激活函数的批归一化块,块524是3x3卷积块,块526是具有Swish激活函数的批归一化块,块528是3x3卷积块,块530是挤压和激励块。块534是Swish激活函数,块536包括1x1卷积核的序列,该卷积核是较大卷积核的一部分(factorization)。
在块522和534之后的值“C”表示由块522和534输出原始“C”数量的通道,而在块524-530和536之后的值“2C”表示在块524-530和536的特征图中以及由残差块输出两倍原始“C”数量的通道。与第一3x3卷积块524相关联的“s2”和“p1”的值表明块524的步长为2,填充为1,与第二3x3卷积块528相关联的“s1”和“p1”的值表明块528的步长为1,填充为1。而区块536中的一系列1x1卷积核相关联的“s2”和“p0”的值表明每个1x1卷积的步长为2,填充为0。
图5C是根据各个实施例的用于分类器的示例性架构542,该分类器可以与图2的VAE 200的分层版本一起使用。如图所示,架构542从具有整流线性单元(ReL)激活函数的3x3卷积核开始,步长为1,填充为1。3x3卷积之后是8个残差块:残差块A的三个实例,之后是残差块B的一个实例,之后是残差块A的三个实例,之后是残差块B的一个实例。上面关于图5A描述了残差块A的结构,上面关于图5B描述了残差块B的结构。残差块之后是二维平均池化层,二维平均池化层之后是最后一层,该层有线性部分,将前一层的激活与相应的权重和/或偏置以及sigmoid激活函数相结合。
尽管上文已经关于VAE 200描述了分类器212和NCP 226,但可以理解的是,分类器212和NCP 226也可以用于改进其他类型的生成性模型的生成性输出,该生成性模型包括潜在变量在潜在空间中的先验分布、将潜在变量的样本转换为训练数据集的数据空间中的样本的解码器、以及将训练数据集中的样本映射到潜在变量的潜在空间中的样本的组件或方法。在VAE 200的上下文中,先验分布由先验252学习,编码器202将数据空间中的训练数据的样本转换为与潜在变量层次204相关联的潜在空间中的潜在变量,并且解码器206是与编码器202分开的神经网络,并且将潜在变量值从潜在空间转换回数据空间中的似然。
生成性对抗网络(GAN)是可与分类器212和NCP 226一起使用的另一种类型的生成式模型。GAN中的先验分布由高斯分布和/或另一种简单分布表示,GAN中的解码器是生成器网络,其将来自先验分布的样本转换为训练数据集的数据空间中的样本,并且可以对生成器网络进行数值反转,以将训练数据集中的样本映射到潜在变量的潜在空间中的样本。
归一化流是另一种类型的生成式模型,其可与分类器212和NCP 226一起使用。与GAN一样,归一化流中的先验分布使用高斯分布和/或另一种简单分布实现。归一化流中的解码器由解码器网络表示,解码器网络使用从数据空间中的观测到的变量到潜在空间中的潜在变量的确定性和可逆变换将潜在空间与数据空间关联。归一化流中解码器网络的反向可用于将训练数据集中的样本映射到潜在空间中的样本。
对于这些类型的生成性模型中的每一个,第一训练阶段用于训练生成性模型,第二训练阶段用于训练分类器212以区分生成性模型中从先验分布采样的潜在变量值和被映射到训练数据集中的数据点的潜在变量值。然后,通过将先验分布与从分类器212的输出计算出的重新加权因子相结合,来创建NCP 226。然后可以使用SIR和/或LD技术将来自生成性模型的先验分布的样本转换为来自NCP 226的样本。然后,生成性模型中的解码器可用于将来自NCP 226的样本转换为训练数据集的数据空间中的新数据。
图6是根据各个实施例的用于训练生成式模型的方法步骤的流程图。尽管结合图1-5的***描述了方法步骤,但本领域技术人员将理解,配置为以任何顺序执行方法步骤的任何***都落入本发明的范围。
如图所示,训练引擎122执行602第一训练阶段,该训练阶段基于训练数据集训练生成式模型中包括的先验网络、编码器网络和解码器网络。例如,训练引擎122可以将已缩放到某分辨率的一组训练图像输入到分层VAE(或包括潜在变量的分布的另一类型的生成式模型)中。训练图像可以包括人脸、动物、车辆和/或其他类型的对象。训练引擎122还可以执行一个或更多个操作,该操作基于先验、编码器和解码器网络的输出以及相应的目标函数来更新分层VAE的参数。
接下来,训练引擎122执行604分类器训练阶段,该分类器训练阶段训练一个或更多个分类器以区分从先验网络学习的先验分布采样的第一组潜在变量值和由编码器网络从训练数据集生成的第二组潜在变量值。继续上面的例子,训练引擎122可以在第一训练阶段结束时冻结分层VAE的参数。然后,训练引擎122可以通过从先验网络采样获得第一组潜在变量值,并通过将编码器网络应用于训练图像的子集获得第二组潜在变量值。然后,训练引擎122可以执行一个或更多个操作,该操作使用训练技术(例如,梯度下降和反向传播)、目标函数(例如,二进制交叉熵损失)和/或一个或更多个超参数来迭代地更新每个分类器的权重,以便由分类器输出的概率(例如,潜在变量层次结构中的相应潜在变量值组由先验或编码器生成的概率)更好地匹配相应标签。
在分类器训练阶段结束时,训练引擎122产生一系列的分类器,其中该系列中的每个分类器区分从先验网络为潜在变量层次结构中的相应组采样的潜在变量值和由编码器网络为潜在变量层次结构中的相同组生成的潜在变量值。分类器的预测可以另外基于特征图,该特征图包括和/或代表潜在变量层次结构中先前组的潜在变量值。
然后,训练引擎122基于先验分布和与分类器的预测输出相关联的重新加权因子创建606NCP。例如,训练引擎122可以将先验网络和分类器结合到NCP中。NCP将分类器输出的一个或更多个概率转换为重新加权因子,该重新加权因子用于调整使用先验网络产生的每个潜在变量组的潜在变量样本,如上所述。
图7是根据各个实施例的用于产生生成性输出的方法步骤的流程图。尽管该方法步骤是结合图1-5的***描述的,但本领域的技术人员将理解,被配置为以任何顺序执行该方法步骤的任何***都落入本公开的范围内。
如图所示,执行引擎124从包括在生成性模型(例如VAE、归一化流、GAN等)中的先验网络学习到的潜在变量的先验分布中采样702一个或更多个值。例如,执行引擎124可以使用祖先(ancestral)采样技术,从分层VAE中由先验网络学习的潜在变量层次结构中的多组潜在变量中采样。在从潜在变量层次结构中的给定组中采样第一值后,基于第一值和/或从第一值生成的特征图,从潜在变量层次结构中的下一个组中采样第二值。换句话说,层次结构中给定的潜在变量组的采样是以层次结构中先前组的采样为条件的。
接下来,执行引擎124基于与生成性模型的NCP相关联的重新加权因子调整704一个或更多个值。例如,执行引擎124可以将重新加权因子应用于在操作702中采样的一个或更多个值,以将该值向潜在变量的一个或更多个其他值移位,该一个或更多个其他值已经由生成性模型中的编码器网络从训练数据集生成。
如上所述,可以使用由一个或更多个分类器输出的一个或更多个概率来计算重新加权因子,该分类器学习区分从先验分布采样的第一组值和由生成性模型中包括的编码器网络生成的第二组潜在变量值。每个分类器可包括具有一个或更多个残差块的残差神经网络(例如,上文关于图5A-5B所述的残差块)。每个分类器还可以区分从先验网络中编码的潜在变量层次中的相应组采样的潜在变量值和由编码器网络从训练数据集中生成的潜在变量值。重新加权因子可以基于由分类器输出的概率和该概率与1之间的差的商来计算。操作704中的调整可以通过基于与先验分布的多个样本的重新加权因子成比例的重要性权重对潜在变量值重新采样和/或基于与先验分布和重新加权因子相关联的能量函数的梯度迭代地更新潜在变量值来执行。
然后,执行引擎124将包括在生成性模型中的解码器网络应用706于调整后的值,以产生生成性输出。例如,解码器网络可以基于调整后的值输出似然函数的参数,并且可以从似然函数获得样本,以产生生成性输出(例如,作为图像中像素的像素值)。
示例游戏流媒体***
图8是根据各个实施例的游戏流媒体***800的示例***图。图8包括游戏服务器802(其可包括与图1的示例计算设备100类似的组件、特征和/或功能)、客户端设备804(其可包括与图1的示例计算设备100类似的组件、特征和/或功能)、以及网络806(其可类似于本文所述的网络)。在一些实施例中,***800可以使用云计算***和/或分布式***来实现。
在***800中,对于游戏会话,客户端设备804可以仅响应于对输入设备的输入接收输入数据,将输入数据发送到游戏服务器802,从游戏服务器802接收经编码的显示数据,并在显示器824上显示该显示数据。同样,计算强度更高的计算和处理被卸载到游戏服务器802(例如,由游戏服务器802的GPU执行游戏会话的图形输出的渲染-特别是光线或路径跟踪)。换句话说,将游戏会话从游戏服务器802流式传输到客户端设备804,从而降低客户端设备804对图形处理和渲染的要求。
例如,关于游戏会话的实例化,客户端设备804可以基于从游戏服务器802接收显示数据,在显示器824上显示游戏会话的帧。客户端设备804可以接收对一个或更多个输入设备826的输入,并作为响应生成输入数据。客户端设备804可经由通信接口820并通过网络806(例如,因特网)将输入数据发送至游戏服务器802,且游戏服务器802可经由通信接口818接收输入数据。CPU 808可接收输入数据,处理输入数据,以及将数据发送到GPU 810,该GPU 810使GPU 810生成游戏会话的渲染。例如,输入数据可以代表用户角色在游戏中的移动、发射武器、重新加载、传球、转动车辆等。渲染组件812可以渲染游戏会话(例如,代表输入数据的结果),渲染捕获组件814可将游戏会话的渲染捕获为显示数据(例如,捕获游戏会话的渲染帧的图像数据)。游戏会话的渲染可包括光线或路径跟踪照明和/或阴影效果,使用一个或更多个并行处理单元(如GPU 810)计算,其可进一步使用一个或更多个专用硬件加速器或处理核心来执行游戏服务器802的光线或路径跟踪技术。编码器816可随后对显示数据进行编码以生成经编码的显示数据,且经编码的显示数据可经由通信接口818通过网络806发送至客户端设备804。客户端设备804可以经由通信接口820接收编码的显示数据,并且解码器822可以解码该编码的显示数据以生成显示数据。然后,客户端设备804可以经由显示器824显示该显示数据。
在一些实施例中,***800包括用于实现图1-2的训练引擎122和/或执行引擎124的功能。例如,游戏服务器802和/或客户端设备804的一个或更多个组件可以执行训练引擎122以训练VAE和/或另一个生成性模型,该生成性模型包括基于训练数据集(例如,一组图像或游戏中的人物或对象的模型)的编码器网络、先验网络和/或解码器网络。然后,被执行的训练引擎122可以训练一个或更多个分类器,以区分从先验网络学习的先验分布中采样的第一组值和由编码器网络从训练数据集生成的一组潜在变量的第二组值。然后,游戏服务器802和/或客户端设备804的一个或更多个组件可以执行推理引擎124,以便通过从先验分布中采样、基于与分类器的输出相关联的重新加权因子调整采样的值以及将解码器网络应用于调整后的采样的值,来产生生成性输出(例如,在训练数据集中没有发现的角色或对象的附加图像或模型)。然后,生成性输出可以在一个或更多个游戏会话期间在客户端设备804上显示在显示器824中。
总之,所公开的技术改善了由VAE和/或其他类型的具有潜在变量分布的生成性模型产生的生成性输出。在训练数据集上训练生成性模型后,训练分类器以区分来自生成性模型学习的潜在变量(例如,图像中人脸或其他对象的视觉属性)的先验分布的第一组样本和来自与训练数据集相关联的潜在变量的近似总计后验分布的第二组样本(例如,由生成性模型的编码器部分从一组训练图像生成的样本)。分类器的输出被用来计算先验分布的重新加权因子,重新加权因子与先验分布组合成生成性模型的噪声对比先验(NCP)。NCP使先验分布更接近于近似总计后验,这使得来自NCP的样本(例如,来自先验分布的基于重新加权因子调整或选择的样本)可以避免先验分布中与训练数据集中的数据样本不对应的“洞”。然后,来自NCP的给定样本被输入到生成性模型的解码器部分中,以其包含从训练数据集中提取的属性但在训练数据集中没有发现的产生生成性输出。
相对于现有技术,所公开的技术的至少一个技术优势是,与通常使用常规变分自动编码器(或其他类型的学习潜在变量的分布的生成性模型)产生的结果相比,所公开的技术产生的生成性输出看起来更逼真,并且与训练数据集中的数据相似。另一个技术优势是,利用所公开的技术,由编码器从训练数据集中产生的潜在变量的复杂分布可以由机器学习模型来近似,相对于现有技术,机器学习模型是以更有效的计算方式进行训练和执行的。这些技术优势提供了相对于现有技术方法的一个或更多个技术改进。
1.在一些实施例中,一种用于使用变分自动编码器生成图像的计算机实现的方法,所述方法包括:确定包括在多个训练图像中的视觉属性集合的一个或更多个第一值,其中所述视觉属性集合已经经由先验网络编码;将重新加权因子应用于所述一个或更多个第一值,以便为所述视觉属性集合生成一个或更多个第二值,其中所述一个或更多个第二值表示向所述视觉属性集合的一个或更多个第三值移位的一个或更多个第一值,其中所述一个或更多个第三值已经经由编码器网络生成;以及经由解码器网络对所述一个或更多个第二值执行一个或更多个解码操作,以生成不包括在所述多个训练图像中的新图像。
2.根据条款1所述的计算机实现的方法,其中将所述重新加权因子应用于所述一个或更多个第一值包括:基于分类器生成所述重新加权因子,所述分类器区分从所述视觉属性集合中采样的值和由所述编码器网络从所述多个训练图像生成的值。
3.根据条款1或2所述的计算机实现的方法,其中所述新图像包括至少一个面部。
4.在一些实施例中,一种用于使用生成性模型生成数据的计算机实现的方法,所述方法包括:从由包括在所述生成性模型中的先验网络学习的潜在变量的分布中采样一个或更多个第一值;将重新加权因子应用于所述一个或更多个第一值,以便为所述潜在变量生成一个或更多个第二值,其中所述重新加权因子基于一个或更多个分类器而生成,所述分类器用于区分从所述分布中采样的值和经由包括在所述生成性模型中的编码器网络生成的所述潜在变量的值;和经由包括在所述生成性模型中的解码器网络对所述一个或更多个第二值执行一个或更多个解码操作以产生生成性输出。
5.根据条款4所述的计算机实现的方法,还包括:基于二进制交叉熵损失训练所述一个或更多个分类器。
6.根据条款4或5所述的计算机实现的方法,其中在训练所述一个或更多个分类器之前,使用训练数据集训练所述先验网络、所述编码器网络和所述解码器网络。
7.根据条款4-6中任一项所述的计算机实现的方法,其中由所述先验网络学习的潜在变量的分布包括潜在变量的层次,并且采样所述一个或更多个第一值包括:从包括在所述潜在变量的层次中的第一组潜在变量中采样第一值;以及基于所述第一值和特征映射,从包括在所述潜在变量的层次中的第二组潜在变量中采样第二值。
8.根据条款4-7中任一项所述的计算机实现的方法,其中所述一个或更多个分类器包括第一分类器和第二分类器,所述第一分类器区分使用所述先验网络从所述第一组潜在变量中采样的第三值和由所述编码器网络生成的所述第一组潜在变量的第四值,所述第二分类器区分使用所述先验网络从所述第二组潜在变量中采样的第五值和由所述编码器网络生成的所述第二组潜在变量的第六值。
9.根据条款4-8中任一项所述的计算机实现的方法,其中将所述重新加权因子应用于所述一个或更多个第一值包括:基于与所述重新加权因子成比例的重要性权重对所述一个或更多个第一值重新采样。
10.根据条款4-9中任一项所述的计算机实现的方法,其中将所述重新加权因子应用于所述一个或更多个第一值包括:基于与所述分布和所述重新加权因子相关联的能量函数的梯度迭代地更新所述一个或更多个第一值。
11.根据条款4-10中任一项所述的计算机实现的方法,其中所述能量函数包括所述分布和所述重新加权因子之间的差。
12.根据条款4-11中任一项所述的计算机实现的方法,其中通过计算由所述一个或更多个分类器输出的概率与所述概率和一之间的差的商来生成所述重新加权因子。
13.根据条款4-12中任一项所述的计算机实现的方法,其中所述一个或更多个分类器中的至少一个包括残差神经网络。
14.在一些实施例中,一种非暂时性计算机可读介质,其存储指令,所述指令在由处理器执行时,使所述处理器执行以下步骤:从由包括在生成性模型中的先前组件学习的潜在变量的分布中采样一个或更多个第一值;将重新加权因子应用于所述一个或更多个第一值,以便为所述潜在变量生成一个或更多个第二值,其中所述重新加权因子基于一个或更多个分类器而生成,所述分类器用于区分从所述分布中采样的值和经由包括在所述生成性模型中的编码器网络生成的所述潜在变量的值;以及经由包括在所述生成性模型中的解码器网络对所述一个或更多个第二值执行一个或更多个解码操作以产生生成性输出。
15.根据条款14所述的非暂时性计算机可读介质,其中所述指令进一步使所述处理器执行以下步骤:在第一训练阶段期间,基于训练数据集训练所述生成性模型;以及在所述第一训练阶段完成之后,在第二训练阶段期间,将所述一个或更多个分类器训练为区分从所述分布中采样的值和经由编码器网络生成的所述潜在变量的值。
16.根据条款14或15所述的非暂时性计算机可读介质,其中所述一个或更多个分类器基于二进制交叉熵损失进行训练。
17.根据条款14-16中任一项所述的非暂时性计算机可读介质,其中采样所述一个或更多个第一值包括:从由实现所述先前组件的先验网络学习的潜在变量的层次中的第一组中采样第一值;以及基于所述第一值和特征映射从所述潜在变量的层次中的第二组中采样第二值。
18.根据条款14-17中任一项所述的非暂时性计算机可读介质,其中所述一个或更多个分类器包括第一分类器和第二分类器,所述第一分类器区分从所述第一组中采样的第三值和由所述编码器网络生成的所述第一组的第四值所述第二分类器区分从所述第二组中采样的第五值和由所述编码器网络生成的所述第二组的第六值。
19.根据条款14-18中任一项所述的非暂时性计算机可读介质,其中所述一个或更多个分类器包括卷积层和一个或更多个残差块。
20.根据条款14-19中任一项所述的非暂时性计算机可读介质,其中所述一个或更多个残差块包括:具有第一Swish激活函数的第一批归一化层、在具有所述第一Swish激活函数的所述第一批归一化层之后的第一卷积层、具有第二Swish激活函数的第二批归一化层、在具有所述第二Swish激活函数的所述第二批归一化层之后的第二卷积层、以及挤压和激励层。
21.根据条款14-20中任一项所述的非暂时性计算机可读介质,其中所述先前组件由先验网络或高斯分布中的至少一个实现。
22.根据条款14-21中任一项所述的非暂时性计算机可读介质,其中所述解码器网络由包括在生成性对抗网络中的生成器网络、变分自动编码器的解码器部分、或由一个或更多个归一化流表示的可逆解码器中的至少一个实现。
23.根据条款14-22中任一项所述的非暂时性计算机可读介质,其中所述编码器网络由变分自动编码器的编码器部分、应用于包括在生成性对抗网络中的生成器网络的数值反演、或包括在归一化流网络中的解码器的反演中的至少一个实现。
1a.一种用于创建生成性模型的计算机实现的方法,该方法包括:
基于多个训练图像执行一个或更多个操作以生成经训练的编码器网络和经训练的先验网络,其中经训练的编码器网络将多个训练图像中包括的每个图像转换为视觉属性集合,经训练的先验网络学习视觉属性集合在多个训练图像上的分布;
执行一个或更多个操作,以将一个或更多个分类器训练为区分由经训练的编码器网络生成的视觉属性集合的值和从经训练的先验网络学习的分布中选择的视觉属性集合的值;以及
将经训练的先验网络与一个或更多个分类器组合,以产生包括在生成性模型中的经训练的先验组件,
其中在操作中,经训练的先验组件为视觉属性集合生成一个或更多个值,以便生成不包括在多个训练图像中的新图像。
2a.根据条款1a所述的计算机实现的方法,其中组合所述经训练的先验网络和所述一个或更多个分类器包括:将从所述经训练的先验网络学习的分布中选择的一个或更多个第一值与基于所述一个或更多个第一值的重新加权因子组合。
3a.根据条款1a所述的计算机实现的方法,其中所述新图像包括至少一个面部。
4a.一种用于创建生成性模型的计算机实现的方法,该方法包括:
基于训练数据集执行一个或更多个操作,以生成经训练的编码器网络和经训练的先验网络,其中所述经训练的编码器网络将训练数据集中包括的多个数据点转换为一组潜在变量,并且经训练的先验网络学习该组潜在变量在训练数据集上的分布;
执行一个或更多个操作,以将一个或更多个分类器训练为区分经由经训练的编码器网络生成的该组潜在变量的值和从经训练的先验网络学习的分布中采样的值;和
基于所述经训练的先验网络和一个或更多个分类器创建经训练的先验组件,其中所述经训练的先验组件对从所述经训练的先验网络学习的分布中采样的一个或更多个第一值应用重新加权因子,以生成该组潜在变量的一个或更多个第二值,
其中在操作中,所述经训练的先验组件产生一个或更多个第二值,以便生成不包括在训练数据集中的新数据点。
5a.根据条款4a所述的计算机实现的方法,其中由经训练的先验网络学习的分布包括潜在变量的层次结构,并且其中通过以下方式从经训练的先验网络学习的分布中采样一个或更多个第一值:
从潜在变量的层次中包括的第一组潜在变量中采样一个第一值;和
基于所述第一值和特征映射,从包括在所述潜在变量的层次中的第二组潜在变量中采样另一个第一值。
6a.根据条款5a所述的计算机实现的方法,其中所述一个或更多个分类器包括第一分类器和第二分类器,所述第一分类器区分使用所述经训练的先验网络从所述第一组潜在变量中采样的第三值和由所述经训练的编码器网络生成的所述第一组潜在变量的第四值,所述第二分类器区分使用所述经训练的先验网络从所述第二组潜在变量中采样的第五值和由所述经训练的编码器网络生成的所述第二组潜在变量的第六值。
7a.根据条款4a所述的计算机实现的方法,其中通过基于与重新加权因子成比例的重要性权重对一个或更多个第一值重新采样,来将重新加权因子应用于一个或更多个第一值。
8a.根据条款4a所述的计算机实现的方法,其中通过基于与经训练的先验网络学习的分布和重新加权因子相关联的能量函数的梯度迭代地更新一个或更多个第一值,来将重新加权因子应用于一个或更多个第一值。
9a.根据条款4a所述的计算机实现的方法,其中所述一个或更多个分类器中的至少一个包括残差神经网络。
10a.根据条款9a所述的计算机实现的方法,其中所述残差神经网络包括:具有第一Swish激活函数的第一批归一化层、第一卷积层、具有第二Swish激活函数的第二批归一化层、第二卷积层、以及挤压和激励层。
11a.根据条款9a所述的计算机实现的方法,其中所述残差神经网络包括Swish激活函数和卷积核序列。
12a.根据条款4a所述的计算机实现的方法,还包括:基于所述一个或更多个分类器从所述一个或更多个第一值生成的输出来计算所述重新加权因子。
13a.根据条款4a所述的计算机实现的方法,其中执行所述一个或更多个操作以训练所述一个或更多个分类器包括:基于二进制交叉熵损失迭代地更新所述一个或更多个分类器的权重。
14a.一种非暂时性计算机可读介质,其存储指令,所述指令在由处理器执行时,使所述处理器执行以下步骤:
基于训练数据集执行一个或更多个操作以训练生成性模型,其中生成性模型包括将训练数据集中包括的多个数据点转换为一组潜在变量的第一组件和在训练数据集上生成该组潜在变量的先验分布的第二组件;
执行一个或更多个操作以将一个或更多个分类器训练为区分经由第一组件生成的该组潜在变量的值和从先验分布采样的值;以及
基于所述第二组件和一个或更多个分类器创建经训练的先验组件,其中所述经训练的先验组件对从先验分布采样的一个或更多个第一值应用重新加权因子,以生成该组潜在变量的一个或更多个第二值,其中基于所述一个或更多个分类器从所述一个或更多个第一值生成的输出来确定所述重新加权因子,
其中在操作中,经训练的先验组件产生一个或更多个第二值,以便生成不包括在训练数据集中的新数据点。
15a.根据条款14a所述的非暂时性计算机可读介质,其中所述指令进一步使处理器执行以下步骤:经由生成性模型中包括的解码器网络对所述一个或更多个第二值执行一个或更多个解码操作,以生成新数据点。
16a.根据条款15a所述的非暂时性计算机可读介质,其中所述解码器网络由包括在生成性对抗网络中的生成器网络、变分自动编码器的解码器部分或由一个或更多个归一化流表示的可逆解码器中的至少一个实现。
17a.根据条款14a所述的非暂时性计算机可读介质,其中通过基于与重新加权因子成比例的重要性权重对一个或更多个第一值重新采样,将重新加权因子应用于一个或更多个第一值。
18a.根据条款14a所述的非暂时性计算机可读介质,其中通过基于与分布和重新加权因子相关联的能量函数的梯度迭代地更新一个或更多个第一值,将重新加权因子应用于一个或更多个第一值。
19a.根据条款18a所述的非暂时性计算机可读介质,其中所述能量函数包括先验分布和重新加权因子之间的差。
20a.根据条款14a所述的非暂时性计算机可读介质,其中所述一个或更多个分类器中的至少一个包括残差块序列,并且残差块序列中的至少一个残差块包括具有第一Swish激活函数的第一批归一化层,具有第一Swish激活函数的第一批归一化层之后的第一卷积层,具有第二Swish激活函数的第二批归一化层,具有第二Swish激活函数的第二批归一化层之后的第二卷积层,以及挤压和激励层。
21a.根据条款14a所述的非暂时性计算机可读介质,其中所述指令还使得所述处理器执行以下步骤:通过计算由所述一个或更多个分类器输出的概率与所述概率和1之间的差的商来执行生成所述重加权因子。
22a.根据条款14a所述的非暂时性计算机可读介质,其中所述第二组件由先验网络或高斯分布中的至少一个实现。
23a.根据条款14a所述的非暂时性计算机可读介质,其中所述第一组件由变分自动编码器的编码器部分、应用于生成性对抗网络中包括的生成器网络的数值反演或归一化流网络中包括的解码器的反演中的至少一个实现。
在任何权利要求中记载的任何权利要求要素和/或本申请中描述的任何要素的任何和所有组合,以任何方式,都落入本发明和保护的预期范围。
出于说明的目的,已经给出了各个实施例的描述,但并不意图穷尽或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员来说是显而易见的。
本实施例的各个方面可以实现为***、方法或计算机程序产品。因此,本公开的方面可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)或结合软件和硬件方面的实施例的形式,这些方面在本文中通常被称为“模块”、“***”或“计算机”。此外,本公开中描述的任何硬件和/或软件技术、过程、功能、组件、引擎、模块或***可以实现为电路或一组电路。此外,本公开的方面可以采取计算机程序产品的形式,该计算机程序产品体现在一个或更多个计算机可读介质中,该计算机可读介质上体现有计算机可读程序代码。
可以使用一个或更多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是,例如但不限于,电、磁、光、电磁、红外或半导体***、设备或装置,或上述的任何适当组合。计算机可读存储介质的更具体示例(非详尽列举)将包括以下内容:具有一条或更多条导线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、光纤、便携式光盘只读存储器(CD-ROM)、光存储设备、磁存储设备或上述任何合适的组合。在本文档的上下文中,计算机可读存储介质可以是任何有形介质,其可以包括或存储供指令执行***、装置或设备使用或与之组合使用的程序。
上文参考根据本公开实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以通过计算机程序指令来实现。这些计算机程序指令可提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以产生机器。当经由计算机或其他可编程数据处理装置的处理器执行指令时,能够实现流程图和/或框图的一个或更多个框中指定的功能/动作。此类处理器可以是但不限于通用处理器、专用处理器、专用处理器或现场可编程门阵列。
图中的流程图和框图说明了根据本公开的各个实施例的***、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个框可以表示模块、段或代码的部分,其包括用于实现指定逻辑功能的一个或更多个可执行指令。还应注意的是,在一些替代性的实施例中,框中指出的功能可能不按图中指出的顺序出现。例如,连续示出的两个框实际上可基本上同时地执行,或者这些框有时可以相反的顺序执行,这取决于所涉及的功能。还要指出的是,框图和/或流程图图示中的每个框,以及框图和/或流程图图示中的框的组合,可以由执行指定功能或动作的基于专用硬件的***,或专用硬件和计算机指令的组合来实现。
虽然前述内容针对本公开的实施例,但在不脱离本发明的基本范围的情况下,可以设计出本公开的其他和进一步的实施例,其范围由后面的权利要求确定。

Claims (23)

1.一种用于使用变分自动编码器生成图像的计算机实现的方法,所述方法包括:
确定包括在多个训练图像中的视觉属性集合的一个或更多个第一值,其中所述视觉属性集合已经经由先验网络编码;
将重新加权因子应用于所述一个或更多个第一值,以便为所述视觉属性集合生成一个或更多个第二值,其中所述一个或更多个第二值表示向所述视觉属性集合的一个或更多个第三值移位的一个或更多个第一值,其中所述一个或更多个第三值已经经由编码器网络生成;以及
经由解码器网络对所述一个或更多个第二值执行一个或更多个解码操作,以生成不包括在所述多个训练图像中的新图像。
2.根据权利要求1所述的计算机实现的方法,其中将所述重新加权因子应用于所述一个或更多个第一值包括:基于分类器生成所述重新加权因子,所述分类器区分从所述视觉属性集合中采样的值和由所述编码器网络从所述多个训练图像生成的值。
3.根据权利要求1所述的计算机实现的方法,其中所述新图像包括至少一个面部。
4.一种用于使用生成性模型生成数据的计算机实现的方法,所述方法包括:
从由包括在所述生成性模型中的先验网络学习的潜在变量的分布中采样一个或更多个第一值;
将重新加权因子应用于所述一个或更多个第一值,以便为所述潜在变量生成一个或更多个第二值,其中所述重新加权因子基于一个或更多个分类器而生成,所述分类器用于区分从所述分布中采样的值和经由包括在所述生成性模型中的编码器网络生成的所述潜在变量的值;以及
经由包括在所述生成性模型中的解码器网络对所述一个或更多个第二值执行一个或更多个解码操作以产生生成性输出。
5.根据权利要求4所述的计算机实现的方法,还包括:基于二进制交叉熵损失训练所述一个或更多个分类器。
6.根据权利要求4所述的计算机实现的方法,其中在训练所述一个或更多个分类器之前,使用训练数据集训练所述先验网络、所述编码器网络和所述解码器网络。
7.根据权利要求4所述的计算机实现的方法,其中由所述先验网络学习的潜在变量的分布包括潜在变量的层次,并且采样所述一个或更多个第一值包括:
从包括在所述潜在变量的层次中的第一组潜在变量中采样第一值;以及
基于所述第一值和特征映射,从包括在所述潜在变量的层次中的第二组潜在变量中采样第二值。
8.根据权利要求7所述的计算机实现的方法,其中所述一个或更多个分类器包括第一分类器和第二分类器,所述第一分类器区分使用所述先验网络从所述第一组潜在变量中采样的第三值和由所述编码器网络生成的所述第一组潜在变量的第四值,所述第二分类器区分使用所述先验网络从所述第二组潜在变量中采样的第五值和由所述编码器网络生成的所述第二组潜在变量的第六值。
9.根据权利要求4所述的计算机实现的方法,其中将所述重新加权因子应用于所述一个或更多个第一值包括:基于与所述重新加权因子成比例的重要性权重对所述一个或更多个第一值重新采样。
10.根据权利要求4所述的计算机实现的方法,其中将所述重新加权因子应用于所述一个或更多个第一值包括:基于与所述分布和所述重新加权因子相关联的能量函数的梯度迭代地更新所述一个或更多个第一值。
11.根据权利要求10所述的计算机实现的方法,其中所述能量函数包括所述分布和所述重新加权因子之间的差。
12.根据权利要求4所述的计算机实现的方法,其中通过计算由所述一个或更多个分类器输出的概率与所述概率和一之间的差的商来生成所述重新加权因子。
13.根据权利要求4所述的计算机实现的方法,其中所述一个或更多个分类器中的至少一个包括残差神经网络。
14.一种非暂时性计算机可读介质,其存储指令,所述指令在由处理器执行时,使所述处理器执行以下步骤:
从由包括在生成性模型中的先前组件学习的潜在变量的分布中采样一个或更多个第一值;
将重新加权因子应用于所述一个或更多个第一值,以便为所述潜在变量生成一个或更多个第二值,其中所述重新加权因子基于一个或更多个分类器而生成,所述分类器用于区分从所述分布中采样的值和经由包括在所述生成性模型中的编码器网络生成的所述潜在变量的值;以及
经由包括在所述生成性模型中的解码器网络对所述一个或更多个第二值执行一个或更多个解码操作以产生生成性输出。
15.根据权利要求14所述的非暂时性计算机可读介质,其中所述指令进一步使所述处理器执行以下步骤:
在第一训练阶段期间,基于训练数据集训练所述生成性模型;以及
在所述第一训练阶段完成之后,在第二训练阶段期间,将所述一个或更多个分类器训练为区分从所述分布中采样的值和经由编码器网络生成的所述潜在变量的值。
16.根据权利要求15所述的非暂时性计算机可读介质,其中所述一个或更多个分类器基于二进制交叉熵损失进行训练。
17.根据权利要求14所述的非暂时性计算机可读介质,其中采样所述一个或更多个第一值包括:
从由实现所述先前组件的先验网络学习的潜在变量的层次中的第一组中采样第一值;以及
基于所述第一值和特征映射从所述潜在变量的层次中的第二组中采样第二值。
18.根据权利要求17所述的非暂时性计算机可读介质,其中所述一个或更多个分类器包括第一分类器和第二分类器,所述第一分类器区分从所述第一组中采样的第三值和由所述编码器网络生成的所述第一组的第四值所述第二分类器区分从所述第二组中采样的第五值和由所述编码器网络生成的所述第二组的第六值。
19.根据权利要求14所述的非暂时性计算机可读介质,其中所述一个或更多个分类器包括卷积层和一个或更多个残差块。
20.根据权利要求19所述的非暂时性计算机可读介质,其中所述一个或更多个残差块包括:具有第一Swish激活函数的第一批归一化层、在具有所述第一Swish激活函数的所述第一批归一化层之后的第一卷积层、具有第二Swish激活函数的第二批归一化层、在具有所述第二Swish激活函数的所述第二批归一化层之后的第二卷积层、以及挤压和激励层。
21.根据权利要求14所述的非暂时性计算机可读介质,其中所述先前组件由先验网络或高斯分布中的至少一个实现。
22.根据权利要求14所述的非暂时性计算机可读介质,其中所述解码器网络由包括在生成性对抗网络中的生成器网络、变分自动编码器的解码器部分、或由一个或更多个归一化流表示的可逆解码器中的至少一个实现。
23.根据权利要求14所述的非暂时性计算机可读介质,其中所述编码器网络由变分自动编码器的编码器部分、应用于包括在生成性对抗网络中的生成器网络的数值反演、或包括在归一化流网络中的解码器的反演中的至少一个实现。
CN202111139234.0A 2020-09-25 2021-09-26 具有噪声对比先验的潜在变量生成性模型 Pending CN114330736A (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202063083635P 2020-09-25 2020-09-25
US63/083,635 2020-09-25
US17/211,681 2021-03-24
US17/211,687 US20220101121A1 (en) 2020-09-25 2021-03-24 Latent-variable generative model with a noise contrastive prior
US17/211,687 2021-03-24
US17/211,681 US20220101144A1 (en) 2020-09-25 2021-03-24 Training a latent-variable generative model with a noise contrastive prior

Publications (1)

Publication Number Publication Date
CN114330736A true CN114330736A (zh) 2022-04-12

Family

ID=80821290

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111139234.0A Pending CN114330736A (zh) 2020-09-25 2021-09-26 具有噪声对比先验的潜在变量生成性模型

Country Status (3)

Country Link
US (2) US20220101121A1 (zh)
CN (1) CN114330736A (zh)
DE (1) DE102021124769A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11961287B2 (en) * 2020-10-02 2024-04-16 Servicenow Canada Inc. Method and system for meaningful counterfactual explanations
US11763086B1 (en) * 2021-03-29 2023-09-19 Amazon Technologies, Inc. Anomaly detection in text
CN115588436A (zh) * 2022-09-29 2023-01-10 沈阳新松机器人自动化股份有限公司 基于变分自编码器生成对抗网络的语音增强方法
CN118097318A (zh) * 2024-04-28 2024-05-28 武汉大学 基于视觉语义融合的可控缺陷图像生成方法及设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017031356A1 (en) * 2015-08-19 2017-02-23 D-Wave Systems Inc. Discrete variational auto-encoder systems and methods for machine learning using adiabatic quantum computers
KR102458807B1 (ko) * 2016-11-04 2022-10-25 딥마인드 테크놀로지스 리미티드 신경망을 이용한 장면 이해 및 생성
US11048974B2 (en) * 2019-05-06 2021-06-29 Agora Lab, Inc. Effective structure keeping for generative adversarial networks for single image super resolution
US20210019541A1 (en) * 2019-07-18 2021-01-21 Qualcomm Incorporated Technologies for transferring visual attributes to images

Also Published As

Publication number Publication date
US20220101144A1 (en) 2022-03-31
DE102021124769A1 (de) 2022-04-21
US20220101121A1 (en) 2022-03-31

Similar Documents

Publication Publication Date Title
Komura et al. A recurrent variational autoencoder for human motion synthesis
Turhan et al. Recent trends in deep generative models: a review
US20190279075A1 (en) Multi-modal image translation using neural networks
CN114330736A (zh) 具有噪声对比先验的潜在变量生成性模型
Tu et al. Spatial-temporal data augmentation based on LSTM autoencoder network for skeleton-based human action recognition
Xie et al. Generative VoxelNet: Learning energy-based models for 3D shape synthesis and analysis
CN113822437B (zh) 深度分层的变分自动编码器
Iglesias et al. A survey on GANs for computer vision: Recent research, analysis and taxonomy
CN113994341A (zh) 面部行为分析
CN112418292B (zh) 一种图像质量评价的方法、装置、计算机设备及存储介质
US20220156987A1 (en) Adaptive convolutions in neural networks
JP2021012595A (ja) 情報処理装置、情報処理装置の制御方法、および、プログラム
CN115526223A (zh) 潜在空间中的基于得分的生成建模
US20220101122A1 (en) Energy-based variational autoencoders
Amini et al. A new framework to train autoencoders through non-smooth regularization
Aissa et al. A survey on generative adversarial networks and their variants methods
Li et al. Diversified text-to-image generation via deep mutual information estimation
CN111445545B (zh) 一种文本转贴图方法、装置、存储介质及电子设备
Gao Game-theoretic approaches for generative modeling
US20220101145A1 (en) Training energy-based variational autoencoders
CN113077383B (zh) 一种模型训练方法及模型训练装置
Kato et al. Visual language modeling on cnn image representations
Guo et al. Optimizing latent distributions for non-adversarial generative networks
Cheong Hands-On Image Generation with TensorFlow: A practical guide to generating images and videos using deep learning
CN114330471A (zh) 基于能量的变分自动编码器

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