背景技术:
::2.随着aigc(ai-generatedcontent)的种人大火,与之相关的工反技术和产品也开始爆发式地出现,aigc也开始渗透到我们生活中的馈强方方面面。而其中最为重要的化学化文一项技术之一,文本生成图像技术也同样备受人们关注。习优像模型3.文本生成图像技术利用深度神经网络模型根据输入文本信息生成对应的本生图像,在生成结果上令人影响深刻。成图程然而,及系目前的统流生成模型通常会存在生成图像与输入文本不完全对齐的问题。技术实现要素:4.本发明要克服现有技术的种人生成图像和输入本文语义信息不一致的问题,提供了一种人工反馈强化学习优化文本生成图像模型的工反方法及系统。5.一种人工反馈强化学习优化文本生成图像模型的馈强方法,,化学化文包括以下步骤:6.步骤一:准备一个用于文本生成图片的习优像模型text2image初始模型和用于对文本图片对进行打分的reward初始模型;7.步骤二:用步骤一的生成模型生成文本对应的图像并进行人工标注,包括在线标注和离线标注两种方式;8.步骤三:基于步骤二得到的本生人工标注的文本-图像数据集,以reward初始模型为预训练模型训练一个能对文本图片匹配度打分的reward模型;9.步骤四:基于步骤三训练好的reward模型,并准备好训练用的输入文本数据集,采用人工反馈强化学习方法对text2image初始模型进行微调。10.优选地,所述步骤二中的离线人工标注的离线标注通过以下步骤实现:11.(2.1)根据用户历史输入,筛选并整理得到文本模版集,以及实体抽取得到实体集;12.(2.2)对模版集进行组合和实体替换,得到多样化的输入文本数据集;13.(2.3)将(2.2)得到的输入文本数据集批量输入文本生成图像模块,批量生成文本图像对;14.(2.4)人工对(2.3)生成的文本图像对进行标注;15.优选地,所述步骤二中的在线人工标注的在线标注通过以下步骤实现:16.(3.1)用户根据自身需求在文本生成图像模块输入对应文本;17.(3.2)生成与输入文本对应的图像,并由用户判断输入文本和输出图像是否一致;18.(3.3)记录用户对以上文本-图片对标注的操作;19.优选地,所述的人工标注的标准包括:20.对text2image模型生成的文本-图片对的标注采用三分类的方式进行标注,即图像与文本描述一致的标注为1,若不一致则为-1,对于难以分辨的图像文本数据对则标为0。在标注时对文本-图片对的标注判断依据包括对实体以及对实体的描述(描述包括颜色、数量和背景三个维度)。具体标准如下:21.(4.1)实体的标准需要生成图片中的实体符合现实逻辑,如果存在部分不合理的部分,但不影响正常辨别实体都可以标为1。若错误严重影响辨别或者不合逻辑,则标为-1。22.(4.2)三个对实体描述的标准,需要图片中实体和文本中的相应描述正确对应,即图像中实体的数量、颜色、背景需要和文本中的描述相符即标注为1,否则标为-1。23.(4.3)在实际标注过程中,由于标注人员的主观认定可能不一致,对标注结果不清晰的标为0,待后续标注人员二次确认。24.优选地,所述步骤三中的训练reward打分模型,包括:25.reward打分模型通常采用clip神经网络结构,由一个imageencoder和一个textencoder组成,imageencoder部分负责将图片向量化表示,textencoder负责将文本向量化表示。训练过程就是让两者输出的向量进行匹配,即最大化文本向量和图像向量的余弦相似度。采用的语料为步骤二中标注好的文本-图像对,令标注为1的为正样本,其余均为负样本,通常在用开源模型作为预训练模型进行微调,收敛得到最优参数。26.优选地,所述步骤四中的人工反馈强化学习微调文本生成图像模型,包括:27.采用强化学习方法微调text2image模型,需要定义强化学习的要素,把初始的text2image作为行为策略,步骤三中训练好的clip模型作为reward模型。首先,从提前准备的输入文本数据集中批量采样数据,输入text2image模型,生成对应的图像;然后将生成的图像和对应的输入文本一同输入到reward模型进行打分,得到对应的reward值;最后,将输入文本、对应生成的图像以及reward值一同输入到优化器中,对模型参数进行优化,根据强化学习算法的不同,优化器中的优化流程和优化函数也会与之有相应的变化,最终保留验证集平均reward值最高的模型参数。28.作为本发明的第二个方面,一种人工反馈强化学习优化文本生成图像模型的系统,包括:29.文本生成初始模型和打分初始模型生成模块,用于准备一个用于文本生成图片的text2image初始模型和用于对文本图片对进行打分的reward初始模型;30.图像人工标注模块,用文本生成初始模型和打分初始模型生成模块的生成模型生成文本对应的图像并进行人工标注,包括在线标注和离线标注两种方式;31.reward模型训练模块,基于图像人工标注模块得到的人工标注的文本-图像数据集,以reward初始模型为预训练模型训练一个能对文本图片匹配度打分的reward模型;32.ext2image初始模型微调模块,基于reward模型训练模块训练好的reward模型,并准备好训练用的输入文本数据集,采用人工反馈强化学习方法对text2image初始模型进行微调。33.本发明的系统主要分为三个模块,模块一为文本生成图像模块,其核心为text2image生成模型,负责根据用户输入文本生成对应的图像;模块二为数据标注模块,将生成的图像以及其对应的文本展示给标注人员,并记录标注的结果;模块三为模型训练模块,利用标注好的数据以及原始数据,采用强化学习方法对原text2image模型进行微调。本发明针对text2image模型在依据文本生成图像的过程中存在图文信息不一致的问题,通过人工对原模型生成的数据进行标注,再利用标注好的数据微调原模型,来纠正以上问题,使得模型的生成结果更符合语义信息。34.本发明的第三个方面,一种人工反馈强化学习优化文本生成图像模型的装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现本发明的人工反馈强化学习优化文本生成图像模型的方法。35.本发明的第四个方面,一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现本发明的人工反馈强化学习优化文本生成图像模型的方法。36.本发明涉及stablediffusion方法(包括u-net、transformer等基础神经网络结构),以及人工反馈强化学习方法。stablediffusion方法是目前最主流的用于文本生成图像的方法,是扩散模型的一种变体,由变分自编码器(vae),u-net和一个文本编码器组成。在前向扩散过程中,高斯噪声经过一个u-net网络迭代,往反方向去噪而获得潜在表征,vae解码器通过将表征转换回像素空间来生成输出图像。在去噪过程中,文本输入则经由文本编码器压缩后的文字向量,通过交叉注意力机制加入到u-net网络中。人工反馈强化学习是近期chatgpt出来后而变得大热的一项技术,该方法包含三个步骤:一是准备一个预训练初始模型,主要用于生成反馈数据和微调;二是准备一批用于标注的文本输入,生成对应图像,并对其进行人工标注;三是利用标注好的数据,采用强化学习的方法对原生成模型进行微调。本方法提供了一种人工反馈强化学习优化文本生成图像模型的方法及系统,可以有效提升模型的生成效果以及提高输入文本和输出图像的对齐能力。37.本发明通过从不同的简单文本输入生成的结果中收集人类反馈标注的数据,对原生成模型进行微调,可以有效提高输入文本和生成图像的对齐效果。38.本发明的优点是:提高了输入文本和生成图像的对齐效果。附图说明:39.图1为本发明的系统结构示意图。40.图2为本发明方法的流程图。41.图3为本发明reward模型训练示意图。42.图4为本发明强化学习示意图。43.图5为本发明生成模型和reward模型结构示意图。具体实施方式:44.为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图,对本发明作进一步详细说明。45.实施例146.本实施例提供应用本发明的一种人工反馈强化学习优化文本生成图像模型的方法的图像文本对齐方法。47.如图1所示,基于人工反馈强化学习优化的文本生成图像系统,包括:48.数据标注模块,主要作用是将生成的图像以及其对应的中文文本展示给标注人员,并记录标注的结果;49.模型训练模块,主要作用是利用标注好的数据以及原始数据,采用强化学习方法对原stablediffusion模型进行微调;50.文本生成图像模块,主要作用是负责根据用户输入生成对应的图像;51.参照图2所示,应用本发明的一种人工反馈强化学习优化文本生成图像模型的方法的文本图像对齐方法,包括如下几个步骤:52.步骤101、准备一个用于文本生成图片的text2image初始模型和用于对文本图片对进行打分的reward初始模型。53.要求text2image和reward初始模型具有较好的初始化参数,并具有一定的生成能力。本发明中所使用的初始模型均为huggingface上开源的模型,text2image初始模型采用stable-diffusion-v1-5或taiyi-stable-diffusion-1b-chinese-en-v0.1,reward初始模型采用clip-vit-large-patch14。另外,初始模型同样可以采用针对某一业务或任务已经训练好的模型。54.步骤102、用步骤101的生成模型生成文本对应的图像。55.对于离线生成,需要构建用于生成图像的输入文本语料,语料的构建采用以下步骤:56.(1)搜集用户常用语料或系统历史输入语料;57.(2)采用人工或数据挖掘算法,从语料中挖掘用户常用的输入模版形式;58.(3)采用命名实体识别的方式,从语料中挖掘常见输入实体以及对实体的描述;59.(4)利用挖掘出的输入模型和实体以及对实体的相关描述进行两个或多个的组合,来构建输入文本语料。60.在本发明中,离线构建的输入文本语料共1173个,包括17个实体,对实体描述的颜色9种,数量6种以及背景8个。将构建的语料批量输入到text2imgae生成模型,每条语料生成10张图像,最终构建文本图像对共11730对。61.另外,文本图像对也可以是用户在使用过程中在线生成,系统直接进行采集记录。62.步骤103、对步骤102中生成文本图像对进行标注。63.为了减少标注人员的主观判断差异,对标注标准做了进一步细化,具体如下:对实体数量的描述标准:对实体数量与文本中数量匹配的标注1,否则标注-1。有部分情况中出现实体数量不明确的,如果画面主体的实体数量正确也可以标注1,对于判断不清的标为0,待后续标注人员二次确认。64.按照上文的标注标准,由标注人员对11730个文本图像对进行标注。对于标注结果是1的文本图像对,由标注人员经过二次核对后,构建为正样本。对于标注结果是0的文本图像对,由标注人员按照上述标准经过分类后,标注为1的加入正样本,标注为-1的和标注人员标注为-1的文本图像对共同构建为负样本。65.步骤104、利用步骤103中标注好的数据训练reward模型。66.为了能够判断文本-图像的对齐效果,本发明通过标注好的文本-图像对来训练一个reward模型,模型的输入是文本和图像,输出为一个0到1的标量,表示文本和图像的对齐效果。reward模型采用了clip的模型结构和初始化参数,该模型全称为contrastivelanguage-imagepre-training,即一种基于对比文本-图像对的预训练方法或者模型。clip是一种基于对比学习的多模态模型,模型结构包含textencoder和imageencoder两个部分。其中textencoder用来提取文本的特征,可以采用nlp中常用的texttransformer模型;而imageencoder用来提取图像的特征,可以采用常用cnn模型或者visiontransformer。最后,clip模型会直接计算文本特征和图像特征的余弦相似性(cosinesimilarity)。67.训练reward模型的损失函数如下:[0068][0069]其中rφ(x,z)表示reward模型输出结果,x表示中文输入文本,z表示文本对应生成的图像,y∈{ 0,1}表示用户对文本图片对的标注结果,0表示差,1表示好。训练过程采用adam优化器,学习率为10e-6,batchsize为16,模型参数保留训练过程中验证集loss最小的结果。[0070]步骤105、基于步骤104中训练好的reward模型,采用人工反馈强化学习方法对text2image模型进行微调。[0071]人工反馈强化学习方法是由openai为了控制chatgpt生成方向,往更加符合人类要求的方向生成而提出的。利用监督训练人工标注数据得到的reward模型,采用强化学习中的ppo算法,对原文本图像对齐不好的text2image模型进行微调,得到符合人类要求的text2image模型。[0072]微调阶段会用到4个模型,包括actormodel,refmodel,rewardmodel和criticmodel,actormodel和refmodel均采用text2image模型的模型结构和初始化参数,rewardmodel和criticmodel采用reward模型的模型结构和初始化参数。训练过程中,对refmodel和rewardmodel的参数进行冻结。ppo强化训练的流程如图3所示,具体训练步骤如下:[0073](1)从输入文本数据集中批量采样x,分别输入到actormodel和refmodel,得到生成结果y1,y2;[0074](2)利用生成结果y1,y2的分布计算出kl散度dkl,来衡量来着模型输出的差异;[0075](3)将actormodel生成的图像以及输入文本输入到rewardmodel和criticmodel得到奖励值r(图像文本对齐程度)和状态价值v;[0076](4)利用{ x,y1,y2,dkl,r,v}对actormodel和criticmodel分别进行更新,更新公式如下:[0077][0078](5)直到验证集在actormodel上的平均reward值收敛,则停止训练。[0079]训练过程采用adam优化器,学习率为10e-6,batchsize为8,模型参数保留训练过程中验证集平均reward值最大的结果。[0080]步骤106.将训练好的text2image模型部署于文本生成图像模块,通过接收用户的输入文本,生成符合用户需求的图像。[0081]实施例2[0082]参照图1,本实施例涉及一种人工反馈强化学习优化文本生成图像模型的系统,用于实现实施例的方法,包括:[0083]文本生成初始模型和打分初始模型生成模块,用于准备一个用于文本生成图片的text2image初始模型和用于对文本图片对进行打分的reward初始模型;[0084]图像人工标注模块,用文本生成初始模型和打分初始模型生成模块的生成模型生成文本对应的图像并进行人工标注,包括在线标注和离线标注两种方式;[0085]reward模型训练模块,基于图像人工标注模块得到的人工标注的文本-图像数据集,以reward初始模型为预训练模型训练一个能对文本图片匹配度打分的reward模型;[0086]ext2image初始模型微调模块,基于reward模型训练模块训练好的reward模型,并准备好训练用的输入文本数据集,采用人工反馈强化学习方法对text2image初始模型进行微调。[0087]实施例3[0088]本实施例涉及一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现实施例1所述的人工反馈强化学习优化文本生成图像模型的方法。[0089]实施例4[0090]本实施例涉及一种人工反馈强化学习优化文本生成图像模型的装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现实施例1所述的人工反馈强化学习优化文本生成图像模型的方法。[0091]在硬件层面,该装置包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述实施例1所述的方法。当然,除了软件实现方式之外,本发明并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。[0092]对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(programmablelogicdevice,pld)(例如现场可编程门阵列(fieldprogrammablegatearray,fpga))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片pld上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logiccompiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(hardwaredescriptionlanguage,hdl),而hdl也并非仅有一种,而是有许多种,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)与verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。[0093]控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。[0094]上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。[0095]为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。[0096]本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0097]本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0098]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0099]这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0100]在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。[0101]内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。[0102]计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。[0103]还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。[0104]本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。[0105]本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。[0106]本发明中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。[0107]以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。当前第1页12当前第1页12