一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

目标对象的生成方法、装置、电子设备以及存储介质与流程

2021-11-03 14:45:00 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,特别涉及自然语言处理、深度学习等人工智能技术领域,尤其涉及目标对象的生成方法、装置、电子设备以及存储介质。


背景技术:

2.目前,有很多需要根据图像生成文本,或者根据文本生成图像,或者根据文本与图像的组合生成图像或文本的场景。比如,为了实现对图像表现的内容的描述,需要根据图像生成对于图像的内容的描述文本;为了绘制与文本描述的内容相符的图像,需要根据文本生成能够表现文本描述内容的图像;为了实现在给定关键词的情况下对图像表现的内容的描述,需要根据文本与图像的组合生成文本等。
3.而相关技术中的文本或图像生成方法,仅能实现图片到文本或文本到图片的生成,应用场景有限,应用范围窄。


技术实现要素:

4.本公开提供了一种目标对象的生成方法、装置、电子设备以及存储介质。
5.根据本公开的一方面,提供了一种目标对象的生成方法,包括:对原始对象进行离散编码,以生成所述原始对象对应的第一离散编码序列,其中,所述原始对象的类型,为图像或文本中的一个或者图像和文本的组合;将所述第一离散编码序列输入生成模型,以得到第二离散编码序列;根据所述第二离散编码序列,生成目标对象,其中,所述目标对象的类型为图像或文本中的一个,且所述原始对象的类型为图像或文本中的一个时,所述目标对象的类型为文本或图像中的另一个。
6.根据本公开的另一方面,提供了一种目标对象的生成装置,包括:编码模块,用于对原始对象进行离散编码,以生成所述原始对象对应的第一离散编码序列,其中,所述原始对象的类型,为图像或文本中的一个或者图像和文本的组合;第一处理模块,用于将所述第一离散编码序列输入生成模型,以得到第二离散编码序列;生成模块,用于根据所述第二离散编码序列,生成目标对象,其中,所述目标对象的类型为图像或文本中的一个,且所述原始对象的类型为图像或文本中的一个时,所述目标对象的类型为文本或图像中的另一个。
7.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的目标对象的生成方法。
8.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如上所述的目标对象的生成方法。
9.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据如上所述的目标对象的生成方法。
10.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特
征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
11.附图用于更好地理解本方案,不构成对本公开的限定。其中:
12.图1是根据本公开第一实施例的目标对象的生成方法的流程示意图;
13.图2是根据本公开第二实施例的目标对象的生成方法的流程示意图;
14.图3是根据本公开第二实施例的目标对象的生成方法的框架图;
15.图4是根据本公开第三实施例的目标对象的生成方法的流程示意图;
16.图5是根据本公开第三实施例的目标对象的生成方法的框架图;
17.图6是根据本公开第四实施例的目标对象的生成方法的流程示意图;
18.图7是根据本公开第四实施例的目标对象的生成方法的框架图;
19.图8是根据本公开第五实施例的目标对象的生成装置的结构示意图;
20.图9是根据本公开第六实施例的目标对象的生成装置的结构示意图;
21.图10是用来实现本公开实施例的目标对象的生成方法的电子设备的框图。
具体实施方式
22.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
23.可以理解的是,目前,有很多需要根据图像生成文本,或者根据文本生成图像,或者根据文本与图像的组合生成图像或文本的场景。比如,为了实现对图像表现的内容的描述,需要根据图像生成对于图像的内容的描述文本;为了绘制与文本描述的内容相符的图像,需要根据文本生成能够表现文本描述内容的图像;为了实现在给定关键词的情况下对图像表现的内容的描述,需要根据文本与图像的组合生成文本等。而相关技术中的文本或图像生成方法,仅能实现图片到文本或文本到图片的生成,应用场景有限,应用范围窄。
24.本公开针对上述问题,提出一种目标对象的生成方法,该目标对象的生成方法,首先对原始对象进行离散编码,以生成原始对象对应的第一离散编码序列,其中,原始对象的类型,为图像或文本中的一个或者图像和文本的组合,再将第一离散编码序列输入生成模型,以得到第二离散编码序列,进而根据第二离散编码序列,生成目标对象,其中,目标对象的类型为图像或文本中的一个,且原始对象的类型为图像或文本中的一个时,目标对象的类型为文本或图像中的另一个。由此,实现了利用同一生成模型,实现类型为图像的原始对象到类型为文本的目标对象的生成、类型为文本的原始对象到类型为图像的目标对象的生成以及类型为文本和图像的组合的原始对象到类型为图像或文本的目标对象的生成,扩大了生成模型的应用范围。
25.需要说明的是,本公开实施例中的目标对象的生成方法,可以应用于任意从文本到图像、从图像到文本、从图像和文本的组合到文本或图像的生成场景。比如,可以应用于根据图像生成对于图像的内容的描述文本的场景;或者根据文本生成能够表现文本描述内容的图像的场景;或者在给定关键词的情况下生成对图像表现内容的描述文本的场景;或
者基于原始图像中按照给定文本内容绘制新图像的场景,或者给定标题和图像生成图像表现内容的正文的场景,或者给定图像生成对于图像的评论的场景等。
26.下面参考附图描述本公开实施例的目标对象的生成方法、装置、电子设备、非瞬时计算机可读存储介质以及计算机程序产品。
27.首先结合图1,对本公开提供的目标对象的生成方法进行详细描述。
28.图1是根据本公开第一实施例的目标对象的生成方法的流程示意图。其中,需要说明的是,本公开实施例提供的目标对象的生成方法,执行主体为目标对象的生成装置,以下简称生成装置。该生成装置可以为电子设备,也可以被配置在电子设备中,以实现利用同一生成模型,实现类型为图像的原始对象到类型为文本的目标对象的生成、类型为文本的原始对象到类型为图像的目标对象的生成以及类型为文本和图像的组合的原始对象到类型为图像或文本的目标对象的生成,扩大生成模型的应用范围。本公开实施例以生成装置被配置在电子设备中为例进行说明。
29.其中,电子设备,可以是任意能够进行数据处理的静止或者移动计算设备,例如笔记本电脑、智能手机、可穿戴设备等移动计算设备,或者台式计算机等静止的计算设备,或者服务器,或者其它类型的计算设备等,本公开对此不作限制。
30.如图1所示,目标对象的生成方法,可以包括以下步骤:
31.步骤101,对原始对象进行离散编码,以生成原始对象对应的第一离散编码序列,其中,原始对象的类型,为图像或文本中的一个或者图像和文本的组合。
32.在示例性实施例中,在原始对象的类型为图像时,可以采用预设的图像编码方式,对原始对象进行离散编码,以生成原始对象对应的第一离散编码序列;在原始对象的类型为文本时,可以采用预设的文本编码方式,对原始对象进行离散编码,以生成原始对象对应的第一离散编码序列;在原始对象的类型为图像和文本的组合时,可以分别根据预设的图像编码方式以及文本编码方式,对类型为图像的原始对象和类型为文本的原始对象进行离散编码,以分别生成类型为图像的原始对象对应的离散编码序列和类型为文本的原始对象对应的离散编码序列,进而根据图像的原始对象对应的离散编码序列和类型为文本的原始对象对应的离散编码序列,生成第一离散编码序列。
33.步骤102,将第一离散编码序列输入生成模型,以得到第二离散编码序列。
34.其中,生成模型可以为任意框架为参数共享的序列到序列seqtoseq框架的模型,其中,seqtoseq框架的输入和输出均为离散编码序列,从而可以实现根据第一离散编码序列,得到第二离散编码序列。
35.步骤103,根据第二离散编码序列,生成目标对象,其中,目标对象的类型为图像或文本中的一个,且原始对象的类型为图像或文本中的一个时,目标对象的类型为文本或图像中的另一个。
36.其中,在原始对象的类型为图像时,目标对象的类型为文本;在原始对象的类型为文本时,目标对象的类型为图像;在原始对象的类型为图像和文本的组合时,目标对象的类型可以为图像或者文本。
37.在示例性实施例中,在目标对象的类型为文本时,可以采用预设的文本解码方式,对第二离散编码序列进行解码,以将第二离散编码序列转换为类型为文本的目标对象;在目标对象的类型为图像时,可以采用预设的图像解码方式,对第二离散编码序列进行解码,
以将第二离散编码序列转换为类型为图像的目标对象。
38.本公开实施例中,由于生成模型的输入和输出均为离散编码序列,而对于图像类型、文本类型、或者图像和文本的组合类型的原始对象,均通过离散编码生成第一离散编码序列,再将第一离散编码序列输入生成模型得到第二离散编码序列,进而根据第二离散编码序列生成目标对象,从而统一了原始对象的编码方式和目标对象的解码方式,实现了利用同一生成模型,实现类型为图像的原始对象到类型为文本的目标对象的生成、类型为文本的原始对象到类型为图像的目标对象的生成以及类型为文本和图像的组合的原始对象到类型为图像或文本的目标对象的生成,扩大了生成模型的应用范围。
39.本公开实施例提供的目标对象的生成方法,首先对原始对象进行离散编码,以生成原始对象对应的第一离散编码序列,其中,原始对象的类型,为图像或文本中的一个或者图像和文本的组合,再将第一离散编码序列输入生成模型,以得到第二离散编码序列,进而根据第二离散编码序列,生成目标对象,其中,目标对象的类型为图像或文本中的一个,且原始对象的类型为图像或文本中的一个时,目标对象的类型为文本或图像中的另一个。由此,实现了利用同一生成模型,实现类型为图像的原始对象到类型为文本的目标对象的生成、类型为文本的原始对象到类型为图像的目标对象的生成以及类型为文本和图像的组合的原始对象到类型为图像或文本的目标对象的生成,扩大了生成模型的应用范围。
40.通过上述分析可知,本公开实施例中,原始对象的类型可以为图像,目标对象的类型可以为文本,下面结合图2,对本公开提供的目标对象的生成方法在原始对象的类型为图像、目标对象的类型为文本时的执行过程进一步说明。
41.图2是根据本公开第二实施例的目标对象的生成方法的流程示意图。如图2所示,目标对象的生成方法,可以包括以下步骤:
42.步骤201,利用向量量化变分自动编码器vq

vae的编码层,将原始对象对应的连续编码转换为第一连续编码向量,其中,原始对象的类型为图像。
43.步骤202,基于vq

vae中的编码表,通过最邻近搜索,将第一连续编码向量转换为第一离散编码向量。
44.步骤203,根据预设的离散编码方式,将第一离散编码向量转换为第一离散编码序列。
45.其中,向量量化变分自动编码器(vector quatization

variationalautoencoder,简称vq

vae),为一个自编码器,它的一个明显特征是编码出的编码向量是离散的。vq

vae包括编码层和解码层,通过编码层,可以将图像编码为离散编码向量,通过解码层,可以将离散编码向量解码为图像。
46.本公开实施例中,可以利用vq

vae的编码层,将图像类型的原始对象编码为第一离散编码序列。
47.需要说明的是,对于一张图像,其各个像素点的像素值可能是浮点型而不是整数型,本公开实施例中,认为像素值为浮点型的图像是连续的rgb编码,而整数型的序列为离散编码。本公开实施例中,需要将图像类型的原始对象对应的连续编码,转换为第一离散编码序列。
48.在示例性实施例中,参考图3,可以先利用vq

vae的编码层encoder,将原始对象对应的连续编码301转换为第一连续编码向量302,再基于vq

vae中的编码表codebook,通过
最邻近搜索,将第一连续编码向量302量化为第一离散编码向量303,进而根据预设的离散编码方式,将第一离散编码向量303转换为第一离散编码序列304。
49.具体的,编码表codebook为vq

vae中维护的一个k*d维的编码表,比如编码表中可以包括k个d维编码向量e1、e2……
e
k
,利用vq

vae的编码层,可以将图像类型的原始对象的连续编码转换为一个h’*w’*d的第一连续编码向量,进而针对h’*w’个d维向量中的每个d维向量,可以分别在编码表codebook中找到距离该d维向量最近的编码向量e
i
,其中,e
i
为编码表中的一个编码向量,并将该d维向量用编码向量e
i
的索引表示,从而得到h’*w’的第一离散编码向量303。其中,k、d、h’、w’分别表示维度。
50.进一步的,得到h’*w’的第一离散编码向量303后,即可根据预设的离散编码方式,将h’*w’的第一离散编码向量转换为第一离散编码序列。其中,预设的离散编码方式,可以根据需要设置,比如可以设置为one

hot(独热)编码或者其它类型的编码方式,本公开对此不作限制。本公开实施例以预设的离散编码方式为one

hot编码方式为例进行说明。
51.具体的,可以采用one

hot编码方式的编码表,通过查表的方式,将图3所示的h’*w’的第一离散编码向量303转换为以one

hot编码方式的编码表进行编码的另一h’*w’的离散编码向量,进而根据转换后的h’*w’的离散编码向量,得到第一离散编码序列304。比如,假设将一个3*3的第一离散编码向量转换为另一以one

hot编码方式的编码表进行编码的3*3的离散编码向量后,可以根据转换后的该3*3的离散编码向量中各个元素,得到一个1*9的第一离散编码序列。
52.通过上述过程,实现了基于vq

vae对图像类型的原始对象进行离散编码,生成原始对象对应的第一离散编码序列,为利用生成模型实现图像类型的原始对象到文本类型的目标对象的生成奠定了基础。
53.需要说明的是,图3中的原始对象、第一连续编码向量、第一离散编码向量、第一离散编码序列仅是举例说明,不能理解为对本方案的限制。
54.步骤204,将第一离散编码序列输入生成模型,以得到第二离散编码序列。
55.其中,生成模型可以为任意框架为参数共享的序列到序列seqtoseq框架的模型,比如自然语言处理领域的transformer生成模型,其中,seqtoseq框架的输入和输出均为离散编码序列,从而可以实现根据第一离散编码序列,得到第二离散编码序列。
56.在示例性实施例中,将第一离散编码序列输入生成模型,以得到第二离散编码序列之前,还可以训练得到生成模型。具体的训练过程将在下述实施例中进行说明,此处不作赘述。
57.步骤205,根据所述预设的离散编码方式对应的离散解码方式,将第二离散编码序列,转换为目标对象,其中,目标对象的类型为文本。
58.其中,离散解码方式可以为one

hot编码或其它类型的编码方式对应的离散解码方式,本公开对此不作限制。根据所述预设的离散编码方式对应的离散解码方式,将第二离散编码序列转换为目标对象的过程,可以参考相关技术中的文本解码方式,此处不再赘述。
59.通过上述过程,实现了将第二离散编码序列,转换为文本类型的目标对象,且通过利用预设的离散编码方式将类型为图像的原始对象转换为第一离散编码序列,利用预设的离散编码方式对应的离散解码方式,将第二离散编码序列转换为目标对象,实现了将用于文本的离散编码方式应用于图像的编码过程,从而统一了文本和图像的编码方式。
60.本公开实施例的目标对象的生成方法,利用向量量化变分自动编码器vq

vae的编码层,将原始对象对应的连续编码转换为第一连续编码向量,其中,原始对象的类型为图像,基于vq

vae中的编码表,通过最邻近搜索,将第一连续编码向量转换为第一离散编码向量,根据预设的离散编码方式,将第一离散编码向量转换为第一离散编码序列,将第一离散编码序列输入生成模型,以得到第二离散编码序列,进而根据所述预设的离散编码方式对应的离散解码方式,将第二离散编码序列,转换为目标对象,其中,目标对象的类型为文本。由此,通过在原始对象的类型为图像、目标对象的类型为文本时,基于vq

vae对图像类型的原始对象进行离散编码后,再利用生成模型,得到第二离散编码序列,进而根据第二离散编码序列生成目标对象,实现了图像到文本的生成,扩大了生成模型的应用范围。
61.通过上述分析可知,本公开实施例中,原始对象的类型可以为文本,目标对象的类型可以为图像,下面结合图4,对本公开提供的目标对象的生成方法在原始对象的类型为文本、目标对象的类型为图像时的执行过程进一步说明。
62.图4是根据本公开第三实施例的目标对象的生成方法的流程示意图。如图4所示,目标对象的生成方法,可以包括以下步骤:
63.步骤401,利用预设的离散编码方式,将原始对象转换为第一离散编码序列,其中,原始对象的类型为文本。
64.其中,预设的离散编码方式,可以为one

hot编码或其它类型的编码方式,本公开对此不作限制。利用预设的离散编码方式,将原始对象转换为第一离散编码序列的过程,可以参考相关技术中的文本编码方式,此处不再赘述。本公开实施例以预设的离散编码方式为one

hot编码方式为例进行说明。
65.通过上述过程,实现了对类型为文本的原始对象进行离散编码,生成第一离散编码序列,为利用生成模型实现文本类型的原始对象到图像类型的目标对象的生成奠定了基础。
66.步骤402,将第一离散编码序列输入生成模型,以得到第二离散编码序列。
67.其中,步骤402的具体实现过程及原理,可以参考上述实施例的描述,此处不再赘述。
68.在示例性实施例中,将第一离散编码序列输入生成模型,以得到第二离散编码序列之前,还可以训练得到生成模型。具体的训练过程将在下述实施例中进行说明,此处不作赘述。
69.步骤403,根据所述预设的离散编码方式对应的离散解码方式,将第二离散编码序列转换为第二离散编码向量。
70.其中,预设的离散编码方式对应的离散解码方式,可以为one

hot编码或其它类型的编码方式对应的离散解码方式,本公开对此不作限制。
71.步骤404,基于vq

vae中的编码表,通过最邻近搜索,将第二离散编码向量转换为第二连续编码向量。
72.步骤405,利用vq

vae的解码层,将第二连续编码向量转换为目标对象对应的连续编码,以生成目标对象,其中,目标对象的类型为图像。
73.可以理解的是,vq

vae包括编码层和解码层,通过编码层,可以将图像编码为离散编码向量,通过解码层,可以将离散编码向量解码为图像。
74.本公开实施例中,可以利用vq

vae的解码层,根据第二离散编码序列生成目标对象。
75.在示例性实施例中,参考图5,在对文本类型的原始对象501进行离散编码,得到第一离散编码序列502后,可以将第一离散编码序列502输入生成模型503,得到第二离散编码序列504。其中,图5中的h
img
、h
i1
、h
i2
、h
i3
、h
i4
……
h
im
为待预测的隐层状态。
76.进一步的,参考上述实施例的基于vq

ave对类型为图像的原始对象进行离散编码,以生成原始对象对应的第一离散编码序列的过程,根据第二离散编码序列504生成类型为图像的目标对象507的过程可以理解为该过程的逆过程。
77.具体的,可以先将第二离散编码序列504转换为一个以one

hot编码方式的编码表进行编码的h’*w’的离散编码向量,再根据one

hot编码方式对应的离散解码方式,将转换后的该h’*w’的离散编码序列转换为以vq

vae的编码表codebook中各编码向量的索引进行编码的h’*w’的第二离散编码向量505。
78.进一步的,可以基于vq

vae中的编码表,通过最邻近搜索,将h’*w’的第二离散编码向量505转换为h’*w’*d的第二连续编码向量506,进而利用vq

vae的解码层decoder,将第二连续编码向量506转换为目标对象对应的连续编码,以生成目标对象507。
79.需要说明的是,图5中的原始对象、第一连续编码向量、第一离散编码向量、第一离散编码序列等仅是举例说明,不能理解为对本方案的限制。
80.通过上述过程,实现了将第二离散编码序列,转换为图像类型的目标对象,且通过利用预设的离散编码方式将类型为文本的原始对象转换为第一离散编码序列,利用预设的离散编码方式对应的离散解码方式,将第二离散编码序列转换为目标对象,实现了将用于文本的离散解码方式应用于图像的解码过程,从而统一了文本和图像的解码方式。
81.本公开实施例的目标对象的生成方法,利用预设的离散编码方式,将原始对象转换为第一离散编码序列,其中,原始对象的类型为文本,将第一离散编码序列输入生成模型,以得到第二离散编码序列,根据所述预设的离散编码方式对应的离散解码方式,将第二离散编码序列转换为第二离散编码向量,基于vq

vae中的编码表,通过最邻近搜索,将第二离散编码向量转换为第二连续编码向量,利用vq

vae的解码层,将第二连续编码向量转换为目标对象对应的连续编码,以生成目标对象,其中,目标对象的类型为图像。由此,通过在原始对象的类型为文本、目标对象的类型为图像时,基于vq

vae对生成模型输出的第二离散编码序列进行解码,以生成类型为图像的目标对象,实现了文本到图像的生成,扩大了生成模型的应用范围。
82.通过上述分析可知,本公开实施例中,原始对象的类型可以为文本和图像的组合,目标对象的类型可以为图像或文本,下面结合图6,对本公开提供的目标对象的生成方法在原始对象的类型为文本和图像的组合、目标对象的类型为图像或文本时的执行过程进一步说明。
83.图6是根据本公开第四实施例的目标对象的生成方法的流程示意图。如图6所示,原始对象的类型为图像和文本的组合,目标对象的类型为文本或图像时,目标对象的生成方法,可以包括以下步骤:
84.步骤601,对类型为图像的原始对象进行离散编码,得到第三离散编码序列。
85.步骤602,对类型为文本的原始对象进行离散编码,得到第四离散编码序列。
86.其中,对类型为图像的原始对象进行离散编码的过程和对类型为文本的原始对象进行离散编码的过程,可以参考上述实施例的描述,此处不再赘述。
87.步骤603,将第三离散编码序列和第四离散编码序列进行拼接,得到第一离散编码序列。
88.在示例性实施例中,可以将第三离散编码序列和第四离散编码序列进行拼接,得到第一离散编码序列。比如,第三离散编码序列为1*5的离散编码序列、第四离散编码序列为1*4的离散编码序列时,可以将第三离散编码序列和第四离散编码序列拼接为1*9的第一离散编码序列。
89.需要说明的是,本公开实施例中,可以根据目标对象的类型,预先设置第三离散编码序列和第四离散编码序列的拼接方式,比如设置在目标对象的类型为图像时,第三离散编码序列和第四离散编码序列的拼接方式为将第四离散编码序列拼接在第三离散编码序列之后,在目标对象的类型为文本时,第三离散编码序列和第四离散编码序列的拼接方式为将第三离散编码序列拼接在第四离散编码序列之后。从而可以根据目标对象的类型,对第三离散编码序列和第四离散编码序列进行拼接。
90.步骤604,将第一离散编码序列输入生成模型,以得到第二离散编码序列。
91.步骤605,根据第二离散编码序列,生成目标对象。
92.其中,目标对象的类型为图像或文本。
93.参考图7,在原始对象的类型为文本和图像的组合时,对于类型为文本的原始对象701,可以利用预设的离散编码方式,将原始对象转换为第四离散编码序列702。其中需要说明的是,为了便于理解,图7中以原始对象分词后的词向量表示第四离散编码序列。对于类型为图像的原始对象703,可以通过以下方式,对原始对象703进行离散编码,得到第三离散编码序列706:利用vq

vae的编码层,将原始对象对应的连续编码转换为第一连续编码向量704,再基于vq

vae中的编码表,通过最邻近搜索,将第一连续编码向量转换为第一离散编码向量705,再根据预设的离散编码方式,将第一离散编码向量706转换为第三离散编码序列706。进而可以将第三离散编码序列706和第四离散编码序列702进行拼接,得到第一离散编码序列,并将第一离散编码序列输入生成模型707,得到第二离散编码序列。
94.其中,在目标对象的类型为文本时,如图7所示,生成模型输出的第二离散编码序列为离散编码序列708,进而通过利用预设的离散编码方式对应的离散解码方式,可以将离散编码序列708转换为目标对象。
95.在目标对象的类型为图像时,如图7所示,生成模型输出的第二离散编码序列为离散编码序列709,进而可以通过以下方式,根据离散编码序列709,生成目标对象:根据预设的离散编码方式对应的离散解码方式,将离散编码序列709转换为第二离散编码向量710,再基于vq

vae中的编码表,通过最邻近搜索,将第二离散编码向量710转换为第二连续编码向量711,再利用vq

vae的解码层,将第二连续编码向量711转换为目标对象对应的连续编码,以生成目标对象712。
96.需要说明的是,图7中的原始对象、第一连续编码向量、第一离散编码向量、第一离散编码序列等仅是举例说明,不能理解为对本方案的限制。
97.通过在原始对象的类型为文本和图像的组合时,分别对类型为图像的原始对象和类型为文本的原始对象进行离散编码,得到第三离散编码序列以及第四离散编码序列,并
将第三离散编码序列和第四离散编码序列进行拼接,将拼接后的第一离散编码序列输入生成模型,以得到第二离散编码序列,进而根据第二离散编码序列生成目标对象,实现了图像和文本的组合到图像或文本的生成,扩大了生成模型的应用范围。
98.在示例性实施例中,将第一离散编码序列输入生成模型,以得到第二离散编码序列之前,还可以训练得到生成模型。即步骤604之前,还可以包括:
99.获取训练数据;其中,训练数据包括多个样本对,其中,每个样本对包括样本文本对应的样本离散编码序列以及样本图像对应的样本离散编码序列,其中,样本文本与样本图像具有图文转换关系;
100.获取初始的生成模型;
101.将样本对输入初始的生成模型,得到样本文本对应的预测离散编码序列以及样本图像对应的预测离散编码序列;
102.根据样本文本对应的预测离散编码序列与对应样本图像对应的样本离散编码序列之间的第一差异,以及样本图像对应的预测离散编码序列与对应样本文本对应的样本离散编码序列之间的第二差异,对初始的生成模型的模型参数进行调整,以得到经过训练的生成模型。
103.其中,对样本文本进行离散编码,得到样本文本对应的样本离散编码序列,以及对样本图像进行离散编码,得到样本图像对应的样本离散编码序列的过程,可以参考上述实施例的描述,此处不再赘述。
104.初始的生成模型,可以为任意框架为参数共享的序列到序列seqtoseq框架的模型,比如transformer生成模型。
105.在示例性实施例中,对初始的生成模型进行训练时,例如可以通过深度学习的方式进行训练,相比于其它机器学习方法,深度学习在大数据集上的表现更好。
106.通过深度学习的方式训练初始的生成模型时,可以先将训练数据中的一个或多个样本对作为输入,输入初始的生成模型,获取以样本对中样本图像为目标时的样本文本对应的预测离散编码序列,以及以样本对中样本文本为目标时的样本图像对应的预测离散编码序列,并结合样本文本对应的样本离散编码序列以及样本图像对应的样本离散编码序列,得到以样本图像为目标时的样本文本对应的预测离散编码序列与对应样本图像对应的样本离散编码序列之间的第一差异,以及以样本文本为目标时的样本图像对应的预测离散编码序列与对应样本文本对应的样本离散编码序列之间的第二差异,进而根据第一差异和第二差异对初始的生成模型的模型参数进行调整,得到调整后的生成模型。
107.再将训练数据中的另一个或多个样本对作为输入,输入调整后的生成模型,获取以该样本对中样本图像为目标时的样本文本对应的预测离散编码序列,以及以该样本对中样本文本为目标时的样本图像对应的预测离散编码序列,并结合样本文本对应的样本离散编码序列以及样本图像对应的样本离散编码序列,得到以样本图像为目标时的样本文本对应的预测离散编码序列与对应样本图像对应的样本离散编码序列之间的第一差异,以及以样本文本为目标时的样本图像对应的预测离散编码序列与对应样本文本对应的样本离散编码序列之间的第二差异,进而根据第一差异和第二差异对调整后的生成模型的模型参数进行调整,得到进一步调整后的生成模型。
108.由此,通过不断地调整初始的生成模型的模型参数对初始的生成模型进行迭代训
练,直至生成模型输出的预测离散编码序列的准确率满足预先设定的阈值,训练结束,得到经过训练的生成模型。
109.进一步的,得到训练好的生成模型后,即可利用经过训练的生成模型,根据类型为图像、文本、或图像和文本的组合的原始对象对应的第一离散编码序列,得到第二离散编码序列。
110.通过将具有图文转换关系的样本文本和样本图像分别对应的样本离散编码序列作为样本对,将多个样本对作为训练数据,通过深度学习的方式训练得到生成模型,使得训练后的生成模型能够实现文本到图像、图像到文本以及图像和文本的组合到图像或文本的生成。
111.下面结合图8,对本公开提供的目标对象的生成装置进行说明。
112.图8是根据本公开第五实施例的目标对象的生成装置的结构示意图。
113.如图8所示,本公开提供的目标对象的生成装置800,包括:编码模块801、第一处理模块802以及生成模块803。
114.其中,编码模块801,用于对原始对象进行离散编码,以生成原始对象对应的第一离散编码序列,其中,原始对象的类型,为图像或文本中的一个或者图像和文本的组合;
115.第一处理模块802,用于将第一离散编码序列输入生成模型,以得到第二离散编码序列;
116.生成模块803,用于根据第二离散编码序列,生成目标对象,其中,目标对象的类型为图像或文本中的一个,且原始对象的类型为图像或文本中的一个时,目标对象的类型为文本或图像中的另一个。
117.需要说明的是,本实施例提供的目标对象的生成装置,可以执行前述实施例的目标对象的生成方法。其中,目标对象的生成装置可以为电子设备,也可以被配置在电子设备中,以实现利用同一生成模型,实现类型为图像的原始对象到类型为文本的目标对象的生成、类型为文本的原始对象到类型为图像的目标对象的生成以及类型为文本和图像的组合的原始对象到类型为图像或文本的目标对象的生成,扩大生成模型的应用范围。
118.其中,电子设备,可以是任意能够进行数据处理的静止或者移动计算设备,例如笔记本电脑、智能手机、可穿戴设备等移动计算设备,或者台式计算机等静止的计算设备,或者服务器,或者其它类型的计算设备等,本公开对此不作限制。
119.需要说明的是,前述对于目标对象的生成方法的实施例的说明,也适用于本公开提供的目标对象的生成装置,此处不再赘述。
120.本公开实施例提供的目标对象的生成装置,首先对原始对象进行离散编码,以生成原始对象对应的第一离散编码序列,其中,原始对象的类型,为图像或文本中的一个或者图像和文本的组合,再将第一离散编码序列输入生成模型,以得到第二离散编码序列,进而根据第二离散编码序列,生成目标对象,其中,目标对象的类型为图像或文本中的一个,且原始对象的类型为图像或文本中的一个时,目标对象的类型为文本或图像中的另一个。由此,实现了利用同一生成模型,实现类型为图像的原始对象到类型为文本的目标对象的生成、类型为文本的原始对象到类型为图像的目标对象的生成以及类型为文本和图像的组合的原始对象到类型为图像或文本的目标对象的生成,扩大了生成模型的应用范围。
121.下面结合图9,对本公开提供的目标对象的生成装置进行说明。
122.图9是根据本公开第六实施例的目标对象的生成装置的结构示意图。
123.如图9所示,目标对象的生成装置900,具体可以包括:编码模块901、第一处理模块902以及生成模块903。其中,图9中编码模块901、第一处理模块902以及生成模块903与图8中编码模块801、第一处理模块802以及生成模块803具有相同功能和结构。
124.在示例性实施例中,原始对象的类型为图像,编码模块901,包括:
125.第一转换单元,用于利用向量量化变分自动编码器vq

vae的编码层,将原始对象对应的连续编码转换为第一连续编码向量;
126.第二转换单元,用于基于vq

vae中的编码表,通过最邻近搜索,将第一连续编码向量转换为第一离散编码向量;
127.第三转换单元,用于根据预设的离散编码方式,将第一离散编码向量转换为第一离散编码序列。
128.在示例性实施例中,目标对象的类型为文本,生成模块902,包括:
129.第四转换单元,用于根据预设的离散编码方式对应的离散解码方式,将第二离散编码序列,转换为目标对象。
130.在示例性实施例中,原始对象的类型为文本,编码模块901,包括:
131.第五转换单元,用于利用预设的离散编码方式,将原始对象转换为第一离散编码序列。
132.在示例性实施例中,目标对象的类型为图像,生成模块902,包括:
133.第六转换单元,用于根据预设的离散编码方式对应的离散解码方式,将第二离散编码序列转换为第二离散编码向量;
134.第七转换单元,用于基于vq

vae中的编码表,通过最邻近搜索,将第二离散编码向量转换为第二连续编码向量;
135.第八转换单元,用于利用vq

vae的解码层,将第二连续编码向量转换为目标对象对应的连续编码,以生成目标对象。
136.在示例性实施例中,原始对象的类型为图像和文本的组合,编码模块901,包括:
137.第一编码单元,用于对类型为图像的原始对象进行离散编码,得到第三离散编码序列;
138.第二编码单元,用于对类型为文本的原始对象进行离散编码,得到第四离散编码序列;
139.拼接单元,用于将第三离散编码序列和第四离散编码序列进行拼接,得到第一离散编码序列。
140.在示例性实施例中,目标对象的生成装置900,还包括:
141.第一获取模块904,用于获取训练数据;其中,训练数据包括多个样本对,其中,每个样本对包括样本文本对应的样本离散编码序列以及样本图像对应的样本离散编码序列,其中,样本文本与样本图像具有图文转换关系;
142.第二获取模块905,用于获取初始的生成模型;
143.第二处理模块906,用于将样本对输入初始的生成模型,得到样本文本对应的预测离散编码序列以及样本图像对应的预测离散编码序列;
144.训练模块907,用于根据样本文本对应的预测离散编码序列与对应样本图像对应
的样本离散编码序列之间的第一差异,以及样本图像对应的预测离散编码序列与对应样本文本对应的样本离散编码序列之间的第二差异,对初始的生成模型的模型参数进行调整,以得到经过训练的生成模型。
145.在示例性实施例中,生成模型的框架为参数共享的序列到序列seqtoseq框架。
146.需要说明的是,前述对于目标对象的生成方法的实施例的说明,也适用于本公开提供的目标对象的生成装置,此处不再赘述。
147.本公开实施例提供的目标对象的生成装置,首先对原始对象进行离散编码,以生成原始对象对应的第一离散编码序列,其中,原始对象的类型,为图像或文本中的一个或者图像和文本的组合,再将第一离散编码序列输入生成模型,以得到第二离散编码序列,进而根据第二离散编码序列,生成目标对象,其中,目标对象的类型为图像或文本中的一个,且原始对象的类型为图像或文本中的一个时,目标对象的类型为文本或图像中的另一个。由此,实现了利用同一生成模型,实现类型为图像的原始对象到类型为文本的目标对象的生成、类型为文本的原始对象到类型为图像的目标对象的生成以及类型为文本和图像的组合的原始对象到类型为图像或文本的目标对象的生成,扩大了生成模型的应用范围。
148.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
149.图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
150.如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(rom)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(ram)1003中的计算机程序,来执行各种适当的动作和处理。在ram 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、rom 1002以及ram 1003通过总线1004彼此相连。输入/输出(i/o)接口1005也连接至总线1004。
151.设备1000中的多个部件连接至i/o接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
152.计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如目标对象的生成方法。例如,在一些实施例中,目标对象的生成方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由rom 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到ram 1003并由计算单元1001执行时,可以执行上文描述
的目标对象的生成方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行目标对象的生成方法。
153.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
154.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
155.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
156.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
157.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、互联网和区块链网络。
158.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或
云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
159.本公开涉及计算机技术领域,特别涉及自然语言处理、深度学习等人工智能技术领域。
160.需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
161.根据本公开实施例的技术方案,首先对原始对象进行离散编码,以生成原始对象对应的第一离散编码序列,其中,原始对象的类型,为图像或文本中的一个或者图像和文本的组合,再将第一离散编码序列输入生成模型,以得到第二离散编码序列,进而根据第二离散编码序列,生成目标对象,其中,目标对象的类型为图像或文本中的一个,且原始对象的类型为图像或文本中的一个时,目标对象的类型为文本或图像中的另一个。由此,实现了利用同一生成模型,实现类型为图像的原始对象到类型为文本的目标对象的生成、类型为文本的原始对象到类型为图像的目标对象的生成以及类型为文本和图像的组合的原始对象到类型为图像或文本的目标对象的生成,扩大了生成模型的应用范围。。
162.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
163.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献