System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及多模态领域、自然语言处理与预训练模型,尤其涉及一种两阶段图像描述生成方法、系统、装置及存储介质。
技术介绍
1、图像描述生成(image captioning)任务属于多模态领域中的视觉描述生成方向,该任务的目标是针对图片生成描述其内容的自然语言文本,是目前多模态研究任务中的基础,可以带动其他多模态任务(视觉对话、视觉问答等)的突破的同时也具有相当的落地应用场景(视障辅助、人机交互、多模检索等)。图像描述生成工作的目标是找到最有效的方式来处理输入的图像,提取出表示图像的特征,然后通过对齐视觉和文本元素特征,在保持语言流畅性的条件下,将视觉特征转换为由一系列单词组成的描述文本。
2、对于该任务而言,主流解决方案分为两大方向:一是单独处理图像、文本两个模态的特征,即使用cnn等目标检测网络提取图像的视觉特征,然后用于lstm、transformer等结构的语言模型中生成文本描述;二是基于transformer架构,扩大模型、数据集规模,统一的处理、对齐图文模态的特征,得到一个预训练的大一统模型,用于解决多个下游任务。虽然现有研究工作在图像描述生成任务上取得了优异的结果,但仍然存在以下缺点:(1)主流的解决方案以编码器-解码器框架为主,存在单解码器生成固有的错误累积和局部最优问题。(2)目前针对两阶段解码器结构模型的研究还以lstm结构为主,其中多模态的特征融合通常较为简单(拼接、相加等),不能充分利用多模态特征的互补性。(3)两阶段模型会使参数增加,带来训练、微调成本的增加,而主流方案中的二阶段解码器往往从
技术实现思路
1、为至少一定程度上解决现有技术中存在的技术问题之一,本专利技术的目的在于提供一种两阶段图像描述生成方法、系统、装置及存储介质。
2、本专利技术所采用的技术方案是:
3、一种两阶段图像描述生成方法,包括以下步骤:
4、s1、获取输入图像i,通过预训练的视觉编码器vit,提取图像的视觉特征v;
5、s2、基于现有主流预训练的单解码器模型,构建为一阶段的草稿解码器,将视觉特征v输入草稿解码器,生成草稿文本描述w1;
6、s3、确定跨模态特征融合模块(cross modality fusion,cmf),并基于跨模态特征融合模块构建二阶段的改错解码器,将视觉特征v和草稿文本描述w1输入改错解码器中,生成最终的文本描述w2;
7、s4、将文本描述w2与输入图像i配对的人工标注参考描述wg进行比较,计算损失函数损失值,进而优化模型整体参数。
8、进一步地,所述步骤s1,具体包括:
9、依次将数据集中的每一张输入图像i,输入进视觉编码器中(预训练的vit-b-32),获得编码器最后一层隐状态的输出其中r为离散特征的数量,dv为离散特征的表示维度;去掉序号为0的代表全局特征的[cls]token,使用剩余的r-1数量特征作为输入图像i提取的视觉特征v。
10、进一步地,所述步骤s2,具体包括:
11、基于主流单解码器模型结构(transformer及其变体),构建一阶段的草稿解码器d1,所述草稿解码器d1包括带掩码的自注意力模块、对视觉的交叉注意力模块、前馈网络模块三个部分;
12、将参考文本序列依次作为草稿解码器d1训练的每一时间步的输入,通过掩码完成自注意力的特征计算,得到隐状态其中n表示参考文本序列的长度,通常在20个词以内;
13、其中,自注意力特征的计算过程如下,其中q、k、v在自注意力中均来自相同输入:
14、fmha(q,k,v)=concat(head1,...,headh)wo (1)
15、headi=fa(qi,ki,vi) (2)
16、
17、qi=qwiq,ki=kwik,vi=vwiv (4)
18、其中,dm是q、k的映射特征维度,dm′是注意力加权结果的特征维度,do是最终输出上下文的特征维度,h是注意力头的数量;
19、将提取的视觉特征v进行线性映射,作为对视觉交叉注意力模块的k、v,而上一步掩码注意力的计算结果作为q,进而得到交叉注意力的结果
20、将输入经过前馈网络之后,得到第三部分的隐状态重复自注意力模块、交叉注意力模块和前馈网络模块三个模块的计算,多层堆叠之后,获得最终草稿解码器的输入隐状态h1;
21、将h1经过线性层映射到单词表维度,再通过softmax获取所有时间步关于单词表中每个token的概率分布
22、对概率分布p1进行采样,选择概率最大位置的token作为一阶段解码器的生成token,最终得到草稿文本描述其中l表示草稿描述的长度。
23、进一步地,所述步骤s3,具体包括:
24、基于跨模态特征融合模块构建二阶段的改错解码器d2;所述改错解码器d2包括输入词嵌入层、带掩码的自注意力模块、跨模态特征融合模块、前馈网络模块以及输出层;
25、将参考文本序列嵌入成文本特征向量之后,先经过带掩码的自注意力模块,得到隐状态其中q、k、v由向量tg分别线性映射获得;
26、将隐状态作为q,将视觉特征v、草稿文本描述w1的嵌入向量分别作为k、v,输入到跨模态特征融合模块中进行计算,获得隐状态输出
27、隐状态输出依次经过前馈网络模块、多层堆叠计算、隐状态输出映射到单词表,获得token的概率分布,对概率分布进行采样,选择概率最大位置的token作为二阶段解码器的生成token,最终得到草稿文本描述其中m表示句子的长度。
28、进一步地,所述跨模态特征融合模块的计算如下:
29、首先是交叉注意力计算,其中针对视觉特征的交叉注意力结果还额外进行了adapter操作:
30、
31、
32、adapter为两层mlp网络,具有gelu非线性激活函数,具体计算步骤如下,其中mlp-ratio=0.25,
33、hin=xwin (7)
34、hout=gelu(hin)wout (8)
35、x′=hout+x (9)
36、其中,x是adapter输入,经过计算和残差连接后得到输出x′;
37、其次是glu门控线性单元激活,需要对v′、t′进行glu激活,保证交叉注意力的结果和输入q密切相关,计算过程如下:
38、
39、
40、其中,[;]表示拼接操作,σ表示sigmoid激活函数,⊙表示按元素相乘;
41、然后是跨模态特征融合模块中的门控计算步骤,计算过程如下公式所示,其中
42、v″′=v″⊙σ([q;本文档来自技高网...
【技术保护点】
1.一种两阶段图像描述生成方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种两阶段图像描述生成方法,其特征在于,所述步骤S1,具体包括:
3.根据权利要求1所述的一种两阶段图像描述生成方法,其特征在于,所述步骤S2,具体包括:
4.根据权利要求1所述的一种两阶段图像描述生成方法,其特征在于,所述步骤S3,具体包括:
5.根据权利要求4所述的一种两阶段图像描述生成方法,其特征在于,所述跨模态特征融合模块的计算如下:
6.根据权利要求1所述的一种两阶段图像描述生成方法,其特征在于,所述步骤S4,具体包括:
7.根据权利要求6所述的一种两阶段图像描述生成方法,其特征在于,所述两阶段图像描述生成方法还包括强化学习的步骤:
8.一种两阶段图像描述生成系统,其特征在于,包括:
9.一种两阶段图像描述生成装置,其特征在于,包括:
10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于执行如权利要求1-7任一项所述方法
...【技术特征摘要】
1.一种两阶段图像描述生成方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种两阶段图像描述生成方法,其特征在于,所述步骤s1,具体包括:
3.根据权利要求1所述的一种两阶段图像描述生成方法,其特征在于,所述步骤s2,具体包括:
4.根据权利要求1所述的一种两阶段图像描述生成方法,其特征在于,所述步骤s3,具体包括:
5.根据权利要求4所述的一种两阶段图像描述生成方法,其特征在于,所述跨模态特征融合模块的计算如下:
6.根据...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。