掌桥专利:专业的专利平台
掌桥专利
首页

基于注意力嵌入式变分自编码器的跨模态检索方法及系统

文献发布时间:2024-04-18 20:01:23


基于注意力嵌入式变分自编码器的跨模态检索方法及系统

技术领域

本发明属于跨模态检索技术领域,尤其涉及一种基于注意力嵌入式变分自编码器的跨模态检索方法及系统。

背景技术

本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。

当前常用的跨模态检索方法主要包括以下方案:

传统的跨模态检索方法主要是学习一个公共表示空间,将不同模态特征映射至同一子空间内,以测量不同模态数据间的相似性,从而实现跨模态检索。例如典型相关性分析算法,根据空间向量关系模型计算模态特征在子空间中的距离,通过最大化两种模态投影之间的相关性来学习公共子空间,从而可以捕捉到模态之间的对应关系。因此,一些学者通过公共子空间方法关注对高级语义信息的探索,通过最小化判别损失函数和模态不变性损失等方式挖掘丰富的语义相关性,能够很大程度上消除跨模态异构差异,并能良好地捕获成对信息相关性;

随着深度神经网络的发展,大量基于深度学习的方法被用于跨模态检索领域。该方法利用深度学习的特征抽取能力,在底层提取不同模态的有效表示,在高层建立不同模态的语义关联。具体来说,首先将不同模态进行单独的表示,然后再利用高层网络最大化不同模态表示的相关性。深度学习方法相比子空间学习方法取得了更好的检索结果。例如利用对抗生成网络,通过生成器将一个模态样本生成另一模态样本,再通过判别器将原始样本与生成样本进行比较,生成器和判别器之间的博弈过程能够促使生成器学习到更具判别性的特征表示。

随着多媒体数据量的急剧增长,研究人员采用跨模态哈希方法来解决跨模态检索问题,通过将多媒体数据转化为二进制编码,投影跨媒体数据到公共汉明空间,提高检索速度的同时缩减存储空间。例如,有监督哈希方法将特征提取和哈希编码两个步骤融合在一起,形成一个整体的端到端模型,其中特征提取模块用于从原始高维数据中提取有用的特征表示,而哈希编码模块则将这些特征映射到一个低维的二进制编码空间中。

发明人发现,现阶段不同类型的媒体数据随着互联网和社交媒体的发展迅速涌现,这些数据中存在大量的噪声,例如数据损毁、文字描述不准确等,对于上述现有的跨模态检索方法,这些噪声在检索工作中会影响到检索结果的准确性和可靠性;其次,在潜在空间中,由于缺乏细粒度的实例注释,在没有特定结构或约束的情况下,不同模态之间没有一个明确的区分,不同模态的数据在对齐时可能会相互干扰或混淆,影响最终的检索效果。

发明内容

本发明为了解决上述问题,提供了一种基于注意力嵌入式变分自编码器的跨模态检索方法及系统,所述方案以变分自编码器作为基础架构,编码和解码来自不同模态的特征,通过编码器将模态数据采用概率建模的方法转化成潜在变量,从而在保留模态原始数据语义结构的同时,抑制数据中的噪声和缺失信息对模型效率的影响;同时,所述方案通过交叉模态对齐模块将潜在变量在潜在空间中进行进一步对齐,进而有效保证了跨模态检索的准确性。

根据本发明实施例的第一个方面,提供了一种基于注意力嵌入式变分自编码器的跨模态检索方法,包括:

在接收到跨模态检索指令时,根据所述跨模态检索指令确定第一信息和第二信息,其中,所述第一信息和第二信息为不同模态的信息;

将所述第一信息和第二信息输入预先训练的跨模态检索模型,获得第一信息和第二信息的相似程度,实现跨模态检索;其中,所述跨模态检索模型采用双变分自编码器网络结构,分别用于接收第一信息和第二信息两种模态的特征输入;对于第一信息和第二信息的特征输入,利用注意力嵌入的编码器获得潜在变量并映射到潜在空间中;以及,对潜在空间中两个模态的潜在变量进行对齐,并将对齐后的潜在变量利用双变分自编码器网络结构中的两个解码器分别进行解码,实现交叉重构;基于重构后的结果,获得第一信息和第二信息的相似程度。

进一步的,所述将对齐后的潜在变量利用双变分自编码器网络结构中的两个解码器分别进行解码,实现交叉重构,具体为:对潜在空间中两个模态的潜在变量进行对齐,并将对齐后的第一信息对应的潜在变量和原始的第二信息对应的潜在变量送至第二信息对应的解码器中进行解码,将对齐后的第二信息对应的潜在变量和原始第一信息对应的潜在变量送至第一信息对应的解码器进行解码,实现交叉重构。

进一步的,所述对潜在空间中两个模态的潜在变量进行对齐,具体为:对于两个模态的潜在变量,将其分别展开为三维张量;通过矩阵乘法操作,获得跨模态潜在变量相关性矩阵;基于获得的相关性矩阵与获得的三维张量,生成对齐后的潜在变量。

进一步的,所述第一信息为文本信息,第二信息为图像信息;或,所述第一信息为图像信息,所述第二信息为文本信息。

进一步的,所述注意力嵌入的编码器,具体为:对变分自编码器中的编码器嵌入池化残差多头注意力机制,所述池化残差多头注意力机制中,将Key和Va l ue按照原始的patch顺序进行分组;针对相邻的四个patch,在各自内部进行平均池化操作,并将相邻的四个patch合并为一个新的patch;同时,在处理Query时,将原始的四个相邻的patch进行随机选择操作,并将池化的Key与Query相乘,计算相似性矩阵;再将相似性矩阵与Va l ue相乘。

进一步的,在所述池化残差多头注意力机制中,在池化的Key中引入残差池化连接。

进一步的,对于输入预先训练的跨模态检索模型的第一信息和第二信息,需要预先进行特征提取。

根据本发明实施例的第二个方面,提供了一种基于注意力嵌入式变分自编码器的跨模态检索系统,包括:

检索指令获取单元,其用于在接收到跨模态检索指令时,根据所述跨模态检索指令确定第一信息和第二信息,其中,所述第一信息和第二信息为不同模态的信息;

跨模态检索单元,其用于将所述第一信息和第二信息输入预先训练的跨模态检索模型,获得第一信息和第二信息的相似程度,实现跨模态检索;其中,所述跨模态检索模型采用双变分自编码器网络结构,分别用于接收第一信息和第二信息两种模态的特征输入;对于第一信息和第二信息的特征输入,利用注意力嵌入的编码器获得潜在变量并映射到潜在空间中;以及,对潜在空间中两个模态的潜在变量进行对齐,并将对齐后的潜在变量利用双变分自编码器网络结构中的两个解码器分别进行解码,实现交叉重构;基于重构后的结果,获得第一信息和第二信息的相似程度。

根据本公开实施例的第三个方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上运行的计算机程序,所述处理器执行所述程序时实现所述的一种基于注意力嵌入式变分自编码器的跨模态检索方法。

根据本公开实施例的第四个方面,提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述的一种基于注意力嵌入式变分自编码器的跨模态检索方法。

与现有技术相比,本发明的有益效果是:

本发明提供了一种基于注意力嵌入式变分自编码器的跨模态检索方法及系统,所述方案以变分自编码器作为基础架构,编码和解码来自不同模态的特征,通过编码器将模态数据采用概率建模的方法转化成潜在变量,从而在保留模态原始数据语义结构的同时,抑制数据中的噪声和缺失信息对模型效率的影响;同时,所述方案通过交叉模态对齐模块将潜在变量在潜在空间中进行进一步对齐,进而有效保证了跨模态检索的准确性。

本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为本发明实施例中所述的基于注意力嵌入式变分自编码器的跨模态检索方法所采用的检索模型结构示意图;

图2为本发明实施例中所述的池化残差多头注意力结构示意图。

具体实施方式

下面结合附图与实施例对本发明做进一步说明。

应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

实施例一:

本实施例的目的是提供一种基于注意力嵌入式变分自编码器的跨模态检索方法。

一种基于注意力嵌入式变分自编码器的跨模态检索方法,包括:

在接收到跨模态检索指令时,根据所述跨模态检索指令确定第一信息和第二信息,其中,所述第一信息和第二信息为不同模态的信息;

将所述第一信息和第二信息输入预先训练的跨模态检索模型,获得第一信息和第二信息的相似程度,实现跨模态检索;其中,所述跨模态检索模型采用双变分自编码器网络结构,分别用于接收第一信息和第二信息两种模态的特征输入;对于第一信息和第二信息的特征输入,利用注意力嵌入的编码器获得潜在变量并映射到潜在空间中;以及,对潜在空间中两个模态的潜在变量进行对齐,并将对齐后的潜在变量利用双变分自编码器网络结构中的两个解码器分别进行解码,实现交叉重构;基于重构后的结果,获得第一信息和第二信息的相似程度。

在具体实施中,所述将对齐后的潜在变量利用双变分自编码器网络结构中的两个解码器分别进行解码,实现交叉重构,具体为:对潜在空间中两个模态的潜在变量进行对齐,并将对齐后的第一信息对应的潜在变量和原始的第二信息对应的潜在变量送至第二信息对应的解码器中进行解码,将对齐后的第二信息对应的潜在变量和原始第一信息对应的潜在变量送至第一信息对应的解码器进行解码,实现交叉重构。

在具体实施中,所述对潜在空间中两个模态的潜在变量进行对齐,具体为:对于两个模态的潜在变量,将其分别展开为三维张量;通过矩阵乘法操作,获得跨模态潜在变量相关性矩阵;基于获得的相关性矩阵与获得的三维张量,生成对齐后的潜在变量。

在具体实施中,所述第一信息为文本信息,第二信息为图像信息;或,所述第一信息为图像信息,所述第二信息为文本信息。

在具体实施中,所述注意力嵌入的编码器,具体为:对变分自编码器中的编码器嵌入池化残差多头注意力机制,所述池化残差多头注意力机制中,将Key和Va l ue按照原始的patch顺序进行分组;针对相邻的四个patch,在各自内部进行平均池化操作,并将相邻的四个patch合并为一个新的patch;同时,在处理Query时,将原始的四个相邻的patch进行随机选择操作,并将池化的Key与Query相乘,计算相似性矩阵;再将相似性矩阵与Va l ue相乘。

在具体实施中,在所述池化残差多头注意力机制中,在池化的Key中引入残差池化连接。

在具体实施中,对于输入预先训练的跨模态检索模型的第一信息和第二信息,需要预先进行特征提取。

具体的,为了便于理解,以下结合附图对本实施例所述方案进行详细说明:

本实施例所述方案提供了一种基于注意力嵌入式变分自编码器的跨模态检索方法,其基于构建的跨模态检索模型(以下称之为AE-VAE),所述跨模态检索模型利用注意力嵌入的变分自编码器作为基础架构,来编码和解码来自不同模态的特征,通过编码器将模态数据通过概率建模方法转化成潜在变量,从而在保留模态原始数据语义结构的同时,抑制数据中的噪声和缺失信息对模型效率的影响,此外,本实施例所述方法通过交叉模态对齐模块将潜在变量在潜在空间中进行进一步对齐。

以下从图像和文本两种模态的数据对本实施例所述方案进行说明,本实施例所述方案中提取图像和文本的特征作为变分自编码器的输入,为了更好地捕捉图像与文本模态的重要语义特征,在编码器中引入了改进的多头注意力模块,根据输入的不同特征或上下文信息对不同部分进行加权处理,图像和文本特征分别通过注意力嵌入编码器得到潜在变量并将其映射到潜在空间中。交叉对齐模块对潜在空间中两个模态的潜在变量进行对齐,再将对齐后的图像潜在变量和原始文本潜在变量送至文本解码器进行解码,将对齐后的文本潜在变量和原始图像潜在变量送至图像解码器进行解码,实现交叉重构。以下进行详细说明:

如图1所示,本实施例所述方案将采用双变分自编码器网络,分别用于处理图像和文本两种模态的输入数据,并将注意力嵌入至编码器部分,以提高对模态重要语义信息的捕捉能力,本实施例所述方案还提出一个交叉模态对齐模块,将潜在空间中的不同模态潜在变量进一步对齐,再进行模态交叉重构;最后,通过通过设定的目标函数优化本模型的训练。以下对跨模态检索模型的各个组成部分进行详细说明:

(1)池化残差多头注意力

在编码器中池化残差多头注意力的头数为4个,patch的大小为16个,具体来说,首先,我们将原始的特征输入到池化残差多头注意力模块中,在该模块中,我们将Key和数值Value按照原始的patch顺序进行分组,我们针对相邻的四个patch,在各自内部进行平均池化操作,将它们合并为一个新的patch。同时,我们在处理Query时,将原始的四个相邻的patch进行随机选择操作,以确保它们与Key和Value的维度一致。然后,将池化的Key与Query相乘,计算相似性矩阵,再将相似性矩阵与Value相乘。另外,我们在池化的Key中加入残差池化连接,以减轻池化过程中重要特征信息丢失。我们单个注意力头被表达为公式(1)和(2):

f=Attention(random(X×W

其中,W

PR-MHA=Concat(f

其中,

(2)注意力嵌入式变分自编码器

我们的模型使用两个变分自编码器分别处理图像与文本模态数据,在变分自编码器中,编码器将数据生成潜在变量,为了使信息损失最小化,再通过解码器对潜在变量进行重构。因此,我们模型的基本VAE损失为公式(4):

其中,

由于模型通过对潜在变量的分布建模,我们最小化了两种模态数据的潜在变量多元高斯分布之间的Wasserstein距离,因此分布对齐(DA)损失为公式(5):

(3)交叉模态对齐模块

在本模块中,潜在变量Z

其中,E

(4)目标函数

综上所述我们模型的损失函数将基本的VAE损失与分布对齐损失L

交叉重构损失L

L

其中,δ和γ为分布对齐和交叉重构损失的加权因子。

表1数据集对比试验结果

进一步的,为了验证本实施例所述方案的有效性,本实施例在四个广泛应用的基准数据集CUB、SUN、AwA1和AwA2上进行了实验。如表1所示,我们的方法与4种基于GAN的方法和4种基于VAE的方法进行比较,结果表明,我们的模型较优于其他模型。如表2所示,经过消融实验可以看出,分别加入注意力嵌入和交叉模态对齐模块的模型与基线模型相比有较大提升,直接说明本方法能够明显提升匹配性能。

表2消融试验结果

实施例二:

本实施例的目的是提供一种基于注意力嵌入式变分自编码器的跨模态检索系统。

一种基于注意力嵌入式变分自编码器的跨模态检索系统,包括:

检索指令获取单元,其用于在接收到跨模态检索指令时,根据所述跨模态检索指令确定第一信息和第二信息,其中,所述第一信息和第二信息为不同模态的信息;

跨模态检索单元,其用于将所述第一信息和第二信息输入预先训练的跨模态检索模型,获得第一信息和第二信息的相似程度,实现跨模态检索;其中,所述跨模态检索模型采用双变分自编码器网络结构,分别用于接收第一信息和第二信息两种模态的特征输入;对于第一信息和第二信息的特征输入,利用注意力嵌入的编码器获得潜在变量并映射到潜在空间中;以及,对潜在空间中两个模态的潜在变量进行对齐,并将对齐后的潜在变量利用双变分自编码器网络结构中的两个解码器分别进行解码,实现交叉重构;基于重构后的结果,获得第一信息和第二信息的相似程度。

进一步的,本实施例所述系统与实施例一中所述方法相对应,其技术细节在实施例一中已经进行了详细说明,故此处不再赘述。

在更多实施例中,还提供:

一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一中所述的方法。为了简洁,在此不再赘述。

应理解,本实施例中,处理器可以是中央处理单元CPU,处理器还可以是其他通用处理器、数字信号处理器DSP、专用集成电路ASIC,现成可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据、存储器的一部分还可以包括非易失性随机存储器。例如,存储器还可以存储设备类型的信息。

一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一中所述的方法。

实施例一中的方法可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器、闪存、只读存储器、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

本领域普通技术人员可以意识到,结合本实施例描述的各示例的单元即算法步骤,能够以电子硬件或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

上述实施例提供的基于注意力嵌入式变分自编码器的跨模态检索方法及系统可以实现,具有广阔的应用前景。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120116546440