CN116935169B - 文生图模型训练方法以及文生图方法 - Google Patents
文生图模型训练方法以及文生图方法 Download PDFInfo
- Publication number
- CN116935169B CN116935169B CN202311180488.6A CN202311180488A CN116935169B CN 116935169 B CN116935169 B CN 116935169B CN 202311180488 A CN202311180488 A CN 202311180488A CN 116935169 B CN116935169 B CN 116935169B
- Authority
- CN
- China
- Prior art keywords
- text
- sample
- predicted
- model
- diversity
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 164
- 238000012549 training Methods 0.000 title claims abstract description 137
- 238000009792 diffusion process Methods 0.000 claims description 103
- 230000006870 function Effects 0.000 claims description 65
- 238000003860 storage Methods 0.000 claims description 27
- 239000000178 monomer Substances 0.000 claims description 17
- 238000009826 distribution Methods 0.000 claims description 14
- 238000010606 normalization Methods 0.000 claims description 5
- 238000012887 quadratic function Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 abstract description 38
- 238000013473 artificial intelligence Methods 0.000 abstract description 13
- 230000000694 effects Effects 0.000 abstract description 13
- 238000005516 engineering process Methods 0.000 description 27
- 238000012545 processing Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000012512 characterization method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000011478 gradient descent method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000000442 meristematic effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000003064 k means clustering Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
- G06N3/0455—Auto-encoder networks; Encoder-decoder networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种文生图模型训练方法以及文生图方法,属于人工智能技术领域。该文生图模型训练方法能够对文生图模型的训练过程进行生成图像的多样性约束,并且该多样性约束可导,从而确保多样性约束可以在训练调参阶段发挥作用,使得训练得到的文生图模型具备生成多样化图像的能力。基于这一训练方法训练得到的文生图模型也能够确保生成图像的图像多样性,从而提升文生图效果。不仅如此,本申请实施例还可以在文生图模型的训练过程增加文本信息的监督,从而解决目前的文生图模型生成图片的时候存在的文本信息利用程度较低的问题。
Description
技术领域
本申请涉及人工智能技术领域,特别涉及一种文生图模型训练方法以及文生图方法。
背景技术
图生文和文生图是图像文字转换领域中的两个主要研究方向。文生图指的是根据文本生成对应的图片。图生文指的是根据图片生成对应的文字描述。潜在扩散模型StableDiffusion是相关技术中进行文生图的重要模型之一,可以基于文字描述执行图像生成任务。图像生成任务有一个比较重要的评估指标,是生成数据的多样性,生成数据越多样,效果越好。但是,当前的Stable Diffusion的损失函数主要是约束生成图片的真实程度,并没有对图像的多样性进行约束,图像的生成多样性更多来源于巨量的训练数据,训练数据不够就会引起图像生成效果的直线下滑。
也就是说,目前的Stable Diffusion生成图片的时候难以保证生成的图片的多样性,从而导致Stable Diffusion生成的图片的效果难以达到预期。
发明内容
本申请实施例提供了一种文生图模型训练方法以及文生图方法,能够对文生图模型的训练过程进行生成图像的多样性约束,并且该多样性约束可导,从而确保多样性约束可以在训练调参阶段发挥作用,使得训练得到的文生图模型具备生成多样化图像的能力。基于这一训练方法训练得到的文生图模型也能够确保生成图像的图像多样性,从而提升文生图效果。
根据本申请实施例的一个方面,提供了一种文生图模型训练方法,所述方法包括:
获取样本文本和与所述样本文本对应的样本图像;
将所述样本文本和所述样本图像输入潜在扩散模型,触发所述潜在扩散模型基于所述样本文本和所述样本图像输出多个样本预测图像;
基于所述多个样本预测图像和预设的多样性损失函数,计算多样性损失,所述多样性损失用于指示所述多个样本预测图像在多样性分布维度上产生的损失,所述多样性损失函数为可导函数;
基于所述多样性损失调整所述潜在扩散模型的参数,直至训练结束,得到文生图模型。
根据本申请实施例的一个方面,提供了一种文生图方法,所述方法包括:
获取目标文本;
将所述目标文本输入文生图模型,得到多个目标图像;
其中,所述文生图模型根据前述文生图模型训练方法训练得到。
根据本申请实施例的一个方面,提供了一种文生图模型训练装置,所述装置包括:
样本获取模块,用于获取样本文本和与所述样本文本对应的样本图像;
训练模块,用于执行下述操作:
将所述样本文本和所述样本图像输入潜在扩散模型,触发所述潜在扩散模型基于所述样本文本和所述样本图像输出多个样本预测图像;
基于所述多个样本预测图像和预设的多样性损失函数,计算多样性损失,所述多样性损失用于指示所述多个样本预测图像在多样性分布维度上产生的损失,所述多样性损失函数为可导函数;
基于所述多样性损失调整所述潜在扩散模型的参数,直至训练结束,得到文生图模型。
根据本申请实施例的一个方面,提供了一种文生图装置,所述装置包括:
目标文本获取模块,用于获取目标文本;
文生图模块,用于将所述目标文本输入文生图模型,得到多个目标图像;
其中,所述文生图模型根据前述文生图模型训练方法训练得到。
根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述文生图模型训练方法或文生图方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述文生图模型训练方法或文生图方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行以实现上述文生图模型训练方法或文生图方法。
本申请实施例提供的技术方案可以带来如下有益效果:
本申请实施例提供一种文生图模型训练方法以及基于训练得到的文生图模型实施的文生图方法,该文生图模型训练方法能够对文生图模型的训练过程进行生成图像的多样性约束,并且该多样性约束可导,从而确保多样性约束可以在训练调参阶段发挥作用,使得训练得到的文生图模型具备生成多样化图像的能力。基于这一训练方法训练得到的文生图模型也能够确保生成图像的图像多样性,从而提升文生图效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的应用程序运行环境的示意图;
图2是本申请一个实施例提供的文生图模型训练方法的流程图;
图3是本申请一个实施例提供的多样性损失的具体计算方法流程示意图;
图4是本申请一个实施例提供的定向性约束的引入方法流程示意图;
图5是本申请一个实施例提供的单体信息损失计算方法的流程示意图;
图6是本申请一个实施例提供的单体文本信息损失计算方法流程示意图;
图7是本申请一个实施例提供的文生图模型训练方法框架示意图;
图8是本申请一个实施例提供的文生图方法流程示意图;
图9是本申请一个实施例提供的文生图模型训练装置的框图;
图10是本申请一个实施例提供的文生图装置的框图;
图11是本申请一个实施例提供的计算机设备的结构框图。
具体实施方式
在介绍本申请提供的方法实施例之前,先对本申请方法实施例中可能涉及的相关术语或者名词进行简要介绍,以便于本申请领域技术人员理解。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
深度学习:深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步地说,就是指用摄影机和电脑代替。人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
文生图:文生图指的是根据文本生成对应的图片。
图生文:图生文指的是根据图片生成对应文字描述,分captioning和densecaptioning两种实现方式。
captioning指的是image caption,其目标就是根据提供的图像,输出对应的文字描述。传统image caption是基于模板的方法,其生成的句子有固定的模板,检测图像中物体、场景和动作等相关元素,在模板中填充相关的词语,组合成句子。后来基于计算机视觉又产生了基于检索的方法,通过图片匹配的方式实现。先将大量的(图像,图像描述)存入数据库,这些(图像,图像描述)被称之为标注数据集。之后将输入图像与数据库中的图像进行对比,找出相似的图像,将对应的图像描述作为候选描述,再对这些描述进行合理的组织,生成针对输入图像的描述。这种方法的性能依赖于标注数据集的大小和检索算法,并且受限于相似度计算的准确程度,生成的描述也相对局限,不一定能满足要求。未来的发展方向是基于深度学习的image caption方法,概括起来就是由编码器实现对图像的编码,再由解码器生成对应的文字,结合了图像处理和自然语言生成两个方向。
dense captioning:图生文的一个算法子领域,一般会先将图片进行划分,划分结果被描述为多个patch,对每个patch单独做图生文,从而保证整张图的元素都能被描述清楚。
IS Score:又称Inception Score。IS score是衡量图像生成效果的常用指标,可以用于评价生成图片的质量,也可以用于评价生成图片的多样性。如果生成的诸多图片被分类后,分类的类别数量较多,且类别量级平均,则表示生成的图片更具备多样性。
提示工程(Prompt Engineering,也称为 In-Context Prompting)指在不更新模型参数的前提下、通过输入文本等方法来操控大型语言模型 (Large Language Model)以指导其行为、引导其生成需要的结果的方法。提示工程是一种相对较新的学科,用于开发和优化提示,以有效地使用语言模型来处理各种应用和研究主题。
Stable Diffusion简称SD,是一种潜在扩散模型(Latent Diffusion Model),它基于DDPM(Denoising Diffusion Probabilistic Models,去噪扩散概率模型 )进行速度优化而成。SD是CompVis、Stability AI和LAION等公司研发的一个文生图模型,它的模型和代码是开源的,而且训练数据LAION-5B也是开源的。Stable Diffusion的设计与训练基于提示工程思想,输入Stable Diffusion的文本信息即可以被理解一种提示信息(prompt)。
SD通过在U-Net中引入text condition(文本条件)来实现基于文本生成图像。SD的核心来源于潜在扩散模型(Latent Diffusion)的工作,其是一种可以生成图像的模型,它先采用一个autoencoder(自动编码器)将输入的样本图像压缩到latent空间,转化为压缩的featuremap(特征图),在featuremap基础上进行加噪、去噪过程,大幅度降低了计算量,并最终基于autoencoder的decoder(解码)模块就可以得到生成的图像。SD是DDPM速度优化后得到的一种模型,DDPM也是一种图像生成模型,它通过扩散和逆扩散过程来生成图像。扩散过程是指向数据集的真实图片中逐步加入高斯噪声,而逆扩散过程是指对加了噪声的图片逐步去噪,从而还原出真实图片。加噪过程满足一定的数学规律,而去噪过程则采用神经网络来学习。这样,DDPM就可以从一堆杂乱无章的噪声图片中生成真实图片了。但是DDPM中图片的特征尺寸不变,会带来巨大的计算开销,而SD中基于压缩的featuremap实现了提速,性能优于DDPM,但是原理是一致的。
SD模型的主体结构,主要包括三个模型:
autoencoder(自动编码器):autoencoder将图像压缩到latent空间,而autoencoder中的decoder(解码器)将latent解码为图像;
CLIP text encoder(CLIP文本编码器):提取输入文字的text embeddings(文本特征),通过cross attention(注意力交叉)方式送入潜在扩散模型的U-Net中作为textcondition(文本条件);CLIP是文-图检索的经典工作,论文为《Learning TransferableVisual Models From Natural Language Supervision》,属于学术通用专有名词,细节可参考论文。
U-Net网络:潜在扩散模型的主体,用来实现文本引导下的latent生成。
SD的文生图的推理流程可以被简述为:首先根据输入信息用CLIP text encoder提取文本嵌入特征(text embeddings),同时初始化一个随机噪音noise(latent上的,512x512图像对应的noise维度为64x64x4),然后将text embeddings和noise送入潜在扩散模型U-Net中生成去噪后的latent,最后送入autoencoder的decoder模块得到生成的图像。
在具体阐述本申请实施例之前,对与本申请实施例有关的相关技术背景进行介绍,以便于本申请领域技术人员理解。
图生文和文生图是图像文字转换领域中的两个主要研究方向。潜在扩散模型Stable Diffusion是相关技术中进行文生图的重要模型之一,但是潜在扩散模型StableDiffusion在进行文生图时存在一些问题,目前的Stable Diffusion对文本的理解能力更多来源于CLIP,而非直接将文本语义理解与生成图片的语义理解对应,在文本到生成图片的映射当中,经过了特征的多次转换,存在一定的损失,因此,在文生图的时候,经常存在生成的图忽略了部分文本信息的问题;还有,图像生成任务有一个比较重要的评估指标,是生成数据的多样性,生成数据越多样,效果越好。当前的Stable Diffusion的损失函数主要是约束生成图片的真实程度,并没有对图像的多样性进行约束,图像的生成多样性更多来源于巨量的训练数据,训练数据不够就会引起效果直线下滑。
也就是说,目前的Stable Diffusion生成图片的时候存在文本信息利用程度较低,并且难以保证生成的图片的多样性的问题,从而导致Stable Diffusion生成的图片的效果难以达到预期,并且多样性难以保证。为了提升Stable Diffusion生成图片的质量和确保生成图片的多样性,本申请实施例提供一种文生图模型训练方法以及基于训练得到的文生图模型实施的文生图方法,该文生图模型训练能够对文生图模型的训练过程进行生成图像的多样性约束,并且该多样性约束可导,从而确保多样性约束可以在训练调参阶段发挥作用,使得训练得到的文生图模型具备生成多样化图像的能力。基于这一训练方法训练得到的文生图模型也能够确保生成图像的图像多样性,从而提升文生图效果。
不仅如此,本申请实施例还可以在文生图模型的训练过程增加文本信息的监督,从而解决目前的潜在扩散模型Stable Diffusion生成图片的时候存在的文本信息利用程度较低的问题。该文本信息的监督过程基于图生文思想实施,具体地,本申请实施例中有详细记载。
具体来说,本申请实施例中文生图模型的训练方法旨在实现下述两个目的:
第一,将文本的语义理解与图像生成理解过程直接打通,促使生成图片的内容与文本更加贴合,减少文本指令中信息的遗漏,加强文生图的可控性;
第二,将生成图像的多样性指标以可导的方式引入文生图训练过程中,增加生成图像的结果的图像多样性控制,这样可以降低对训练数据量级的要求。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
请参考图1,其示出了本申请一个实施例提供的应用程序运行环境的示意图。该应用程序运行环境可以包括:终端10和服务器20。
终端10包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、游戏主机、电子书阅读器、多媒体播放设备、可穿戴设备等电子设备。终端10中可以安装应用程序的客户端。
在本申请实施例中,上述应用程序可以是任何能够提供文生图模型训练服务或者使用基于文生图模型训练方法训练出来的模型提供文生图服务的应用程序。典型地,该应用程序可以为图像检索类应用程序。当然,除了图像检索类应用程序之外,其它类型的应用程序中也可以提供文生图模型训练服务或者使用基于文生图模型训练方法训练出来的模型提供文生图服务。例如,新闻类应用程序、社交类应用程序、互动娱乐类应用程序、浏览器应用程序、购物类应用程序、内容分享类应用程序、虚拟现实(Virtual Reality,VR)类应用程序、增强现实(Augmented Reality,AR)类应用程序等,本申请实施例对此不作限定。本申请实施例对此不作限定。可选地,终端10中运行有上述应用程序的客户端。
服务器20用于为终端10中的应用程序的客户端提供后台服务。例如,服务器20可以是上述应用程序的后台服务器。服务器20可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content DeliveryNetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。可选地,服务器20同时为多个终端10中的应用程序提供后台服务。
可选地,终端10和服务器20之间可通过网络30进行互相通信。终端10以及服务器20可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
请参考图2,其示出了本申请一个实施例提供的文生图模型训练方法的流程图。该方法可应用于计算机设备中,上述计算机设备是指具备数据计算和处理能力的电子设备,如各步骤的执行主体可以是图1所示的应用程序运行环境中的服务器20。该方法可以包括以下几个步骤:
S201.获取样本文本和与上述样本文本对应的样本图像。
本申请实施例中样本文本和样本图像具备对应关系,也就是说,样本文本描述的就是样本图像的图像内容。比如,样本文本为“一个人骑着一匹马”,则对应的样本图像中应当有人也有马,并且人骑在马上。样本文本和样本图像具备对应关系的目的在于,使得潜在扩散模型可以充分学习到文本中的信息与图像中的信息之间的对应关系,这一对应关系的学习过程体现在潜在扩散模型的原有训练过程和固有结构设计之中,本申请实施例对此不做赘述。本申请实施例中的文生图模型训练方法是在潜在扩散模型原有的训练过程的基础上叠加后续详述的内容所得到的,并不会改变潜在扩散模型的固有结构,也不会变更潜在扩散模型原有的训练过程中使用的损失,而仅仅是对该训练过程叠加了更多新的损失约束而已。
S202.将上述样本文本和上述样本图像输入潜在扩散模型,触发上述潜在扩散模型基于上述样本文本和上述样本图像输出多个样本预测图像。
潜在扩散模型即Stable Diffusion,其模型结构和理论背景在前文已有详述,在此不做赘言。潜在扩散模型的模型结构和理论背景决定了该潜在扩散模型可以学习上述样本文本和上述样本图像自身信息以及对应关系,并预测出多个样本预测图像。当然,本申请实施例并不限定样本预测图像的具体数量,其必然大于或等于2。
S203.基于上述多个样本预测图像和预设的多样性损失函数,计算多样性损失,上述多样性损失用于指示上述多个样本预测图像在多样性分布维度上产生的损失,上述多样性损失函数为可导函数。
本申请实施例指出,对于文生图而言,生成图像质量的衡量指标包括真实性与多样性,Stable Diffusion自身只包含了真实性约束,并无直接的多样性约束,这导致训练过程中,为了形成多样性,对训练样本的分布和量级要求都非常高。为了解决这一问题,本申请实施例引入了多样性损失,即在保持原始Stable Diffusion中自身的损失以及约束不变的前提下,在这一基础上增加了多样性约束。
相关技术中的多样性约束指标主要为Inception Score(IS score),基于该指标判定多样性时对多样性的描述为:当一个提示指令可以生成尽可能多类的图像,而且每个类别中图像的数量都差不多,这就说明文生图模型具备了多样性能力,具体来说,基于该指标判定多样性时可以通过将多个生成的图像进行通用分类,最后计算所有类别的边缘分布熵的方式来得到多样性判定结果。但由于Inception Score的函数不可导,因此相关技术无法在训练过程中,将Inception Score的信息作为损失函数使用的信息,即无法直接作为模型训练过程的约束,也无法用于填充模型训练的总损失,因此,无法对于训练过程直接进行多样性约束。有鉴于此,本申请实施例提出设计可导的损失函数,从而可以指示上述多个样本预测图像在多样性分布维度上产生的损失,为文生图模型的训练过程引入直接的多样性约束。
请参考图3,其示出多样性损失的具体计算方法流程示意图。上述基于上述多个样本预测图像和预设的多样性损失函数,计算多样性损失,包括:
S301.对各上述样本预测图像进行聚类,得到目标数量个类簇;
本申请实施例并不限定目标数量n的具体数值,其可以根据批训练时的批次大小和显存大小进行设置。如果显存只支持到批次大小batchsize为500,n的最大数量只能为500。本申请实施例并不对聚类方法进行限定,比如,可以使用Kmeans聚类或其他聚类。Kmeans聚类即k均值聚类算法(k-means clustering algorithm),是一种迭代求解的聚类分析算法,其步骤是,预先将数据分为K组,则随机选取K个对象作为初始的聚类中心,然后计算每个对象与各个聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。
在一个示例性的实施方式中,上述潜在扩散模型包括U-Net网络,上述对各上述样本预测图像进行聚类,得到目标数量个类簇,包括:在上述U-Net网络中提取各上述样本预测图像分别对应的图像特征;对提取到的各上述图像特征进行聚类,得到上述目标数量个类簇。通过复用潜在扩散模型中U-Net网络的特征,可以使得聚类结果更准确。U-Net是潜在扩散模型的主体网络,经过训练之后本身就具备语义信息,其中的数据可以直接用于聚类。本申请中使用的潜在扩散模型可以是经过预训练的潜在扩散模型。
S302.基于各类簇内的图像数量,确定类目均值,上述类目均值表征单一类目下的图像数量的均值;
可以统计目标数量个类簇中每个类簇中的图像的数量,然后各个类簇的图像的数量求平均,即为该类目均值。
S303.将上述目标数量、上述类目均值和各上述类簇下的图像数量,输入上述多样性损失函数,得到上述多样性损失。
本申请实施例并不限定多样性损失函数的具体形式,其可导即可。在一个实施例中,上述多样性损失函数为融合归一化函数和二次方函数所得到的可导函数,但是对于具体的多样性损失函数的样子可以不做限定。在一个示例性的实施方式中,该多样性损失函数可以被表示为下述内容,或者正相关于下述内容:
,/>;
其中,为聚类类别,即目标数量,/>需要根据批处理的数据条目数量和显存进行设置。/>表示每一类簇的图像的数量,i为类簇对应的序号,/>为类目均值。公式的含义是,当生成出来的图像分布不均匀时,多样性损失函数/>会增大,促使潜在扩散模型生成分布更加平均的样本。/>内嵌归一化函数和二次方函数,可以促使潜在扩散模型的梯度更加稳定。二次方相比于一次方在零点位置可导,因此,更加稳定。
S204.基于上述多样性损失调整上述潜在扩散模型的参数,直至训练结束,得到文生图模型。
基于上述多样性损失调整上述潜在扩散模型的参数的含义是,将多样性损失纳入潜在扩散模型训练的训练损失中,从而基于该训练损失调整上述潜在扩散模型的参数。潜在扩散模型的训练损失还包括原本的Stable Diffusion训练时使用的损失,比如,噪声损失。该噪声损失的产生原理和计算方法本申请实施例不做赘述。简单来说,在StableDiffusion推理过程中,会对输入的样本图像进行加噪声和去噪声两个过程,加噪声过程中加入的噪声的已知的,而去噪声过程中的去除的噪声是不直接已知的,但是可以使用样本图像和去噪声之后得到的预测图像之间的差异来表征,将已知的噪声,与,样本图像和去噪声之后得到的预测图像之间的差异,之间的差异使用噪声损失来进行度量。
本申请实施例并不限定基于多样性损失、噪声损失等损失来生成训练损失的具体方法,比如,可以使用加权求和法,当然,权值可以自行设定,本申请不做赘述。
本申请实施例中可以基于梯度下降法对参数进行调整。梯度下降法是机器学习和深度学习领域中进行网络参数调整时经常使用的、通过梯度下降的方式对网络参数进行一阶最优化调整的方法。本申请实施例中梯度下降法可以引导上述参数向减少训练损失的方向进行调整。当调整次数达到预设的次数阈值,或者当损失小于预设的损失阈值的情况下,停止调参,得到上述文生图模型。
相关技术中,Stable Diffusion训练过程中,文本与图像的关联仅出现在U-Net的cross attention中,由于样本文本的文本embeddings特征来源于预训练好的CLIP骨架网络,通用模型对文本prompt(尤其是长文本),是有固定倾向的,在做定制化生成任务时,若定制化任务与通用任务关注点不一致,文本prompt存在部分元素被丢弃的可能性,这会导致,Stable Diffusion在推理的时候,生成图片有部分概率丢失掉文本prompt中的信息。因此,本申请实施例为了加强最终得到的文生图模型的可控性,还可以基于图生文过程结合样本文本的内容,通过比对学习的方式进行针对潜在扩散模型生成图像过程的定向性约束。
在一个实施例中,请参考图4,其示出本申请实施例中定向性约束的引入方法流程示意图。该方法包括:
S401.确定至少一个目标样本预测图像,上述目标样本预测图像为上述多个样本预测图像中满足预设质量要求的样本预测图像;
本申请实施例并不对预设质量要求进行限定。在一个实施例中可以认为潜在扩散模型生成出来的样本预测图像都满足该预设质量要求。
在另一个实施方式中Stable Diffusion本身对每个生成的样本预测图像都有打分,打分表示生成的样本预测图像的质量。可以直接利用该打分,通过设置一个预设分值,打分结果高于该预设分值的样本预测图像被认为满足该预设质量要求。本申请实施例对该预设分值不做限定,可以根据实际情况进行设定。
S402.将全部上述目标样本预测图像输入图生文模型,得到每一上述目标样本预测图像对应的预测文本;
本申请对图生文模型不做限定,也可以使用相关技术中的图生文模型,比如,使用captioning模型或者dense captioning模型。在一个实施方式中,可以直接将上述潜在扩散模型所包括的U-Net网络对应的逆网络作为该图生文模型,也就是将该潜在扩散模型中U-Net网络逆过来使用,完成图生文功能,去得到每一上述目标样本预测图像对应的预测文本。这样设计的优势在于,步骤S401-S403所得到的文本信息损失与潜在扩散模型的关系更强,基于该文本信息损失调整潜在扩散模型可以达到更好的调参效果。
S403.根据上述样本文本与各上述预测文本之间的差异,确定文本信息损失;
在一个实施方式中,上述根据上述样本文本与各上述预测文本之间的差异,确定文本信息损失,包括:针对每一预测文本与上述样本文本之间的差异,确定单体文本信息损失;根据各上述单体文本信息损失的平均值,确定上述文本信息损失。本申请实施例并不限定单体信息损失的具体计算方法,可以使用相关技术中衡量不同文本之间差异的度量方式来计算该单体信息损失。在一个示例性的实施方式中,请参考图5,其示出本申请实施例提出的单体信息损失计算方法的流程示意图,该方法包括:
S501.获取上述样本文本对应的样本文本特征;
本申请实施例中并不限定该样本文本特征的获取方法,比如,如果使用了captionging模型,则可以使用该captionging模型中基于该样本文本提取出来的特征作为样本文本特征。本申请实施例中样本文本和样本文本特征分别用,/>表征。
S502.对上述样本文本进行关键词抽取,得到对应的样本关键词集合;
本申请实施例中并不限定关键词抽取的具体方法,本申请实施例中样本关键词集合用表征。
S503.针对每一预测文本,获取上述预测文本对应的预测文本特征,以及对上述预测文本进行关键词抽取,得到对应的预测关键词集合;
预测文本特征和预测关键词集合的获取与前述S501-S502基于相同发明构思,在此不做赘述。本申请实施例中预测文本、预测文本特征、预测关键词集合分别用,/>、表征。
S504.根据每一上述预测文本特征以及对应的预测关键词集合、上述样本文本特征和上述样本关键词集合,确定对应的单体文本信息损失。
本申请实施例并不限定根据每一上述预测文本特征以及对应的预测关键词集合、上述样本文本特征和上述样本关键词集合,确定对应的单体文本信息损失的具体方法,也就是说,只要能够从文本特征差异的角度和关键词差异的角度综合衡量单体文本信息损失的方法,都可以用于执行步骤S504。
在一个示例性实施方式中,请参考图6,其示出本申请实施例提出的一种单体文本信息损失计算方法流程示意图。上述根据每一上述预测文本特征以及对应的预测关键词集合、上述样本文本特征和上述样本关键词集合,确定对应的单体文本信息损失,包括:
S601.统计上述预测关键词集合和上述样本关键词集合的交集中的元素数量,得到第一元素数量;
也就是说,该第一元素数量可以被表达为。
S602.统计上述样本关键词集合中的元素数量,得到第二元素数量;
也就是说,该第二元素数量可以被表达为。
S603.基于上述第一元素数量和上述第二元素数量的比值,确定目标参量;
也就是说,目标参量为。
S604.计算每一预测文本特征与对应的预测文本之间的向量数量积;根据上述目标参量和上述向量数量积,确定上述单体文本信息损失。
本申请实施例并不限定根据上述目标参量和上述向量数量积,确定上述单体文本信息损失的具体方法,只需要该单体文本信息损失正相关于上述目标参量和上述向量数量积即可。在一个示例性的实施方式中可以使用下述公式来计算单体文本信息损失:,k表示预测文本特征总量,i为预测文本特征标识。基于该单体文本信息损失所得到的综合的文本信息损失的设计目的在于保证生成文本与标注文本的描述内容尽可能接近,描述的元素尽可能一致,从而促使文生图得到的生成图片与文本标注内容更加一致。
上述基于上述多样性损失调整上述潜在扩散模型的参数,直至训练结束,得到文生图模型,包括:基于上述多样性损失和上述文本信息损失,调整上述潜在扩散模型的参数,直至训练结束,得到上述文生图模型。具体来说,其含义是,将多样性损失和上述文本信息损失纳入潜在扩散模型训练的训练损失中,从而基于该训练损失调整上述潜在扩散模型的参数。潜在扩散模型的训练损失还包括原本的Stable Diffusion训练时使用的损失,比如,噪声损失。该噪声损失的产生原理和计算方法本申请实施例不做赘述。
本申请实施例并不限定基于多样性损失、上述文本信息损失、噪声损失等损失来生成训练损失的具体方法,比如,可以使用加权求和法,当然,权值可以自行设定,本申请不做赘述。
请参考图7,其示出本申请实施例提出的文生图模型训练方法框架示意图。在文生图阶段可以输入一句样本文本,通过文本模型(CLIP)得到文本条件,然后将该文本条件输入潜在扩散模型,得到多张生成图片(样本预测图片),多张生成图片进行kmeans聚类,聚类后得到多个簇,根据簇中的图像的分布情况计算多样性损失,多样性损失函数通过反向传播优化潜在扩散模型参数,加强潜在扩散模型的生成多样性;并且,还可以将多张生成图片经过caption模型(图生文模型),得到对应的生成文本(预测文本),将生成文本与输入的标注文本(样本文本)进行比对,通过反向传播,促使潜在扩散模型在生成预测图像时与文本语义形成交互,加强潜在扩散模型的视觉理解能力,使得其生成的图像更有逻辑性,更具可控性。
这一训练方法在潜在扩散模型自身的训练框架下,增加了文生图和图生文互为博弈的训练方式,促使图像生成与文本语义理解直接联系,增强视觉语义理解能力,可以有效达到下述技术效果:
(1)加入了可导的多样性损失函数,在训练过程中,直接约束潜在扩散模型进行多样性惩罚,增加潜在扩散模型在少量数据下的多样性图像生成能力,降低训练数据门槛。通过引入图像的多样性的约束,在较少训练数据下,依然能训练出泛化能力更好的文生图模型;
(2)引入图生文对文生图过程进行语义定向化引导,保证文生图的可控性,减少“答非所问”的现象。
本申请实施例提供一种文生图方法,请参考图8,其示出文生图方法流程示意图,上述方法包括:
S801.获取目标文本;
本申请实施例并不限定目标文本的来源,只需该目标文本可以描述希望生成的目标图像的内容即可。
S802.将上述目标文本输入文生图模型,得到多个目标图像;其中,上述文生图模型根据前述文生图模型训练方法训练得到。
该目标图像是文生图模型所生成的、与目标文本存在内容匹配关系的图像。该文生图方法可以生成具备多样性并且与目标文本高度匹配的目标图像。
下述为本申请装置实施例,可用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图9,其示出了本申请一个实施例提供的文生图模型训练装置的框图。该装置具有实现上述文生图模型训练方法的功能,上述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置在计算机设备中。该装置可以包括:
样本获取模块901,用于获取样本文本和与上述样本文本对应的样本图像;
训练模块902,用于执行下述操作:
将上述样本文本和上述样本图像输入潜在扩散模型,触发上述潜在扩散模型基于上述样本文本和上述样本图像输出多个样本预测图像;
基于上述多个样本预测图像和预设的多样性损失函数,计算多样性损失,上述多样性损失用于指示上述多个样本预测图像在多样性分布维度上产生的损失,上述多样性损失函数为可导函数;
基于上述多样性损失调整上述潜在扩散模型的参数,直至训练结束,得到文生图模型。
在一个实施例中,上述训练模块902,用于执行下述操作:
确定至少一个目标样本预测图像,上述目标样本预测图像为上述多个样本预测图像中满足预设质量要求的样本预测图像;
将全部上述目标样本预测图像输入图生文模型,得到每一上述目标样本预测图像对应的预测文本;
根据上述样本文本与各上述预测文本之间的差异,确定文本信息损失;
基于上述多样性损失和上述文本信息损失,调整上述潜在扩散模型的参数,直至训练结束,得到上述文生图模型。
在一个实施例中,上述训练模块902,用于执行下述操作:
对各上述样本预测图像进行聚类,得到目标数量个类簇;
基于各类簇内的图像数量,确定类目均值,上述类目均值表征单一类目下的图像数量的均值;
将上述目标数量、上述类目均值和各上述类簇下的图像数量,输入上述多样性损失函数,得到上述多样性损失。
在一个实施例中,上述多样性损失函数为融合归一化函数和二次方函数所得到的可导函数。
在一个实施例中,上述潜在扩散模型包括U-Net网络,上述训练模块902,用于执行下述操作:
在上述U-Net网络中提取各上述样本预测图像分别对应的图像特征;
对提取到的各上述图像特征进行聚类,得到上述目标数量个类簇。
在一个实施例中,上述训练模块902,用于执行下述操作:
针对每一预测文本与上述样本文本之间的差异,确定单体文本信息损失;
根据各上述单体文本信息损失的平均值,确定上述文本信息损失。
在一个实施例中,上述训练模块902,用于执行下述操作:
获取上述样本文本对应的样本文本特征;
对上述样本文本进行关键词抽取,得到对应的样本关键词集合;
针对每一预测文本,获取上述预测文本对应的预测文本特征,以及对上述预测文本进行关键词抽取,得到对应的预测关键词集合;
根据每一上述预测文本特征以及对应的预测关键词集合、上述样本文本特征和上述样本关键词集合,确定对应的单体文本信息损失。
在一个实施例中,上述训练模块902,用于执行下述操作:
统计上述预测关键词集合和上述样本关键词集合的交集中的元素数量,得到第一元素数量;
统计上述样本关键词集合中的元素数量,得到第二元素数量;
基于上述第一元素数量和上述第二元素数量的比值,确定目标参量;
计算每一预测文本特征与对应的预测文本之间的向量数量积;
根据上述目标参量和上述向量数量积,确定上述单体文本信息损失。
在一个实施例中,上述潜在扩散模型包括U-Net网络,上述图生文模型为上述U-Net网络对应的逆网络。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图10,其示出了本申请一个实施例提供的文生图装置的框图。该装置具有实现上述文生图方法的功能,上述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是计算机设备,也可以设置在计算机设备中。该装置可以包括:
目标文本获取模块101,用于获取目标文本;
文生图模块102,用于将上述目标文本输入文生图模型,得到多个目标图像;
其中,上述文生图模型根据前述文生图模型训练方法训练得到。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图11,其示出了本申请一个实施例提供的计算机设备的结构框图。该计算机设备可以是服务器,以用于执行上述文生图模型训练方法或者文生图方法。具体来讲:
计算机设备1000包括中央处理单元(Central Processing Unit ,CPU)1001、包括随机存取存储器(Random Access Memory ,RAM)1002和只读存储器(Read Only Memory,ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。计算机设备1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O(Input/Output)系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。大容量存储设备1007及其相关联的计算机可读介质为计算机设备1000提供非易失性存储。也就是说,大容量存储设备1007可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read Only Memory,可擦除可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read Only Memory,电可擦可编程只读存储器)、闪存或其他固态存储其技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
根据本申请的各种实施例,计算机设备1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1000可以通过连接在系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括计算机程序,该计算机程序存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述文生图模型训练方法或者文生图方法。
在示例性实施例中,还提供了一种计算机可读存储介质,上述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,上述至少一条指令、上述至少一段程序、上述代码集或上述指令集在被处理器执行时以实现上述文生图模型训练方法或者文生图方法。
具体地,该文生图模型训练方法包括:
获取样本文本和与上述样本文本对应的样本图像;
将上述样本文本和上述样本图像输入潜在扩散模型,触发上述潜在扩散模型基于上述样本文本和上述样本图像输出多个样本预测图像;
基于上述多个样本预测图像和预设的多样性损失函数,计算多样性损失,上述多样性损失用于指示上述多个样本预测图像在多样性分布维度上产生的损失,上述多样性损失函数为可导函数;
基于上述多样性损失调整上述潜在扩散模型的参数,直至训练结束,得到文生图模型。
在一个实施例中,上述方法还包括:
确定至少一个目标样本预测图像,上述目标样本预测图像为上述多个样本预测图像中满足预设质量要求的样本预测图像;
将全部上述目标样本预测图像输入图生文模型,得到每一上述目标样本预测图像对应的预测文本;
根据上述样本文本与各上述预测文本之间的差异,确定文本信息损失;
上述基于上述多样性损失调整上述潜在扩散模型的参数,直至训练结束,得到文生图模型,包括:
基于上述多样性损失和上述文本信息损失,调整上述潜在扩散模型的参数,直至训练结束,得到上述文生图模型。
在一个实施例中,上述基于上述多个样本预测图像和预设的多样性损失函数,计算多样性损失,包括:
对各上述样本预测图像进行聚类,得到目标数量个类簇;
基于各类簇内的图像数量,确定类目均值,上述类目均值表征单一类目下的图像数量的均值;
将上述目标数量、上述类目均值和各上述类簇下的图像数量,输入上述多样性损失函数,得到上述多样性损失。
在一个实施例中,上述多样性损失函数为融合归一化函数和二次方函数所得到的可导函数。
在一个实施例中,上述潜在扩散模型包括U-Net网络,上述对各上述样本预测图像进行聚类,得到目标数量个类簇,包括:
在上述U-Net网络中提取各上述样本预测图像分别对应的图像特征;
对提取到的各上述图像特征进行聚类,得到上述目标数量个类簇。
在一个实施例中,上述根据上述样本文本与各上述预测文本之间的差异,确定文本信息损失,包括:
针对每一预测文本与上述样本文本之间的差异,确定单体文本信息损失;
根据各上述单体文本信息损失的平均值,确定上述文本信息损失。
在一个实施例中,上述针对每一预测文本与上述样本文本之间的差异,确定单体文本信息损失,包括:
获取上述样本文本对应的样本文本特征;
对上述样本文本进行关键词抽取,得到对应的样本关键词集合;
针对每一预测文本,获取上述预测文本对应的预测文本特征,以及对上述预测文本进行关键词抽取,得到对应的预测关键词集合;
根据每一上述预测文本特征以及对应的预测关键词集合、上述样本文本特征和上述样本关键词集合,确定对应的单体文本信息损失。
在一个实施例中,上述根据每一上述预测文本特征以及对应的预测关键词集合、上述样本文本特征和上述样本关键词集合,确定对应的单体文本信息损失,包括:
统计上述预测关键词集合和上述样本关键词集合的交集中的元素数量,得到第一元素数量;
统计上述样本关键词集合中的元素数量,得到第二元素数量;
基于上述第一元素数量和上述第二元素数量的比值,确定目标参量;
计算每一预测文本特征与对应的预测文本之间的向量数量积;
根据上述目标参量和上述向量数量积,确定上述单体文本信息损失。
在一个实施例中,上述潜在扩散模型包括U-Net网络,上述图生文模型为上述U-Net网络对应的逆网络。
具体地,该文生图方法包括:
获取目标文本;
将上述目标文本输入文生图模型,得到多个目标图像;
其中,上述文生图模型根据前述文生图模型训练方法训练得到。
可选地,该计算机可读存储介质可以包括:ROM(Read Only Memory,只读存储器)、RAM(Random Access Memory,随机存取记忆体)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory, 电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述文生图模型训练方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
另外,在本申请的具体实施方式中,涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种文生图模型训练方法,其特征在于,所述方法包括:
获取样本文本和与所述样本文本对应的样本图像;
将所述样本文本和所述样本图像输入潜在扩散模型,触发所述潜在扩散模型基于所述样本文本和所述样本图像输出多个样本预测图像;
基于所述多个样本预测图像和预设的多样性损失函数,计算多样性损失,所述多样性损失用于指示所述多个样本预测图像在多样性分布维度上产生的损失,所述多样性损失函数为可导函数;
基于所述多样性损失调整所述潜在扩散模型的参数,直至训练结束,得到文生图模型;
其中,所述基于所述多个样本预测图像和预设的多样性损失函数,计算多样性损失,包括:
对各所述样本预测图像进行聚类,得到目标数量个类簇;
基于各类簇内的图像数量,确定类目均值,所述类目均值表征单一类目下的图像数量的均值;
将所述目标数量、所述类目均值和各所述类簇下的图像数量,输入所述多样性损失函数,得到所述多样性损失。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定至少一个目标样本预测图像,所述目标样本预测图像为所述多个样本预测图像中满足预设质量要求的样本预测图像;
将全部所述目标样本预测图像输入图生文模型,得到每一所述目标样本预测图像对应的预测文本;
根据所述样本文本与各所述预测文本之间的差异,确定文本信息损失;
所述基于所述多样性损失调整所述潜在扩散模型的参数,直至训练结束,得到文生图模型,包括:
基于所述多样性损失和所述文本信息损失,调整所述潜在扩散模型的参数,直至训练结束,得到所述文生图模型。
3.根据权利要求1所述的方法,其特征在于,所述多样性损失函数为融合归一化函数和二次方函数所得到的可导函数。
4.根据权利要求1所述的方法,其特征在于,所述潜在扩散模型包括U-Net网络,所述对各所述样本预测图像进行聚类,得到目标数量个类簇,包括:
在所述U-Net网络中提取各所述样本预测图像分别对应的图像特征;
对提取到的各所述图像特征进行聚类,得到所述目标数量个类簇。
5.根据权利要求2所述的方法,其特征在于,所述确定文本信息损失,包括:
针对每一预测文本与所述样本文本之间的差异,确定单体文本信息损失;
根据各所述单体文本信息损失的平均值,确定所述文本信息损失。
6.根据权利要求5所述的方法,其特征在于,所述针对每一预测文本与所述样本文本之间的差异,确定单体文本信息损失,包括:
获取所述样本文本对应的样本文本特征;
对所述样本文本进行关键词抽取,得到对应的样本关键词集合;
针对每一预测文本,获取所述预测文本对应的预测文本特征,以及对所述预测文本进行关键词抽取,得到对应的预测关键词集合;
根据每一所述预测文本特征以及对应的预测关键词集合、所述样本文本特征和所述样本关键词集合,确定对应的单体文本信息损失。
7.根据权利要求6所述的方法,其特征在于,所述根据每一所述预测文本特征以及对应的预测关键词集合、所述样本文本特征和所述样本关键词集合,确定对应的单体文本信息损失,包括:
统计所述预测关键词集合和所述样本关键词集合的交集中的元素数量,得到第一元素数量;
统计所述样本关键词集合中的元素数量,得到第二元素数量;
基于所述第一元素数量和所述第二元素数量的比值,确定目标参量;
计算每一预测文本特征与对应的预测文本之间的向量数量积;
根据所述目标参量和所述向量数量积,确定所述单体文本信息损失。
8.根据权利要求2所述的方法,其特征在于,所述潜在扩散模型包括U-Net网络,所述图生文模型为所述U-Net网络对应的逆网络。
9.一种文生图方法,其特征在于,所述方法包括:
获取目标文本;
将所述目标文本输入文生图模型,得到多个目标图像;
其中,所述文生图模型根据权利要求1至8中任意一项所述文生图模型训练方法训练得到。
10.一种文生图模型训练装置,其特征在于,所述装置包括:
样本获取模块,用于获取样本文本和与所述样本文本对应的样本图像;
训练模块,用于执行下述操作:
将所述样本文本和所述样本图像输入潜在扩散模型,触发所述潜在扩散模型基于所述样本文本和所述样本图像输出多个样本预测图像;
基于所述多个样本预测图像和预设的多样性损失函数,计算多样性损失,所述多样性损失用于指示所述多个样本预测图像在多样性分布维度上产生的损失,所述多样性损失函数为可导函数;
基于所述多样性损失调整所述潜在扩散模型的参数,直至训练结束,得到文生图模型;
其中,所述基于所述多个样本预测图像和预设的多样性损失函数,计算多样性损失,包括:
对各所述样本预测图像进行聚类,得到目标数量个类簇;
基于各类簇内的图像数量,确定类目均值,所述类目均值表征单一类目下的图像数量的均值;
将所述目标数量、所述类目均值和各所述类簇下的图像数量,输入所述多样性损失函数,得到所述多样性损失。
11.一种文生图装置,其特征在于,所述装置包括:
目标文本获取模块,用于获取目标文本;
文生图模块,用于将所述目标文本输入文生图模型,得到多个目标图像;
其中,所述文生图模型根据权利要求1至8中任意一项所述文生图模型训练方法训练得到。
12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至8任一项所述的文生图模型训练方法,或权利要求9所述的文生图方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至8任一项所述的文生图模型训练方法,或权利要求9所述的文生图方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311180488.6A CN116935169B (zh) | 2023-09-13 | 2023-09-13 | 文生图模型训练方法以及文生图方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311180488.6A CN116935169B (zh) | 2023-09-13 | 2023-09-13 | 文生图模型训练方法以及文生图方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116935169A CN116935169A (zh) | 2023-10-24 |
CN116935169B true CN116935169B (zh) | 2024-01-02 |
Family
ID=88394358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311180488.6A Active CN116935169B (zh) | 2023-09-13 | 2023-09-13 | 文生图模型训练方法以及文生图方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116935169B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117649464A (zh) * | 2023-11-07 | 2024-03-05 | 中译语通科技股份有限公司 | 弱监督图像合成方法、系统、设备及存储介质 |
CN117371433A (zh) * | 2023-11-09 | 2024-01-09 | 北京邮电大学 | 一种标题预测模型的处理方法和装置 |
CN117392694B (zh) * | 2023-12-07 | 2024-04-19 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、装置及设备 |
CN117455752B (zh) * | 2023-12-22 | 2024-04-09 | 广州虎牙科技有限公司 | 图像调整模型处理方法、装置及电子设备 |
CN117475086A (zh) * | 2023-12-22 | 2024-01-30 | 知呱呱(天津)大数据技术有限公司 | 一种基于扩散模型的科技文献附图生成方法及系统 |
CN117474903B (zh) * | 2023-12-26 | 2024-03-22 | 浪潮电子信息产业股份有限公司 | 一种图像侵权检测方法、装置、设备及可读存储介质 |
CN117475038B (zh) * | 2023-12-28 | 2024-04-19 | 浪潮电子信息产业股份有限公司 | 一种图像生成方法、装置、设备及计算机可读存储介质 |
CN117746214B (zh) * | 2024-02-07 | 2024-05-24 | 青岛海尔科技有限公司 | 基于大模型生成图像的文本调整方法、装置、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113191355A (zh) * | 2021-05-18 | 2021-07-30 | 北京有竹居网络技术有限公司 | 文本图像合成方法、装置、设备及存储介质 |
CN113627482A (zh) * | 2021-07-09 | 2021-11-09 | 南京邮电大学 | 一种基于音频—触觉信号融合的跨模态图像生成方法及装置 |
CN115098672A (zh) * | 2022-05-11 | 2022-09-23 | 合肥工业大学 | 基于多视图深度聚类的用户需求发现方法和系统 |
CN116682110A (zh) * | 2023-07-20 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、设备及介质 |
-
2023
- 2023-09-13 CN CN202311180488.6A patent/CN116935169B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113191355A (zh) * | 2021-05-18 | 2021-07-30 | 北京有竹居网络技术有限公司 | 文本图像合成方法、装置、设备及存储介质 |
CN113627482A (zh) * | 2021-07-09 | 2021-11-09 | 南京邮电大学 | 一种基于音频—触觉信号融合的跨模态图像生成方法及装置 |
CN115098672A (zh) * | 2022-05-11 | 2022-09-23 | 合肥工业大学 | 基于多视图深度聚类的用户需求发现方法和系统 |
CN116682110A (zh) * | 2023-07-20 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 图像处理方法、装置、设备及介质 |
Non-Patent Citations (2)
Title |
---|
MirrorGAN: Learning Text-to-image Generation by Redescription;Tingting Qiao et al.;2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR);第1505-1514页 * |
Text-to-image Synthesis via Symmetrical Distillation Networks;Mingkuan Yuan et al.;arXiv:1808.06801v1 [cs.CV];第1-9页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116935169A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116935169B (zh) | 文生图模型训练方法以及文生图方法 | |
CN111767405B (zh) | 文本分类模型的训练方法、装置、设备及存储介质 | |
CN109840321B (zh) | 文本推荐方法、装置及电子设备 | |
CN110162593B (zh) | 一种搜索结果处理、相似度模型训练方法及装置 | |
CN111488931B (zh) | 文章质量评估方法、文章推荐方法及其对应的装置 | |
KR101754473B1 (ko) | 문서를 이미지 기반 컨텐츠로 요약하여 제공하는 방법 및 시스템 | |
CN110234018B (zh) | 多媒体内容描述生成方法、训练方法、装置、设备及介质 | |
CN112800292B (zh) | 一种基于模态特定和共享特征学习的跨模态检索方法 | |
CN114298122A (zh) | 数据分类方法、装置、设备、存储介质及计算机程序产品 | |
CN114611498A (zh) | 标题生成方法、模型训练方法及装置 | |
CN111382563A (zh) | 文本相关性的确定方法及装置 | |
CN113408282B (zh) | 主题模型训练和主题预测方法、装置、设备及存储介质 | |
CN113704393A (zh) | 关键词提取方法、装置、设备及介质 | |
CN115129863A (zh) | 意图识别方法、装置、设备、存储介质和计算机程序产品 | |
CN113822521A (zh) | 题库题目的质量检测方法、装置及存储介质 | |
CN114547435A (zh) | 内容质量的识别方法、装置、设备及可读存储介质 | |
CN112231572A (zh) | 用户特征的提取方法、装置、设备及存储介质 | |
CN116050428B (zh) | 意图识别方法、装置、设备及存储介质 | |
CN118052221A (zh) | 文本处理方法、装置、设备、存储介质及产品 | |
CN117634421A (zh) | 字体信息处理方法、装置、电子设备及存储介质 | |
CN118014086A (zh) | 数据处理方法、装置、设备、存储介质及产品 | |
CN117312934A (zh) | 分类方法、装置、设备、存储介质及产品 | |
CN117195014A (zh) | 数据处理方法、装置、设备、存储介质及产品 | |
CN117271806A (zh) | 内容推荐方法、装置、设备、存储介质及产品 | |
CN117009507A (zh) | 文本分析方法、装置、设备、存储介质及程序产品 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |