CN117011404A - 图像生成模型的训练方法、装置、存储介质及程序产品 - Google Patents

图像生成模型的训练方法、装置、存储介质及程序产品 Download PDF

Info

Publication number
CN117011404A
CN117011404A CN202211336685.8A CN202211336685A CN117011404A CN 117011404 A CN117011404 A CN 117011404A CN 202211336685 A CN202211336685 A CN 202211336685A CN 117011404 A CN117011404 A CN 117011404A
Authority
CN
China
Prior art keywords
image
text
loss value
attribute
sample
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
CN202211336685.8A
Other languages
English (en)
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202211336685.8A priority Critical patent/CN117011404A/zh
Publication of CN117011404A publication Critical patent/CN117011404A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Processing (AREA)

Abstract

本申请提供一种图像生成模型的训练方法、装置、设备、介质及程序产品;方法包括:对属性文本样本的文本潜变量进行解码,得到第一重构属性文本,对图像样本的图像潜变量进行解码,得到第一重构图像;对图像潜变量进行解码,得到第二重构属性文本,对文本潜变量进行解码,得到第二重构图像;将第一重构属性文本和属性文本样本间的第一文本损失值、与第一重构图像和图像样本间的第一图像损失值的加和,作为第一损失值;将第二重构属性文本和属性文本样本间的第二文本损失值、与第二重构图像和图像样本间的第二图像损失值的加和作为第二损失值;基于第一损失值和第二损失值更新图像生成模型的模型参数。通过本申请,能够提高图像生成模型的训练效果。

Description

图像生成模型的训练方法、装置、存储介质及程序产品
技术领域
本申请涉及人工智能技术领域,尤其涉及一种图像生成模型的训练方法、装置、设备、存储介质及计算机程序产品。
背景技术
人工智能(AI,Artificial Intelligence)是计算机科学的一个综合技术,通过研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,例如自然语言处理技术以及机器学习/深度学习等几大方向,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
图像生成也是人工智能的一个重要应用方向。相关技术中,多通过图像生成模型实现图像的生成。在图像生成模型的训练过程中,针对输入的文本描述样本和图像样本,往往采用分别处理的方式进行图像生成,即基于文本描述样本和图像样本分别进行重构,从而基于各自的重构结果和输入样本的误差进行训练。但是,将文本描述样本和图像样本的重构过程分别进行,会导致文本和图像生成之间的割裂,使得文本到图像之间的跨域生成不完善,模型的训练效果不佳,影响模型生成图像的图像质量。
发明内容
本申请实施例提供一种图像生成模型的训练方法、装置、设备、存储介质及计算机程序产品,能够提高图像生成模型的训练效果,从而提高图像生成模型的图像生成质量。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种图像生成模型的训练方法,包括:
获取目标属性的属性文本样本、以及具有所述目标属性的图像样本,所述目标属性,为所述图像生成模型所能够生成的目标图像所具有的属性;
调用所述图像生成模型,对所述属性文本样本进行潜变量编码,得到文本潜变量,并对所述图像样本进行潜变量编码,得到图像潜变量;
调用所述图像生成模型,对所述文本潜变量进行潜变量解码,得到第一重构属性文本,并对所述图像潜变量进行潜变量解码,得到第一重构图像;
调用所述图像生成模型,对所述图像潜变量进行潜变量解码,得到第二重构属性文本,并对所述文本潜变量进行潜变量解码,得到第二重构图像;
基于所述第一重构属性文本和所述属性文本样本间的差异,确定第一文本损失函数的第一文本损失值,并基于所述第一重构图像和所述图像样本间的差异,确定第一图像损失函数的第一图像损失值,将所述第一文本损失值与所述第一图像损失值的加和作为所述图像生成模型的第一损失值;
基于所述第二重构属性文本和所述属性文本样本间的差异,确定第二文本损失函数的第二文本损失值,并基于所述第二重构图像和所述图像样本间的差异,确定第二图像损失函数的第二图像损失值,将所述第二文本损失值与所述第二图像损失值的加和作为所述图像生成模型的第二损失值;
基于所述第一损失值和所述第二损失值,更新所述图像生成模型的模型参数,以对所述图像生成模型进行训练。
本申请实施例还提供一种图像生成模型的训练装置,包括:
获取模块,用于获取目标属性的属性文本样本、以及具有所述目标属性的图像样本,所述目标属性,为所述图像生成模型所能够生成的目标图像所具有的属性;
编码模块,用于调用所述图像生成模型,对所述属性文本样本进行潜变量编码,得到文本潜变量,并对所述图像样本进行潜变量编码,得到图像潜变量;
第一解码模块,用于调用所述图像生成模型,对所述文本潜变量进行潜变量解码,得到第一重构属性文本,并对所述图像潜变量进行潜变量解码,得到第一重构图像;
第二解码模块,用于调用所述图像生成模型,对所述图像潜变量进行潜变量解码,得到第二重构属性文本,并对所述文本潜变量进行潜变量解码,得到第二重构图像;
第一确定模块,用于基于所述第一重构属性文本和所述属性文本样本间的差异,确定第一文本损失函数的第一文本损失值,并基于所述第一重构图像和所述图像样本间的差异,确定第一图像损失函数的第一图像损失值,将所述第一文本损失值与所述第一图像损失值的加和作为所述图像生成模型的第一损失值;
第二确定模块,用于基于所述第二重构属性文本和所述属性文本样本间的差异,确定第二文本损失函数的第二文本损失值,并基于所述第二重构图像和所述图像样本间的差异,确定第二图像损失函数的第二图像损失值,将所述第二文本损失值与所述第二图像损失值的加和作为所述图像生成模型的第二损失值;
训练模块,用于基于所述第一损失值和所述第二损失值,更新所述图像生成模型的模型参数,以对所述图像生成模型进行训练。
上述方案中,所述潜变量解码的过程通过M个级联的解码层实现,所述第一解码模块,还用于通过所述M个级联的解码层中的第一个解码层,对所述文本潜变量进行潜变量解码,得到所述第一个解码层的中间重构属性文本;通过所述M个级联的解码层中的第m个解码层,对所述文本潜变量以及第(m-1)个解码层的中间重构属性文本进行拼接,并对拼接结果进行潜变量解码,得到所述第m个解码层的中间重构属性文本;其中,所述M和所述m为大于1的整数,所述m小于或等于所述M;对所述m进行遍历,得到第M个解码层的中间重构属性文本,并将所述第M个解码层的中间重构属性文本,作为所述第一重构属性文本。
上述方案中,所述图像生成模型包括属性文本重构模型和图像重构模型,所述属性文本重构模型包括文本编码层和文本解码层,所述图像重构模型包括图像编码层和图像解码层;所述编码模块,还用于通过所述文本编码层,对所述属性文本样本进行潜变量编码,得到所述文本潜变量;所述编码模块,还用于通过所述图像编码层,对所述图像样本进行潜变量编码,得到所述图像潜变量;所述第一解码模块,还用于通过所述文本解码层,对所述文本潜变量进行潜变量解码,得到所述第一重构属性文本;所述第一解码模块,还用于通过所述图像解码层,对所述图像潜变量进行潜变量解码,得到所述第一重构图像。
上述方案中,所述训练模块,还用于获取所述图像生成模型的第三损失值和第四损失值;其中,所述第三损失值,基于所述属性文本样本的文本潜在空间、和所述图像样本的图像潜在空间之间的空间距离确定;其中,所述第四损失值,基于重构属性文本的概率分布与所述属性文本样本的概率分布间的文本分布散度、以及重构图像的概率分布与所述图像样本的概率分布间的图像分布散度确定;所述重构属性文本包括所述第一重构属性文本和所述第二重构属性文本,所述重构图像包括所述第一重构图像和所述第二重构图像;确定所述第一损失值、所述第二损失值和目标损失值的损失值之和,所述目标损失值,为所述第三损失值和所述第四损失值中至少之一;将所述损失值之和作为所述图像生成模型的第一综合损失值,并基于所述第一综合损失值,更新所述图像生成模型的模型参数。
上述方案中,所述训练模块,还用于确定所述属性文本样本的文本潜变量的文本概率分布、以及所述图像样本的图像潜变量的图像概率分布;确定所述第一重构属性文本的第一重构文本概率分布和所述第二重构属性文本的第二重构文本概率分布,并确定所述第一重构图像的第一重构图像概率分布和所述第二重构图像的第二重构图像概率分布;基于所述第一重构文本概率分布与所述文本概率分布间的分布散度、以及所述第二重构文本概率分布与所述文本概率分布间的分布散度,确定所述图像生成模型的所述文本分布散度;基于所述第一重构图像概率分布与所述图像概率分布间的分布散度、以及所述第二重构图像概率分布与所述图像概率分布间的分布散度,确定所述图像生成模型的所述图像分布散度;基于所述文本分布散度和所述图像分布散度,确定所述第四损失值。
上述方案中,所述图像样本归属于训练样本集,所述训练样本集标注有多个类别,所述图像样本标注有所述多个类别中的目标类别;所述训练样本集包括多个训练图像样本,各所述训练图像样本具有多个样本属性,所述多个样本属性包括所述目标属性;所述第一解码模块,还用于基于所述多个样本属性和所述多个样本类别,确定所述训练样本集的类别预测矩阵,并基于所述第一重构属性文本与所述类别预测矩阵,确定所述第一重构属性文本对应的图像所归属的第一预测类别;所述第一确定模块,还用于基于所述第一预测类别和所述目标类别的差异,确定第一类别损失函数的第一类别损失值;所述第一确定模块,还用于将所述第一文本损失值、所述第一图像损失值、以及所述第一类别损失值的加和,作为所述图像生成模型的第一损失值。
上述方案中,所述第二解码模块,还用于将所述第二重构属性文本的编码结果与所述类别预测矩阵进行相乘,得到所述第二重构属性文本对应的图像所归属的第二预测类别;所述第二确定模块,还用于基于所述第二预测类别和所述目标类别的差异,确定第二类别损失函数的第二类别损失值;所述第二确定模块,还用于将所述第二文本损失值、所述第二图像损失值、以及所述第二类别损失值的加和,作为所述图像生成模型的第二损失值。
上述方案中,所述第一解码模块,还用于针对各所述样本类别分别执行以下操作:从所述多个样本属性中,确定所述样本类别的训练图像样本所具有的至少一个目标样本属性,并将所述至少一个目标样本属性和所述样本类别进行编码,得到所述样本类别的预测矩阵;将多个所述样本类别的预测矩阵进行拼接,得到所述训练样本集的类别预测矩阵;所述第一解码模块,还用于对所述第一重构属性文本进行编码,并将编码得到的编码结果和所述类别预测矩阵进行相乘,得到所述第一重构属性文本对应的图像所归属的第一预测类别。
上述方案中,所述图像样本归属于训练样本集,所述训练样本集包括多种内容图案,所述图像样本包括所述多种内容图案中的目标内容图案;所述训练样本集包括多个训练图像样本,各所述训练图像样本具有多个样本属性,所述多个样本属性包括所述目标属性;所述第一解码模块,还用于基于所述多个样本属性和所述多种内容图案,确定所述训练样本集的内容图案预测矩阵,并基于所述第一重构属性文本与所述内容图案预测矩阵,确定所述第一重构属性文本对应的图像所包括的第一预测内容图案;所述第一确定模块,还用于基于所述第一预测内容图案和所述目标内容图案的差异,确定第一内容损失函数的第一内容损失值;所述第一确定模块,还用于将所述第一文本损失值、所述第一图像损失值、以及所述第一内容损失值的加和,作为所述图像生成模型的第一损失值。
上述方案中,所述第二解码模块,还用于将所述第二重构属性文本的编码结果与所述内容图案预测矩阵进行相乘,得到所述第二重构属性文本对应的图像所包括的第二预测内容图案;所述第二确定模块,还用于基于所述第二预测内容图案和所述目标内容图案的差异,确定第二内容损失函数的第二内容损失值;所述第二确定模块,还用于将所述第二文本损失值、所述第二图像损失值、以及所述第二内容损失值的加和,作为所述图像生成模型的第二损失值。
上述方案中,所述图像生成模型包括能量模型,所述第一解码模块,还用于通过所述能量模型的采样处理层,按照预设采样步长对所述图像潜变量进行目标次数的采样,得到图像采样潜变量;对所述图像采样潜变量进行潜变量解码,得到所述第一重构图像。
上述方案中,所述第一解码模块,还用于针对所述目标次数中每次采样得到的图像采样潜变量,分别执行如下操作:通过所述能量模型的图像重构层,基于所述图像采样潜变量进行图像重构,得到中间重构图像;基于所述能量模型的能量预测层,确定所述图像样本的第一能量,并确定所述中间重构图像的第二能量;基于所述第一能量和所述第二能量间的差异,确定所述能量模型的中间损失值;基于所述目标次数中每次采样所确定的中间损失值,确定所述能量模型的第五损失值;所述训练模块,还用于确定所述第一损失值、所述第二损失值和所述第五损失值的损失值之和,并将所述损失值之和作为所述图像生成模型的第二综合损失值;基于所述第二综合损失值,更新所述图像生成模型的模型参数。
本申请实施例还提供一种电子设备,包括:
存储器,用于存储计算机可执行指令;
处理器,用于执行所述存储器中存储的计算机可执行指令时,实现本申请实施例提供的图像生成模型的训练方法。
本申请实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令被处理器执行时,实现本申请实施例提供的图像生成模型的训练方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序或计算机可执行指令,所述计算机程序或计算机可执行指令被处理器执行时,实现本申请实施例提供的图像生成模型的训练方法。
本申请实施例具有以下有益效果:
应用本申请实施例,对属性文本样本的文本潜变量进行潜变量解码,得到第一重构属性文本,并对图像潜变量进行潜变量解码,得到第一重构图像;对图像潜变量进行潜变量解码,得到第二重构属性文本,并对文本潜变量进行潜变量解码,得到第二重构图像。即,既基于目标属性的属性文本样本重构得到了第一重构属性文本,还基于图像样本重构得到了第二重构属性文本;以及,既基于具有目标属性的图像样本重构得到了第一重构图像,还基于属性文本样本重构得到了第二重构图像;如此,实现了属性文本样本和图像样本的交叉重构,将文本和图像的特征均泛化到两个重构过程(包括属性文本的重构和图像的重构)中,能够提高模型的图像生成质量。从而可以基于第一重构属性文本和属性文本样本间的第一文本损失值、第一重构图像和图像样本间的第一图像损失值、第二重构属性文本和属性文本样本间的第二文本损失值、以及第二重构图像和图像样本间的第二图像损失值,对图像生成模型进行训练,能够提高图像生成模型的训练效果,从而提高图像生成模型的图像生成质量。
附图说明
图1是本申请实施例提供的图像生成模型的训练系统的架构示意图;
图2是本申请实施例提供的实施图像生成模型的训练方法的电子设备的结构示意图;
图3是本申请实施例提供的图像生成模型的训练方法的流程示意图;
图4是本申请实施例提供的解码器的结构示意图;
图5是本申请实施例提供的图像生成模型的结构示意图;
图6是本申请实施例提供的图像生成模型的结构示意图;
图7是本申请实施例提供的图像生成模型的应用示意图;
图8是本申请实施例提供的基于图像生成模型所生成的图像的示意图;
图9是本申请实施例提供的基于图像生成模型所生成的图像的示意图;
图10是本申请实施例提供的基于图像生成模型的结果比较示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)客户端,终端中运行的用于提供各种服务的应用程序,例如支持模型训练的客户端。
2)响应于,用于表示所执行的操作所依赖的条件或状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
本申请实施例提供一种图像生成模型的训练方法、装置、设备、存储介质及计算机程序产品,能够提高图像生成模型的训练效果,从而提高图像生成模型的图像生成质量。
下面说明本申请实施例提供的图像生成模型的训练方法的实施场景。参见图1,图1是本申请实施例提供的图像生成模型的训练系统100的架构示意图,为实现支撑一个示例性应用,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
终端400(可以设置有支持模型训练的客户端),用于响应于针对图像生成模型的模型训练指令,发送针对图像生成模型的模型训练请求至服务器200;
服务器200,用于接收并响应于模型训练请求,获取目标属性的属性文本样本、以及具有目标属性的图像样本,目标属性,为图像生成模型所能够生成的目标图像所具有的属性;通过调用图像生成模型,对属性文本样本进行潜变量编码,得到文本潜变量,并对图像样本进行潜变量编码,得到图像潜变量;调用图像生成模型,对文本潜变量进行潜变量解码,得到第一重构属性文本,并对图像潜变量进行潜变量解码,得到第一重构图像;通过调用图像生成模型,对图像潜变量进行潜变量解码,得到第二重构属性文本,并对文本潜变量进行潜变量解码,得到第二重构图像;基于第一重构属性文本和属性文本样本间的差异,确定第一文本损失函数的第一文本损失值,并基于第一重构图像和图像样本间的差异,确定第一图像损失函数的第一图像损失值,将第一文本损失值与第一图像损失值的加和作为图像生成模型的第一损失值;基于第二重构属性文本和属性文本样本间的差异,确定第二文本损失函数的第二文本损失值,并基于第二重构图像和图像样本间的差异,确定第二图像损失函数的第二图像损失值,将第二文本损失值与第二图像损失值的加和作为图像生成模型的第二损失值;基于第一损失值和第二损失值,更新图像生成模型的模型参数,以对图像生成模型进行训练;如此实现对图像生成模型的训练。
之后,服务器200还可以将训练完成的图像生成模型发送至终端400,当然,也可以在终端400获取图像生成模型时再发送。
当终端400获取到训练完成的图像生成模型后,若接收到针对目标属性的图像生成指令,则响应于该图像生成指令,获取目标属性的目标属性文本;将目标属性文本输入至图像生成模型中;调用图像生成模型的文本编码层对目标属性文本进行潜变量编码,得到目标文本潜变量,比如将目标属性文本转换为文本向量,然后对文本向量进行多次下采样处理,得到目标文本潜变量;调用图像生成模型的图像解码层,对目标文本潜变量进行潜变量解码,生成具有目标属性的目标图像,比如通过图像解码层对目标文本潜变量进行多次上采样处理,得到图像向量,然后将图像向量转换为图像以生成目标图像。
在一些实施例中,本申请实施例提供的图像生成模型的训练方法可以由各种电子设备实施,例如,可以由终端单独实施,也可以由服务器单独实施,也可以由终端和服务器协同实施。例如终端独自执行本申请实施例提供的图像生成模型的训练方法,或者,终端向服务器发送针对图像生成模型的模型训练请求,服务器根据接收的模型训练请求执行本申请实施例提供的图像生成模型的训练方法。本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
在一些实施例中,本申请实施例提供的实施图像生成模型的训练的电子设备可以是各种类型的终端设备或服务器。其中,服务器(例如服务器200)可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统。终端(例如终端400)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备(例如智能音箱)、智能家电(例如智能电视)、智能手表、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例对此不做限制。
在一些实施例中,本申请实施例提供的图像生成模型的训练方法可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。作为示例,服务器(例如服务器200)还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的图像生成模型的训练方法,举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
在一些实施例中,多个服务器可组成为一区块链,而服务器为区块链上的节点,区块链中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。其中,本申请实施例提供的图像生成模型的训练方法所相关的数据(例如属性文本样本、图像样本、训练完成的图像生成模型,等等)可保存于区块链上。
下面说明本申请实施例提供的实施图像生成模型的训练方法的电子设备。参见图2,图2是本申请实施例提供的实施图像生成模型的训练方法的电子设备500的结构示意图。以电子设备500为图1所示的服务器为例,本申请实施例提供的实施图像生成模型的训练方法的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器550可以是可移除的,不可移除的或其组合。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。存储器550包括易失性存储器或非易失性存储器,也可包括易失性存储器和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random AccessMemory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他电子设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的图像生成模型的训练装置可以采用软件方式实现,图2示出了存储在存储器550中的图像生成模型的训练装置553,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块5531、编码模块5532、第一解码模块5533、第二解码模块5534、第一确定模块5535、第二确定模块5536和训练模块5537,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
下面说明本申请实施例提供的图像生成模型的训练方法。在一些实施例中,本申请实施例提供的图像生成模型的训练方法可由各种电子设备实施,例如,可由终端单独实施,也可由服务器单独实施,也可由终端和服务器协同实施。以服务器实施为例,参见图3,图3是本申请实施例提供的图像生成模型的训练方法的流程示意图,本申请实施例提供的图像生成模型的训练方法包括:
步骤101:服务器获取目标属性的属性文本样本、和具有目标属性的图像样本。
在步骤101中,在对图像生成模型进行训练时,可以首先获取用于训练的模型训练样本,该模型训练样本包括目标属性的属性文本样本、以及具有目标属性的图像样本。其中,该目标属性为图像生成模型所能够生成的目标图像所具有的属性。需要说明的是,该属性文本样本是目标属性的文本描述。该目标属性可以是期望图像生成模型所生成的图像所具备的属性。目标属性是用于描述图像的,比如图像的颜色、内容、类别等,如图像为一只黄色鸟的图像,该属性可以包括:黄色、鸟、眼睛、羽毛、动物、等等。在实际实施时,该图像样本除了具有该目标属性,还可以具有不同于目标属性的其他属性,在此不做限制。该目标属性的数量可以是一个,也可以是多个。当目标属性的数量为多个时,该多个目标属性可以构成一个属性组合,图像样本也具有该属性组合。
步骤102:调用图像生成模型,对属性文本样本进行潜变量编码,得到文本潜变量,并对图像样本进行潜变量编码,得到图像潜变量。
在步骤102中,该图像生成模型可以包括文本编码层和图像编码层。可以调用图像生成模型的文本编码层对属性文本样本进行潜变量编码,得到文本潜变量;以及,可以调用图像生成模型的图像编码层对图像样本进行潜变量编码,得到图像潜变量。在实际应用中,该文本编码层可以包括多个下采样层,文本编码层是通过多个下采样层对属性文本样本进行下采样处理,得到该文本潜变量;同样的,该图像编码层也可以包括多个下采样层,图像编码层通过多个下采样层对图像样本进行下采样处理,得到该图像潜变量。
步骤103:调用图像生成模型,对文本潜变量进行潜变量解码,得到第一重构属性文本,并对图像潜变量进行潜变量解码,得到第一重构图像。
在步骤103中,该图像生成模型还包括文本解码层和图像解码层。其中,该文本编码层和图像编码层构成属性文本重构模型,该图像编码层和图像解码层构成图像重构模型,该属性文本重构模型和该图像重构模型构成图像生成模型。这里,可以调用图像生成模型的文本解码层对文本潜变量进行潜变量解码,得到第一重构属性文本;以及,可以调用图像生成模型的图像解码层对图像潜变量进行潜变量解码,得到第一重构图像。在实际应用中,文本解码层和图像解码层可以是相同的,也可以是不同的;文本编码层和图像编码层亦然。
在一些实施例中,上述潜变量解码的过程通过M个级联的解码层实现。以通过文本解码层对文本潜变量进行潜变量解码为例,参见图4,图4是本申请实施例提供的文本解码层的结构示意图。这里,文本解码层包括M个级联的解码层。基于此,服务器可通过如下方式对文本潜变量进行潜变量解码,得到第一重构属性文本:首先,通过M个级联的解码层中的第一个解码层,对文本潜变量进行潜变量解码,得到第一个解码层的中间重构属性文本。例如,通过第一个解码层中的多个上采样层,对文本潜变量进行多次上采样处理,从而将最后一层上采样处理的结果作为第一个解码层的中间重构属性文本。然后,通过M个级联的解码层中的第m个解码层,对文本潜变量以及第(m-1)个解码层的中间重构属性文本进行拼接,得到拼接结果,并对拼接结果进行潜变量解码,得到第m个解码层的中间重构属性文本。例如,通过第m个解码层中的多个上采样层,对拼接结果进行多次上采样处理,从而将最后一层上采样处理的结果作为第m个解码层的中间重构属性文本。再对m进行遍历,得到第M个解码层的中间重构属性文本,并将第M个解码层的中间重构属性文本,作为第一重构属性文本。其中,M和m为大于1的整数,m小于或等于M。
步骤104:调用图像生成模型,对图像潜变量进行潜变量解码,得到第二重构属性文本,并对文本潜变量进行潜变量解码,得到第二重构图像。
在步骤104中,还可以调用图像生成模型的文本解码层对图像潜变量进行潜变量解码,得到第二重构属性文本;以及,可以调用图像生成模型的图像解码层对文本潜变量进行潜变量解码,得到第二重构图像。
在一些实施例中,潜变量解码的过程通过M个级联的解码层实现。以通过文本解码层对图像潜变量进行潜变量解码为例,服务器可通过如下方式对图像潜变量进行潜变量解码,得到第二重构属性文本:首先,通过M个级联的解码层中的第一个解码层,对图像潜变量进行潜变量解码,得到第一个解码层的中间重构属性文本。例如,通过第一个解码层中的多个上采样层,对图像潜变量进行多次上采样处理,从而将最后一层上采样处理的结果作为第一个解码层的中间重构属性文本。然后,通过M个级联的解码层中的第m个解码层,对图像潜变量以及第(m-1)个解码层的中间重构属性文本进行拼接,并对拼接结果进行潜变量解码,得到第m个解码层的中间重构属性文本。例如,通过第m个解码层中的多个上采样层,对拼接结果进行多次上采样处理,从而将最后一层上采样处理的结果作为第m个解码层的中间重构属性文本。再对m进行遍历,得到第M个解码层的中间重构属性文本,从而将第M个解码层的中间重构属性文本,作为第二重构属性文本。其中,M和m为大于1的整数,m小于或等于M。
参见图5,图5是本申请实施例提供的图像生成模型的结构示意图。这里,该图像生成模型包括属性文本重构模型和图像重构模型,其中,属性文本重构模型包括文本编码层和文本解码层,图像重构模型包括图像编码层和图像解码层。如此,首先,调用图像生成模型的文本编码层对属性文本样本进行潜变量编码,得到文本潜变量,并调用图像生成模型的图像编码层对图像样本进行潜变量编码,得到图像潜变量。在实际应用中,该文本编码层可以包括多个下采样层,文本编码层是通过多个下采样层对属性文本样本进行下采样处理,得到该文本潜变量;同样的,该图像编码层也可以包括多个下采样层,图像编码层通过多个下采样层对图像样本进行下采样处理,得到该图像潜变量。
然后,调用图像生成模型的文本解码层,对文本潜变量进行潜变量解码,得到第一重构属性文本,以实现文本潜变量到属性文本的重构过程。同时,调用图像生成模型的图像解码层对图像潜变量进行潜变量解码,得到第一重构图像,以实现图像潜变量到图像的重构过程。在实际应用中,该文本解码层可以包括多个上采样层,文本解码层是通过多个上采样层对文本潜变量进行上采样处理,得到第一重构属性文本;同样的,该图像解码层也可以包括多个上采样层,图像解码层通过多个上采样层对图像样本进行下采样处理,得到第一重构图像。继续参见图5,还可以调用图像生成模型的文本解码层,对图像潜变量进行潜变量解码,得到第二重构属性文本,以实现图像潜变量到属性文本的重构过程。同时,调用图像生成模型的图像解码层,对文本潜变量进行潜变量解码,得到第二重构图像,以实现文本潜变量到图像的重构过程。
如此,基于步骤103-步骤104,实现了属性文本样本和图像样本的交叉重构,将文本和图像的特征(包括文本潜变量和图像潜变量)均泛化到两个重构过程(包括属性文本重构和图像重构)中,能够提高模型的图像生成质量,以及提高图像生成模型的训练效果。
需要说明的是,文本编码层和图像编码层的结构可以是相同的,也可以是不同的;文本解码层和图像解码层亦然。在本申请实施例中,文本编码层和图像编码层采用了不同的编码层结构,文本解码层和图像解码层也采用了不同的解码层结构。
步骤105:基于第一重构属性文本和属性文本样本间的差异,确定第一文本损失函数的第一文本损失值,并基于第一重构图像和图像样本间的差异,确定第一图像损失函数的第一图像损失值,将第一文本损失值与第一图像损失值的加和作为图像生成模型的第一损失值。
在步骤105中,可以计算第一重构属性文本和属性文本样本间的差异,然后将该差异结合第一文本损失函数(如交叉熵损失函数、均方误差损失函数等),计算得到第一文本损失值;同时,可以计算第一重构图像和图像样本间的差异,然后将该差异结合第一图像损失函数(如交叉熵损失函数、均方误差损失函数等),计算得到第一图像损失值。从而将第一文本损失值和第一图像损失值的加和作为图像生成模型的第一损失值。
步骤106:基于第二重构属性文本和属性文本样本间的差异,确定第二文本损失函数的第二文本损失值,并基于第二重构图像和图像样本间的差异,确定第二图像损失函数的第二图像损失值,将第二文本损失值与第二图像损失值的加和作为图像生成模型的第二损失值。
在步骤106中,可以计算第二重构属性文本和属性文本样本间的差异,然后将该差异结合第二文本损失函数(如交叉熵损失函数、均方误差损失函数等),计算得到第二文本损失值;同时,计算第二重构图像和图像样本间的差异,然后将该差异结合第二图像损失函数(如交叉熵损失函数、均方误差损失函数等),计算得到第二图像损失值。从而将第二文本损失值和第二图像损失值的加和作为图像生成模型的第二损失值。
在一些实施例中,图像样本归属于训练样本集,训练样本集标注有多个类别,图像样本标注有多个类别中的目标类别;训练样本集包括多个训练图像样本,各训练图像样本具有多个样本属性,多个样本属性包括目标属性;相应的,在对文本潜变量进行潜变量解码,得到第一重构属性文本之后,服务器可基于多个样本属性和多个样本类别,确定训练样本集的类别预测矩阵,并基于第一重构属性文本与类别预测矩阵,确定第一重构属性文本对应的图像所归属的第一预测类别。
需要说明的是,该类别可以是动物、植物、人物,等等,还可以动物中细分的种类,如鸟类、猫类、犬类,等等。该图像样本是归属于一个训练样本集的,该训练样本集标注有多个类别,即训练样本集包括多个类别的训练图像样本,该图像样本标注有多个类别中的目标类别。其中,训练样本集中的各训练图像样本具有多个样本属性,该多个样本属性包括目标属性。
在实际应用中,在服务器重构得到第一重构属性文本之后,还可以进一步对第一重构属性文本进行属性校准。即,服务器可以基于(图像样本所在的)训练样本集包括的多个样本属性以及多个样本类别,确定训练样本集的类别预测矩阵。在一些实施例中,服务器可通过如下方式基于多个样本属性和多个样本类别,确定训练样本集的类别预测矩阵:针对各样本类别分别执行以下操作:从多个样本属性中,确定样本类别的训练图像样本所具有的至少一个目标样本属性,并将至少一个目标样本属性和样本类别进行编码,得到样本类别的预测矩阵;将多个样本类别的预测矩阵进行拼接,得到训练样本集的类别预测矩阵。
从而,采用类别预测矩阵对第一重构属性文本进行属性校准,即基于第一重构属性文本与类别预测矩阵,确定第一重构属性文本对应的图像所归属的第一预测类别。在一些实施例中,服务器可通过如下方式基于第一重构属性文本与类别预测矩阵,确定第一重构属性文本对应的图像所归属的第一预测类别:对第一重构属性文本进行编码,并将编码得到的编码结果和类别预测矩阵进行相乘,得到第一重构属性文本对应的图像所归属的第一预测类别。
当采用类别预测矩阵对第一重构属性文本进行属性校准并确定第一重构属性文本对应的图像所归属的第一预测类别后,服务器还可基于第一预测类别和目标类别的差异,确定第一类别损失函数的第一类别损失值;相应的,服务器可通过如下方式确定图像生成模型的第一损失值:将第一文本损失值、第一图像损失值、以及第一类别损失值的加和,作为图像生成模型的第一损失值。
在实际应用中,可以基于第一预测类别和目标类别(图像样本所归属的类别)的差异,结合第一类别损失函数(如交叉熵损失函数、均方误差损失函数等),确定第一类别损失值。从而将第一文本损失值、第一图像损失值、和第一类别损失值的加和作为图像生成模型的第一损失值。
在一些实施例中,在对图像潜变量进行潜变量解码,得到第二重构属性文本之后,服务器可将第二重构属性文本的编码结果与类别预测矩阵进行相乘,得到第二重构属性文本对应的图像所归属的第二预测类别;服务器还可基于第二预测类别和目标类别的差异,确定第二类别损失函数的第二类别损失值;相应的,服务器可通过如下方式确定图像生成模型的第二损失值:将第二文本损失值、第二图像损失值、以及第二类别损失值的加和,作为图像生成模型的第二损失值。
相同的,在服务器重构得到第二重构属性文本之后,还可以进一步对第二重构属性文本进行属性校准。该类别预测矩阵可以采用和第一重构属性文本相同的类别预测矩阵。采用类别预测矩阵对第二重构属性文本进行属性校准,即将第二重构属性文本的编码结果与类别预测矩阵进行相乘,得到第二重构属性文本对应的图像所归属的第二预测类别。相应的,可以基于第二预测类别和目标类别(图像样本所归属的类别)的差异,结合第二类别损失函数(如交叉熵损失函数、均方误差损失函数等),确定第二类别损失值。从而将第二文本损失值、第二图像损失值、和第二类别损失值的加和,作为图像生成模型的第二损失值。
在一些实施例中,图像样本归属于训练样本集,训练样本集包括多种内容图案,图像样本包括多种内容图案中的目标内容图案;训练样本集包括多个训练图像样本,各训练图像样本具有多个样本属性,多个样本属性包括目标属性;相应的,基于属性文本样本进行属性文本重构,得到第一重构属性文本之后,服务器可基于多个样本属性和多种内容图案,确定训练样本集的内容图案预测矩阵,并基于第一重构属性文本与内容图案预测矩阵,确定第一重构属性文本对应的图像所包括的第一预测内容图案。
需要说明的是,该内容图案可以是训练样本集中训练图像样本所包括的内容的图案,如训练图像样本为鸟类图像,该内容图像可以是鸟嘴图案、眼睛图案、羽毛图案,等等。该图像样本是归属于一个训练样本集的,该训练样本集包括多种内容图案,图像样本包括多种内容图案中的目标内容图案。该训练样本集中的各训练图像样本具有多个样本属性,该多个样本属性包括目标属性。
在实际应用中,在服务器解码得到第一重构属性文本之后,还可以进一步对第一重构属性文本进行图案内容校准。即,服务器可以基于(图像样本所在的)训练样本集包括的多个样本属性和多种内容图案,确定训练样本集的内容图案预测矩阵。在一些实施例中,服务器可通过如下方式基于多个样本属性和多个样本类别,确定训练样本集的内容图案预测矩阵:针对各内容图案分别执行以下操作:从多个样本属性中,确定包括内容图案的训练图像样本所具有的至少一个目标样本属性,并将至少一个目标样本属性和内容图案进行编码,得到内容图案的预测矩阵;将多个内容图案的预测矩阵进行拼接,得到训练样本集的内容图案预测矩阵。
从而,采用内容图案预测矩阵对第一重构属性文本进行图案内容校准,即基于第一重构属性文本与内容图案预测矩阵,确定第一重构属性文本对应的图像所包括的第一预测内容图案。在一些实施例中,服务器可通过如下方式基于第一重构属性文本与内容图案预测矩阵,确定第一重构属性文本对应的图像所包括的第一预测内容图案:对第一重构属性文本进行编码,并将编码得到的编码结果和内容图案预测矩阵进行相乘,得到第一重构属性文本对应的图像所包括的第一预测内容图案。
当采用内容图案预测矩阵对第一重构属性文本进行图案内容校准并确定第一重构属性文本对应的图像所包括的第一预测内容图案后,服务器还可基于第一预测内容图案和目标内容图案的差异,确定第一内容损失函数的第一内容损失值;相应的,服务器可通过如下方式确定图像生成模型的第一损失值:将第一文本损失值、第一图像损失值、以及第一内容损失值的加和,作为图像生成模型的第一损失值。
在实际应用中,可以基于第一预测内容图案和目标内容图案(图像样本所包括的内容图案)的差异,结合第一内容损失函数(如交叉熵损失函数、均方误差损失函数等),确定第一内容损失值。从而将第一文本损失值、第一图像损失值、和第一内容损失值的加和作为图像生成模型的第一损失值。在实际实施时,该第一损失值还可以包括上述第一类别损失值,即将第一文本损失值、第一图像损失值、第一类别损失值和第一内容图案损失值的加和作为图像生成模型的第一损失值。
在一些实施例中,在对图像潜变量进行潜变量解码,得到第二重构属性文本之后,服务器可将第二重构属性文本的编码结果与内容图案预测矩阵进行相乘,得到第二重构属性文本对应的图像所包括的第二预测内容图案;服务器还可基于第二预测内容图案和目标内容图案的差异,确定第二内容损失函数的第二内容损失值;相应的,服务器可通过如下方式确定图像生成模型的第二损失值:将第二文本损失值、第二图像损失值、以及第二内容损失值的加和,作为图像生成模型的第二损失值。
相同的,在服务器重构得到第二重构属性文本之后,还可以进一步对第二重构属性文本进行图案内容校准。该内容图案预测矩阵可以采用和第一重构属性文本相同的内容图案预测矩阵。采用内容图案预测矩阵对第二重构属性文本进行属性校准,即将第二重构属性文本的编码结果与内容图案预测矩阵进行相乘,得到第二重构属性文本对应的图像所包括的第二预测内容图案。相应的,可以基于第二预测内容图案和目标内容图案(图像样本所包括的内容图案)的差异,结合第二内容损失函数(如交叉熵损失函数、均方误差损失函数等),确定第二内容损失值。从而将第二文本损失值、第二图像损失值、和第二内容图案损失值的加和作为图像生成模型的第二损失值。在实际实施时,该第二损失值还可以包括上述第二类别损失值,即将第二文本损失值、第二图像损失值、第二类别损失值和第二内容损失值的加和,作为图像生成模型的第二损失值。
步骤107:基于第一损失值和第二损失值,更新图像生成模型的模型参数,以对图像生成模型进行训练。
其中,该图像生成模型,用于基于目标属性的属性文本,生成具有目标属性的目标图像。
在步骤106中,可以将第一损失值和第二损失值的加和,作为图像生成模型的综合损失值,从而基于综合损失值,更新图像生成模型的模型参数,以对图像生成模型进行训练。
在一些实施例中,服务器可通过如下方式基于第一损失值和第二损失值,更新图像生成模型的模型参数:获取图像生成模型的第三损失值和第四损失值;确定第一损失值、第二损失值和目标损失值的损失值之和,该目标损失值,为第三损失值和第四损失值中至少之一;将损失值之和作为图像生成模型的第一综合损失值,并基于第一综合损失值,更新图像生成模型的模型参数。
在一些实施例中,服务器可通过如下方式获取图像生成模型的第三损失值:获取属性文本样本的文本潜在空间、和图像样本的图像潜在空间;基于文本潜在空间和图像潜在空间之间的空间距离,确定图像生成模型的第三损失值。
在一些实施例中,服务器可通过如下方式获取图像生成模型的第四损失值:确定属性文本样本的文本潜变量的文本概率分布、以及图像样本的图像潜变量的图像概率分布;确定第一重构属性文本的第一重构文本概率分布和第二重构属性文本的第二重构文本概率分布,并确定第一重构图像的第一重构图像概率分布和第二重构图像的第二重构图像概率分布;基于第一重构文本概率分布与文本概率分布间的分布散度、以及第二重构文本概率分布与文本概率分布间的分布散度,确定图像生成模型的文本分布散度;基于第一重构图像概率分布与图像概率分布间的分布散度、以及第二重构图像概率分布与图像概率分布间的分布散度,确定图像生成模型的图像分布散度;基于文本分布散度和图像分布散度,确定第四损失值。
需要说明的是,该文本潜变量的文本概率分布、以及图像潜变量的图像概率分布均可以是高斯分布。该第一重构文本概率分布,用于指示基于该属性文本样本的文本潜变量,重构得到第一重构属性文本的概率分布情况。
在一些实施例中,图像生成模型包括能量模型,服务器可通过如下方式对图像潜变量进行潜变量解码,得到第一重构图像:通过能量模型的采样处理层,按照预设采样步长对图像潜变量进行目标次数的采样,得到图像采样潜变量;对图像采样潜变量进行潜变量解码,得到第一重构图像。
在一些实施例中,在按照预设采样步长对图像潜变量进行目标次数的采样,得到图像采样潜变量之后,服务器可针对目标次数中每次采样得到的图像采样潜变量,分别执行如下操作:通过能量模型的图像重构层,基于图像采样潜变量进行图像重构,得到中间重构图像;基于能量模型的能量预测层,确定图像样本的第一能量,并确定中间重构图像的第二能量;基于第一能量和第二能量间的差异,确定能量模型的中间损失值;基于目标次数中每次采样所确定的中间损失值,确定能量模型的第五损失值;
相应的,服务器可通过如下方式基于第一损失值和第二损失值,更新图像生成模型的模型参数:确定第一损失值、第二损失值和第五损失值的损失值之和,并将损失值之和作为图像生成模型的第二综合损失值;基于第二综合损失值,更新图像生成模型的模型参数。
应用本申请上述实施例,对属性文本样本的文本潜变量进行潜变量解码,得到第一重构属性文本,并对图像潜变量进行潜变量解码,得到第一重构图像;对图像潜变量进行潜变量解码,得到第二重构属性文本,并对文本潜变量进行潜变量解码,得到第二重构图像。即,既基于目标属性的属性文本样本重构得到了第一重构属性文本,还基于图像样本重构得到了第二重构属性文本;以及,既基于具有目标属性的图像样本重构得到了第一重构图像,还基于属性文本样本重构得到了第二重构图像;如此,实现了属性文本样本和图像样本的交叉重构,将文本和图像的特征均泛化到两个重构过程(包括属性文本的重构和图像的重构)中,能够提高模型的图像生成质量。从而可以基于第一重构属性文本和属性文本样本间的第一文本损失值、第一重构图像和图像样本间的第一图像损失值、第二重构属性文本和属性文本样本间的第二文本损失值、以及第二重构图像和图像样本间的第二图像损失值,对图像生成模型进行训练,能够提高图像生成模型的训练效果,从而提高图像生成模型的图像生成质量。
下面将以图像生成模型应用于零样本学习(Zero-Shot Learning,ZSL)中为例,说明本申请实施例在一个实际的应用场景中的示例性应用。接下来对本申请实施例提供的图像生成模型的训练方法进行说明。下面提到的重构属性(包括第一重构属性和第二重构属性)实际为重构属性文本。
(1)说明图像生成模型训练时所需的训练样本集。例如,数据集CUB和SUNattribute。该两个数据集中的每个类别的每张图像样本都具有独一无二的属性组合。其中,CUB是一个包含200个物种、11788张鸟类图像、标注有312个属性的数据集,每个属性组合都是由15个身体部位之一和一个后缀颜色组成。SUN是一个包含717个类别、14340幅图像、标注有102个属性的数据集。由于本申请实施例提供的图像生成模型(即unseen classimage generator,UCI G)是基于属性文本进行图像生成的,所以为属性敏感型模型,生成图像受到输入属性的影响,而该两个数据集是适合属性敏感模型的数据集。这里,将对图像样本标注有属性的数据集(而非按类标注)称为object-level(即对象级属性)数据集。
在数据预处理阶段,对SUN和CUB两个数据集,按照见过(seen)/未见过(unseen)的分类法进行处理(例如CUB:150类/50类)。接下来以数据集CUB为例进行说明(SUN同理)。数据集被分为已见类和未见类,确保ZSL在最佳设置下运行。然而,训练数据被发现太大,以至于训练过程很慢,硬件也被耗尽。此外,数据集没有平衡属性权重,对模型造成了不利影响。因此,可以引入属性塌缩(Attribute Collapse,AC),通过选择有益的属性来减少训练数据的大小,也就是手动折叠属性空间。具体地,检查每个unseen类(待生成图像的类别)的目标属性(是一个属性组合),并从seen类的图像样本中,搜索具有目标属性的图像样本,将具有目标属性的图像样本作为模型的训练图像样本,因为只有与unseen类共享目标属性的seen类对于ZSL是必要的。由于这个过程是基于属性组合筛选的,且最终剩余的有用属性的数量少于312个(CU B数据集中属性的原数量),所以该过程叫做属性塌缩。
从数学表达层面来讲,令S表示seen类样本,U表示unseen类样本。让 表示一个由n个seen类样本组成的训练样本集。该训练样本集由第i类的图像空间Xi,目标属性(M个属性)空间Ai组成。M-属性空间Ai∈Rn×M,以及所有标签都代表第i类的标签空间Yi。AU表示unseen的测试数据类的整个属性空间。训练数据通过过滤AS和YS进行预处理,使得对于任何/>和/>且/>
(2)说明图像生成模型的结构。参见图6,图6是本申请实施例提供的图像生成模型的结构示意图。这里,图像生成模型由两个同步的变异自动编码器(VariationalAutoEncoder,VAE)组成:一个是用于属性文本重建,另一个是用于图像重建。由于变异自动编码器(VAE)是一个交叉结构,又叫交叉生成器。考虑到后面将提到的逐层监督的结构,期望每个编码器每层提取的特征或嵌入可以被泛化到两个解码器,因此每个子结构都使用全连接层而不是卷积层。此外,为了跨域生成的目的,潜在空间也是共享的。如图7所示,图像生成模型的结构的包括:
1)属性输入:用于输入属性文本样本,输入形式为one-hot encoding。
2)图像输入:用于输入图像样本。
3)属性encoder:对输入的属性样本进行编码,得到相应的属性潜在空间。
4)图像encoder:对输入的图像样本进行编码,得到相应的图像潜在空间。
5)能量模型(Energy-based Model,EBM)。
6)属性decoder:经以下二者各生成相应的重构属性:a)经图像encoder处理得到的图像潜在空间(图7所示的4→6)重构得到第二重构图像;b)经属性encoder处理得到的属性潜在空间(图7所示的3→6)重构得到第一重构属性;
7)图像decoder:a)经属性encoder处理得到的属性潜在空间(图7所示的3→7)重构得到第二重构属性;b)经图像encoder处理得到的图片潜在空间(图7所示的4→7)重构得到第一重构图像;如此,形成交叉结构。
8)基于类别的属性校准。由属性decoder输出的1*312维度的重构属性和312*200(属性*类别)维度的类别预测矩阵相乘,得到预测类别。
9)基于图案的图像内容细节校准。由属性decoder输出的1*312重构属性与312*15(属性*部位)维度的图案预测矩阵相乘,得到预测图案。
10)根据输入属性的属性潜在空间,通过图像decoder得出的重构图像。
11)根据输入图像的图像潜在空间,通过图像decoder得出的重构图像。
从数学表达层面来讲,给定x∈Xi,a∈Ai,辅助性特征himg和属性嵌入hattr,模型学习了条件概率分布{qΦ(z|x∪himg)|z∈{zimg^,zattr}和{qΦ(z|a∪hattr)|z∈{zimg^,zattr}的潜变量(共享参数由Φ定义)。特别是,为了学习一个更现实的分布,zimg^通过EBM的递归扩散取样步骤进行采样。模型的目标是学习映射:f:AS→XU×AU
(3)结合图6,说明图像生成模型的训练过程。图像生成模型包括交叉生成器CG(由两个VAE构成)和能量模型EBM。其中,CG的损失包括:LDA、LLCR、LLRE以及LKL。这里,LLCR、LLRE由VAE的重构loss扩展而来。模型的训练分为两个阶段:CG的训练;以及,能量模型的训练。
其中,第一阶段:CG的训练。CG损失为LCG=LDA+LLCR+LLRE+LKL。接下来对该四个损失进行说明。
a)损失LDA(distribution alignment loss):是通过最小化两个域(属性和图像)的潜在空间的空间距离来确定。LDA最小化潜在空间(多变量高斯分布)之间的Wasserstein距离:其中,Wi,j是分布i和j之间的2-Wa sserstein距离:
b)损失LLRE(localized reconstruction loss):LLRE由LRE和LLA构成。
其中,(b1)LLA:基于图案/类别的校准所生成的损失。CUB数据集把312个属性归类到了15个图案上(例如属性1和属性2都描述了眼睛颜色,则数据集将属性1和属性2归类到图案眼睛上,总共有15种图案,如眼睛、尾巴等)。于是将这15个图案也编码起来,通过均值得出一个312*15(部位)的图案预测矩阵;同理,得到312*200的类别预测矩阵。那么输出的1*312维度的第一重构属性的编码结果分别乘以这两个矩阵,即可得到预测图案/预测类别,并与图像样本的真实图案/真实类别进行校验损失,可以采用cross entropy(CE)损失和MSE损失。
(b2)LRE:基于第一重构属性和属性样本间的损失、以及第一重构图像和图像样本间的损失确定。损失函数可以是cross entropy(CE)、MSE等。
从数学表达层面来讲,由于数据集的特性,可以将产生的属性空间A∈R1×M映射到:a)种类空间C∈RM×N,其中M是所有属性的数量,N是所有类的数量。例如,在SUN中有717个类。b)局部模式空间P∈RM×K,其中K是指定图案(如CUB中的喙,眼睛等图案)的数量。因此,ZSL被简化为一个差异最小化任务。局部属性损失LLA被定义为一个基于A的扩展的cross entropy(C E)和MSE损失:LLA=LCE(A·C,Y)+LMSE(A·P,L);其中,Y∈R1×N是输入的类别编码,L∈{0,1}1×K是输入的图案编码。LLRE包含两个领域的扩展的损失之和,即图像域和属性域:
c)损失LLCR(Localized Cross-Reconstruction Loss):LLCR由LCR和LLI构成。其中,(c1)LLI:基于图案/类别的校准所生成的损失。CUB数据集把312个属性归类到了15个图案上(例如属性1和属性2都描述了眼睛颜色,则数据集将属性1和属性2归类到图案眼睛上,总共有15种图案,如眼睛、尾巴等)。于是将这15个图案也编码起来,通过均值得出一个312*15(部位)的图案预测矩阵;同理,得到312*200的类别预测矩阵。那么输出的1*312维度的第二重构属性的编码结果分别乘以这两个矩阵,即可得到预测图案/预测类别,并与图像样本的真实图案/真实类别进行校验损失,可以采用cross entropy(CE)损失和MSE损失。
(c2)LCR:基于第二重构属性(交叉重构得到的)和属性样本间的损失、以及第二重构图像(交叉重构得到的)和图像样本间的损失确定。损失函数可以是cross entropy(CE)、MSE等。
从数学表达层面来讲,交叉重构在属性域和图像域之间建立了强大的关联性,具体如下:其中,Ei是域i的编码器,Dj是相同输入对象但不同域j≠i的解码器。与LLRE相似,LLCR也对第二重构属性进行了矩阵校准,得到LLI
d)损失LKL(Kullback-Leibler Loss,KL):是两个领域(图像域和属性域)的Kullback-Leibler分歧之和,如下所示:是encoder输出的潜变量的先验概率p(z)和decoder输出的预测变量qφ(z|x)之间的KL散度。
其中,第二阶段:能量模型EBM的训练。当CG训练完成后,再训练EB M(图7所示的5)。因为CG(本质仍是两个VAE)只能产生模糊的图像。EB M实际上是一个图片处理网络(也可以为更复杂结构,只要保证输出维度为1就可以),用于对图像进行精细重构。维度1代表输出的是一个能量的数值,E BM的网络结构包括:3个residualblock+1个linear层,输入为Res1(64,128,relu)、Res2(128,256,relu)、Res3(256,512,relu)、linear(512,1),输出的1代表能量,即Eψ(x)=Fψ(x)。
在进行训练时,正样本为原始图片,负样本为每个采样步的输出,例如:原始正样本→langevin sample step1→step2→step3……,每个step把正负样本分别放入EBM中得到能量,并计算正负样本的能量差值(pos energy-neg ener gy)。在实际实施时,该数值为负数,其代表了潜在空间中像素点由低势能点(p os energy)向高势能点(neg energy)一步步扩散时导致势能逐渐升高的过程。所以训练过程中会看到此次循环该差值逐渐攀升至负几千,不过这是正常现象,而且不可以将插值逆转过来(neg energy-pos energy)当正数反馈,否则无法实现训练目的。从数学表达层面来讲,跨域分布qΦ(zimg|a∪hattr)过于复杂,EBM可以用来弥补CG的不足之处。在两个阶段的训练可以大大加快MCMC(Mar kov ChainMonte Carlo)更新的速度,在VAE的潜在空间中重新参数化参数。VAEBM的损失是通过最大化训练数据上的边际对数似然得到,如下:
其中,Eψ(x)=Fψ(x)和logZψ,θ分别为基于模型的势能和归一化常数。最佳E BM的解决方法是通过寻找导数的根使LEBM最小化,即:
其中,{Xi +}i=1 n是一批训练图像,称为正样本,{Xi -}i=1 m是经过MCMC La ngevin采样的L次后的负样本(给定∈>0和在采样步骤l的Zl~N(0,I)):
如此,图像生成模型的综合损失如下:
LUCIG=LCG+LEBM=LDA+LLCR+LLRE+LKL+LEBM
参见图7,图7是本申请实施例提供的图像生成模型的应用示意图。这里,如图7所示,前端A接到需要转换的数据(即输入的属性文本),上传给后台,然后后台使用训练的图像生成模型,将其进行对应图像生成,然后输出生成图像到前端B。在实际应用中,本申请实施例是一项基于图像生成模型的文本到图像的合成技术,可以用于研究零样本学习,所生成的图像效果如图8所示,可以被广泛地应用于不同文本到图像的合成,其合成结果也被证实可用于不同数据集不同属性(描述)的合成任务等。
参见图9,图9是本申请实施例提供的多种不同图像生成模型的生成图像和真实图像的对比示意图。这里,多种不同的图像生成模型包括:UCIG(本申请实施例提供的图像生成模型)、DALL-E、GLIDE(CF Guide)、GLIDE(CLIP Guide)、以及CADA-VAE。在实际应用中,对于每个模型,其训练数据和测试数据被严格控制为与UCIG的相同。至于UCIG本身,分别从以下几点进行分析:(1)由第一阶段训练得到的CG基于属性生成的图像,以下简称图像(UCIG无EBM);(2)由第一阶段和第二阶段训练得到的UCIG基于属性生成的图像,以下简称图像(UCIG);(3)由UCIG从输入的真实图像(即输入图像)中提取的属性,以下简称属性(UCIG);(4)由额外训练的属性识别器从“图像(UCIG)”中提取的属性,以下简称属性(UCIG&识别器)。
分析UCIG时的评价指标包括:图像生成模型的度量、属性识别器的度量、以及分类器的度量。其中,“图像生成模型的度量”和“属性识别器-属性的度量”用于评估所生成图像的图像质量,“分类器的度量”用于评估所生成图像中哪些是属于unseen类别的图像。其中,(1)图像生成模型的度量包括:a)Wasserstein距离(W):用于比较生成图像和输入图像的概率分布;b)Fréchet in ception distance(FID):用于两个多维高斯分布之间的平方Wasserstein度量;c)输入图像的起始分数:只评估输入图像的概率分布,以下简称IS(in);d)生成图像的起始分数:只评估生成图像的概率分布,以下简称IS(gen)。(2)属性识别器-属性的度量包括:a)平均平方误差(MSE):生成图像的属性(即上述属性(UCIG&识别器))与输入图像的属性(即上述属性(UCIG))之间的差异;b)MSE*:“属性(UCIG)”与“属性(UCIG&识别器)”相比。(3)分类器的度量包括:a)Top1预测的准确率;b)Top5预测的准确率;c)压缩识别的典范得分:用于指示分类器在训练数据(生成的图像)和测试数据(真实图像)出现错误的多少。需要说明的是,关于图像生成质量的分析,对于基于属性引导生成的图像,由于如背景类似的信息不包括在属性中,因此,生成的图像可能具有输入属性中未指明的随机属性。
基于此,对图像生成模型UCIG的分析进行说明。在实际实施时发现,在基准上发挥作用的直接定量测量对UCIG图像质量分析来说是失败的,这是由于UCIG半随机创作的特点导致的。因此,本申请实施例提供一种间接测量方法来衡量生成图像和输入图像的相似性,即,训练一个属性识别器,以基于该属性识别器来识别UCIG的生成图像的可能属性,从而计算识别的可能属性和输入图像的真实属性之间的MSE损失。此外,由于UCIG也包含一个图像属性识别器,还可以根据MSE*来确定UCIG从真实图像中提取的属性和属性识别器提取的属性是否相同,也是对UCIG正确性的一种确认。
下面是基于各项评价指标对多个图像生成模型进行度量的结果。参见图10,图10是本申请实施例提供的多个图像生成模型的度量结果示意图。这里,对于本申请实施例提供的图像生成模型UCIG:
(1)IS:生成图像的IS低于输入图像的IS,而低IS表明,对于任何一个数据集上的两个阶段的UCIG,由于分布密集,其质量得到了保证。带有EBM的UCIG的生成图像(第二阶段)的IS低于第一阶段的UCIG的生成图像,这意味着EBM有利于生成清晰的图像。(2)FID和Wasserstein距离:真实图像对于“第一阶段生成的图像(UCIG无EBM)”的FID,高于真实图像对于“第二阶段生成的图像(UCIG)”的FID,而W度量则相反。同样说明了EBM有利于生成质量更高的图像。(3)MSE:属性上的间接度量,用于判断生成图像和真实图像之间的相似度。属性识别器提取的属性和真实图像的真实属性之间相对较低的MSE,证明了属性识别器的公平性和UCIG的可靠性。此外,低MSE*证实了UCIG和属性识别器都产生了相同的属性,进一步证明了UCIG的正确性。(4)图像分类器和压缩识别的典范(CIE)得分:由于UCIG是在ZSL下设计的,本申请实施例还验证了UCIG在分类方面的帮助。因为如果一个生成图像不属于正确的unseen类别,那么无论模型质量有多好,都是没有意义的。在实际实施时,提供一个额外的图像分类器来验证UCIG是否像预期的那样生成了unseen类别。图像分类器的训练数据包括UCIG根据属性生成的所有生成图像,而测试数据是真正的unseen类别的真实图像,分类结果的误差度量如图10所示,包括MSE和MSE*的度量结果。
应用本申请上述实施例,1)在逐层监督下,交叉生成器CG和EBM的组合,能够保证生成图像的视觉质量:首先可以防止跨域生成时的失真。EBM可以帮助减少图像生成过程中的伪影。通过对象级属性生成未见类的高质量图像。这不仅解决了T2I(文本到图像,textto image)有限的框架设计,而且突破了所有现有的零样本图像生成方法的质量问题(即过度渲染)。2)提出了一种数据选择技术(属性坍缩),解决了数据不平衡的问题,降低消耗,在属性敏感模型上特别有效。3)提出了一个矩阵引导扩展来预测和校准属性和图像细节。这种扩展很好地权衡了任务,即基于图像生成任务的成功,我们的实验结果还表明,UCIG在零样本的潜力远远超过了T2I。
可以理解的是,在本申请实施例中,涉及到用户信息等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的图像生成模型的训练装置553的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器550的图像生成模型的训练装置553中的软件模块可以包括:
获取模块5531,用于获取目标属性的属性文本样本、以及具有所述目标属性的图像样本,所述目标属性,为所述图像生成模型所能够生成的目标图像所具有的属性;编码模块5532,用于调用所述图像生成模型,对所述属性文本样本进行潜变量编码,得到文本潜变量,并对所述图像样本进行潜变量编码,得到图像潜变量;第一解码模块5533,用于调用所述图像生成模型,对所述文本潜变量进行潜变量解码,得到第一重构属性文本,并对所述图像潜变量进行潜变量解码,得到第一重构图像;第二解码模块5534,用于调用所述图像生成模型,对所述图像潜变量进行潜变量解码,得到第二重构属性文本,并对所述文本潜变量进行潜变量解码,得到第二重构图像;第一确定模块5535,用于基于所述第一重构属性文本和所述属性文本样本间的差异,确定第一文本损失函数的第一文本损失值,并基于所述第一重构图像和所述图像样本间的差异,确定第一图像损失函数的第一图像损失值,将所述第一文本损失值与所述第一图像损失值的加和作为所述图像生成模型的第一损失值;第二确定模块5536,用于基于所述第二重构属性文本和所述属性文本样本间的差异,确定第二文本损失函数的第二文本损失值,并基于所述第二重构图像和所述图像样本间的差异,确定第二图像损失函数的第二图像损失值,将所述第二文本损失值与所述第二图像损失值的加和作为所述图像生成模型的第二损失值;训练模块5537,用于基于所述第一损失值和所述第二损失值,更新所述图像生成模型的模型参数,以对所述图像生成模型进行训练。
在一些实施例中,所述潜变量解码的过程通过M个级联的解码层实现,所述第一解码模块5533,还用于通过所述M个级联的解码层中的第一个解码层,对所述文本潜变量进行潜变量解码,得到所述第一个解码层的中间重构属性文本;通过所述M个级联的解码层中的第m个解码层,对所述文本潜变量以及第(m-1)个解码层的中间重构属性文本进行拼接,并对拼接结果进行潜变量解码,得到所述第m个解码层的中间重构属性文本;其中,所述M和所述m为大于1的整数,所述m小于或等于所述M;对所述m进行遍历,得到第M个解码层的中间重构属性文本,并将所述第M个解码层的中间重构属性文本,作为所述第一重构属性文本。
在一些实施例中,所述图像生成模型包括属性文本重构模型和图像重构模型,所述属性文本重构模型包括文本编码层和文本解码层,所述图像重构模型包括图像编码层和图像解码层;所述编码模块5532,还用于通过所述文本编码层,对所述属性文本样本进行潜变量编码,得到所述文本潜变量;所述编码模块5532,还用于通过所述图像编码层,对所述图像样本进行潜变量编码,得到所述图像潜变量;所述第一解码模块5533,还用于通过所述文本解码层,对所述文本潜变量进行潜变量解码,得到所述第一重构属性文本;所述第一解码模块5533,还用于通过所述图像解码层,对所述图像潜变量进行潜变量解码,得到所述第一重构图像。
在一些实施例中,所述训练模块5537,还用于获取所述图像生成模型的第三损失值和第四损失值;其中,所述第三损失值,基于所述属性文本样本的文本潜在空间、和所述图像样本的图像潜在空间之间的空间距离确定;其中,所述第四损失值,基于重构属性文本的概率分布与所述属性文本样本的概率分布间的文本分布散度、以及重构图像的概率分布与所述图像样本的概率分布间的图像分布散度确定;所述重构属性文本包括所述第一重构属性文本和所述第二重构属性文本,所述重构图像包括所述第一重构图像和所述第二重构图像;确定所述第一损失值、所述第二损失值和目标损失值的损失值之和,所述目标损失值,为所述第三损失值和所述第四损失值中至少之一;将所述损失值之和作为所述图像生成模型的第一综合损失值,并基于所述第一综合损失值,更新所述图像生成模型的模型参数。
在一些实施例中,所述训练模块5537,还用于确定所述属性文本样本的文本潜变量的文本概率分布、以及所述图像样本的图像潜变量的图像概率分布;确定所述第一重构属性文本的第一重构文本概率分布和所述第二重构属性文本的第二重构文本概率分布,并确定所述第一重构图像的第一重构图像概率分布和所述第二重构图像的第二重构图像概率分布;基于所述第一重构文本概率分布与所述文本概率分布间的分布散度、以及所述第二重构文本概率分布与所述文本概率分布间的分布散度,确定所述图像生成模型的所述文本分布散度;基于所述第一重构图像概率分布与所述图像概率分布间的分布散度、以及所述第二重构图像概率分布与所述图像概率分布间的分布散度,确定所述图像生成模型的所述图像分布散度;基于所述文本分布散度和所述图像分布散度,确定所述第四损失值。
在一些实施例中,所述图像样本归属于训练样本集,所述训练样本集标注有多个类别,所述图像样本标注有所述多个类别中的目标类别;所述训练样本集包括多个训练图像样本,各所述训练图像样本具有多个样本属性,所述多个样本属性包括所述目标属性;所述第一解码模块5533,还用于基于所述多个样本属性和所述多个样本类别,确定所述训练样本集的类别预测矩阵,并基于所述第一重构属性文本与所述类别预测矩阵,确定所述第一重构属性文本对应的图像所归属的第一预测类别;所述第一确定模块5535,还用于基于所述第一预测类别和所述目标类别的差异,确定第一类别损失函数的第一类别损失值;所述第一确定模块5535,还用于将所述第一文本损失值、所述第一图像损失值、以及所述第一类别损失值的加和,作为所述图像生成模型的第一损失值。
在一些实施例中,所述第二解码模块5534,还用于将所述第二重构属性文本的编码结果与所述类别预测矩阵进行相乘,得到所述第二重构属性文本对应的图像所归属的第二预测类别;所述第二确定模块5536,还用于基于所述第二预测类别和所述目标类别的差异,确定第二类别损失函数的第二类别损失值;所述第二确定模块5536,还用于将所述第二文本损失值、所述第二图像损失值、以及所述第二类别损失值的加和,作为所述图像生成模型的第二损失值。
在一些实施例中,所述第一解码模块5533,还用于针对各所述样本类别分别执行以下操作:从所述多个样本属性中,确定所述样本类别的训练图像样本所具有的至少一个目标样本属性,并将所述至少一个目标样本属性和所述样本类别进行编码,得到所述样本类别的预测矩阵;将多个所述样本类别的预测矩阵进行拼接,得到所述训练样本集的类别预测矩阵;所述第一解码模块5533,还用于对所述第一重构属性文本进行编码,并将编码得到的编码结果和所述类别预测矩阵进行相乘,得到所述第一重构属性文本对应的图像所归属的第一预测类别。
在一些实施例中,所述图像样本归属于训练样本集,所述训练样本集包括多种内容图案,所述图像样本包括所述多种内容图案中的目标内容图案;所述训练样本集包括多个训练图像样本,各所述训练图像样本具有多个样本属性,所述多个样本属性包括所述目标属性;所述第一解码模块5533,还用于基于所述多个样本属性和所述多种内容图案,确定所述训练样本集的内容图案预测矩阵,并基于所述第一重构属性文本与所述内容图案预测矩阵,确定所述第一重构属性文本对应的图像所包括的第一预测内容图案;所述第一确定模块5535,还用于基于所述第一预测内容图案和所述目标内容图案的差异,确定第一内容损失函数的第一内容损失值;所述第一确定模块5535,还用于将所述第一文本损失值、所述第一图像损失值、以及所述第一内容损失值的加和,作为所述图像生成模型的第一损失值。
在一些实施例中,所述第二解码模块5534,还用于将所述第二重构属性文本的编码结果与所述内容图案预测矩阵进行相乘,得到所述第二重构属性文本对应的图像所包括的第二预测内容图案;所述第二确定模块5536,还用于基于所述第二预测内容图案和所述目标内容图案的差异,确定第二内容损失函数的第二内容损失值;所述第二确定模块5536,还用于将所述第二文本损失值、所述第二图像损失值、以及所述第二内容损失值的加和,作为所述图像生成模型的第二损失值。
在一些实施例中,所述图像生成模型包括能量模型,所述第一解码模块5533,还用于通过所述能量模型的采样处理层,按照预设采样步长对所述图像潜变量进行目标次数的采样,得到图像采样潜变量;对所述图像采样潜变量进行潜变量解码,得到所述第一重构图像。
在一些实施例中,所述第一解码模块5533,还用于针对所述目标次数中每次采样得到的图像采样潜变量,分别执行如下操作:通过所述能量模型的图像重构层,基于所述图像采样潜变量进行图像重构,得到中间重构图像;基于所述能量模型的能量预测层,确定所述图像样本的第一能量,并确定所述中间重构图像的第二能量;基于所述第一能量和所述第二能量间的差异,确定所述能量模型的中间损失值;基于所述目标次数中每次采样所确定的中间损失值,确定所述能量模型的第五损失值;所述训练模块5537,还用于确定所述第一损失值、所述第二损失值和所述第五损失值的损失值之和,并将所述损失值之和作为所述图像生成模型的第二综合损失值;基于所述第二综合损失值,更新所述图像生成模型的模型参数。
应用本申请上述实施例,对属性文本样本的文本潜变量进行潜变量解码,得到第一重构属性文本,并对图像潜变量进行潜变量解码,得到第一重构图像;对图像潜变量进行潜变量解码,得到第二重构属性文本,并对文本潜变量进行潜变量解码,得到第二重构图像。即,既基于目标属性的属性文本样本重构得到了第一重构属性文本,还基于图像样本重构得到了第二重构属性文本;以及,既基于具有目标属性的图像样本重构得到了第一重构图像,还基于属性文本样本重构得到了第二重构图像;如此,实现了属性文本样本和图像样本的交叉重构,将文本和图像的特征均泛化到两个重构过程(包括属性文本的重构和图像的重构)中,能够提高模型的图像生成质量。从而可以基于第一重构属性文本和属性文本样本间的第一文本损失值、第一重构图像和图像样本间的第一图像损失值、第二重构属性文本和属性文本样本间的第二文本损失值、以及第二重构图像和图像样本间的第二图像损失值,对图像生成模型进行训练,能够提高图像生成模型的训练效果,从而提高图像生成模型的图像生成质量。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例提供的图像生成模型的训练方法。
本申请实施例还提供一种计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的图像生成模型的训练方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EP ROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (15)

1.一种图像生成模型的训练方法,其特征在于,所述方法包括:
获取目标属性的属性文本样本、以及具有所述目标属性的图像样本,所述目标属性,为所述图像生成模型所能够生成的目标图像所具有的属性;
调用所述图像生成模型,对所述属性文本样本进行潜变量编码,得到文本潜变量,并对所述图像样本进行潜变量编码,得到图像潜变量;
调用所述图像生成模型,对所述文本潜变量进行潜变量解码,得到第一重构属性文本,并对所述图像潜变量进行潜变量解码,得到第一重构图像;
调用所述图像生成模型,对所述图像潜变量进行潜变量解码,得到第二重构属性文本,并对所述文本潜变量进行潜变量解码,得到第二重构图像;
基于所述第一重构属性文本和所述属性文本样本间的差异,确定第一文本损失函数的第一文本损失值,并基于所述第一重构图像和所述图像样本间的差异,确定第一图像损失函数的第一图像损失值,将所述第一文本损失值与所述第一图像损失值的加和作为所述图像生成模型的第一损失值;
基于所述第二重构属性文本和所述属性文本样本间的差异,确定第二文本损失函数的第二文本损失值,并基于所述第二重构图像和所述图像样本间的差异,确定第二图像损失函数的第二图像损失值,将所述第二文本损失值与所述第二图像损失值的加和作为所述图像生成模型的第二损失值;
基于所述第一损失值和所述第二损失值,更新所述图像生成模型的模型参数,以对所述图像生成模型进行训练。
2.如权利要求1所述的方法,其特征在于,所述潜变量解码的过程通过M个级联的解码层实现,所述对所述文本潜变量进行潜变量解码,得到所述第一重构属性文本,包括:
通过所述M个级联的解码层中的第一个解码层,对所述文本潜变量进行潜变量解码,得到所述第一个解码层的中间重构属性文本;
通过所述M个级联的解码层中的第m个解码层,对所述文本潜变量以及第(m-1)个解码层的中间重构属性文本进行拼接,并对拼接结果进行潜变量解码,得到所述第m个解码层的中间重构属性文本;
其中,所述M和所述m为大于1的整数,所述m小于或等于所述M;
对所述m进行遍历,得到第M个解码层的中间重构属性文本,并将所述第M个解码层的中间重构属性文本,作为所述第一重构属性文本。
3.如权利要求1所述的方法,其特征在于,所述图像生成模型包括属性文本重构模型和图像重构模型,所述属性文本重构模型包括文本编码层和文本解码层,所述图像重构模型包括图像编码层和图像解码层;
所述对所述属性文本样本进行潜变量编码,得到文本潜变量,包括:通过所述文本编码层,对所述属性文本样本进行潜变量编码,得到所述文本潜变量;
所述对所述图像样本进行潜变量编码,得到图像潜变量,包括:通过所述图像编码层,对所述图像样本进行潜变量编码,得到所述图像潜变量;
所述对所述文本潜变量进行潜变量解码,得到第一重构属性文本,包括:通过所述文本解码层,对所述文本潜变量进行潜变量解码,得到所述第一重构属性文本;
所述对所述图像潜变量进行潜变量解码,得到第一重构图像,包括:通过所述图像解码层,对所述图像潜变量进行潜变量解码,得到所述第一重构图像。
4.如权利要求1所述的方法,其特征在于,所述基于所述第一损失值和所述第二损失值,更新所述图像生成模型的模型参数,包括:
获取所述图像生成模型的第三损失值和第四损失值;
其中,所述第三损失值,基于所述属性文本样本的文本潜在空间、和所述图像样本的图像潜在空间之间的空间距离确定;
其中,所述第四损失值,基于重构属性文本的概率分布与所述属性文本样本的概率分布间的文本分布散度、以及重构图像的概率分布与所述图像样本的概率分布间的图像分布散度确定;所述重构属性文本包括所述第一重构属性文本和所述第二重构属性文本,所述重构图像包括所述第一重构图像和所述第二重构图像;
确定所述第一损失值、所述第二损失值和目标损失值的损失值之和,所述目标损失值,为所述第三损失值和所述第四损失值中至少之一;
将所述损失值之和作为所述图像生成模型的第一综合损失值,并基于所述第一综合损失值,更新所述图像生成模型的模型参数。
5.如权利要求4所述的方法,其特征在于,所述获取所述图像生成模型的第四损失值,包括:
确定所述属性文本样本的文本潜变量的文本概率分布、以及所述图像样本的图像潜变量的图像概率分布;
确定所述第一重构属性文本的第一重构文本概率分布和所述第二重构属性文本的第二重构文本概率分布,并确定所述第一重构图像的第一重构图像概率分布和所述第二重构图像的第二重构图像概率分布;
基于所述第一重构文本概率分布与所述文本概率分布间的分布散度、以及所述第二重构文本概率分布与所述文本概率分布间的分布散度,确定所述图像生成模型的所述文本分布散度;
基于所述第一重构图像概率分布与所述图像概率分布间的分布散度、以及所述第二重构图像概率分布与所述图像概率分布间的分布散度,确定所述图像生成模型的所述图像分布散度;
基于所述文本分布散度和所述图像分布散度,确定所述第四损失值。
6.如权利要求1所述的方法,其特征在于,所述图像样本归属于训练样本集,所述训练样本集标注有多个类别,所述图像样本标注有所述多个类别中的目标类别;所述训练样本集包括多个训练图像样本,各所述训练图像样本具有多个样本属性,所述多个样本属性包括所述目标属性;
所述对所述文本潜变量进行潜变量解码,得到第一重构属性文本之后,所述方法还包括:
基于所述多个样本属性和所述多个样本类别,确定所述训练样本集的类别预测矩阵,并基于所述第一重构属性文本与所述类别预测矩阵,确定所述第一重构属性文本对应的图像所归属的第一预测类别;
所述方法还包括:基于所述第一预测类别和所述目标类别的差异,确定第一类别损失函数的第一类别损失值;
所述将所述第一文本损失值与所述第一图像损失值的加和作为所述图像生成模型的第一损失值,包括:将所述第一文本损失值、所述第一图像损失值、以及所述第一类别损失值的加和,作为所述图像生成模型的第一损失值。
7.如权利要求6所述的方法,其特征在于,所述对所述图像潜变量进行潜变量解码,得到第二重构属性文本之后,所述方法还包括:
将所述第二重构属性文本的编码结果与所述类别预测矩阵进行相乘,得到所述第二重构属性文本对应的图像所归属的第二预测类别;
所述方法还包括:基于所述第二预测类别和所述目标类别的差异,确定第二类别损失函数的第二类别损失值;
所述将所述第二文本损失值与所述第二图像损失值的加和作为所述图像生成模型的第二损失值,包括:将所述第二文本损失值、所述第二图像损失值、以及所述第二类别损失值的加和,作为所述图像生成模型的第二损失值。
8.如权利要求6所述的方法,其特征在于,所述基于所述多个样本属性和所述多个样本类别,确定所述训练样本集的类别预测矩阵,包括:
针对各所述样本类别分别执行以下操作:从所述多个样本属性中,确定所述样本类别的训练图像样本所具有的至少一个目标样本属性,并将所述至少一个目标样本属性和所述样本类别进行编码,得到所述样本类别的预测矩阵;
将多个所述样本类别的预测矩阵进行拼接,得到所述训练样本集的类别预测矩阵;
所述基于所述第一重构属性文本与所述类别预测矩阵,确定所述第一重构属性文本对应的图像所归属的第一预测类别,包括:
对所述第一重构属性文本进行编码,并将编码得到的编码结果和所述类别预测矩阵进行相乘,得到所述第一重构属性文本对应的图像所归属的第一预测类别。
9.如权利要求1所述的方法,其特征在于,所述图像样本归属于训练样本集,所述训练样本集包括多种内容图案,所述图像样本包括所述多种内容图案中的目标内容图案;所述训练样本集包括多个训练图像样本,各所述训练图像样本具有多个样本属性,所述多个样本属性包括所述目标属性;
所述对所述文本潜变量进行潜变量解码,得到第一重构属性文本之后,所述方法还包括:
基于所述多个样本属性和所述多种内容图案,确定所述训练样本集的内容图案预测矩阵,并基于所述第一重构属性文本与所述内容图案预测矩阵,确定所述第一重构属性文本对应的图像所包括的第一预测内容图案;
所述方法还包括:基于所述第一预测内容图案和所述目标内容图案的差异,确定第一内容损失函数的第一内容损失值;
所述将所述第一文本损失值与所述第一图像损失值的加和作为所述图像生成模型的第一损失值,包括:将所述第一文本损失值、所述第一图像损失值、以及所述第一内容损失值的加和,作为所述图像生成模型的第一损失值。
10.如权利要求9所述的方法,其特征在于,所述对所述图像潜变量进行潜变量解码,得到第二重构属性文本之后,所述方法还包括:
将所述第二重构属性文本的编码结果与所述内容图案预测矩阵进行相乘,得到所述第二重构属性文本对应的图像所包括的第二预测内容图案;
所述方法还包括:基于所述第二预测内容图案和所述目标内容图案的差异,确定第二内容损失函数的第二内容损失值;
所述将所述第二文本损失值与所述第二图像损失值的加和作为所述图像生成模型的第二损失值,包括:将所述第二文本损失值、所述第二图像损失值、以及所述第二内容损失值的加和,作为所述图像生成模型的第二损失值。
11.如权利要求1所述的方法,其特征在于,所述图像生成模型包括能量模型,所述对所述图像潜变量进行潜变量解码,得到第一重构图像,包括:
通过所述能量模型的采样处理层,按照预设采样步长对所述图像潜变量进行目标次数的采样,得到图像采样潜变量;
对所述图像采样潜变量进行潜变量解码,得到所述第一重构图像。
12.如权利要求11所述的方法,其特征在于,所述通过所述能量模型的采样处理层,按照预设采样步长对所述图像潜变量进行目标次数的采样,得到图像采样潜变量之后,所述方法还包括:
针对所述目标次数中每次采样得到的图像采样潜变量,分别执行如下操作:通过所述能量模型的图像重构层,基于所述图像采样潜变量进行图像重构,得到中间重构图像;基于所述能量模型的能量预测层,确定所述图像样本的第一能量,并确定所述中间重构图像的第二能量;基于所述第一能量和所述第二能量间的差异,确定所述能量模型的中间损失值;
基于所述目标次数中每次采样所确定的中间损失值,确定所述能量模型的第五损失值;
所述基于所述第一损失值和所述第二损失值,更新所述图像生成模型的模型参数,包括:
确定所述第一损失值、所述第二损失值和所述第五损失值的损失值之和,并将所述损失值之和作为所述图像生成模型的第二综合损失值;
基于所述第二综合损失值,更新所述图像生成模型的模型参数。
13.一种图像生成模型的训练装置,其特征在于,所述装置包括:
获取模块,用于获取目标属性的属性文本样本、以及具有所述目标属性的图像样本,所述目标属性,为所述图像生成模型所能够生成的目标图像所具有的属性;
编码模块,用于调用所述图像生成模型,对所述属性文本样本进行潜变量编码,得到文本潜变量,并对所述图像样本进行潜变量编码,得到图像潜变量;
第一解码模块,用于调用所述图像生成模型,对所述文本潜变量进行潜变量解码,得到第一重构属性文本,并对所述图像潜变量进行潜变量解码,得到第一重构图像;
第二解码模块,用于调用所述图像生成模型,对所述图像潜变量进行潜变量解码,得到第二重构属性文本,并对所述文本潜变量进行潜变量解码,得到第二重构图像;
第一确定模块,用于基于所述第一重构属性文本和所述属性文本样本间的差异,确定第一文本损失函数的第一文本损失值,并基于所述第一重构图像和所述图像样本间的差异,确定第一图像损失函数的第一图像损失值,将所述第一文本损失值与所述第一图像损失值的加和作为所述图像生成模型的第一损失值;
第二确定模块,用于基于所述第二重构属性文本和所述属性文本样本间的差异,确定第二文本损失函数的第二文本损失值,并基于所述第二重构图像和所述图像样本间的差异,确定第二图像损失函数的第二图像损失值,将所述第二文本损失值与所述第二图像损失值的加和作为所述图像生成模型的第二损失值;
训练模块,用于基于所述第一损失值和所述第二损失值,更新所述图像生成模型的模型参数,以对所述图像生成模型进行训练。
14.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时,实现权利要求1至12任一项所述的图像生成模型的训练方法。
15.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时,实现权利要求1至12任一项所述的图像生成模型的训练方法。
CN202211336685.8A 2022-10-28 2022-10-28 图像生成模型的训练方法、装置、存储介质及程序产品 Pending CN117011404A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211336685.8A CN117011404A (zh) 2022-10-28 2022-10-28 图像生成模型的训练方法、装置、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211336685.8A CN117011404A (zh) 2022-10-28 2022-10-28 图像生成模型的训练方法、装置、存储介质及程序产品

Publications (1)

Publication Number Publication Date
CN117011404A true CN117011404A (zh) 2023-11-07

Family

ID=88575045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211336685.8A Pending CN117011404A (zh) 2022-10-28 2022-10-28 图像生成模型的训练方法、装置、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN117011404A (zh)

Similar Documents

Publication Publication Date Title
US20210064453A1 (en) Automated application programming interface (api) specification construction
CN116524299A (zh) 一种图像样本生成方法、装置、设备及存储介质
CN113313215B (zh) 图像数据处理方法、装置、计算机设备和存储介质
CN112990281A (zh) 异常投标识别模型训练方法、异常投标识别方法及装置
CN114580794B (zh) 数据处理方法、装置、程序产品、计算机设备和介质
CN114048301B (zh) 一种基于满意度的用户模拟方法及系统
CN112084301A (zh) 文本修正模型的训练方法及装置、文本修正方法及装置
CN116383741A (zh) 基于多源域数据的模型训练方法和跨域分析方法
CN116756536A (zh) 数据识别方法、模型训练方法、装置、设备及存储介质
CN117011404A (zh) 图像生成模型的训练方法、装置、存储介质及程序产品
CN115934484B (zh) 基于扩散模型数据增强的异常检测方法、存储介质及设备
CN112748953A (zh) 基于神经网络模型的数据处理方法、装置及电子设备
CN116955797A (zh) 资源推荐方法、装置、电子设备及存储介质
CN110298005A (zh) 一种对url进行归一化的方法
CN112463162B (zh) 一种代码命名的推荐方法、系统、存储介质及设备
CN115205546A (zh) 模型训练方法和装置、电子设备、存储介质
CN114913008A (zh) 基于决策树的债券价值分析方法、装置、设备及存储介质
CN111126047B (zh) 一种同义文本生成的方法及装置
CN113760497A (zh) 一种调度任务配置方法和装置
CN113011555B (zh) 一种数据处理方法、装置、设备及存储介质
CN117435901B (zh) 一种工业互联网数据获取方法、系统、终端及储存介质
CN117132367B (zh) 业务处理方法、装置及计算机设备、存储介质、程序产品
CN117493821B (zh) 一种微模块机房环境监控方法及系统
CN117876119B (zh) 一种基于分布式的风控模型构建方法及系统
CN113312891B (zh) 一种基于生成模型的payload自动生成方法、装置、系统

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