一种基于远程相关注意力生成对抗网络的文本生成图像方法与流程

    专利2022-07-08  114


    技术领域:

    本发明涉及文字处理技术领域,尤其涉及一种基于远程相关注意力生成对抗网络的文本生成图像方法。



    背景技术:

    3、根据文字描述生成一张与其语义对应并符合现实情况的图片涉及多个方面的问题,首先需要根据自然语言处理方面的知识来处理文字描述,接下来在生成对应图片时又需要使用计算机视觉的有关技术。目前现存的技术方法大多都是分为两个部分来实现文字生成图片的效果:

    1.文字编码,文字编码部分分别利用两个神经网络来处理文字与图片,通过网络不断学习将其映射至同一个向量空间。比如在attngan网络中,使用了一个图片处理中常用的cnn卷积神经网络网络获取图片特征,一个自然语言处理中常用的lstm长短记忆网络来处理文字信息,接着通过优化指定的损失函数来提高两者之间的相似度,使得文字所表达的语义能与生成的图片的信息更加统一。

    2.生成图片,通过步骤一将文字信息进行编码后,用向量的模式表示文字信息,作为gan对抗生成网络的输入,网络的输出为对应的图片。经过不断的迭代训练,不断优化网络参数,最终得到一个根据输入的语义信息生成对应图片的图片生成模型。

    虽然训练的模型可以生成文字对应的图片,但想的文本到图像算法通常需要同时满足三个关键要求(真实性,多样性和语义一致性)。在许多图像生成工作中已经讨论了如何前两个要求。但是,第三个要求更具挑战性,因为它要求模型具有从文字特征到视觉实体的跨模态翻译能力。attngan可以生成字面上可理解的图像。它通过注意重要单词来合成图像的细粒度细节,然后通过多层卷积网络对细节进行细化和扩展。尽管,attngan中堆叠卷积层会产生较大的接收范围,并将文本修饰的细节扩展到较大的区域,但是很难有效地在图像中建立长期依赖关系。这种远距离的关系在视觉上至关重要。因为人可以在潜意识中识别许多事物,例如物体是否对称。

    具体的,文本到图像生成(基于给定的描述性句子生成图像)是一项艰巨的任务。它不仅需要视觉质量,还需要生成图像的语义一致性。先前的作品显示了在生成高质量和语义一致性图像方面的显着进步,这归因于基于注意力的generativeadversarialnetworks。但是,他们使用的关注层主要集中在完善像素级特征上,而忽略了特征图中远程依赖的强大作用。

    总的来说,现有的文本生成图像方法都存在一定程度的局限性,难以推广运用。

    名词解释:

    fca向量:通过条件增强方法后生成的向量。

    null:空值。

    lrdattn:远程相关注意力生成对抗网络。

    damsm:深层注意多模态相似模型(deepattentionalmultimodalsimilaritymodel)。

    生成对抗网络(英语:generativeadversarialnetwork,简称gan):是非监督式学习的一种方法,通过让两个神经网络相互博弈的方式进行学习。该方法于2014年提出。生成对抗网络由一个生成网络与一个判别网络组成。生成网络从潜在空间(latentspace)中随机取样作为输入,其输出结果需要尽量模仿训练集中的真实样本。判别网络的输入则为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来。而生成网络则要尽可能地欺骗判别网络。两个网络相互对抗、不断调整参数,最终目的是使判别网络无法判断生成网络的输出结果是否真实。



    技术实现要素:

    本发明的目的在于提供一种基于远程相关注意力生成对抗网络的文本生成图像方法,本发明使用远程依赖注意生成的可逆对抗网络(lrdagan)。将远程依赖学习纳入了生成过程,更具体地说,将生成器的特征图解析为几个部分,并使用词级特征增强这些部分的语义一致性且进一步改善了以往广泛使用的方法,以便更好地指导图片生成,使得本发明不仅可以生成高质量图像,而且还可以生成更好的语义一致性图像。

    为解决上述问题,本发明的技术方案是:

    一种基于远程相关注意力生成对抗网络的文本生成图像方法,包括如下步骤:

    步骤一:得到包含若干图像和与图像对应的视觉描述语句的数据集,数据集包括训练集和测试集;图像形成图像数据,与图像对应的视觉描述语句形成文本数据;

    步骤二:对训练集中的数据进行归一化预处理;

    步骤三:对训练集中的文本进行编码,即利用编码器提取出单词,进行单词级别的编码和句子级别的编码;

    步骤四:对训练集中的图像编码,即使用图像编码器提取出图像信息进行编码;

    步骤五:对句子编码后的结果进行ca操作,得到fca向量;

    步骤六、将fca向量与噪声进行拼接操作,随后与单词编码、句子编码一起输入到图像生成器中;

    步骤七:图像生成器生成图片并输出结果;

    步骤八:将生成的图片和编码的句子、fca向量输入到判别器中;

    步骤九:计算损失函数;

    步骤十:迭代训练,优化图像生成器的损失函数;

    步骤十一:得到优化后的模型;

    步骤十二:将测试集中的文字经过步骤二、步骤三和步骤五操作后,将fca向量与噪声进行拼接操作,随后与单词编码、句子编码一起输入到优化后的模型中生成图像,并与测试集中的图像进行对比,得到优化后的模型生成图像的评估结果;步骤十三:将待测试的文字经过步骤二、步骤三和步骤五操作后,将fca向量与噪声进行拼接操作,随后与单词编码、句子编码一起输入到优化后的模型中生成图像。

    进一步的改进,所述训练集包括cub数据集和coco数据集;cub数据集包含11788个鸟类图像,属于200个类别,每个图像有10个视觉描述语句;coco数据集80k的训练图像和40k的测试图像,每个图像都有5个视觉描述语句。

    进一步的改进,所述进行归一化预处理步骤如下:

    构建词典,并在词典中添加null;

    构建文本向量,采用长度为18的一维向量,单词数不足18的句子在句末补充null,单词数大于18的句子随机抽取句子中18个单词,然后将每个单词映射至句子在词典中的下标;

    预处理图片,采用随机翻转、裁剪的数据增强方式,然后通过缩放分别得到分辨率为64x64、128x128和256x256的图片。

    进一步的改进,所述步骤三包括如下步骤:对训练集中的文本进行编码,即利用编码器将输入文本编码为句子特征s和单词特征t。

    进一步的改进,所述步骤七中,图像生成器生成图片包含两个阶段,初始图像生成阶段和图像细粒化阶段,

    在初始图像生成阶段,利用深度卷积网络生成初始图像x0,即x0,r0=g0(z,s),其中r0代表中间特征图,z是随机噪声矢量;s表示句子,g0表示生成器网络;

    在图像细粒化阶段,重复两次初始图像生成阶段的步骤并每次生成一个图像,即xk,rk=gk(rk1,t);其中xk表示第k次生成的图像,rk1表示第k层中间特征图,gk()表示第k层生成器,t表示注意力信息;通过lrdattn和一个注意层将单词特征添加到图像生成器中,通过单词级别的细节改进特征图,然后深层卷积网络扩展图像细节,增加特征图的大小并生成最终图像。

    进一步的改进,所述步骤九中,生成器的对抗损失定义为:

    其中,du表示无条件鉴别器,使生成的图像更逼真;dc表示有条件鉴别器,将生成的图像与其描述s保持一致;damsmi表示改进后attngan的damsm;

    表示总的损失函数,表示生成器的损失函数,表示第i个生成器的损失函数,gi表示第i个生成器,λ表示自定参数,表示damsm层的损失函数;表示公式满足的条件,表示的交叉熵,表示图像,()表示无条件鉴别器,()表示条件鉴别器;

    因此,在第i个生成阶段中对应的鉴别器di的对抗损失定义为:

    其中,表示鉴别器的损失函数,表示,xi的交叉熵,xi表示第i个生成阶段的真相图像;表示与图像无关或不一致的句子,无关联对(xi,s)涉及惩罚文本和图像之间的不一致。

    进一步的改进,所述步骤十中,迭代训练,优化图像生成器的损失函数的训练过程如下:

    7.1)预处理文本数据:将文本数据放入文本编码器中进行编码;

    7.2)预处理图像数据:将图像数据放入至图像编码器,然后将图像编码器的输出进行重采样;

    将句子编码、单词编码以及随机噪声、一起输入到图片生成器中,分别得到64x64、128x128和256x256的不同分辨率的图片;

    7.3)将生成器生成的图片、以及对应的图片分布作为一组对应数据输入到判别器中,真实图片、真实图片对应的分布作为一组对应数据输入判别器,然后计算判别器的损失,并反向传播更新参数;

    7.4)保持判别器的参数不变,计算图像编码器的损失,并反向传播更新参数;

    7.4)保持判别器与图像编码器的参数不变,计算生成器的损失,并反向传播更新参数;

    选取一组更新的数据,重复步骤7.1)至不受7.4),直至优化图像生成器的损失函数模型收敛为止。

    附图说明

    图1为将本发明的性能与其他文本到图像生成作品的比较图。

    具体实施方式:

    为使本发明的上述目的、特征和优点能够更加明显易懂,下面将对本发明实施例中的技术方案进行清楚、完整地描述。本发明的具体实施过程如下:

    步骤一:划分数据集,分为训练集和测试集。遵循先前的文本到图像方法,我们的方法在caltech-ucsdbirds200数据集(cub)和microsoftcommonobjects(coco)。cub数据集包含11788个鸟类图像,属于200个类别,每个图像有10个视觉描述语句。对于文本到图像的合成,coco数据集更具多样性和挑战性,并且具有80k的训练图像和40k的测试图像。每个图像都有5个视觉描述语句。

    步骤二:数据预处理。预处理步骤依次为:构建词典,并在词典中添加null;构建文本向量,采用长度为18的一维向量,单词数不足18的句子在句末补充null,单词数大于18的句子对其随机抽取18个单词,然后将每个单词映射至其在词典中的下标;预处理图片,采用随机翻转、裁剪等数据增强方式,然后通过缩放得到分辨率为64x64、128x128、256x256的图片。

    步骤三:对训练集中的文本进行编码,即利用编码器将输入文本编码为句子特征s和某些单词特征t。

    步骤四:对训练集中的图像编码,即使用图像编码器提取出图像信息进行编码。

    步骤五:对句子编码后的结果进行ca操作,得到fca向量;

    步骤六、将fca向量与噪声进行拼接操作,随后与单词编码、句子编码一起输入到图像生成器中。

    步骤七:图像生成器生成图片并输出结果。

    图片生成包含两个阶段,初始图像生成阶段和图像细化阶段。在初始图像生成阶段,利用深度卷积网络生成初始图像x0,即x0,r0=g0(z,s),其中r0代表中间特征图,z是随机噪声矢量。在图像细粒化阶段,重复两次上述过程并每次生成一个图像,即xk,rk=gk(rk1,t)。在此阶段,通过我们的lrdattn和一个注意层将单词特征添加到图像生成器中,以便通过单词级别的细节改进特征图。之后,深层卷积网络扩展了图像细节,增加了特征图的大小并生成了最终图像。步骤八:将生成的图片和编码的句子、fca向量以及编码的输入判别器中。步骤九:计算损失函数。

    生成器的对抗损失定义为:

    其中,du表示无条件鉴别器,使生成的图像更逼真;dc表示有条件鉴别器,将生成的图像与其描述s保持一致。damsm损失是一种文本图像匹配功能,许多文本到图像生成工作都使用该模块。为了弥补以前damsm损失的缺陷,我们将真实图像整合到其中。这意味着,当损失函数计算生成的图像与候选文本匹配的后验概率时,它还必须计算与该字幕无关的真实图像。该过程既不将任何参数赋予模型,也不增加太多计算,但是显着提高了所生成图像的真实性和语义一致性。

    式1和式2使得本发明与以往的attention模块不同,在我们的lrdattn中,我们假设特征图中的每个点至少由一个语义实体确定,并且我们可以使用n个语义实体来重建任何图像。首先,我们预先定义n个初始语义实体,并采用内积来计算给定特征图中每个点与语义实体之间的关系。具体而言,采用具有n个内核的1×1卷积作为n个语义实体。这样,可以在训练期间通过反向传播逐步学习所有语义实体,并且可以通过不同的语义实体激活特征图中的不同种类的特征。然后,我们将特征图按每个点对不同语义实体的响应进行软划分。此过程有助于我们在特征图中的远处部分之间建立长期依赖关系。

    在细化图像部分,注意力层用于将语义向量与词级特征相关联,这与传统注意力模型相同。不同之处在于,输入特征图x由语义向量b代替。在注意力层之后,我们可以获取b^,即基于语义向量的词上下文向量。我们根据特征图中每个点属于每个语义布局的概率,将这些与文本相关的特征合并到词上下文矩阵中。然后,自适应门控机制用于将词上下文矩阵x^动态合并到生成器中。尽管传统上讲和我们的lrdattn都可以获取与文本相关的特征图,但是这两个特征图专注于不同的信息。我们的方法着重于特征图的远程关系,并基于子区域语义向量计算精化向量,而传统的注意力方法则优先考虑像素级的精化。因此,我们的lrdattn在训练阶段可以帮助生成器提高远程依赖学习的能力。

    因此,在第i个生成阶段中对应的鉴别器di的对抗损失被定义为:

    其中,xi表示第i个生成阶段的地面真相图像。无关联对(xi,s)涉及惩罚文本和图像之间的不一致。

    步骤十:迭代训练,优化损失函数。

    具体的训练过程如下:

    预处理文本数据,放入文本编码器中进行编码;

    预处理图像数据,放入至图像编码器,然后将图像编码器的输出作类似ca(条件增强)操作中进行重采样;

    将句子编码、单词编码以及随机噪声、一起输入到图片生成器中,分别得到64x64、128x128和256x256的不同分辨率的图片;分别将生成器生成的图片、以及对应的图片分布作为一组对应输入到判别器中,真实图片、真实图片对应的分布作为一组对应输入判别器,然后计算判别器的损失,并反向传播更新参数;

    保持判别器的参数不变,计算图像编码器的损失,并反向传播更新参数;

    保持判别器与图像编码器的参数不变,计算生成器的损失,并反向传播更新参数;

    选取一组新的数据,重复以上步骤,直至模型收敛为止。

    步骤十一:多次迭代计算后,得到优化好的模型;

    步骤十二:将测试集中的文字经过同样的文本特征提取工作,输入到训练好模型得到测试集的生成结果。

    步骤十三:得到实验结果及评估结果。

    我们采用两种广泛使用的指标进行定量评估:inceptionscore(is)和r-precision(r-p)。is用于通过考虑事实性和多样性来评估生成图像的质量。较高的is意味着该模型可以合成具有高真实性和高多样性的图像。r精度用于评估字幕和生成的图像之间的语义一致性。它是通过检索给定候选图像的一组字幕来计算的。每个查询图像的检索字幕由两部分组成:1个匹配字幕和99个随机选择的不匹配字幕。较高的r精度意味着该模型可以以较高的语义一致性来合成图像。为了计算is和r精度,每个模型都从随机选择的文本描述中生成30,000张图像。

    具体如图1所示所示,我们将lrdagan的性能与其他文本到图像生成作品进行了比较。lrdagan在两个数据集上都达到了最高的r-p,这表明我们生成的图像具有最高的语义一致性。对于is,我们的模型在两个数据集上均达到第二高的性能,低于cub数据集上的rifegan和coco数据集上的cpgan。rifegan之所以比我们更好的原因是,它建立了文字匹配模型以利用cub数据集的文本丰富性。结果,当它根据候选句子生成图像时,实际上使用的字幕不止一个。但是,当数据集没有这么丰富的文本资源时,它可能无法很好地工作。cpgan在coco数据集上实现了惊人的is,但是cpgan的缺点很明显。具体而言,它涉及训练过程中的物体检测模型,以帮助对文本进行编码并将目标生成的图像与其他图像区分开。这对设备的需求很严格,并且图像生成器的性能高度依赖于预训练目标检测网络。此外,cpgan的批次大小为72,远大于我们模型的批次大小,这已证明它可以显着提高is。与以前的方法相比,lrdagan从字面上改善了基本注意力驱动的gan在文本到图像生成方面的性能。

    上述实施例仅仅是本发明的一个具体实施方式,并不作为本发明的限定,任何对其进行的简单改进和替换均在本发明的保护范围内。


    技术特征:

    1.一种基于远程相关注意力生成对抗网络的文本生成图像方法,其特征在于,包括如下步骤:

    步骤一:得到包含若干图像和与图像对应的视觉描述语句的数据集,数据集包括训练集和测试集;图像形成图像数据,与图像对应的视觉描述语句形成文本数据;

    步骤二:对训练集中的数据进行归一化预处理;

    步骤三:对训练集中的文本进行编码,即利用编码器提取出单词,进行单词级别的编码和句子级别的编码;

    步骤四:对训练集中的图像编码,即使用图像编码器提取出图像信息进行编码;

    步骤五:对句子编码后的结果进行ca操作,得到fca向量;

    步骤六、将fca向量与噪声进行拼接操作,随后与单词编码、句子编码一起输入到图像生成器中;

    步骤七:图像生成器生成图片并输出结果;

    步骤八:将生成的图片和编码的句子、fca向量输入到判别器中;

    步骤九:计算损失函数;

    步骤十:迭代训练,优化图像生成器的损失函数;

    步骤十一:得到优化后的模型;

    步骤十二:将测试集中的文字经过步骤二、步骤三和步骤五操作后,将fca向量与噪声进行拼接操作,随后与单词编码、句子编码一起输入到优化后的模型中生成图像,并与测试集中的图像进行对比,得到优化后的模型生成图像的评估结果;

    步骤十三:将待测试的文字经过步骤二、步骤三和步骤五操作后,将fca向量与噪声进行拼接操作,随后与单词编码、句子编码一起输入到优化后的模型中生成图像。

    2.如权利要求1所述的基于远程相关注意力生成对抗网络的文本生成图像方法,其特征在于,所述训练集包括cub数据集和coco数据集;cub数据集包含11788个鸟类图像,属于200个类别,每个图像有10个视觉描述语句;coco数据集80k的训练图像和40k的测试图像,每个图像都有5个视觉描述语句。

    3.如权利要求1所述的基于远程相关注意力生成对抗网络的文本生成图像方法,其特征在于,所述进行归一化预处理步骤如下:

    构建词典,并在词典中添加null;

    构建文本向量,采用长度为18的一维向量,单词数不足18的句子在句末补充null,单词数大于18的句子随机抽取句子中18个单词,然后将每个单词映射至句子在词典中的下标;

    预处理图片,采用随机翻转、裁剪的数据增强方式,然后通过缩放分别得到分辨率为64x64、128x128和256x256的图片。

    4.如权利要求1所述的基于远程相关注意力生成对抗网络的文本生成图像方法,其特征在于,所述步骤三包括如下步骤:对训练集中的文本进行编码,即利用编码器将输入文本编码为句子特征s和单词特征t。

    5.如权利要求1所述的基于远程相关注意力生成对抗网络的文本生成图像方法的制作方法,其特征在于,所述步骤七中,图像生成器生成图片包含两个阶段,初始图像生成阶段和图像细粒化阶段,

    在初始图像生成阶段,利用深度卷积网络生成初始图像x0,即x0,r0=g0(z,s),其中r0代表中间特征图,z是随机噪声矢量;s表示句子,g0表示生成器网络;

    在图像细粒化阶段,重复两次初始图像生成阶段的步骤并每次生成一个图像,即xk,rk=gk(rk1,t);其中xk表示第k次生成的图像,rk1表示第k层中间特征图,gk()表示第k层生成器,t表示注意力信息;通过lrdattn和一个注意层将单词特征添加到图像生成器中,通过单词级别的细节改进特征图,然后深层卷积网络扩展图像细节,增加特征图的大小并生成最终图像。

    6.如权利要求1所述的基于远程相关注意力生成对抗网络的文本生成图像方法的制作方法,其特征在于,所述步骤九中,生成器的对抗损失定义为:

    其中,du表示无条件鉴别器,使生成的图像更逼真;dc表示有条件鉴别器,将生成的图像与其描述s保持一致;

    表示总的损失函数,表示生成器的损失函数,表示第i个生成器的损失函数,gi表示第i个生成器,λ表示自定参数,表示damsm层的损失函数;表示公式满足的条件,表示的交叉熵,表示图像,表示无条件鉴别器,表示条件鉴别器;

    因此,在第i个生成阶段中对应的鉴别器di的对抗损失定义为:

    其中,表示鉴别器的损失函数,表示,xi的交叉熵,xi表示第i个生成阶段的真相图像;表示与图像无关或不一致的句子,无关联对涉及惩罚文本和图像之间的不一致。

    7.如权利要求6所述的基于远程相关注意力生成对抗网络的文本生成图像方法的制作方法,其特征在于,所述步骤十中,迭代训练,优化图像生成器的损失函数的训练过程如下:

    7.1)预处理文本数据:将文本数据放入文本编码器中进行编码;

    7.2)预处理图像数据:将图像数据放入至图像编码器,然后将图像编码器的输出进行重采样;

    将句子编码、单词编码以及随机噪声、一起输入到图片生成器中,分别得到64x64、128x128和256x256的不同分辨率的图片;

    7.3)将生成器生成的图片、以及对应的图片分布作为一组对应数据输入到判别器中,真实图片、真实图片对应的分布作为一组对应数据输入判别器,然后计算判别器的损失,并反向传播更新参数;

    7.4)保持判别器的参数不变,计算图像编码器的损失,并反向传播更新参数;

    7.4)保持判别器与图像编码器的参数不变,计算生成器的损失,并反向传播更新参数;

    选取一组更新的数据,重复步骤7.1)至不受7.4),直至优化图像生成器的损失函数模型收敛为止。

    技术总结
    本发明公开了一种基于远程相关注意力生成对抗网络的文本生成图像方法,本发明使用远程依赖注意生成的可逆对抗网络(LRDAGAN)。将远程依赖学习纳入了生成过程,更具体地说,将生成器的特征图解析为几个部分,并使用词级特征增强这些部分的语义一致性且进一步改善了以往广泛使用的方法,以便更好地指导图片生成,使得本发明不仅可以生成高质量图像,而且还可以生成更好的语义一致性图像。

    技术研发人员:全哲;陈杨阳;王梓旭
    受保护的技术使用者:湖南大学
    技术研发日:2020.11.04
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-16083.html

    最新回复(0)