CN117521672A - 一种基于扩散模型的长文本生成连续图片的方法 - Google Patents
一种基于扩散模型的长文本生成连续图片的方法 Download PDFInfo
- Publication number
- CN117521672A CN117521672A CN202311778730.XA CN202311778730A CN117521672A CN 117521672 A CN117521672 A CN 117521672A CN 202311778730 A CN202311778730 A CN 202311778730A CN 117521672 A CN117521672 A CN 117521672A
- Authority
- CN
- China
- Prior art keywords
- text
- encoder
- training
- image
- input
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000009792 diffusion process Methods 0.000 title claims abstract description 58
- 239000013598 vector Substances 0.000 claims abstract description 72
- 238000013507 mapping Methods 0.000 claims abstract description 13
- 238000012549 training Methods 0.000 claims description 82
- 230000006870 function Effects 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 39
- 230000011218 segmentation Effects 0.000 claims description 20
- 238000009826 distribution Methods 0.000 claims description 18
- 230000007246 mechanism Effects 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 14
- 230000001965 increasing effect Effects 0.000 claims description 12
- 230000015654 memory Effects 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 9
- 238000010586 diagram Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 230000004913 activation Effects 0.000 claims description 7
- 230000009466 transformation Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000010367 cloning Methods 0.000 claims description 3
- 230000006835 compression Effects 0.000 claims description 3
- 238000007906 compression Methods 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- 238000010200 validation analysis Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 2
- 230000002123 temporal effect Effects 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 claims 1
- 238000013528 artificial neural network Methods 0.000 description 12
- 230000009471 action Effects 0.000 description 5
- 238000003058 natural language processing Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 229940050561 matrix product Drugs 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 241000251468 Actinopterygii Species 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 244000025254 Cannabis sativa Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000010437 gem Substances 0.000 description 1
- 229910001751 gemstone Inorganic materials 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000003760 hair shine Effects 0.000 description 1
- 238000003709 image segmentation Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/211—Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- 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/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Image Processing (AREA)
Abstract
本发明提供一种基于扩散模型的长文本生成连续图片的方法,包括将待处理长文本输入到文本分割器,输出包含多个句子的分割语句文本,将分割语句文本输入到故事编码器模块,将分割语句文本映射为低维嵌入向量,将低维嵌入向量输入到文本编码器模块,通过文本编码器在多个时间步的更新,输出生成图像需要的所有必要信息,依次将生成的信息和随机生成的噪声图片输入到包含ControlNet网络扩展的扩散网络模型中,输出待处理的与长文本对应的低维空间的连续图片,将低维空间的连续图片输入到变分自编码器的解码器模块,得到包含连续图片的全尺寸图像。本方法打破单句文本生成单张图片的限制,针对长短复杂文本生成相应带有逻辑性图片。该方法可以应用于自动生成儿童故事绘本,影视脚本分镜图像生成等。
Description
技术领域
本发明涉及自然语言处理和计算机视觉领域,具体涉及一种基于扩散模型从一段长文本中生成对应的多张连续图片的方法。
背景技术
近年来,结合图像和文本的跨模态研究越来越多地引起自然语言处理和机器视觉领域学者的关注。其中文本生成图像是多模态机器学习的任务之一。文本生成图像是指将人类以关键词或句子形式的文本描述生成符合文本语义的图像的计算方法。文本自动图像生成可以帮助艺术家或平面设计师的减轻大量工作,也可以让用户自由发挥创作空间。
通过自然语言描述引导图像生成一直是图像生成领域的具有良好前景的发展方向,目前该领域的研究也取得了很大的进步和成果。比如VAE方法以一种统计方法进行建模最大化数据的最小可能性来生成图像,而DRAW方法使用了循环神经网络,并利用注意力机制,每一步关注一个生成对象,依次生成并叠加出最终结果。基于GAN生成对抗网络的方法,在后期逐渐成为主流。基于扩散模型的图片生成,和其他生成网络不同的是,扩散模型在前向阶段对图像逐步施加噪声,直至图像被破坏变成完全的高斯噪声,然后在逆向阶段学习从高斯噪声还原为原始图像的过程。
但针对长文本中生成对应的多张连续图片的技术研究相对较少,仍然存在以下问题:
1.模型无法完全理解文本语义,不能很好地关联图片内容和文本,大部分模型输入是简单句,对于复杂长文本难以很好地在图片中将信息表达完善,上下文信息获取不佳。
2.只能根据简单句生成单张图片,对于复杂文本的理解表现欠佳。对于一段内容丰富的文本也只能生成一张图片,不能生成连续多张图片。
3.无法更新上下文信息以有效地捕获背景变化;无法在生成每幅图像时结合新的输入和随机噪声,以形象化字符的变化,这些变化可能会导致图像生成时发生很大的变化。
4.在文本生成图像过程中,无法多图像生成进行其他方面的条件约束,只能依赖文本条件进行图像生成。
因此本发明从解决以上问题入手,提出一种可以从复杂长段文本中生成一系列有逻辑性的连续图片的方法。该方法可以实际中应用在多个领域,如从儿童故事中自动生成儿童绘本,从剧本描述中自动生成镜头画面等。
发明内容
为解决现有技术中存在的上述缺陷,本发明的目的在于提供一种基于扩散模型的长文本生成连续图片的方法,通过对长文本的分析处理,从长段文本中生成一系列连续图片。
根据本发明的第一方面,提供一种基于扩散模型的长文本生成连续图片的方法,包括:
步骤10:将待处理长文本输入到文本分割器,输出包含多个句子的分割语句文本S,包括t个句子。
步骤20:将分割语句文本S输入到故事编码器模块,将分割语句文本S映射为低维嵌入向量h0。
步骤30:将低维嵌入向量h0输入到文本编码器模块,每个时间步对应处理一个句子,通过文本编码器在多个时间步的更新,在t时刻输出该时刻生成图像需要的所有必要信息ot。
步骤40:依次将t时刻生成的ot和随机生成的噪声图片输入到包含ControlNet网络扩展的扩散网络模型中,输出待处理的与长文本对应的低维空间的连续图片xt。
步骤50:将低维空间的连续图片xt输入到变分自编码器的解码器模块,输出全尺寸图像Xt。
在步骤40中,包含ControlNet网络扩展的扩散网络模型包括:语言图片信息模型τθ,条件时序去噪编码器ControlNet网络扩展。
语言图片模型τθ包含一个图片编码器和一个文字编码器,将输入的ot,进行语言图片信息转换后,输出中间表示τθ(ot)。
条件时序去噪编码器将输入的中间表示τθ(ot),通过多头交叉注意力机制映射到U-Net主干网络,从而实现条件控制U-Net主干网络,输出潜在空间内的图片信息xt1。
ControlNet网络扩展将一组其他控制条件cf经过可训练副本模型处理得到图片信息xt2,再将输入的xt1与xt2进行组合,输出图片信息xt。
条件时序去噪编码器包括多头交叉注意力机制模块、U-Net主干网络、采样器。
多头交叉注意力机制模块输入τθ(ot),根据嵌入向量得到Q,K,V三个向量,再经过计算得到最终输出隐变量Attention(Q,K,V),其输出传入每一个残差网络模块中,并通过残差链接跳跃至后面对应的残差网络模块中,具体处理过程为:
φi(Zt)是U-Net主干网络的中间表示,τθ(ot)是通过语言图片转换得出的中间表示,可训练参数矩阵
U-net主干网络的输入是随机加噪图和噪声强度,输出是减去加噪图上所加的噪声后的图片信息xt1。U-Net主干网络包括多个Resnet残差网络模块;每一层残差网络模块的输入都是上一层的交叉注意力层输出的隐变量Attention(Q,K,V)和时间序列向量,隐变量经过卷积变换后和经过全连接投影的时间序列向量做加和,再和经过残差链接的原始隐向量做加和,再经卷积层处理得到经残差网络编码变换后的隐变量输出。
采样器是负责条件时序去噪编码器的正向扩散过程和反向扩散过程。
条件时序去噪编码器是通过正向扩散过程和反向扩散过程进行训练的,训练步骤包括:步骤401正向扩散过程,为训练过程采集训练样本数据集,步骤402反向扩散过程,训练U-Net主干网络。
步骤401包括:收集一系列样本图像,用变分自编码器的编码器压缩至低维空间;正向扩散过程在样本图像x0上逐步增加高斯噪声,每一步得到的图像xd只和上一步的结果xd-1相关,直至第D步的图像xD变为纯高斯噪声,该过程将产生一系列噪声图像样本x1,…,xD;也就是说每一时间步的xd是从一个,以为均值,βt为方差的高斯分布中采样得到的。Βd是方差,是一系列固定的值,且β1<β2<···<βD。增加高斯噪声的过程为马尔科夫过程,满足:
给定αd=1-βd,结合①②得出/> 用以对xd进行训练样本采集。
q表示条件分布概率函数,即在已知x0的情况下xd的概率,其中βd是方差,其中βd∈(0,1),d∈[1,D]是一系列固定的值,I是单位矩阵,为高斯分布符号,表示条件概率服从高斯分布。
步骤402包括:经过正向扩散扩散过程得到的训练样本集包括:噪声强度、噪声图像样本、噪声图;训练后得到的U-Net主干网络,在已知噪声强度的条件下,根据噪声图像中计算出噪声图;生成图片时,用噪声图像减掉噪声图恢复出原图;反向扩散过程的训练目标函数为:
z0=E(x0)
其中,z0是经过压缩编码的原始图像,zt是加噪图像,t是时间步长即加噪次数。ε是独立同分布标准正态随机变量;是目标值,/>是条件时序去噪自编码器的处理结果,E表示数学期望即平均值;U-Net主干网络增加条件输入θ(ot),语言图片模型τθ和条件时序去噪编码器/>是基于LLDM1联合训练的。
ControlNet网络扩展对图像生成进行多条件控制,即除文字条件控制生成图片的同时,还通过包含线稿和深度图的条件控制生成图片;ControlNet网络扩展的组建步骤包括:步骤403克隆预训练模型,步骤404定义输入条件,步骤405训练可训练副本,步骤406合并训练,步骤407合并输出。
步骤403包括:创建上述预训练过的时序去噪编码器的两个副本,其中一个是“锁定”的,不能被修改,而另一个是“可训练”的,可以在特定任务上进行微调。
步骤404包括:定义一组输入条件cf,用以控制整个包含ControlNet网络扩展的扩散网络模型的输出;输入条件包括:颜色方案、对象类别、用户涂鸦、边缘映射、分割映射、pose关键点。
步骤405包括:根据应用场景收集并制作对应的图像数据集,该数据集基于输入条件对可训练副本进行训练。
步骤406包括:合并训练,训练流程与时序去噪编码器训练流程相同;其中,ControlNet网络扩展训练过程中将50%的文本提示随机替换为空字符串;训练的目标函数为:
ct=θ(ot)
其中cf是特定的其他条件,t是时间步长。
步骤406包括:将两个模型副本的输出组合起来,输出最终结果xt。
进一步地,本发明所提供的方法,步骤10中,文本分割器的作用在于合理切割长文本的同时,不破坏语义信息;文本分割器包括:前向LSTM层、后向LSTM层、sigmod激活函数层。
其中,前向LSTM层将输入的第一句分割文本从前往后传递嵌入第一个句子结尾的模式,输出嵌入1;后向LSTM层将输入的第二句分割文本从后往前传递嵌入第二个句子开头的模式,输出嵌入2;将嵌入1和嵌入2连接起来输入sigmod激活函数层,输出结果如果大于0.5则决定分割两个句子,依次读入长文本句子,即可针对长文本进行分割,可分割为t句输出分割后的文本S。
文本分割器通过训练得到,训练过程包括:步骤101创建数据集,步骤102搭建模型结构,步骤103优化模型参数。
步骤101包括:分别创建正例和负例的数据集;正例是应该被分割开的两个句子,句子中间以“\n”分割;负例是应该被合并的两个句子,句子之间没有“\n”;所有正例和负例随机划分训练集和验证集。
步骤102包括:搭建前向LSTM层、后向LSTM层,将输出的嵌入1和嵌入2连接起来;采用sigmoid函数作为激活函数,确定损失函数为: 其中/>是sigmoid函数输出值,代表预测样本是正例的概率,y是样本标签,如果样本属于正例,取值为0,否则取值为1。
步骤103包括:使用梯度下降求解,通过找到求导找到损失函数最快下降的方向,逐渐逼近最优解模型。
进一步地,本发明所提供的方法,步骤20中,故事编码器的作用是将S随机映射到一个低维的向量空间,得到的向量h0不仅包含了S全部的信息,同时还作为文本编码器隐状态的初始值;故事编码器模块包括:词向量嵌入模型;其训练过程包括:步骤201预处理文本数据集,步骤202确定训练参数,步骤203训练并优化模型参数,步骤204获取词向量表示。
步骤201包括:对输入的文本去除所有停顿符号,进行jieba分词,同时生成一个词汇表,每个词统计词频,按照词频从高到低排序,取最频繁的V个词,构成一个词汇表,每个词存在一个one-hot词向量,词向量的维度是V,如果该词在词汇表中出现过,则词向量中词汇表中对应的位置为1,其他位置全为0,如果该词在词汇表中不出现,则词向量为全0;确定词向量的维数N。
步骤202包括:确定窗口大小window,对每个词生成2×window个训练样本;确定batch_size的大小为2×window的整数倍,以确保每个batch包含了一个词汇对应的所有样本,确定负样本数量,默认为5个,创建Embedding矩阵和Context矩阵,设置矩阵行数为词汇表的大小V,列数为词向量的维度N,并进行随机初始化。
步骤203包括:计算输入嵌入与每个上下文嵌入的点积,再用sigmoid函数生成[0,1]的输出。
步骤204包括:使用经多次迭代训练后的文本分割器,得到每个词语的词向量表示,从而获得整个故事文本对应的低维嵌入向量h0。
进一步地,本发明所提供的方法,步骤30中,文本编码器模块包括两层结构:第一层是GRU单元,第二层是Text2Gist单元;文本编码器模块的处理过程为:
ot,ht=Text2Gist(it,ht-1)
GRU单元在第t时间步,将句子st,等距高斯噪声以及第t-1个GRU记忆单元的值gt-1作为输入,并输出向量it和第t个GRU记忆单元的值gt。
Text2Gist单元将向量it与故事语境向量ht作为输入,并输出ot;ot编码了在第t时间步生成图像需要的所有必要信息,ht初始值来为h0,由Text2Gist更新,以反映潜在的语境信息变化,gt的初始状态g0采样自等距高斯分布。
其中Text2Gist详细的更新过程为:
zt=σz(Wzit+Uzht-1+bz)
rt=σr(Writ+Urht-1+br
ht=(1-zt)⊙ht-1+zt⊙σh(Whit+Uh(rt⊙ht-1)+bh)
ot=Filter(it)ht
Filter(·)将向量it转换为多通道过滤器,σz、σr和σh是非线性sigmoid函数,W与U是权重参数,b是偏置参数。⊙表示矩阵乘积。
进一步地,本发明所提供的方法,其特征在于,步骤50中,变分自编码器包括编码器模块和解码器模块;编码器模块用于模型训练阶段,将全尺寸图像在低维潜在空间进行编码;解码器将输入的xt解码,将潜在空间的数据还原,输出全尺寸图像Xt。
存储器,用于存储指令;以及
处理器,用于调用所述存储器存储的指令执行第一方面的方法。
根据本发明的第三方面,提供一种计算机可读存储介质,其特征在于,存储有指令,所述指令被处理器执行时,执行第一方面的方法。
与现有技术相比,本发明所构思的上述技术方案至少具有以下有益效果:
1、图像是根据文本信息实时生成的,而不是根据文本匹配图像库的中的图像,其多元性和可玩性大大增加。
2、大多数文生图工具只能根据一句简单文本prompt生成单张图片,如:一个穿红裙子的小女孩。本方法可根据多句文本,长段文本生成多张对应图片,如:一个穿红裙子的小女孩,开心地在捉蝴蝶,阳光洒在草地上非常美丽,她家的小狗开始呼唤她,原来是妈妈叫她回家吃饭了。模型可以根据以上信息中角色,动作,和场景的变化正确地断句并分别生成图片诠释故事。
3、Conrtrolnet网络的增加,使人物动作,环境等生成可控性大大增加,保证了图像生成对特定对象的安全性。
4、扩散模型作为新的图像生成方案正在逐渐崭露头角,相比于传统的GAN神经网络,它具有更好的稳定性和可控性,并且可以通过最小化凸回归损失来更加有效地解决GAN训练中的鞍点问题。同时,其简单易懂的数学公式也让其在理论上更加具有优势。
本发明最终可使长文本自动生成相应的连续图像,在儿童故事生成儿童绘本的应用中,应用场景如:给一篇儿童故事自动生成相应儿童绘本图片,减轻插画师的工作;也可以实时进行交互,即兴讲述一个儿童故事,该模型可以在讲述的同时读入文本并生成文本相对应的图片辅助儿童理解。可选的扩展网络ControlNet支持控制生成图像中人物动作,环境背景,图像色彩,图像边缘等,在生成儿童绘本时,其可控性大大增加。除此以外,本发明还可应用于剧本分镜头图像生成,短视频配音图像生成等领域。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的基于扩散模型的长文本生成连续图片流程图。
图2是根据一示例性实施例示出的残差网络结构图。
图3是根据一示例性实施例示出的残差网络结构图。
图4是根据一示例性实施例示出的长文本生成图片示例图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
术语解释:
扩散模型(Diffusion model):扩散模型是深度生成模型,扩散模型包括两个过程:正向扩散过程和反向扩散过程,两种过程都是一个参数化的马尔可夫链(Markovchain),其中反向扩散过程可以用来生成数据,也是扩散模型可以用于生成图片的底层原理所在。
交叉注意力机制:交叉注意力机制是一种在一些现代自然语言处理(NLP)任务的架构中使用的机制,如Transformer模型。交叉注意力的思想是使一个序列能够“关注”另一个序列。在许多场景中,这可能很有用,例如在机器翻译中,将输入序列(源语言)的部分与输出序列(目标语言)的部分对齐是有益的。交叉注意力的机制与Transformer模型中使用的自注意力机制非常相似,但是交叉注意力是一个序列关注另一个序列,而不是自己。
RNN循环神经网络:RNN的思想是利用序列化的信息。在传统的神经网络中,我们假设所有输入和输出彼此独立。但对于许多任务而言,这个假设有问题。例如你想预测句子中的下一个单词,就需要知道它前面有哪些单词。之所以被称为循环,因为它对序列列的每个元素执行相同的任务,并且基于先前的计算进行输出。RNN的另一个优点是它具有“记忆”,它可以收集到目前为止已经计算的信息。RNN在许多NLP任务(如语言模型和文本生成)中取得了巨大成功。
U-net网络结构:U-net网络结构与FCN网络结构相似,也是分为下采样阶段和上采样阶段,网络结构中只有卷积层和池化层,没有全连接层,网络中较浅的高分辨率层用来解决像素定位的问题,较深的层用来解决像素分类的问题,从而可以实现图像语义级别的分割。在U-net的结构中,包括捕获一个上下文信息的收缩路径和一个允许精确定位的对称拓展路径。这种方法可以使用非常少的数据完成端到端的训练。U-net最初应用于医学图像分割,在本发明中是扩散模型的主体,用来实现文本引导下的图像生成。
LSTM:全称Long Short Term Memory(长短期记忆)是一种特殊的递归神经网络。这种网络与一般的前馈神经网络不同,LSTM可以利用时间序列对输入进行分析;对于自然语言处理这样的数据时,合理运用t或之前的输入来处理t+n时刻显然可以更加合理的运用输入的信息。
ControlNet网络:ControlNet是一种通过添加额外条件来控制扩散模型的神经网络结构。它提供了一种增强稳定扩散的方法,在文本到图像生成过程中使用额外条件输入,如涂鸦、边缘映射、分割映射、pose关键点等。
Jieba分词:jieba是一个强大的中文分词库,的主要功能是做中文分词,可以进行简单分词、并行分词、命令行分词,当然它的功能不限于此,目前还支持关键词提取、词性标注、词位置查询等。
本发明提出的一种基于扩散模型的长文本生成连续图片的方法,包括:
步骤10:将待处理长文本输入到文本分割器,输出分割语句文本S,共t句。
步骤20:将分割语句文本S输入到故事编码器模块,输出从故事S映射到低维嵌入向量h0。
步骤30:将低维嵌入向量h0输入到文本编码器模块,通过文本编码器在多个时间步的更新,每一时刻t都会输出含有t时刻生成图像所需的所有信息的ot。
步骤40:依次将t时刻生成的ot和随机生成的噪声图片输入到包含ControlNet网络扩展的扩散网络模型中,输出待处理的与长文本对应的低维空间的连续图片xt。
步骤50:将低维空间的连续图片xt输入到变分自编码器的解码器模块,输出全尺寸图像Xt。
步骤10中:文本分割器的作用在于合理切割长文本的同时,不破坏语义信息。
文本分割器包括:前向LSTM层、后向LSTM层、sigmod激活函数层。
前向LSTM层将输入的第一句分割文本从前往后传递嵌入第一个句子结尾的模式,输出嵌入1。
后向LSTM层将输入的第二句分割文本从后往前传递嵌入第二个句子开头的模式,输出嵌入2。
将嵌入1和嵌入2连接起来输入sigmod激活函数层,输出结果是否大于0.5即决定是否分割两个句子,依次读入长文本句子,即可针对长文本进行分割,可分割为t句输出分割后的文本S。
文本分割器通过训练得到,训练过程包括:步骤1创建数据集,步骤2搭建模型结构,步骤3优化模型参数。
步骤1创建数据集包括:分别创建正例和负例的数据集。正例是应该被分割开的两个句子,中间以“\n”分割。负例是应该被合并的两个句子,它们之间没有“\n”。所有正例和负例随机划分训练集和验证集。
步骤2搭建模型结构:搭建前向LSTM层、后向LSTM层。将输出的两个嵌入连接起来。采用sigmoid函数作为激活函数,其输出是模型预测样本是正例的概率,范围为[0,1]。确定损失函数为:/>其中/>是sigmoid函数输出值,y是样本标签,如果样本属于正例,取值为0,否则取值为1。
步骤3优化模型参数:使用梯度下降求解,通过找到求导找到损失函数最快下降的方向,逐渐逼近最优解模型。
步骤20中:故事编码器的作用是将S随机映射到一个低维的向量空间,得到的向量h0不仅包含了S全部的信息,同时还作为文本编码器隐状态的初始值。
故事编码器模块包括:词向量嵌入模型;其训练过程包括:步骤1:构建数据集,步骤2:定义损失函数,步骤3:优化模型参数,步骤4:获取词向量表示。
步骤1:预处理文本数据集:对输入的文本去除所有停顿符号,进行jieba分词。同时生成一个词汇表,每个词统计词频,按照词频从高到低排序,取最频繁的V个词,构成一个词汇表。每个词存在一个one-hot向量,向量的维度是V,如果该词在词汇表中出现过,则向量中词汇表中对应的位置为1,其他位置全为0。如果词汇表中不出现,则向量为全0。确定词向量的维数N。
步骤2:确定训练参数:确定窗口大小window,对每个词生成2*window个训练样本,(i,i-window),(i,i-window+1),...,(i,i+window-1),(i,i+window);确定batch_size,batch_size的大小必须是2*window的整数倍,这确保每个batch包含了一个词汇对应的所有样本。确定负样本数量,默认为5个。创建两个矩阵——Embedding矩阵和Context矩阵,行数=词汇表的大小V,列数=词向量的维度N,并进行随机初始化。
步骤3:训练并优化模型参数:计算输入嵌入与每个上下文嵌入的点积(向量之间的点积),在用sigmoid函数生成[0,1]的输出。
步骤4:获取词向量表示。经过多次迭代训练后,模型可以得到每个词语的向量表示。从而获得整个故事文本的向量表示h0。
步骤30中:文本编码器模块包括:一层标准的GRU单元,另一层是GRU的变体Text2Gist。其更新公式如下所示:
ot,ht=Text2Gist(it,ht-1)
GRU层在时间步t,将句子st,等距高斯噪声以及GRU记忆单元的值gt-1作为输入,并输出向量it和值gt。
Text2Gist单元将向量it与故事语境向量ht作为输入,并输出ot。ot编码了在时间步t需要生成图像的所有必要信息。ht初始值来自故事编码器为h0由Text2Gist更新,以反映潜在的语境信息变化。gt的初始状态g0是采样自等距高斯分布。
其中Text2Gist详细的更新公式如下所示:
zt=σz(Wzit+Uzht-1+bz)
rt=σr(Writ+Urht-1+br
ht=(1-zt)⊙ht-1+zt⊙σh(Whit+Uh(rt⊙ht-1)+bh)
ot=Filter(it)htFilter(·)将向量it转换为多通道过滤器,σz、σr和σh是非线性sigmoid函数,W与U是权重参数,b是偏置参数。表示矩阵乘积。⊙表示矩阵乘积。
步骤40中:包含ControlNet网络扩展的扩散网络模型包括:语言图片信息模型τθ,条件时序去噪编码器,controlnet网络扩展。
语言图片模型τθ将输入的包含图像所有必要信息的ot,进行语言图片信息转换后输出中间表示τθ(ot)。
条件时序去噪编码器将输入的中间表示τθ(ot),通过多头交叉注意力机制映射到U-Net主干网络,从而实现条件控制U-net网络,输出潜在空间内的图片信息xt1。
controlnet网络扩展将输入的一组其他控制条件cf经过可训练副本模型输出图片信息xt2,将输入的xt1的xt2进行组合输出图片信息xt。
以上各模块得出方式如下:
语言图片信息转换模型τθ即通过相似度计算以及梯度下降法等标准神经网络训练流程训练模型得到,包含一个图片编码器Encoder和一个文字编码器Encoder。
条件时序去噪编码器包括多头交叉注意力机制模块、U-net主干网络(由残差网络构成)和采样器。
多头交叉注意力机制模块的输入是τθ(ot),根据嵌入向量得到q,k,v三个向量,再经过计算得到最终输出结果Attention(Q,K,V),其输出传入每一个残差网络模块中,并通过残差链接跳跃至后面对应的残差网络中。其实现公式如下:
这里φi(Zt)是UNet的中间表示,τθ(ot)是通过语言图片转换模型得出的中间表示,W是可训练参数矩阵
U-net主干网络的输入是随机加噪图和噪声强度,输出是减去加噪图上所加的噪声后的图像信息xt1。整个unet是由一系列Resnet残差网络构成的。残差网络每一层的输入都是上一层的交叉注意力层输出的隐变量Attention(Q,K,V)和时间序列向量,隐变量经过卷积变换后和经过全连接投影的时间序列向量做加和,再和经过残差链接的原始隐向量做加和,送入另一个卷积层,得到经残差网络编码变换后的隐变量输出。
调度器是负责整个扩散模型的前向和后向传播的,其输入是模型的中间输出结果和扩散过程正在迭代的样本,输出是返回去噪样本的时间步长。它的主要功能是在根据设定好的数学规则和实践步的数量,在训练和推理阶段进行处理和及时反馈。
整个条件时序去噪编码器是通过正向扩散过程和反向扩散过程进行训练的。训练步骤包括:1.构建数据集,即正向扩散过程。2.训练模型,即反向扩散过程。
为训练过程设计训练样本(数据集),即正向扩散过程。收集一系列相关样本图像,用变分自编码器的编码器压缩至低维空间。正向阶段在样本图像X0上逐步增加噪声,每一步得到的图像Xt只和上一步的结果Xt-1相关,直至第T步的图像XT变为纯高斯噪声。该过程将产生一系列噪声图像样本x1,…,xT。也就是说每一时间步的xd是从一个,以为均值,βd为方差的高斯分布中采样得到的。Βd是方差,是一系列固定的值,且β1<β2<···<βD。增加高斯噪声的过程为马尔科夫过程,满足:
给定αd=1-βd,结合①②即推导出/> ③可对xd进行训练样本采集。
q是指条件分布概率函数,即在已知x0的情况下xd的概率。其中βd是方差;其中βd∈(0,1),d∈[1,D]是一系列固定的值(可设置D=1000,β1=0.0001,βD=0.02)。I是单位矩阵。③N为高斯分布符号(即正态分布),这里表示条件概率服从高斯分布。
反向扩散过程,即训练U-net网络。经过正向扩散扩散过程得到一组训练集包括了三样东西:噪声强度,加噪后的图片,以及噪声图。训练的时U-net在已知噪声强度的条件下,学习如何从加噪后的图片中计算出噪声图。生成图片的时候,用加噪图减掉噪声即可恢复出原图。相应的有文字条件的训练目标函数可以写成如下形式:
其中:
z0=E(x0)
其中输入z0是经过压缩编码的原始图像,zt是加噪图像,t是时间步长即加噪次数。ε是独立同分布标准正态随机变量。是目标值,/>是条件时序去噪自编码器。U-Net增加条件输入τθ(ot),编码器τθ和/>是通过上述公式联合训练的。
controlnet网络扩展可对图像生成进行多条件控制,可对图像生成进行多条件控制,即除文字条件控制生成图片的同时,还可以通过线稿和深度图等条件控制生成图片,可以达到控制生成图像中的人物动作的目的。其组建步骤包括:步骤1克隆预训练模型,步骤2定义输入条件,步骤3训练可训练副本,步骤4合并训练,步骤5合并输出。
步骤1:克隆预训练模型:ControlNet首先创建了上述预训练过的图像扩散模型的两个副本,其中一个是“锁定”的,不能被修改,而另一个是“可训练”的,可以在特定任务上进行微调。ControlNet使用了一种称为“权重共享”的技术,该技术可以将预训练模型的权重复制到两个不同的神经网络中。这样,在微调可训练副本时,锁定副本仍然保留着从预训练中学到的通用知识,并且可以提供更好的初始状态。
步骤2:定义输入条件:ControlNet然后定义了一组输入条件,可以用来控制模型的输出。这些条件可能包括颜色方案、对象类别或其他特定任务参数。该技术可以将输入条件与预训练模型进行连接,并将其作为额外的输入信息传递给神经网络。这样,在微调可训练副本时,神经网络可以根据这些输入条件来调整输出结果,并更好地适应特定任务。
步骤3:训练可训练副本:ControlNet然后使用反向传播和其他标准训练技术,在特定数据集上对可训练副本进行训练。很自然的就是一个标准的神经网络训练流程。同时还需要确定哪些输入条件对于特定任务是最重要的,并将其与预训练模型进行连接。
步骤4:合并训练。训练流程与时序去噪编码器训练流程相同。增加ControlNet网络扩展后,训练过程中将50%的文本提示随机替换为空字符串。这样做的目的是,当没有文字条件时,编码器能从输入的控制条件中获得更多的语义来代替文字条件。其训练的目标函数为:
ct=τθ(ot)
其中ct是文本条件,cf是特定的其他条件,t是时间步长。
步骤5:合并输出:最后,ControlNet将两个模型副本的输出组合起来,产生一个最终结果xt,既包含从原预训练模型中得到的隐变量信息xt1,也包含从副本模型中得到的隐变量信息xt2,从而实现文本条件和其他条件共同控制图像生成的目的。
步骤50中:变分自编码器包括编码器模块和解码器模块。编码器模块用于模型训练阶段,将全尺寸图像在低维潜在空间进行编码,数据在低维空间中进行扩散速度更快,计算负荷更小。解码器将输入xt解码,将潜在空间的数据还原,输出全尺寸图像Xt。
下面结合具体案例进行介绍:
本案例是在儿童绘本生成领域,根据儿童故事文本生成相应的一系列相应故事图画。最终整个模型在完成长文本生成连续图片任务时,如图3所示,其工作流程如下:
1.故事编码器模块story encoder和文本编码器模块context encoder首先对故事进行处理,在进行语句分割的同时,识别任务主体和背景环境的变化。最终生成故事整体信息h0和每一句分割得到的语义信息ot作为下一阶段的输入。
2.用语言图片模型τθ将上一阶段得到的语义信息embedding转化为图片信息embedding,使用concat连接输入扩散模型的每一层输入信息中。
3.U-net输出图像,由于模型训练时所使用图片都经过变分自编码器压缩至低维表示,因此生成图像也是低维的。最终经过变分自编码器还原为全尺寸图像。
4.重复上述过程,即可获得o1至ot句的故事文本对应的图像。所经历数据流状态如图1所示。
本实施例中其生成图片效果图4所示,用于生成图片的儿童故事文本如下:
在一个晴朗的夏日早晨,两位好朋友小明和小红,决定一同前往河边钓鱼。他们背着渔竿,踏上了一段美丽的徒步路程,途中满眼都是绚丽的景色。碧绿的树木掩映下,五光十色的野花点缀着河岸,鸟儿在天空中欢快飞翔,微风拂过,似乎带着鲜花和青草的芬芳。抵达河边后,他们找到了一个宁静的钓鱼点,开始仔细垂钓。金黄的阳光洒在清澈见底的河水上,倒映着天空和树木的倒影。不久,他们钓到了一些美丽的鱼,其中一条鱼闪闪发光,宛如宝石般美丽。这一天,充满了美丽的景色和友情的温馨,成为了他们宝贵的回忆。
本发明最终可使长文本自动生成相应的连续图像,在儿童故事生成儿童绘本的应用中,应用场景如:给一篇儿童故事自动生成相应儿童绘本图片,减轻插画师的工作;也可以实时进行交互,即兴讲述一个儿童故事,该模型可以在讲述的同时读入文本并生成文本相对应的图片辅助儿童理解。可选的扩展网络ControlNet支持控制生成图像中人物动作,环境背景,图像色彩,图像边缘等,在生成儿童绘本时,其可控性大大增加。除此以外,本发明还可应用于剧本分镜头图像生成,短视频配音图像生成等领域。
领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (7)
1.一种基于扩散模型的长文本生成连续图片的方法,其特征在于,包括:
步骤10:将待处理长文本输入到文本分割器,输出包含多个句子的分割语句文本S,包括t个句子;
步骤20:将分割语句文本S输入到故事编码器模块,将分割语句文本S映射为低维嵌入向量h0;
步骤30:将低维嵌入向量h0输入到文本编码器模块,每个时间步对应处理一个句子,通过文本编码器在多个时间步的更新,在t时刻输出该时刻生成图像需要的所有必要信息ot;
步骤40:依次将t时刻生成的ot和随机生成的噪声图片输入到包含ControlNet网络扩展的扩散网络模型中,输出待处理的与长文本对应的低维空间的连续图片xt;
步骤50:将低维空间的连续图片xt输入到变分自编码器的解码器模块,输出全尺寸图像Xt;
在步骤40中,包含ControlNet网络扩展的扩散网络模型包括:语言图片信息模型τθ,条件时序去噪编码器U-Net∈θ,ControlNet网络扩展;
语言图片模型τθ包含一个图片编码器和一个文字编码器,将输入的ot,进行语言图片信息转换后,输出中间表示τθ(ot);
条件时序去噪编码器将输入的中间表示τθ(ot),通过多头交叉注意力机制映射到U-Net主干网络,从而实现条件控制U-Net主干网络,输出潜在空间内的图片信息xt1;
ControlNet网络扩展将一组其他控制条件cf经过可训练副本模型处理得到图片信息xt2,再将输入的xt1与xt2进行组合,输出图片信息xt;
条件时序去噪编码器包括多头交叉注意力机制模块、U-Net主干网络、采样器;
多头交叉注意力机制模块输入τθ(ot),根据嵌入向量得到Q,K,V三个向量,再经过计算得到最终输出隐变量Attention(Q,K,V),其输出传入每一个残差网络模块中,并通过残差链接跳跃至后面对应的残差网络模块中,具体处理过程为:
φi(Zt)是U-Net主干网络的中间表示,τθ(ot)是通过语言图片转换得出的中间表示,可训练参数矩阵
U-net主干网络的输入是随机加噪图和噪声强度,输出是减去加噪图上所加的噪声后的图片信息xt1。U-Net主干网络包括多个Resnet残差网络模块;每一层残差网络模块的输入都是上一层的交叉注意力层输出的隐变量Attention(Q,K,V)和时间序列向量,隐变量经过卷积变换后和经过全连接投影的时间序列向量做加和,再和经过残差链接的原始隐向量做加和,再经卷积层处理得到经残差网络编码变换后的隐变量输出;
采样器是负责条件时序去噪编码器的正向扩散过程和反向扩散过程;
条件时序去噪编码器是通过正向扩散过程和反向扩散过程进行训练的,训练步骤包括:步骤401正向扩散过程,为训练过程采集训练样本数据集,步骤402反向扩散过程,训练U-Net主干网络;
步骤401包括:收集一系列样本图像,用变分自编码器的编码器压缩至低维空间;正向扩散过程在样本图像x0上逐步增加高斯噪声,每一步得到的图像xd只和上一步的结果xd-1相关,直至第D步的图像xD变为纯高斯噪声,该过程将产生一系列噪声图像样本x1,…,xD;每一时间步的xd是从一个,以为均值,βt为方差的高斯分布中采样得到的;Βd是方差,是一系列固定的值,且β1<β2<···<βD;增加高斯噪声的过程为马尔科夫过程,满足:
给定αd=1-βd,结合①②得出/> 用以对xd进行训练样本采集;
q表示条件分布概率函数,即在已知x0的情况下xd的概率,其中βd是方差,其中βd∈(0,1),d∈[1,D]是一系列固定的值,I是单位矩阵,为高斯分布符号,表示条件概率服从高斯分布;
步骤402包括:经过正向扩散扩散过程得到的训练样本集包括:噪声强度、噪声图像样本、噪声图;训练后得到的U-Net主干网络,在已知噪声强度的条件下,根据噪声图像中计算出噪声图;生成图片时,用噪声图像减掉噪声图恢复出原图;反向扩散过程的训练目标函数为:
z0=E(x0)
其中,z0是经过压缩编码的原始图像,zt是加噪图像,t是时间步长即加噪次数。ε是独立同分布标准正态随机变量;∈是目标值,∈θ是条件时序去噪自编码器的处理结果,E表示数学期望即平均值;U-Net主干网络增加条件输入θ(ot),语言图片模型τθ和条件时序去噪编码器U-Net∈θ是基于LLDM1联合训练的;
ControlNet网络扩展对图像生成进行多条件控制,即除文字条件控制生成图片的同时,还通过包含线稿和深度图的条件控制生成图片;ControlNet网络扩展的组建步骤包括:步骤403克隆预训练模型,步骤404定义输入条件,步骤405训练可训练副本,步骤406合并训练,步骤407合并输出;
步骤403包括:创建上述预训练过的时序去噪编码器的两个副本,其中一个是“锁定”的,不能被修改,而另一个是“可训练”的,可以在特定任务上进行微调;
步骤404包括:定义一组输入条件cf,用以控制整个包含ControlNet网络扩展的扩散网络模型的输出;输入条件包括:颜色方案、对象类别、用户涂鸦、边缘映射、分割映射、pose关键点;
步骤405包括:根据应用场景收集并制作对应的图像数据集,该数据集基于输入条件对可训练副本进行训练;
步骤406包括:合并训练,训练流程与时序去噪编码器训练流程相同;其中,ControlNet网络扩展训练过程中将50%的文本提示随机替换为空字符串;训练的目标函数为:
ct=θ(ot)
其中cf是特定的其他条件,t是时间步长;
步骤406包括:将两个模型副本的输出组合起来,输出最终结果xt。
2.根据权利要求1所述的方法,其特征在于,步骤10中,文本分割器的作用在于合理切割长文本的同时,不破坏语义信息;文本分割器包括:前向LSTM层、后向LSTM层、sigmod激活函数层;
其中,前向LSTM层将输入的第一句分割文本从前往后传递嵌入第一个句子结尾的模式,输出嵌入1;后向LSTM层将输入的第二句分割文本从后往前传递嵌入第二个句子开头的模式,输出嵌入2;将嵌入1和嵌入2连接起来输入sigmod激活函数层,输出结果如果大于0.5则决定分割两个句子,依次读入长文本句子,即可针对长文本进行分割,可分割为t句输出分割后的文本S;
文本分割器通过训练得到,训练过程包括:步骤101创建数据集,步骤102搭建模型结构,步骤103优化模型参数;
步骤101包括:分别创建正例和负例的数据集;正例是应该被分割开的两个句子,句子中间以“\n”分割;负例是应该被合并的两个句子,句子之间没有“\n”;所有正例和负例随机划分训练集和验证集。
步骤102包括:搭建前向LSTM层、后向LSTM层,将输出的嵌入1和嵌入2连接起来;采用sigmoid函数作为激活函数,确定损失函数为: 其中/>是sigmoid函数输出值,代表预测样本是正例的概率,y是样本标签,如果样本属于正例,取值为0,否则取值为1;
步骤103包括:使用梯度下降求解,通过找到求导找到损失函数最快下降的方向,逐渐逼近最优解模型。
3.根据权利要求1所述的方法,其特征在于,步骤20中,故事编码器的作用是将S随机映射到一个低维的向量空间,得到的向量h0不仅包含了S全部的信息,同时还作为文本编码器隐状态的初始值;故事编码器模块包括:词向量嵌入模型;其训练过程包括:步骤201预处理文本数据集,步骤202确定训练参数,步骤203训练并优化模型参数,步骤204获取词向量表示;
步骤201包括:对输入的文本去除所有停顿符号,进行jieba分词,同时生成一个词汇表,每个词统计词频,按照词频从高到低排序,取最频繁的V个词,构成一个词汇表,每个词存在一个one-hot词向量,词向量的维度是V,如果该词在词汇表中出现过,则词向量中词汇表中对应的位置为1,其他位置全为0,如果该词在词汇表中不出现,则词向量为全0;确定词向量的维数N;
步骤202包括:确定窗口大小window,对每个词生成2×window个训练样本;确定batch_size的大小为2×window的整数倍,以确保每个batch包含了一个词汇对应的所有样本,确定负样本数量,默认为5个,创建Embedding矩阵和Context矩阵,设置矩阵行数为词汇表的大小V,列数为词向量的维度N,并进行随机初始化;
步骤203包括:计算输入嵌入与每个上下文嵌入的点积,再用sigmoid函数生成[0,1]的输出;
步骤204包括:使用经多次迭代训练后的文本分割器,得到每个词语的词向量表示,从而获得整个故事文本对应的低维嵌入向量h0。
4.根据权利要求1所述的方法,其特征在于,步骤30中,文本编码器模块包括两层结构:第一层是GRU单元,第二层是Text2Gist单元;文本编码器模块的处理过程为:
it,gt=GRU(st,∈t,gt-1)
ot,ht=Text2Gist(it,ht-1)
GRU单元在第t时间步,将句子st,等距高斯噪声∈t,以及第t-1个GRU记忆单元的值gt-1作为输入,并输出向量it和第t个GRU记忆单元的值gt;
Text2Gist单元将向量it与故事语境向量ht作为输入,并输出ot;ot编码了在第t时间步生成图像需要的所有必要信息,ht初始值来为h0,由Text2Gist更新,以反映潜在的语境信息变化,gt的初始状态g0采样自等距高斯分布;
其中Text2Gist详细的更新过程为:
zt=σz(Wzit+Uzht-1+bz)
rt=σr(Writ+Urht-1+br
ht=(1-zt)⊙ht-1+zt⊙σh(Whit+Uh(rt⊙ht-1)+bh)
ot=Filter(it)ht
Filter(·)将向量it转换为多通道过滤器,σz、σr和σh是非线性sigmoid函数,W与U是权重参数,b是偏置参数,⊙表示矩阵乘积。
5.根据权利要求1所述的方法,其特征在于,步骤50中,变分自编码器包括编码器模块和解码器模块;编码器模块用于模型训练阶段,将全尺寸图像在低维潜在空间进行编码;解码器将输入的xt解码,将潜在空间的数据还原,输出全尺寸图像Xt。
6.一种计算机设备,其特征在于,包括:
存储器,用于存储指令;
处理器,用于调用所述存储器存储的指令执行以实现权利要求1-5中任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,存储有指令,所述指令被处理器执行时,执行权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311778730.XA CN117521672A (zh) | 2023-12-22 | 2023-12-22 | 一种基于扩散模型的长文本生成连续图片的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311778730.XA CN117521672A (zh) | 2023-12-22 | 2023-12-22 | 一种基于扩散模型的长文本生成连续图片的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117521672A true CN117521672A (zh) | 2024-02-06 |
Family
ID=89756938
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311778730.XA Pending CN117521672A (zh) | 2023-12-22 | 2023-12-22 | 一种基于扩散模型的长文本生成连续图片的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117521672A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725247A (zh) * | 2024-02-07 | 2024-03-19 | 北京知呱呱科技有限公司 | 一种基于检索及分割增强的扩散图像生成方法及系统 |
CN117880446A (zh) * | 2024-03-12 | 2024-04-12 | 武汉橡皮膜网络科技有限公司 | 一种高连贯性视频合成的稳定扩散模型方法 |
CN117934323A (zh) * | 2024-03-22 | 2024-04-26 | 摩尔线程智能科技(北京)有限责任公司 | 图像生成方法、装置、电子设备及存储介质 |
CN117974693A (zh) * | 2024-04-02 | 2024-05-03 | 腾讯科技(深圳)有限公司 | 图像分割方法、装置、计算机设备和存储介质 |
-
2023
- 2023-12-22 CN CN202311778730.XA patent/CN117521672A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117725247A (zh) * | 2024-02-07 | 2024-03-19 | 北京知呱呱科技有限公司 | 一种基于检索及分割增强的扩散图像生成方法及系统 |
CN117725247B (zh) * | 2024-02-07 | 2024-04-26 | 北京知呱呱科技有限公司 | 一种基于检索及分割增强的扩散图像生成方法及系统 |
CN117880446A (zh) * | 2024-03-12 | 2024-04-12 | 武汉橡皮膜网络科技有限公司 | 一种高连贯性视频合成的稳定扩散模型方法 |
CN117934323A (zh) * | 2024-03-22 | 2024-04-26 | 摩尔线程智能科技(北京)有限责任公司 | 图像生成方法、装置、电子设备及存储介质 |
CN117934323B (zh) * | 2024-03-22 | 2024-06-07 | 摩尔线程智能科技(北京)有限责任公司 | 图像生成方法、装置、电子设备及存储介质 |
CN117974693A (zh) * | 2024-04-02 | 2024-05-03 | 腾讯科技(深圳)有限公司 | 图像分割方法、装置、计算机设备和存储介质 |
CN117974693B (zh) * | 2024-04-02 | 2024-06-25 | 腾讯科技(深圳)有限公司 | 图像分割方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhou et al. | A comprehensive survey on pretrained foundation models: A history from bert to chatgpt | |
US11657230B2 (en) | Referring image segmentation | |
CN117521672A (zh) | 一种基于扩散模型的长文本生成连续图片的方法 | |
CN110427989B (zh) | 汉字骨架自动合成方法及大规模中文字库自动生成方法 | |
CN108416065A (zh) | 基于层级神经网络的图像-句子描述生成系统及方法 | |
CN111260740A (zh) | 一种基于生成对抗网络的文本到图像生成方法 | |
CN112949647B (zh) | 三维场景描述方法、装置、电子设备和存储介质 | |
CN111861945B (zh) | 一种文本引导的图像修复方法和系统 | |
CN110929610A (zh) | 基于cnn模型和迁移学习的植物病害识别方法及系统 | |
CN113140020B (zh) | 一种基于伴随监督生成对抗网络的文本生成图像的方法 | |
CN109977199A (zh) | 一种基于注意力池化机制的阅读理解方法 | |
CN110288029A (zh) | 基于Tri-LSTMs模型的图像描述方法 | |
CN116721334B (zh) | 图像生成模型的训练方法、装置、设备及存储介质 | |
CN117522697A (zh) | 一种人脸图像生成方法、系统及模型训练方法 | |
CN116611496A (zh) | 文本到图像的生成模型优化方法、装置、设备及存储介质 | |
CN117058673A (zh) | 文本生成图像模型训练方法、系统以及文本生成图像方法、系统 | |
Zhang et al. | A survey on multimodal-guided visual content synthesis | |
Sterpu et al. | Can dnns learn to lipread full sentences? | |
CN113869005A (zh) | 一种基于语句相似度的预训练模型方法和系统 | |
CN109034279A (zh) | 手写模型训练方法、手写字识别方法、装置、设备及介质 | |
CN117409109A (zh) | 图像生成方法以及图像生成的数据处理方法 | |
CN111382871A (zh) | 基于数据扩充一致性的领域泛化和领域自适应学习方法 | |
CN115775284A (zh) | 一种分阶段多路径文本生成图像的网络架构方法 | |
Kasi et al. | A deep learning based cross model text to image generation using DC-GAN | |
CN115438210A (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 |