开放域视觉语言问答方法、装置、电子设备及存储介质

未命名 08-12 阅读:112 评论:0


1.本发明涉及视觉语言问答技术领域,特别是涉及一种开放域视觉语言问答方法、装置、电子设备及存储介质。


背景技术:

2.开放域问答系统(question answering system,qa)、是以大规模开放域对话语料库作为训练语料,利用深度学习算法学习问答模式的问答模型。通过对话交互的方式客观的返回用户想要获得的信息,是信息检索的高级形式。大规模开放域对话语料库中涵盖的对话信息极为丰富,深度学习算法能够很好的学习开放域语料库中的开放对话知识提高回复用户提问的准确性,其应用在生产生活中十分广泛。开放域视觉问答的一个缺陷是从纯文本模态的知识库获取相关知识,这些知识库仅含有一阶谓词或词语描述所表达的事实,而缺乏用于一阶谓词或语言描述所表达的事实,而缺乏用于视觉理解的复杂但不可或缺的多模态知识。语料库也没有根据场景、目的、个性化等特征信息做区分,导致问答系统有回复多样性、话题控制、引入外部知识、个性化回复的多种不足,这就要求对话系统具有基础的感认能力,而且具有更进一步多模态推理能力。
3.开放域视觉语言问答(vision-language question and answering,vqa)是视觉语言交叉领域的重要研究任务之一,是实现面向用户的交互式视觉系统的重要途经。通过计算机视觉(computer vision,cv)方法检测图像中蕴含的包括物品、地点等在内显性信息和包括场景、表情等在内的隐含信息,针对用户提出的问题应用自然语言处理(natural language processing)有针对的给出一段自然语言作为答案。通常开放域视觉问答给出的问题不会包含在语料库中,要求视觉语言问答模型根据输入的问题和图像进行推理,根据两者之间的联系,泛化地回答问题。尽管视觉问答装置经过大规模开放域对话语料库作为训练语料的预训练后,但是在开放域视觉语言问答的推理能力极差,增强推理能力的方法往往是扩大预训练数据集。盲目的增大预训练数据集反而会导致模型过拟合,导致遗忘,无法泛化到其他任务或者数据集。应用知识图谱增强开放域视觉问答系统,使其在开放域数据集上仍然保持具有良好的推理能力,防止遗忘现象发生增强其泛化能力。
4.综上所述,开放域视觉问答研究有以下局限性:
5.在开放域视觉问答中,视觉语言模型能很好的检测图像中的目标和目标文本中的实体,但是不能很好的建模两种模态之间的关系,而且建模的知识无法长久记忆并进行积累。
6.在开放域视觉问答中,问题往往是训练集之外的,要求模型具有一定的泛化性,当增大数据集使其泛化性增强时,反而造成模型遗忘的现象。


技术实现要素:

7.基于此,本发明的目的在于,提供一种开放域视觉语言问答方法、装置、电子设备及存储介质,提供了一种知识三元组抽取和积累的方法,用以提升模型的泛化能力,解决遗
忘问题。
8.第一方面,本发明提供一种开放域视觉语言问答方法,包括以下步骤:
9.对图像进行编码,将所述图像映射为一组视觉向量;
10.对问题进行嵌入标记,得到词嵌入序列;
11.将所述视觉向量和所述词嵌入序列进行拼接,并使用注意力机制提取所述视觉向量和所述词嵌入序列的隐含关系;
12.使用所述视觉向量、所述词嵌入序列和所述隐含关系,构建知识三元组;
13.将所述知识三元组与知识图谱中积累的知识进行实体匹配,得到匹配度最高的三元组,以该三元组的尾部实体作为最终答案输出。
14.进一步地,所述知识三元组包括头部嵌入、尾部嵌入和关系嵌入;
15.所述头部嵌入为视觉向量,所述尾部嵌入为词嵌入序列,所述关系嵌入为所述视觉向量和所述词嵌入序列的隐含关系。
16.进一步地,使用clip-vit模型对图像进行编码。
17.进一步地,使用roberta模型对问题进行嵌入标记。
18.进一步地,使用meter模型对所述视觉向量和所述词嵌入序列进行拼接和提取隐含关系处理。
19.进一步地,使用trans e损失函数训练所述meter模型。
20.进一步地,对图像进行编码之前,还包括以下步骤:
21.将图像切分为等大patch,去除噪声图像;
22.对问题进行嵌入标记之前,还包括以下步骤:
23.对所问题进行去停留词处理,并按照token执行切割。
24.第二方面,本发明还提供一种开放域视觉语言问答装置,包括:
25.图像编码模块,用于对图像进行编码,将所述图像映射为一组视觉向量;
26.问题嵌入模块,用于对问题进行嵌入标记,得到词嵌入序列;
27.隐含关系提取模块,用于将所述视觉向量和所述词嵌入序列进行拼接,并使用注意力机制提取所述视觉向量和所述词嵌入序列的隐含关系;
28.知识三元组构建模块,用于使用所述视觉向量、所述词嵌入序列和所述隐含关系,构建知识三元组;
29.实体匹配模块,用于将所述知识三元组与知识图谱中积累的知识进行实体匹配,得到匹配度最高的三元组,以该三元组的尾部实体作为最终答案输出。
30.第三方面,本发明还提供一种电子设备,包括:
31.至少一个存储器以及至少一个处理器;
32.所述存储器,用于存储一个或多个程序;
33.当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如本发明第一方面任一项所述的一种开放域视觉语言问答方法的步骤。
34.第四方面,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面任一项所述的一种开放域视觉语言问答方法的步骤。
35.本发明提供的一种开放域视觉语言问答方法、装置、电子设备及存储介质,引入开
放域视觉语言模型的预训练方法,用以提升开放域预训练模型建模能力;提供了一种知识三元组抽取和积累的方法,用以提升模型的泛化能力,解决遗忘问题。本方法能够根据图像所给出的物品、地点等显性信息和场景表情等隐性信息并具有一定的推理能力,回答用户提出的超出训练数据集标签上有推理要求的问题,能够更高效、更准确实现视觉语言问答。
36.为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
37.图1为本发明提供的一种开放域视觉语言问答方法的步骤示意图;
38.图2为本发明提供的一种开放域视觉语言问答装置的结构示意图。
具体实施方式
39.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
40.针对背景技术中的问题,本技术实施例提供一种开放域视觉语言问答方法和装置,其应用环境包括括用户终端和服务器,用户终端可以是任何具有上网功能的移动智能终端,可以具体为计算机、手机、平板电脑、pda(personal digital assistant,个人数字助理)、电子书阅读器、多媒体播放器等;服务器可以是计算机,还可以是专用服务器。其中,用户终端可以通过无线局域网接入路由器,并通过路由器访问公网上的服务器。用户终端可以运行对话软件的客户端,用户通过用户终端在对话软件客户端中输入需要询问、命令的文本信息,用户终端将所输入的文本信息上传至服务器,服务器根据该文本信息、图像信息通过本实施例的对话应答方法进行处理,将处理得到的回复信息发送至用户终端。
41.实施例1
42.在一个具体的应用场景中,用户输入的图像是一张普通多色图像或者含有多个目标的图像,用户根据图像提出一个超越其标签的问题,询问某行为或某地点。
43.如图1和图2所示,图1为本技术提供的一种开放域视觉语言问答方法的流程示意图,图2为本技术提供的一种开放域视觉语言问答装置的结构示意图,所述开放域视觉语言问答装置包括图像编码模块01、问题嵌入模块02、隐含关系提取模块03、知识三元组构建模块04和实体匹配模块05和一知识图谱。
44.所述图像编码模块01用于执行步骤s01:对图像进行编码,将所述图像映射为一组视觉向量。
45.优选的,对图像进行编码前,先对图像数据进行预处理,将图像切分为等大的图像patch,并去除噪声图像。
46.所述图像编码模块使用transformer结构的针对于patch的视觉模型,用来建模模态间的隐含关系。通常为clip-vit等transformer结构的视觉编码器,包括不限于clip的任意用于视觉挖掘的预训练模型。
47.所述问题嵌入模块02用于执行步骤s02:对问题进行嵌入标记,得到词嵌入序列。
48.优选的,对问题进行嵌入标记前,先对问题的文本进行预处理,对于文本模态数据,需要去停留词,保留核心词,按照token执行切割。
49.可选的,所述问题嵌入模块使用bert等预训练模型,在输入到预训练视觉语言模
end-to-end transformer framework)模型对大规模预训练语料库进行训练以得到知识图谱。meter模型包含三个部分,第一个是视觉编码器(例如clip-vit,swin transformer),文本编码器(例如roberta,deberta),多模态融合模块(例如merged attention和co-attention),结构设计(例如encoder-only和encoder-decoder)和预训练的目标(例如masked image modeling,掩码图片建模)。
64.优选的,预训练模型所使用的大规模预训练语料库要超过2m张图像,每张图像包括至少10个基准事实和至少3个问题。另外,还可以额外使用知识库作为训练语料加入模型的预训练。
65.在一个可选的实施例中,步骤s01中,使用clip、clip-vit等transformer结构的图像编码器对patch结构的图像进行编码,生成视觉向量。相比于其他视觉模型和编码方法,基于注意力机制的transformer视觉模型对建模视觉信息更为高效。
66.在一个可选的实施例中,步骤s02中,使用transformer结构的文本编码器对文本进行编码,生成词嵌入序列,相比于glove模型、one-hot编码来说,transformer结构的例如bert、roberta模型建模文本信息更为精准。进一步地,使用transformer结构的文本编码器,要在输入到预训练模型之前对文本进行初始化并进行编码。
67.在步骤s03中,预训练工作通过构建预训练任务,通过自监督的形式从大规模预训练数据集中构造监督信号,学习到丰富的多模态信息,用于下游任务,避免了重新训练。即使用尽可能多的训练数据,从中提取出尽可能多的共性特征,从而能让模型对特定任务的学习负担变轻。多模态和单模态的不同之处在于,多模态预训练模型学习到了不同模态之间的语义关联,比如对齐文本形式的“狗”和图片中的“狗”的语义信息。因此,多模态需要设计特别的模型和预训练任务来挖掘不同模态的关联。
68.由于meter通过自注意力机制捕获图像和问题之间的隐式关联,因此我们从视觉文本的标签中提取跨模态表示。
69.步骤s04中,所使用的实体损失函数通常是trans e损失函数,使用trans e旨在将视觉内容和文本内容联系起来,形成强大的知识图,这样既可以积累广泛的多模态知识,还关联了答案预测的最佳事实。
70.trans e是一种通过将关系解释为操作实体的低维嵌入的翻译来建模关系的方法。大量的实验表明,trans e在两个知识库上的链接预测方面明显优于最先进的方法。
71.使用trans e损失函数的目的是,弥补语义鸿沟,弥合异构鸿沟,使得整个模型学习更好的知识表示。三元组trans e损失通过对比正负三元组来保持嵌入结构。三元组一致性损失进一步迫使三元组内的三个嵌入保持严格的拓扑关系,语义一致性损失将嵌入映射到一个共同的语义空间,以便在多模态内容之间进行公平比较。trans e的计算过程包括以下步骤:
72.给定由两个实体h,t∈e(e:实体的集合)和一个关系l∈l(l:关系的集合)组成的三元组(h,l,t)的训练集s,模型学习实体和关系的向量嵌入,嵌入取rk(k是模型超参数)中的值,并用相同的字母表示。
73.基本思想是关系-标记边所引导的函数关系对应嵌入的平移,即当(h,l,t)满足t是h+l的最邻近时,希望h+l≈t否则h+l应当远离t。
74.根据基于能量的框架,三元组的能量等于d(h+l,t),对于某些不相似度量,取l1和
l
2-norm。为了学习这样的嵌入,训练集上基于边缘的排序准则如下:
[0075][0076]
其中[x]
+
表示x的正部分,γ》0是边距超参数。而且
[0077]s′
(h,l,t)
={(h',l,t)|h'∈e}∪{(h,l,t')|t'∈e}.
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0078]
根据公式(2)构造的损坏三元组由训练三元组组成,其中头和尾的实体被随机实体替换(但是不能被同时替换)。损失函数(1)更加倾向于训练三组比损坏三元组更低的能量值,因此是预期标准的自然实现。
[0079]
经过trans e损失函数训练得到的三元组,共同构建得到知识图谱,用于实际问答时进行实体匹配。
[0080]
在一个优选的实施例中,对图像进行编码使用clip-vit模型,对问题进行嵌入标记使用roberta模型,隐含关系提取预训练模型使用meter模型。具体的,获取输入的图像和文本,图像经过预处理切分为patch,然后输入到clip-vit中,得到视觉嵌入。文本经与处理和词法分析器之后输入到roberta中得到词嵌入向量,然后视觉嵌入和文本嵌入输入到预训练模型中,经模型的自注意力机制挖掘出跨模态隐含关系,经过一个前向网络后作为三元组的中部元素,三元组的前部元素和尾部元素分别由视觉嵌入和文本嵌入组成。
[0081]
在进行答案预测时,获取用户输入的图像和问题,预处理后,使用第一对问题进行嵌入标记分别对图像和问题进行处理获得视觉嵌入和文本嵌入,将处理后输入到预训练模型中,所得到的跨模态表示、视觉特征、词嵌入向量与知识图谱中积累的知识进行实体匹配,匹配度最高的一项以三元组文本嵌入作为最终答案输出。
[0082]
本发明提供的开放域视觉语言问答方法,在低维向量空间中嵌入多关系数据的实体和关系的问题上重点是使用一种易于训练,包含更少参数并且可以扩展到非常大数据库的模型。
[0083]
本技术实施例还提供一种电子设备,包括:
[0084]
至少一个存储器以及至少一个处理器;
[0085]
所述存储器,用于存储一个或多个程序;
[0086]
当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如前所述的一种开放域视觉语言问答方法的步骤。
[0087]
对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0088]
本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的一种开放域视觉语言问答方法的步骤。
[0089]
计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他
数据。计算机的存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(r a m)、只读存储器(r o m)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0090]
本发明提供的一种开放域视觉语言问答方法、装置、电子设备及存储介质,引入开放域视觉语言模型的预训练方法,用以提升开放域预训练模型建模能力;提供了一种知识三元组抽取和积累的方法,用以提升模型的泛化能力,解决遗忘问题。本方法能够根据图像所给出的物品、地点等显性信息和场景表情等隐性信息并具有一定的推理能力,回答用户提出的超出训练数据集标签上有推理要求的问题,能够更高效、更准确实现视觉语言问答。
[0091]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

技术特征:
1.一种开放域视觉语言问答方法,其特征在于,包括以下步骤:对图像进行编码,将所述图像映射为一组视觉向量;对问题进行嵌入标记,得到词嵌入序列;将所述视觉向量和所述词嵌入序列进行拼接,并使用注意力机制提取所述视觉向量和所述词嵌入序列的隐含关系;使用所述视觉向量、所述词嵌入序列和所述隐含关系,构建知识三元组;将所述知识三元组与知识图谱中积累的知识进行实体匹配,得到匹配度最高的三元组,以该三元组的尾部实体作为最终答案输出。2.根据权利要求1所述的一种开放域视觉语言问答方法,其特征在于:所述知识三元组包括头部嵌入、尾部嵌入和关系嵌入;所述头部嵌入为视觉向量,所述尾部嵌入为词嵌入序列,所述关系嵌入为所述视觉向量和所述词嵌入序列的隐含关系。3.根据权利要求1所述的一种开放域视觉语言问答方法,其特征在于:使用clip-vit模型对图像进行编码。4.根据权利要求1所述的一种开放域视觉语言问答方法,其特征在于:使用roberta模型对问题进行嵌入标记。5.根据权利要求1所述的一种开放域视觉语言问答方法,其特征在于:使用meter模型对所述视觉向量和所述词嵌入序列进行拼接和提取隐含关系处理。6.根据权利要求5所述的一种开放域视觉语言问答方法,其特征在于:使用trans e损失函数训练所述meter模型。7.根据权利要求1所述的一种开放域视觉语言问答方法,其特征在于:对图像进行编码之前,还包括以下步骤:将图像切分为等大patch,去除噪声图像;对问题进行嵌入标记之前,还包括以下步骤:对所问题进行去停留词处理,并按照token执行切割。8.一种开放域视觉语言问答装置,其特征在于,包括:图像编码模块,用于对图像进行编码,将所述图像映射为一组视觉向量;问题嵌入模块,用于对问题进行嵌入标记,得到词嵌入序列;隐含关系提取模块,用于将所述视觉向量和所述词嵌入序列进行拼接,并使用注意力机制提取所述视觉向量和所述词嵌入序列的隐含关系;知识三元组构建模块,用于使用所述视觉向量、所述词嵌入序列和所述隐含关系,构建知识三元组;实体匹配模块,用于将所述知识三元组与知识图谱中积累的知识进行实体匹配,得到匹配度最高的三元组,以该三元组的尾部实体作为最终答案输出。9.一种电子设备,其特征在于,包括:至少一个存储器以及至少一个处理器;所述存储器,用于存储一个或多个程序;当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-7任一项所述的一种开放域视觉语言问答方法的步骤。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述的一种开放域视觉语言问答方法的步骤。

技术总结
本发明涉及一种开放域视觉语言问答方法、装置、电子设备及存储介质。本发明所述的开放域视觉语言问答方法包括:对图像进行编码,将所述图像映射为一组视觉向量;对问题进行嵌入标记,得到词嵌入序列;将所述视觉向量和所述词嵌入序列进行拼接,并使用注意力机制提取所述视觉向量和所述词嵌入序列的隐含关系;使用所述视觉向量、所述词嵌入序列和所述隐含关系,构建知识三元组;将所述知识三元组与知识图谱中积累的知识进行实体匹配,得到匹配度最高的三元组,以该三元组的尾部实体作为最终答案输出。本发明所述的开放域视觉语言问答方法,提供了一种知识三元组抽取和积累的方法,用以提升模型的泛化能力,解决遗忘问题。解决遗忘问题。解决遗忘问题。


技术研发人员:冼广铭 张文聪 柳寒
受保护的技术使用者:华南师范大学
技术研发日:2023.04.18
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐