基于层次多任务学习的示意图问答方法

文档序号:28272136发布日期:2021-12-31 19:59阅读:182来源:国知局
基于层次多任务学习的示意图问答方法

1.本发明涉及图像问答技术领域,尤其涉及基于层次多任务学习的示意图问答方法。


背景技术:

2.近年来,随着深度学习和计算机视觉领域的不断发展,计算机对自然图像的理解能力已经有了极大的进展,比如在视觉问答领域,目前的方法已经能够达到比较高的精度。然而计算机对于示意图的语义理解,比如在示意图问答任务上,却难以达到比较好的效果。示意图问答任务要求计算机理解示意图中的语义知识,并根据这些知识从多个候选答案中推断出正确答案。示意图问答可以被认为是对图示语义的智能推理的一种评价任务,非常具有挑战性。首先示意图是一种用于说明的重要媒体形式,在教科书、幻灯片、文档等中被广泛使用。而自然图像很难起到相同的作用。与自然图像不同,示意图具有高度结构化的语义信息,比如箭头表示着某种联系。其次视觉上相似的结构在不同示意图中可能具有差别极大的语义。这些导致应用于自然图像的问答方法难以应用于示意图。
3.为了回答和示意图相关的问题,现有的方法一般将问答分为两个独立的阶段,解析图模块先识别成分,然后再对成分两两配对分类生成结构图。问答模块根据结构图生成事实和问题、备选项选择出可能性最大选项。这类方法在生成图和问题推理之间没有反馈,解析的结构图的精度只依赖于训练集的图像信息,而问答模块则根据生成的结构图,选择出正确答案。在训练时,结构解析的错误会导致问答模块的误差十分大,但这个误差仅用于优化问答模块,并不反向传播到解析模块。这样的两阶段模块无法相互反馈,自然也无法保证找到问题的全局最优解。示意图常常出现在资料、文档中,包含丰富的知识和结构化信息,比自然图像更加复杂,所以普通的视觉问答方法难以应用于示意图问答。并且,相似的示意图可能包含完全不同的语义信息,这也使得示意图问答十分具有挑战性。


技术实现要素:

4.本发明目的是针对背景技术中存在的问题,提出基于层次多任务学习的示意图问答方法,包括如下步骤:
5.s1、对训练图像,预训练目标检测器检测图像成分,进行位置编码和视觉特征提取,然后编码组成区域特征序列;
6.s2、对训练集图像,区域特征序列作为图解析模块的输入,预测成分和成分之间的关系,训练网络参数;
7.s3、对训练集问题和备选答案,组成陈述句后进行词例化处理并提取语言特征,得到备选答案和问题组成的语言序列;
8.s4、对训练集,将图解析模块的输出与语言序列拼接输入问答模块,预测问题的正确选项,训练网络参数;
9.s5、对测试集图像,将图与问题、备选答案编码组成区域特征序列和语言序列,输
入深度网络,预测问题的正确选项。
10.优选的,s2和s4使用多任务学习框架,通过图解析任务和问答任务这两个学习任务来解决问答任务。
11.优选的,s4中联合训练图解析模块和问答模块,使得问答的训练损失能够正确反馈到图解析模块和问答模块。
12.优选的,先进行图解析任务,再利用图解析任务中的输出进行问答任务,构建层次多任务框架。
13.优选的,s1中,预训练目标检测器为基于coco数据集和示意图问答图像数据集预训练的yolo v3目标检测器;检测的示意图成分包括文字、物体区域、箭头头部、箭头尾部四种类别;区域特征序列编码可以分为以下两个子步骤:
14.s1.1、对于示意图i,检测到的成分为o={o1,o2,...,o
m
},通过深度网络特征提取模块resnet101得到维度为2048的视觉特征序列[z1,z2,...,z
m
],然后将整张图像也通过相同特征提取器得到的z0放在序列的第一位作为全局信息,构成[z0,...,z
m
],每个检测到的成分的左上坐标(x
min
,y
min
)和右下坐标(x
max
,y
max
)按照(x
min
,y
min
,x
max
,y
max
),宽度,高度,区域面积组成7维位置特征序列[q0,q1,...,q
m
];
[0015]
s1.2、视觉特征序列[z0,...,z
m
]和位置特征通过视觉特征和位置特征融合模块得到1024维的区域特征序列
[0016]
优选的,s2中,模块由多层transformer和一层gru组成,将区域特征序列h
in
输入transfomer编码器,得到1024维的输出将区域两两组成一对,预测两个区域之间是否存在关系,关系候选对<o
i
,o
j
>的特征由拼接得到,其中i,j=1,2,...,m并且i≠j,将特征组成的序列输入gru,预测每对<o
i
,o
j
>是否存在关系,然后根据下式计算损失:
[0017][0018]
其中,n为关系候选对数量,y为关系真值,为模块预测值。
[0019]
优选的,s3中,词例化和编码处理利用roberta,对于图像i的一个问题q,问题包含k个候选答案{a
k
|k=1,...,k},将问题q和a
k
由空格连接组成陈述句s
k
,输入roberta进行分词和编码得到s
k
的语言特征其中n为句子的最大词数量。
[0020]
优选的,s4中,问答模块由多层transformer模块tb
dqa
和一层全连接层组成,区域特征序列拼接语言序列组成,通过tb
dqa
得到取第0个和第m+1个向量做对应元素相乘后输入全连接层和softmax层得到a
k
候选项的分数然后选择分数最高的为预测值,根据下式计算问答损失:
[0021][0022]
其中,t
correct
表示当前问题的正确答案标签,in表示如果k和t
correct
相同则为1,否则为0;
[0023]
全局损失为l=αl
sp
+βl
dqa
,其中α,β为可调整的超参数,用于平衡问答模块和模块的学习,通过后向传播算法进行全局参数调整,以最小化全局损失函数为目标优化网络参数,直到该函数值不再下降。
[0024]
优选的,s5中,固定已经训练好的网络参数对示意图和问题进行推理,具体分为以下几个子步骤:
[0025]
s5.1、示意图按s1进行成分检测和特征编码,然后按s2通过tb
sp
得到特征输出h
out

[0026]
s5.2、问题和候选答案按s3进行预处理,得到问题和候选答案ak的语言特征
[0027]
s5.3、h
out
与语言特征拼接组成联合的特征序列然后按s4中通过tv
dqa
和softmax层得到a
k
候选项的分数选择分数最高的选项作为输出答案。
[0028]
与现有技术相比,本发明具有如下有益的技术效果:
[0029]
本发明将图解析模块和问答模块联合在一起,利用多层次的任务来训练,实现了基于解析和问答两个层次的多任务学习框架,比现有的方法具有更好的语义理解和推理能力。
附图说明
[0030]
图1为本发明中基于层次多任务学习的示意图问答方法训练流程图;
[0031]
图2为示意图问答的模型结构图。
具体实施方式
[0032]
本发明所提出的方法所涉及的数据集的图像均为示意图,每张示意图包含多个关于示意图内容的问题,每个问题有四个候选答案。
[0033]
为了解决以往工作的多阶段问题,本发明提出一种基于层次多任务学习的示意图问答方法,该方法主要包括三个模块,它们分别为图成分检测和编码模块、图解析模块和问答模块。
[0034]
如图1

2所示,本发明提出的基于层次多任务学习的示意图问答方法,包括如下步骤:
[0035]
s1、对训练图像,预训练目标检测器检测图像成分,进行位置编码和视觉特征提取,然后编码组成区域特征序列;预训练目标检测器为基于coco数据集和示意图问答图像数据集预训练的yolo v3目标检测器;检测的示意图成分包括文字、物体区域、箭头头部、箭头尾部四种类别;区域特征序列编码可以分为以下两个子步骤:s1.1、对于示意图i,检测到
的成分为o={o1,o2,...,o
m
},通过深度网络特征提取模块resnet101得到维度为2048的视觉特征序列[z1,z2,...,z
m
],然后将整张图像也通过相同特征提取器得到的z0放在序列的第一位作为全局信息,构成[z0,...,z
m
],每个检测到的成分的左上坐标(x
min
,y
min
)和右下坐标(x
max
,y
max
)按照(x
min
,y
min
,x
max
,y
max
),宽度,高度,区域面积组成7维位置特征序列[q0,q1,...,q
m
];s1.2、视觉特征序列[z0,...,z
m
]和位置特征通过视觉特征和位置特征融合模块得到1024维的区域特征序列
[0036]
s2、对训练集图像,区域特征序列作为图解析模块的输入,预测成分和成分之间的关系,训练网络参数;模块由多层transformer和一层gru组成,将区域特征序列h
in
输入transfomer编码器,得到1024维的输出将区域两两组成一对,预测两个区域之间是否存在关系,关系候选对<o
i
,o
j
>的特征由拼接得到,其中i,j=1,2,...,m并且i≠j,将特征组成的序列输入gru,预测每对<o
i
,o
j
>是否存在关系,然后根据下式计算损失:
[0037][0038]
其中,n为关系候选对数量,y为关系真值,为模块预测值。
[0039]
s3、对训练集问题和备选答案,组成陈述句后进行词例化处理并提取语言特征,得到备选答案和问题组成的语言序列;词例化和编码处理利用roberta,对于图像i的一个问题q,问题包含k个候选答案{a
k
|k=1,...,k},将问题q和a
k
由空格连接组成陈述句s
k
,输入roberta进行分词和编码得到s
k
的语言特征其中n为句子的最大词数量。
[0040]
s4、对训练集,将图解析模块的输出与语言序列拼接输入问答模块,预测问题的正确选项,训练网络参数;s2和s4使用多任务学习框架,通过图解析任务和问答任务这两个学习任务来解决问答任务。s4中联合训练图解析模块和问答模块,使得问答的训练损失能够正确反馈到图解析模块和问答模块。问答模块由多层transformer模块tb
dqa
和一层全连接层组成,区域特征序列拼接语言序列组成,通过tb
dqa
得到取第0个和第m+1个向量做对应元素相乘后输入全连接层和softmax层得到a
k
候选项的分数然后选择分数最高的为预测值,根据下式计算问答损失:
[0041][0042]
其中,t
correct
表示当前问题的正确答案标签,in表示如果k和t
correct
相同则为1,否则为0;全局损失为l=αl
sp
+βl
dqa
,其中α,β为可调整的超参数,用于平衡问答模块和模块的
学习,通过后向传播算法进行全局参数调整,以最小化全局损失函数为目标优化网络参数,直到该函数值不再下降。
[0043]
s5、对测试集图像,将图与问题、备选答案编码组成区域特征序列和语言序列,输入深度网络,预测问题的正确选项。固定已经训练好的网络参数对示意图和问题进行推理,具体分为以下几个子步骤:
[0044]
s5.1、示意图按s1进行成分检测和特征编码,然后按s2通过tb
sp
得到特征输出h
out

[0045]
s5.2、问题和候选答案按s3进行预处理,得到问题和候选答案a
k
的语言特征
[0046]
s5.3、h
out
与语言特征拼接组成联合的特征序列然后按s4中通过tb
dqa
和softmax层得到a
k
候选项的分数选择分数最高的选项作为输出答案。
[0047]
本实施例中,先进行图解析任务,再利用图解析任务中的输出进行问答任务,构建层次多任务框架。
[0048]
本发明中,模型框架包括图解析模块和问答模块,基于层次多任务学习训练。在我们提出的多任务学习范式中,图解析和问题回答这两个任务在训练中处于不同的层次,并使用不同的神经网络模块,构成了一个层次结构。首先,利用经过预训练的目标检测器检测出示意图中有意义的区域并提取特征,比如文字、箭头、物体。然后,将图像特征序列与问题的词序列拼接成一个输入序列。序列输入模型后,对模型同时进行图的结构解析任务和问答任务的训练,图解析模块编码图表中的成分及其关系信息,而问答模块将结构信号并结合问题答案以推断出正确答案。本发明提出的示意图问答方法能够同时对图进行结构解析和推断问题答案,实现了基于解析和问答两个层次的多任务学习框架,比现有的方法具有更好的语义理解和推理能力。
[0049]
上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于此,在所属技术领域的技术人员所具备的知识范围内,在不脱离本发明宗旨的前提下还可以作出各种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1