一种AI智能文本生成图像的方法与流程

文档序号:33639379发布日期:2023-03-29 01:37阅读:123来源:国知局
一种AI智能文本生成图像的方法与流程
一种ai智能文本生成图像的方法
技术领域
1.本发明涉及图像生成技术领域,具体涉及一种ai智能文本生成图像的方法。


背景技术:

2.从自然语言文本描述生成照片级逼真的图像是一个重要的问题,并具有广泛的应用,例如照片编辑,计算机辅助设计等。有很多方法可以跨图像模态与文本模态学习生成模型。其中一个研究方向是学习以图像为条件的文本生成模型,称为“图像字幕生成”。该类模型目前较为主流的处理流程是,首先抽取图像特征并使用编码器进行编码,之后利用解码器生成非结构化文本。最近,生成对抗网络(generat iveadversar ia l network,简称gan)在生成真实图像方面取得了较好的效果。其变体cond it iona l-gan(简称cgan)能够根据给定的文本描述作为条件,生成与文本含义相关的图像。然而由于gan本身训练的不稳定性,从文本描述生成高维逼真图像仍是非常困难的,简单的增加上采样层只会导致训练的不稳定以及生成无意义的图像
3.经检索,申请号:202010104619.2,公开了一种基于文本生成图像的方法,包括如下步骤:准备生成器模型和判识器模型的训练数据集;训练生成器模型和判识器模型,并计算生成器模型和判识器模型的损失函数;将生成的图像输入到卷积神经网络cnn中,获得整张图像与其匹配的文本描述的损失函数;将整个训练网络不断迭代n次,直到生成器模型的损失函数和和判识器模型的损失函数达到平衡状态。本发明所公开的方法适用于对象之间关联性比较强的复杂文本,可以提高生成图像的分辨率,图像精度高,可以拿来直接使用;
4.针对上述中的相关技术,发明人认为存在以下缺陷:上述申请案中文本生成图像的方法无法生成丰富多样的图,且图像生成速度较慢。
5.因此对于现有智能文本生成图像方法的改进,设计一种新型ai智能文本生成图像的方法以改变上述技术缺陷,提高整体智能文本生成图像方法的实用性。


技术实现要素:

6.本发明的目的在于提供一种ai智能文本生成图像的方法,以解决上述背景技术中提出的问题。
7.为实现上述目的,本发明提供如下技术方案:
8.一种ai智能文本生成图像的方法,包括以下步骤:
9.s1、建立模型,预备一个encoder、一个decoder和一个离散码本;
10.s2、对于每一个样本x,先得到e,通过encoder将图像编码到隐变量空间z,即ze(x)=z,encoder得到z;
11.s3、根据离散码本进行替换,利用重建误差相对于的梯度来作为encoder的输出的梯度,找到z
i,j
对应的码字ek,并一一替换,用得到的e代替z,即:
12.13.s4、计算encoder的输出和对应的量化得到的embedd i ng向量的误差,然后输入到decoder中,进行图像重建;
14.s5、让pi xe l cnn去学习预测e,通过pi xe l cnn在高斯空间中采样一个离散编码样本,影响decoder部分的输出,提高中间表征的稳定性和多样化,用pi xe l cnn自回归编码得到一个e,然后然后输入到decoder中,得到生成的图像。
15.作为本发明优选的方案,所述s1中,离散码本中码字的数量是预设的超参数。
16.作为本发明优选的方案,所述s1中,模型的损失函数由三项构成:作为本发明优选的方案,所述s1中,模型的损失函数由三项构成:
17.作为本发明优选的方案,所述s1中,模型还包括:后验分布(poster i or),先验分布(pr ior),以及似然(l i ke l i hood),其中后验分布用encoder网络来学习,似然用decoder网络来学习,而先验分布采用参数固定的标准正态分布。
18.作为本发明优选的方案,所述s2中,其中x代表图像样本,z代表x编码到z空间的向量。
19.作为本发明优选的方案,所述s4中,decoder的输入是zq(x),利用重建误差相对于的梯度来作为encoder的输出的梯度,计算encoder的输出和对应的量化得到的embedd i ng向量ek的l2误差:
[0020][0021]
作为本发明优选的方案,所述s5中,p i xe l cnn是一个自回归编码器,模型使用已知的x1...x
i-1
去预测xi,如此循环调用,直到得到最终的x。
[0022]
作为本发明优选的方案,所述s5中,p i xe l cnn包括两种结构:一种是vert i ca l stack,它只能看到小于当前点所在行数的所有点,另一种是hor i zonta l stack,它只能看到等于当前点所在行并且列数小于当前点的所有点。
[0023]
与现有技术相比,本发明的有益效果是:
[0024]
本发明通过建立模型、重建损失、更新码本,让encoder的输出更接近码本,利用重建误差相对于的梯度来作为encoder的输出的梯度,计算encoder的输出和对应的量化得到的embedd i ng向量的误差,通过将练好的vq-vae模型对训练图像推理,得到每张图像对应的离散编码,然后用一个p i xe l cnn来对离散编码进行建模,最后的预测层采用基于softmax的多分类,类别数为embedd i ng空间的大小k,用训练好的pi xe l cnn模型来采样一个离散编码样本,影响decoder部分的输出,提高中间表征足够稳定和多样化,然后送入vq-vae的encoder中,从而快速生成丰富多样的图。
附图说明
[0025]
图1为本发明流程图;
[0026]
图2为本发明pi xe l cn的基本结构示意图;
[0027]
图3为本发明pi xe l cn原理结构示意图。
具体实施方式
[0028]
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029]
为了便于理解本发明,下面将参照相关对本发明进行更全面的描述,给出了本发明的若干实施例,但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例,相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
[0030]
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件,当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件,本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
[0031]
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同,本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明,本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0032]
实施例,
[0033]
请参阅图1-图3,本发明提供一种技术方案:
[0034]
一种ai智能文本生成图像的方法,包括以下步骤:
[0035]
步骤一、建立模型,预备一个encoder、一个decoder和一个离散码本;
[0036]
步骤二、对于每一个样本x,先得到e,通过encoder将图像编码到隐变量空间z,即ze(x)=z,encoder得到z;
[0037]
步骤三、根据离散码本进行替换,利用重建误差相对于的梯度来作为encoder的输出的梯度,找到z
i,j
对应的码字ek,并一一替换,用得到的e代替z,即:
[0038]
步骤四、计算encoder的输出和对应的量化得到的embedd i ng向量的误差,然后输入到decoder中,进行图像重建;
[0039]
步骤五、让pi xe l cnn去学习预测e,通过p i xe l cnn在高斯空间中采样一个离散编码样本,影响decoder部分的输出,提高中间表征的稳定性和多样化,用p i xe l cnn自回归编码得到一个e,然后然后输入到decoder中,得到生成的图像。
[0040]
本实施例,步骤一中,离散码本中码字的数量是预设的超参数,模型还包括:后验分布(poster i or),先验分布(pr i or),以及似然(l i ke l i hood)。其中,后验分布用encoder网络来学习,似然用decoder网络来学习,而先验分布采用参数固定的标准正态分布,在学习过程中,后验分布往往假定是一个对角方差的多元正态分布,而隐变量z是一个连续的随机变量。
[0041]
其中,模型的损失函数由三项构成:
[0042][0043]
其中第一项为重建损失,重建图像和原图的mse损失;第二项为码本损失,用于更新码本;第三项为encoder输出损失,目的是让encoder的输出更接近码本,β是经验超参数,
其中的sg是指stop-grad i ent,就是切断传向其的梯度。
[0044]
本实施例,步骤二和步骤三中,其中x代表图像样本,z代表x编码到z空间的向量。
[0045]
本实施例,步骤四中,decoder的输入是zq(x),利用重建误差相对于的梯度来作为encoder的输出的梯度,计算encoder的输出和对应的量化得到的embedd i ng向量ek的l2误差:
[0046][0047]
上述sg指的是stop grad i ent操作,这意味着这个l2损失只会更新embedd i ng空间,而不会传导到encoder;
[0048]
因此,采用另外一种方式:指数移动平均(exponent i a l mov i ng averages,ema)来更新embedd i ng空间,假定为一系列和embedd i ng向量对应的encoder的输出,此时l2损失为:
[0049][0050]
此时embedd i ng向量的最优值有解析解,即对所有的元素求平均值:
[0051]
然而,训练过程中无法直接这样更新,因为训练是基于mi n i-batch的,并不是训练数据的全部,而通过采用ema来更新embedd i ng:
[0052][0053]
共需要维护两套ema参数,一是每个embedd i ng向量的对应的元素数量,二是的求和值;每次forward时,根据当前mi n i-batch得到,然后执行ema,而用除以即可得到当前的embedd i ng向量,而采用ema这种更新方式往往比直接采用l2损失收敛速度更快;
[0054]
此外,通过增加一个训练l oss:commi tment l oss,使得约束encoder的输出和embedd i ng空间保持一致,以避免encoder的输出变动较大(从一个embedd i ng向量转向另外一个);
[0055]
通过直接计算encoder的输出ze(a)和对应的量化得到的embedd i ng向量ek的l2误差:
[0056][0057]
sg是作用在embedd i ng向量上,这意味着这个约束只会影响encoder;
[0058]
综上,共包含三个部分的训练l oss:reconstruct i on l oss、vq l oss和commitment l oss;
[0059][0060]
其中,sg为梯度暂停操作,也就是sg所处的模块不会进行梯度更新,而
reconstruct ion l oss作用在encoder和decoder上,vq l oss用来更新embedd i ng空间(也可用ema方式),而commitment l oss用来约束encoder,这里的β为权重系数;
[0061]
此外,损失函数的第一项主要是针对编码器和解码器,在这个过程中,由于中间codebook查询操作是离散的,因此,这里直接将的梯度复制给,从而形成梯度反向传播。第二项被称为vq l oss,其目的是训练codebook模块e,由于e这里是固定的,因此会迫使codebook模块e朝β靠近。第三项被称为commitment l oss,这里只有e的梯度在变化,其目的是反过来让β去靠近codebook模块e,从而使得encoder模块的输出能够更加稳定;
[0062]
一张图像会采用n个离散隐变量,与encoder得到的特征图大小有关,对于imagenet数据集,采用30x30大小的中间特征图,所以;对于ci far10数据集,采用6x6大小的中间特征图,所以n=6x6。对于一张图像,vq l oss和commitment l oss取n个离散编码的l oss平均值,通过vq-vae对图像进行压缩,即将一张图像压缩成n个离散编码;
[0063]
本实施例,步骤五中,s5中,pixe l cnn是一个自回归编码器,模型使用已知的x1...x
i-1
去预测xi,如此循环调用,直到得到最终的x,其中,n*n、1*n、1*1指的是卷积核大小;(详见附图2)
[0064]
pixe l cnn包括两种结构:一种是vert ica l stack,它只能看到小于当前点所在行数的所有点,另一种是hor i zonta l stack,它只能看到等于当前点所在行并且列数小于当前点的所有点;(详见附图3)
[0065]
其中,通过将练好的vq-vae模型对训练图像推理,得到每张图像对应的离散编码,然后用一个pixe l cnn来对离散编码进行建模,最后的预测层采用基于softmax的多分类,类别数为embedd i ng空间的大小k,用训练好的pixe l cnn模型来采样一个离散编码样本,然后送入vq-vae的encoder中,从而得到生成的图像。
[0066]
本发明工作流程:当使用者需要进行ai智能文本生成图像操作时,首先,建立模型,预备一个encoder、一个decoder和一个离散码本;然后,对于每一个样本x,先得到e,通过encoder将图像编码到隐变量空间z,即ze(x)=z,encoder得到z;其中,根据离散码本进行替换,利用重建误差相对于的梯度来作为encoder的输出的梯度,找到z
i,j
对应的码字ek,并一一替换,用得到的e代替z,即:再计算encoder的输出和对应的量化得到的embedd i ng向量的误差,然后输入到decoder中,进行图像重建;最后,让p i xe l cnn去学习预测e,通过p i xe l cnn在高斯空间中采样一个离散编码样本,影响decoder部分的输出,提高中间表征的稳定性和多样化,用p i xe l cnn自回归编码得到一个e,然后然后输入到decoder中,快速生成丰富多样的图;整个操作流程简单便捷,与现有的智能文本生成图像方法相比较,本发明通过设计提高了现有智能文本生成图像方法的实用性。
[0067]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1