一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于多模态深度特征融合的视觉问答方法及其模型

2022-04-27 10:30:13 来源:中国专利 TAG:


1.本发明涉及多模态数据融合研究相关的视觉问答领域,具体涉及一种基于多模态深度特征融合的视觉问答方法及其模型,


背景技术:

2.视觉问答是指:给定一张图片和图片相关的问题,视觉问答的目标是结合图片的视觉信息和文本内容,通过对图像和文本进行深度的特征融合处理以获得问题的答案。
3.视觉问答早期研究采用的跨模态交互方法为基于简单的特征组合。比如将词袋模型表示的问题特征与图像的卷积特征直接拼接整合,输入到逻辑回归分类器中;又比如使用哈达玛积的方式对图文特征进行组合。这些基于简单特征组合的模型几乎没有关注参数之间的联系,需要通过后续的网络层对组合操作进行自适应,实际模型表现不佳。
4.后来研究者往往将图像和文本两种模态联合嵌入到公共特征空间得到全局特征,再使用融合模型进行分类预测。比如使用池化方法将高维空间内联合表示的两种特征向量做傅里叶变换实现多模态特征的组合。为了更好获得图像和文本特征的关键信息,减小特征损失,注意力机制被广泛应用于视觉问答模型。比如构建一个堆叠的注意力网络sans用于迭代学习图像特征,加强对图像关键信息的获取;又比如建立线性池化思想与注意力机制结合的深度学习模型,分别计算两种模态的注意力信息用于模态特征的融合。再比如在上述模型基础上进行改进,将双线性池化的步骤细化为扩张和压缩两个阶段,对基础注意力层堆叠计算得到更高阶的信息。然而上述方法主要还是多模态特征的浅层交互,难以对图像和问题关键词之间的深层特征关系进行融合表示和学习推断。
5.综上可见,当前的视觉问答模型因存在易损失关键特征信息、跨模态特征无法密切交互等问题,在实际应用中表现不佳。针对上述关键问题,本发明设计了一种基于多模态深度特征融合的视觉问答模型。


技术实现要素:

6.为了解决当前的视觉问答模型因存在易损失关键特征信息、跨模态特征无法密切交互等问题,本发明公开了一种基于多模态深度特征融合的视觉问答方法。
7.本发明一方面提供了一种基于多模态深度特征融合的视觉问答方法,包括以下步骤:
8.(1)使用卷积神经网络和长短时记忆网络分别获取图像和文本两种模态数据特征,然后利用获取的图像和文本两种模态数据特征进行模态内部和模态间的注意力建模;
9.(2)构建注意力网络并将注意力层串联堆叠,其中两种模态特征相互作为注意力权重学习的参考进行更深度的特征交互;
10.(3)通过多模态融合函数融合注意力加权后的图像信息和文本语义,并将融合特征传入分类器结合答案文本数据预测结果。
11.该模型相较于现有方法具有稳定性好、预测准确率更高、实验硬件环境要求更低
等优点。
12.进一步地,步骤(1)具体包括:图像文本特征抽取,对模型的输入数据进行特征抽取表示,对输入的图像x
in
,使用开源的faster-rcnn模型进行学习训练,得到图像特征它是vqa数据集的图像区域视觉特征的集合,d
x
=2048是输入图像特征的维度;对输入的问题文本y
in
,首先进行文本预处理划分单词,使用开源的glove模型实现基于单词级的输入embedding,然后输入到lstm网络,抽取出问题文本特征dy=512是输入图像特征的维度。
13.sa和ma元注意力单元设计,基于“多头”注意力(multi-head attention)机制,构建了自注意力sa(self-attention)和交互注意力ma(mutual-attention)两类元注意力单元,用于协同注意力网络层的模块化组合,“多头”注意力的计算公式如下所示:
14.multihead(q,k,v)==concat(head1,

,headh)wo[0015][0016]
其原理是在点积注意力的基础上,将各输入向量按“头”的个数等分为h份,对等分后的h份数据分别通过不同的权重映射得到新的q、k、v以计算相应的attention值,计算公式为:
[0017][0018]
将分割计算的结果重新链接,映射到原始的向量维度,得到注意力特征结果;
[0019]
其中z是归一化因子,k、v是注意力宏观理解下的key-value对,此处是神经网络输入的一种模态特征数据,二者等价;神经网络输入的第二种模态特征数据q作为主体接受k、v指导,通过计算与k内积后softmax的结果,得到相似度概率,最后加权求和得到注意力向量。因子起到调节作用,保证分式上方结果不至于太大;
[0020]
在“多头”注意力机制基础上建立sa元注意力单元如图2左。该单元仅使用一种模态x输入后作为attention计算公式的q、k、v,单元通过“多头”注意力层获取self-attention,学习特征集x内成对样本《xi,xj》之间的关系,对所有成对实例相似度的加权求和得到注意力处理后的特征。特征信息随后进入使用relu激活函数的全连接层和一个用于归一化的全连接层,实现特征的空间变换。最终输出得到attention(sa),它是所有xi分别与输入的模态x所有特征之间的相似度重构集合;
[0021]
同理建立ma元注意力单元,ma元注意力单元与sa不同的地方在于,输入使用了x和y两种模态的特征值,模态y的特征数据用于指导模态x的特征注意力学习,其中模态y作为attention计算公式的k和v,模态x作为主体q,ma单元学习特征集x单一元素和特征集y所有元素的成对样本<x,yj>之间的关系,利用y指导x学习,最终输出attention(ma),即输入模态xi与输入的模态y所有样本特征交叉后的相似度重构集合。
[0022]
进一步地,所述步骤(2)具体包括:协同注意力网络层构建,将两种元注意力单元进行模块化组合,得到新的协同注意力网络层,共包含两个sa元注意力单元和两个ma元注意力单元,其实现分三个步骤:
[0023]
sa(text)单元和sa(image)单元并行化处理,分别实现文本与图像内部的自注意力特征建模,有利于单模态内全局信息的捕捉和关键特征的获取。
[0024]
模型模拟人类“先看图像,然后带着图像信息浏览问题”的自然行为:使用ma(text)单元,经自注意力处理后的图像特征作为“指导”提供ma单元所需的k、v向量,自注意力处理后的文本特征作为ma单元所需的q向量,实现协同注意力建模,完成协同注意力网络层的第一次跨模态特征交互;
[0025]
实现协同注意力层内的第二次跨模态特征交互:使用ma(image)单元利用文本特征帮助获取图像关键区域特征信息,此时由第二步协同注意处理后的文本特征提供k、v向量,自注意力处理后的图像特征作为协同注意力单元主体。
[0026]
单个协同注意力网络层输出的结果可以作为新的协同注意力层的输入,将多个注意力层可以串联堆叠,得到最终的深度串联注意力学习网络。协同注意力层(co-attention layer)简写为cal,设模型共有num层,记作cal
num
,第num层可表示为cal
num
,其输入图像特征和问题特征分别表示为x
num-1
,y
num-1
,作为下一个串联cal层的输入,公式表达如下所示:
[0027]
(x
num
,y
num
)=cal
num
(x
num-1
,y
num-1
)
[0028]
对于cal1,其输入图像特征和文本特征分别为x0=x及y0=y。
[0029]
深度串联注意力学习网络的输出为和
[0030]
进一步地,所述步骤(3)具包括:特征融合与分类预测输出,对图像特征x和问题特征y进行协同注意力学习后,输出的图像特征和文本特征各自携带有丰富的图像区域和问题单词的注意力权重信息。使用mlp学习,得到归一化的权重概率,公式如下所示:
[0031][0032][0033]
其中e为自然常数。利用上述归一化的权重概率对特征加权求和得到最终的图像特征x
*
和问题特征y
*
,公式如下所示:
[0034][0035][0036]
然后基于双线性池化(bilinear pooling)的思想,将计算得到的图像特征x
*
和问题特征y
*
使用融合函数进行融合,计算公式如下所示:
[0037][0038]
其中是两个线性投影矩阵,由融合前设置的全连接层的参数设定,d
res
是融合特征res的共同维度,实验设置为1024。layernorm层在输入序列张量的最后
一个维度上求均值和方差,然后对融合特征标准化,计算公式如下:
[0039][0040]
e[x]和var[x]分别为处理数据的期望方差,∈为常量取1e-7。
[0041]
模态特征融合后得到融合特征res,随后进入n-分类器(classifier),建立输入融合特征res和输出预测答案result之间的映射关系,其中n是训练集使用的答案(answer)标签中出现频率较高的标签数量,由深度学习开源库openvqa平台提供。损失函数使用交叉熵损失函数,公式如下所示:
[0042][0043]
n即标签数量,yv是对样本预测的结果标记,pv代表了预测分类结果为第v类的概率
[0044]
本发明另一方面还提供了一种基于多模态深度特征融合的视觉问答模型,包括:
[0045]
图像特征抽取模块,用于使用卷积神经网络和长短时记忆网络分别获取图像和文本两种模态数据特征;
[0046]
与图像特征抽取模块相连的协同注意力网络层,用于利用获取的图像和文本两种模态数据特征进行模态内部和模态间的注意力建模,构建注意力网络并将注意力层串联堆叠,其中两种模态特征相互作为注意力权重学习的参考进行更深度的特征交互;
[0047]
与协同注意力网络层相连的特征融合与分类预测输出模块,用于通过多模态融合函数融合注意力加权后的图像信息和文本语义,并将融合特征传入分类器结合答案文本数据预测结果。
[0048]
进一步地,所述图像特征抽取模块具体用于:对输入的图像x
in
,使用开源的faster-rcnn模型进行学习训练,得到图像特征它是vqa数据集的图像区域视觉特征的集合,d
x
=2048是输入图像特征的维度;对输入的问题文本y
in
,首先进行文本预处理划分单词,使用开源的glove模型实现基于单词级的输入embedding,然后输入到lstm网络,抽取出问题文本特征络,抽取出问题文本特征dy=512是输入图像特征的维度。
[0049]
进一步地,协同注意力网络层通过sa元注意力单元和两个ma元注意力单元通过模块化组合构成;
[0050]
其中,sa元注意力单元和两个ma元注意力单元均基于“多头”注意力机制构建,“多头”注意力的计算公式如下所示:
[0051]
multihead(q,k,v)==concat(head1,

,headh)wo[0052][0053]
其原理是在点积注意力的基础上,将各输入向量按“头”的个数等分为h份,对等分后的h份数据分别通过不同的权重映射得到新的q、k、v以计算相应的attention值,计算公式为:
[0054]
[0055]
将分割计算的结果重新链接,映射到原始的向量维度,得到注意力特征结果;
[0056]
其中z是归一化因子,k、v是注意力宏观理解下的key-value对;神经网络输入的第二种模态特征数据q作为主体接受k、v指导,通过计算与k内积后softmax的结果,得到相似度概率,最后加权求和得到注意力向量;
[0057]
sa元注意力单元仅使用一种模态x输入后作为attention计算公式的q、k、v,单元通过“多头”注意力层获取self-attention,学习特征集x内成对样本<xi,xj>之间的关系,对所有成对实例相似度的加权求和得到注意力处理后的特征,特征信息随后进入使用relu激活函数的全连接层和一个用于归一化的全连接层,实现特征的空间变换,最终输出得到attention(sa),它是所有xi分别与输入的模态x所有特征之间的相似度重构集合;
[0058]
ma元注意力单元输入使用了x和y两种模态的特征值,模态y的特征数据用于指导模态x的特征注意力学习,其中模态y作为attention计算公式的k和v,模态x作为主体q,ma单元学习特征集x单一元素和特征集y所有元素的成对样本<x,yj>之间的关系,利用y指导x学习,最终输出attention(ma),即输入模态xi与输入的模态y所有样本特征交叉后的相似度重构集合;
[0059]
其中sa元注意力单元和两个ma元注意力单元通过模块化组合步骤包括:
[0060]
模型模拟人类“先看图像,然后带着图像信息浏览问题”的自然行为:使用ma(text)单元,经自注意力处理后的图像特征作为“指导”提供ma单元所需的k、v向量,自注意力处理后的文本特征作为ma单元所需的q向量,实现协同注意力建模,完成协同注意力网络层的第一次跨模态特征交互;
[0061]
实现协同注意力层内的第二次跨模态特征交互:使用ma(image)单元利用文本特征帮助获取图像关键区域特征信息,此时由第二步协同注意处理后的文本特征提供k、v向量,自注意力处理后的图像特征作为协同注意力单元主体;
[0062]
单个协同注意力网络层输出的结果可以作为新的协同注意力层的输入,将多个注意力层可以串联堆叠,得到最终的深度串联注意力学习网络,协同注意力层(co-attention layer)简写为cal,设模型共有num层,记作cal
num
,第num层可表示为cal
num
,其输入图像特征和问题特征分别表示为x
num-1
,y
num-1
,作为下一个串联cal层的输入,公式表达如下所示:
[0063]
(x
num
,y
num
)=cal
num
(x
num-1
,y
num-1
)
[0064]
对于cal1,其输入图像特征和文本特征分别为x0=x及y0=y,深度串联注意力学习网络的输出为和
[0065]
进一步地,特征融合与分类预测输出模块具体用于对图像特征x和问题特征y进行协同注意力学习后,输出的图像特征和文本特征和文本特征各自携带有丰富的图像区域和问题单词的注意力权重信息,使用mlp学习,得到归一化的权重概率,公式如下所示:
[0066][0067][0068]
其中e为自然常数。利用上述归一化的权重概率对特征加权求和得到最终的图像
特征x
*
和问题特征y
*
,公式如下所示:
[0069][0070][0071]
然后基于双线性池化(bilinear pooling)的思想,将计算得到的图像特征x
*
和问题特征y
*
使用融合函数进行融合,计算公式如下所示:
[0072][0073]
其中是两个线性投影矩阵,由融合前设置的全连接层的参数设定,d
res
是融合特征res的共同维度,实验设置为1024。layernorm层在输入序列张量的最后一个维度上求均值和方差,然后对融合特征标准化,计算公式如下:
[0074][0075]
e[x]和var[x]分别为处理数据的期望方差,∈为常量取1e-7;
[0076]
模态特征融合后得到由包含图像与问题文本相关信息的融合特征res,随后模型接入n-分类器(classifier),建立输入融合特征res和输出预测答案result之间的映射关系,其中n是训练集使用的答案(answer)标签中出现频率较高的标签数量,由深度学习开源库openvqa平台提供;损失函数使用交叉熵损失函数,公式如下所示:
[0077][0078]
n即标签数量,yv是对样本预测的结果标记,pv代表了预测分类结果为第v类的概率。
[0079]
该模型针对当前视觉问答模型容易损失关键特征信息、跨模态特征无法密切交互两大问题,提出了一种多模态深度特征融合的视觉问答模型cdi-vqa。
[0080]
与现有技术相比,本发明的有益效果在于:
[0081]
一、本发明使用从图像和文本数据中抽取的特征进行模态内部及模态之间的注意力建模,有利于单模态内全局信息的捕捉和关键特征的获取;有利于跨模态特征之间进行密切地交互;
[0082]
二、本发明较现有技术实现了多模态特征之间的密切交互,三步实现步骤包括两次跨模态交互,模拟了人对图像问题的思考方式,图像特征与文本特征各自指导了对方的注意力权重学习,实现了真正意义上的深度特征融合。
[0083]
三、方法模型将多个协同注意力层串联堆叠,上一个协同注意力层的输出作为下一协同注意力层的输入,提高了预测准确率,提升了模型的性能。
[0084]
下面结合附图和具体实施方式对本发明做进一步的说明。本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了
解到。
附图说明
[0085]
构成本发明的一部分的附图用来辅助对本发明的理解,附图中所提供的内容及其在本发明中有关的说明可用于解释本发明,但不构成对本发明的不当限定。在附图中:
[0086]
图1为本发明一种基于多模态深度特征融合的视觉问答模型的结构图。
[0087]
图2为基于“多头”注意力机制的元注意力单元结构图。
[0088]
图3为基于sa和ma单元组合建立的协同注意力网络层结构图。
[0089]
图4为在不同协同注意力层数的条件下对本发明一种基于多模态深度特征融合的视觉问答模型性能影响结果示意图。
具体实施方式
[0090]
下面结合附图对本发明进行清楚、完整的说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。在结合附图对本发明进行说明前,需要特别指出的是:
[0091]
本发明中在包括下述说明在内的各部分中所提供的技术方案和技术特征,在不冲突的情况下,这些技术方案和技术特征可以相互组合。
[0092]
此外,下述说明中涉及到的本发明的实施例通常仅是本发明一部分的实施例,而不是全部的实施例。因此,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0093]
术语“mlp”指的是多层神经网络。
[0094]
本发明一方面提供了一种基于多模态深度特征融合的视觉问答方法,包括以下步骤:
[0095]
(1)使用卷积神经网络和长短时记忆网络分别获取图像和文本两种模态数据特征,然后利用获取的图像和文本两种模态数据特征进行模态内部和模态间的注意力建模;
[0096]
(2)构建注意力网络并将注意力层串联堆叠,其中两种模态特征相互作为注意力权重学习的参考进行更深度的特征交互;
[0097]
(3)通过多模态融合函数融合注意力加权后的图像信息和文本语义,并将融合特征传入分类器结合答案文本数据预测结果。
[0098]
该模型相较于现有方法具有稳定性好、预测准确率更高、实验硬件环境要求更低等优点。
[0099]
步骤(1)具体包括:图像文本特征抽取,对模型的输入数据进行特征抽取表示,对输入的图像x
in
,使用开源的faster-rcnn模型进行学习训练,得到图像特征它是vqa数据集的图像区域视觉特征的集合,d
x
=2048是输入图像特征的维度;对输入的问题文本y
in
,首先进行文本预处理划分单词,使用开源的glove模型实现基于单词级的输入embedding,然后输入到lstm网络,抽取出问题文本特征dy=512是输入图像特征的维度。。
[0100]
sa和ma元注意力单元设计,基于“多头”注意力(multi-head attention)机制,构建了自注意力sa(self-attention)和交互注意力ma(mutual-attention)两类元注意力单
元,用于协同注意力网络层的模块化组合,“多头”注意力的计算公式如下所示:
[0101]
multihead(q,k,v)==concat(head1,

,headh)wo[0102][0103]
其原理是在点积注意力的基础上,将各输入向量按“头”的个数等分为h份,对等分后的h份数据分别通过不同的权重映射得到新的q、k、v以计算相应的attention值,计算公式为:
[0104][0105]
将分割计算的结果重新链接,映射到原始的向量维度,得到注意力特征结果;
[0106]
其中z是归一化因子,k、v是注意力宏观理解下的key-value对,此处是神经网络输入的一种模态特征数据,二者等价;神经网络输入的第二种模态特征数据q作为主体接受k、v指导,通过计算与k内积后softmax的结果,得到相似度概率,最后加权求和得到注意力向量。因子起到调节作用,保证分式上方结果不至于太大;
[0107]
在“多头”注意力机制基础上建立sa元注意力单元如图2左。该单元仅使用一种模态x输入后作为attention计算公式的q、k、v,单元通过“多头”注意力层获取self-attention,学习特征集x内成对样本<xi,xj>之间的关系,对所有成对实例相似度的加权求和得到注意力处理后的特征。特征信息随后进入使用relu激活函数的全连接层和一个用于归一化的全连接层,实现特征的空间变换。最终输出得到attention(sa),它是所有xi分别与输入的模态x所有特征之间的相似度重构集合;
[0108]
同理建立ma元注意力单元,ma元注意力单元与sa不同的地方在于,输入使用了x和y两种模态的特征值,模态y的特征数据用于指导模态x的特征注意力学习,其中模态y作为attention计算公式的k和v,模态x作为主体q,ma单元学习特征集x单一元素和特征集y所有元素的成对样本<x,yj>之间的关系,利用y指导x学习,最终输出attention(ma),即输入模态xi与输入的模态y所有样本特征交叉后的相似度重构集合。
[0109]
所述步骤(2)具体包括:协同注意力网络层构建,将两种元注意力单元进行模块化组合,得到新的协同注意力网络层如图3,共包含两个sa元注意力单元和两个ma元注意力单元,其实现分三个步骤:
[0110]
sa(text)单元和sa(image)单元并行化处理,分别实现文本与图像内部的自注意力特征建模,有利于单模态内全局信息的捕捉和关键特征的获取。
[0111]
模型模拟人类“先看图像,然后带着图像信息浏览问题”的自然行为:使用ma(text)单元,经自注意力处理后的图像特征作为“指导”提供ma单元所需的k、v向量,自注意力处理后的文本特征作为ma单元所需的q向量,实现协同注意力建模,完成协同注意力网络层的第一次跨模态特征交互;
[0112]
实现协同注意力层内的第二次跨模态特征交互:使用ma(image)单元利用文本特征帮助获取图像关键区域特征信息,此时由第二步协同注意处理后的文本特征提供k、v向量,自注意力处理后的图像特征作为协同注意力单元主体。
[0113]
单个协同注意力网络层输出的结果可以作为新的协同注意力层的输入,将多个注
意力层可以串联堆叠,得到最终的深度串联注意力学习网络,协同注意力层(co-attention layer)简写为cal,设模型共有num层,记作cal
num
,第num层可表示为cal
num
,其输入图像特征和问题特征分别表示为x
num-1
,y
num-1
,作为下一个串联cal层的输入,公式表达如下所示:
[0114]
(x
num
,y
num
)=cal
num
(x
num-1
,y
num-1
)
[0115]
对于cal1,其输入图像特征和文本特征分别为x0=x及y0=y,
[0116]
深度串联注意力学习网络的输出为和
[0117]
进一步地,所述步骤(3)具包括:特征融合与分类预测输出,对图像特征x和问题特征y进行协同注意力学习后,输出的图像特征和文本特征各自携带有丰富的图像区域和问题单词的注意力权重信息,使用mlp学习,得到归一化的权重概率,公式如下所示:
[0118][0119][0120]
其中e为自然常数。利用上述归一化的权重概率对特征加权求和得到最终的图像特征x
*
和问题特征y
*
,公式如下所示:
[0121][0122][0123]
然后基于双线性池化(bilinear pooling)的思想,将计算得到的图像特征x
*
和问题特征y
*
使用融合函数进行融合,计算公式如下所示:
[0124][0125]
其中是两个线性投影矩阵,由融合前设置的全连接层的参数设定,d
res
是融合特征res的共同维度,实验设置为1024。layernorm层在输入序列张量的最后一个维度上求均值和方差,然后对融合特征标准化,计算公式如下:
[0126][0127]
e[x]和var[x]分别为处理数据的期望方差,∈为常量取1e-7;
[0128]
模态特征融合后得到由包含图像与问题文本相关信息的融合特征res,随后模型接入n-分类器(classifier),建立输入融合特征res和输出预测答案result之间的映射关系,其中n是训练集使用的答案(answer)标签中出现频率较高的标签数量,由深度学习开源库openvqa平台提供;损失函数使用交叉熵损失函数,公式如下所示:
[0129][0130]
n即标签数量,yv是对样本预测的结果标记,pv代表了预测分类结果为第v类的概率。
[0131]
本发明另一方面还提供了一种基于多模态深度特征融合的视觉问答模型,包括:
[0132]
图像特征抽取模块,用于使用卷积神经网络和长短时记忆网络分别获取图像和文本两种模态数据特征;
[0133]
与图像特征抽取模块相连的协同注意力网络层,用于利用获取的图像和文本两种模态数据特征进行模态内部和模态间的注意力建模,构建注意力网络并将注意力层串联堆叠,其中两种模态特征相互作为注意力权重学习的参考进行更深度的特征交互;
[0134]
与协同注意力网络层相连的特征融合与分类预测输出模块,用于通过多模态融合函数融合注意力加权后的图像信息和文本语义,并将融合特征传入分类器结合答案文本数据预测结果。
[0135]
所述图像特征抽取模块具体用于:对输入的图像x
in
,使用开源的faster-rcnn模型进行学习训练,得到图像特征它是vqa数据集的图像区域视觉特征的集合,d
x
=2048是输入图像特征的维度;对输入的问题文本y
in
,首先进行文本预处理划分单词,使用开源的glove模型实现基于单词级的输入embedding,然后输入到lstm网络,抽取出问题文本特征本特征dy=512是输入图像特征的维度。
[0136]
协同注意力网络层通过sa元注意力单元和两个ma元注意力单元通过模块化组合构成;
[0137]
其中,sa元注意力单元和两个ma元注意力单元均基于“多头”注意力机制构建,“多头”注意力的计算公式如下所示:
[0138]
multihead(q,k,v)==concat(head1,

,headh)wo[0139][0140]
其原理是在点积注意力的基础上,将各输入向量按“头”的个数等分为h份,对等分后的h份数据分别通过不同的权重映射得到新的q、k、v以计算相应的attention值,计算公式为:
[0141][0142]
将分割计算的结果重新链接,映射到原始的向量维度,得到注意力特征结果;
[0143]
其中z是归一化因子,k、v是注意力宏观理解下的key-value对;神经网络输入的第二种模态特征数据q作为主体接受k、v指导,通过计算与k内积后softmax的结果,得到相似度概率,最后加权求和得到注意力向量;
[0144]
sa元注意力单元仅使用一种模态x输入后作为attention计算公式的q、k、v,单元通过“多头”注意力层获取self-attention,学习特征集x内成对样本<xi,xj>之间的关系,对所有成对实例相似度的加权求和得到注意力处理后的特征,特征信息随后进入使用relu
激活函数的全连接层和一个用于归一化的全连接层,实现特征的空间变换,最终输出得到attention(sa),它是所有xi分别与输入的模态x所有特征之间的相似度重构集合;
[0145]
ma元注意力单元输入使用了x和y两种模态的特征值,模态y的特征数据用于指导模态x的特征注意力学习,其中模态y作为attention计算公式的k和v,模态x作为主体q,ma单元学习特征集x单一元素和特征集y所有元素的成对样本<x,yj>之间的关系,利用y指导x学习,最终输出attention(ma),即输入模态xi与输入的模态y所有样本特征交叉后的相似度重构集合;
[0146]
其中sa元注意力单元和两个ma元注意力单元通过模块化组合步骤包括:
[0147]
模型模拟人类“先看图像,然后带着图像信息浏览问题”的自然行为:使用ma(text)单元,经自注意力处理后的图像特征作为“指导”提供ma单元所需的k、v向量,自注意力处理后的文本特征作为ma单元所需的q向量,实现协同注意力建模,完成协同注意力网络层的第一次跨模态特征交互;
[0148]
实现协同注意力层内的第二次跨模态特征交互:使用ma(image)单元利用文本特征帮助获取图像关键区域特征信息,此时由第二步协同注意处理后的文本特征提供k、v向量,自注意力处理后的图像特征作为协同注意力单元主体;
[0149]
单个协同注意力网络层输出的结果可以作为新的协同注意力层的输入,将多个注意力层可以串联堆叠,得到最终的深度串联注意力学习网络,协同注意力层(co-attention layer)简写为cal,设模型共有num层,记作cal
num
,第num层可表示为cal
num
,其输入图像特征和问题特征分别表示为x
num-1
,y
num-1
,作为下一个串联cal层的输入,公式表达如下所示:
[0150]
(x
num
,y
num
)=cal
num
(x
num-1
,y
num-1
)
[0151]
对于cal1,其输入图像特征和文本特征分别为x0=x及y0=y,深度串联注意力学习网络的输出为和
[0152]
进一步地,特征融合与分类预测输出模块具体用于对图像特征x和问题特征y进行协同注意力学习后,输出的图像特征和文本特征和文本特征各自携带有丰富的图像区域和问题单词的注意力权重信息,使用mlp学习,得到归一化的权重概率,公式如下所示:
[0153][0154][0155]
其中e为自然常数。利用上述归一化的权重概率对特征加权求和得到最终的图像特征x
*
和问题特征y
*
,公式如下所示:
[0156]
[0157][0158]
然后基于双线性池化(bilinearpooling)的思想,将计算得到的图像特征x
*
和问题特征y
*
使用融合函数进行融合,计算公式如下所示:
[0159][0160]
其中是两个线性投影矩阵,由融合前设置的全连接层的参数设定,d
res
是融合特征res的共同维度,实验设置为1024。layernorm层在输入序列张量的最后一个维度上求均值和方差,然后对融合特征标准化,计算公式如下:
[0161][0162]
e[x]和var[x]分别为处理数据的期望方差,∈为常量取1e-7;
[0163]
模态特征融合后得到由包含图像与问题文本相关信息的融合特征res,随后模型接入n-分类器(classifier),建立输入融合特征res和输出预测答案result之间的映射关系,其中n是训练集使用的答案(answer)标签中出现频率较高的标签数量,由深度学习开源库openvqa平台提供;损失函数使用交叉熵损失函数,公式如下所示:
[0164][0165]
n即标签数量,yv是对样本预测的结果标记,pv代表了预测分类结果为第v类的概率。
[0166]
方法针对当前视觉问答模型容易损失关键特征信息、跨模态特征无法密切交互两大问题,提出了一种多模态深度特征融合的视觉问答模型cdi-vqa。
[0167]
本发明一种基于多模态深度特征融合的视觉问答模型结构如图1所示,包括图像特征抽取模块,用于使用卷积神经网络和长短时记忆网络分别获取图像和文本两种模态数据特征;
[0168]
与图像特征抽取模块相连的协同注意力网络层,用于利用获取的图像和文本两种模态数据特征进行模态内部和模态间的注意力建模,构建注意力网络并将注意力层串联堆叠,其中两种模态特征相互作为注意力权重学习的参考进行更深度的特征交互;
[0169]
与协同注意力网络层相连的特征融合与分类预测输出模块,用于通过多模态融合函数融合注意力加权后的图像信息和文本语义,并将融合特征传入分类器结合答案文本数据预测结果。
[0170]
其中:
[0171]
图像文本特征抽取,对模型的输入数据进行特征抽取表示。对输入的图像x
in
,使用开源的faster-rcnn模型进行学习训练,得到图像特征它是vqa数据集的图像区域视觉特征的集合,d
x
=2048是输入图像特征的维度;对输入的问题文本y
in
,首先进行文本预处理划分单词,使用开源的glove模型实现基于单词级的输入embedding,然后输入到
lstm网络,抽取出问题文本特征dy=512是输入图像特征的维度。
[0172]
sa和ma元注意力单元设计,基于“多头”注意力(multi-head attention)机制,构建了自注意力sa(self-attention)和交互注意力ma(mutual-attention)两类元注意力单元,用于协同注意力网络层的模块化组合。“多头”注意力的计算公式如下所示:
[0173]
multihead(q,k,v)==concat(head1,

,headh)wo[0174][0175]
其原理是在点积注意力的基础上,将各输入向量按“头”的个数等分为h份,对等分后的h份数据分别通过不同的权重映射得到新的q、k、v以计算相应的attention值,计算公式为:
[0176][0177]
将分割计算的结果重新链接,映射到原始的向量维度,得到注意力特征结果。
[0178]
其中z是归一化因子,k、v是注意力宏观理解下的key-value对,此处是神经网络输入的一种模态特征数据,二者等价;神经网络输入的第二种模态特征数据q作为主体接受k、v指导,通过计算与k内积后softmax的结果,得到相似度概率,最后加权求和得到注意力向量。因子起到调节作用,保证分式上方结果不至于太大。
[0179]
在“多头”注意力机制基础上建立sa元注意力单元如图2左。该单元仅使用一种模态x输入后作为attention计算公式的q、k、v。单元通过“多头”注意力层获取self-attention,学习特征集x内成对样本<xi,xj>之间的关系,对所有成对实例相似度的加权求和得到注意力处理后的特征。特征信息随后进入使用relu激活函数的全连接层和一个用于归一化的全连接层,实现特征的空间变换。最终输出得到attention(sa),它是所有xi分别与输入的模态x所有特征之间的相似度重构集合。
[0180]
同理建立ma元注意力单元如图2右边,该单元与sa不同的地方在于,输入使用了x和y两种模态的特征值,模态y的特征数据用于指导模态x的特征注意力学习,其中模态y作为attention计算公式的k和v,模态x作为主体q,ma单元学习特征集x单一元素和特征集y所有元素的成对样本<x,yj>之间的关系,利用y指导x学习,最终输出attention(ma),即输入模态xi与输入的模态y所有样本特征交叉后的相似度重构集合。
[0181]
协同注意力网络层构建,将两种元注意力单元进行模块化组合,得到新的协同注意力网络层如图3,共包含两个sa元注意力单元和两个ma元注意力单元,其实现分三个步骤:
[0182]
sa(text)单元和sa(image)单元并行化处理,分别实现文本与图像内部的自注意力特征建模,有利于单模态内全局信息的捕捉和关键特征的获取。
[0183]
模型模拟人类“先看图像,然后带着图像信息浏览问题”的自然行为:使用ma(text)单元,经自注意力处理后的图像特征作为“指导”提供ma单元所需的k、v向量,自注意力处理后的文本特征作为ma单元所需的q向量,实现协同注意力建模,完成协同注意力网络层的第一次跨模态特征交互。
[0184]
实现协同注意力层内的第二次跨模态特征交互:使用ma(image)单元利用文本特
征帮助获取图像关键区域特征信息,此时由第二步协同注意处理后的文本特征提供k、v向量,自注意力处理后的图像特征作为协同注意力单元主体。
[0185]
单个协同注意力网络层输出的结果可以作为新的协同注意力层的输入,将多个注意力层可以串联堆叠,得到最终的深度串联注意力学习网络。协同注意力层(co-attention layer)简写为cal,设模型共有num层,记作cal
num
,第num层可表示为cal
num
,其输入图像特征和问题特征分别表示为x
num-1
,y
num-1
,作为下一个串联cal层的输入,公式表达如下所示:
[0186]
(x
num
,y
num
)=cal
num
(x
num-1
,y
num-1
)
[0187]
对于cal1,其输入图像特征和文本特征分别为x0=x及y0=y,深度串联注意力学习网络的输出为和
[0188]
特征融合与分类预测输出,图像特征x和问题特征y进行协同注意力学习后,输出的图像特征和文本特征各自携带有丰富的图像区域和问题单词的注意力权重信息,使用mlp学习,得到归一化的权重概率,公式如下所示:
[0189][0190][0191]
其中e为自然常数。利用上述归一化的权重概率对特征加权求和得到最终的图像特征x
*
和问题特征y
*
,公式如下所示:
[0192][0193][0194]
然后基于双线性池化(bilinear pooling)的思想,将计算得到的图像特征x
*
和问题特征y
*
使用融合函数进行融合,计算公式如下所示:
[0195][0196]
其中是两个线性投影矩阵,由融合前设置的全连接层的参数设定,d
res
是融合特征res的共同维度,实验设置为1024。layernorm层在输入序列张量的最后一个维度上求均值和方差,然后对融合特征标准化,计算公式如下:
[0197][0198]
e[x]和var[x]分别为处理数据的期望方差,∈为常量取1e-7。
[0199]
模态特征融合后得到由包含图像与问题文本相关信息的融合特征res,随后模型接入n-分类器(classifier),建立输入融合特征res和输出预测答案result之间的映射关系,其中n是训练集使用的答案(answer)标签中出现频率较高的标签数量,由深度学习开源库openvqa平台提供;损失函数使用交叉熵损失函数,公式如下所示:
[0200][0201]
n即标签数量,yv是对样本预测的结果标记,pv代表了预测分类结果为第v类的概率。
[0202]
以下通过仿真实验对本发明一种基于多模态深度特征融合的视觉问答方法及其模型作进一步说明:
[0203]
为了验证本发明一种基于多模态深度特征融合的视觉问答方法及其模型的有效性,进行了基于vqa-v2.0数据集的模型实验和分析评估。采用pytorch1.8-cuda10-gpu-vnc作为深度学习模型的框架。实验硬件环境为:cpu共4core,运行内存8gb,gpu共1core,类型为titan_v,存储内存大小256gb。此外,将本发明与以下两种现有技术中的模型进行比较,以下两种现有技术如下:
[0204]
mfb模型:在基本的多模态双线性池化方法的基础上,增加了协同注意力机制,分别学习文本注意力和图像注意力。
[0205]
mfh模型:是mfb模型的改进,将原操作细化成扩张和压缩两个阶段,通过基础注意力层的堆叠计算得到更高阶的信息。
[0206]
模型使用vqav2.0数据集,该数据集是视觉问答任务中使用最为广泛的数据集。实验使用的数据分为两个部分:443757个训练问题对应4437570个训练答案;214354个测试问题对应2143540个测试答案。
[0207]
数据集中每个问题包含10个参考答案,出现次数最多的答案被确认为标准答案。只需将cdi-vqa模型预测得到的问题答案与标准答案进行对比,并将模型所有问题的预测结果进行总结,就能计算得到模型的评价指标:准确率(accuracy,简称acc)。由于vqav2.0数据集的问题种类超过了20种,模型对不同类型问题预测正确答案的难易程度是不同的,因此方法模型针对性地选出若干种具有代表性的问题的类型,分别计算这些类型的问题通过深度学习预测的回答与它们的标准答案之间的准确率的关系。将答案类型中的“是/否”(yes/no)和“数字”(number)分别作为一类,将其它类型的答案归为“其他”(other)一类,共同参与学习结果的评估。模型性能评估所使用的评价指标就是上述的不同类型的准确率,如表1所示:
[0208]
表1
[0209][0210]
实验一:
[0211]
实验基于深度注意力网络中的协同注意力层数num对方法模型的性能影响进行了对比分析。具体方法为:通过num取不同的值,得到的不同模型的准确率结果如表2所示:
[0212]
表2
[0213][0214]
针对不同问题分别绘制出折线图如图4所示。图4(a)为层数对模型处理所有类型(all)问题的准确率,图4(b)为层数对模型处理other类型问题的准确率,图4(c)为层数对模型处理yes/no类型问题的准确率,图4(d)为层数对模型处理number类型问题的准确率。
[0215]
对于所有问题的平均准确率综合反映了模型的准确性能。num从2开始上升,模型输出准确率上升,在num=4、5、6时准确率饱和;num》6后,协同注意力层数过多,准确率下降,模型性能下降。
[0216]
层数num对方法模型处理other类型问题的平均准确率的影响与处理所有问题的影响类似,表明了选取问题的合理性。
[0217]
层数num对方法模型处理yes/no类型问题的平均准确率的影响不大:num改变模型对应输出的准确率较稳定。
[0218]
对于number类型问题,随着层数num,输出准确率同样随着num的上升提高,当num》6后如果再次提高层数,模型对应输出的准确率会下降。
[0219]
num取值对模型的批处理速度的影响为:随着num的提升,模型处理单个batch所花的时间不断增大(speed(s/batch))。
[0220]
实验二:
[0221]
通过实验一的对比分析,发现num取值为4、5、6时都获得了表现更佳的准确率结果。因此将num={4,5,6}对应的三种cdi-vqa模型与基线模型:mfb模型和mfh模型在相同的部署环境和设备条件下进行了比较。实验结果如表3所示:
[0222]
表3
[0223][0224]
从表3结果表明,本方法模型(s2m2a)准确率高于其它两种基线模型,性能更优。
[0225]
综上,本方法模型相较于现有方法在模型处理各类问题的准确率上持有更高的准确率,模型性能更优。
[0226]
以上对本发明的有关内容进行了说明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。基于本发明的上述内容,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献