用于无监督跨模态检索的充分场景表达生成方法

文档序号:25586904发布日期:2021-06-22 17:02阅读:202来源:国知局
用于无监督跨模态检索的充分场景表达生成方法

本发明涉及多模态数据检索的技术领域,尤其是指一种用于无监督跨模态检索的充分场景表达生成方法。



背景技术:

随着信息技术的不断发展,网络上不同模态的数据总量也越来越大,这使得传统基于文本关键字的单模态检索引擎难以满足用户高效地检索其它模态数据的需求。例如,当用户拿到一张关于某景点的照片时,传统的单模态检索引擎无法根据该照片匹配其对应的文字介绍或者语音介绍返回给用户;而跨模态检索引擎则能根据用户所提供的任意模态的数据匹配与其内容最接近的其它模态的数据并返回给用户。因此,为了满足用户日益增长的检索需求,有效的跨模态检索引擎成为了一种迫切的需要。

在跨模态检索领域,目前主流的方法可大致分为有监督方法和无监督方法。有监督方法主要是利用一些监督信息,如:类别标签、相似性标签等,来帮助学习不同模态之间的关联从而为多模态数据生成有效的公共表达以进行跨模态检索。虽然有监督方法在实验数据上都有较好的表现,但是对多模态数据进行打标签需要耗费大量的人力和时间,且这种打标签的成本会随着数据量的增长而不断增加。因此,在多模态数据量呈爆炸性增长的今天,有监督方法难以在实际中得以应用。与有监督方法不同,无监督方法不需要借助任何标签信息,仅利用多模态数据间一一对应的关系来挖掘不同模态之间的关联,所以无监督跨模态检索方法的现实价值与实用性更高。

无监督方法又可以大致分为以下几种方法:基于相似性保持的方法、基于矩阵分解的方法、基于图模型的方法。基于相似性保持的方法主要通过在公共空间中同时保持模态内相似性与模态间相似性来为多模态数据生成公共表达。而基于矩阵分解的方法则认为一个实例所对应的不同模态的数据应该在公共空间中有着相同的表达,然后这类方法主要是通过矩阵分解的方式来学习这一个表达。对于基于图模型的方法,它们一般会先将数据间的关系通过图模型来进行建模,然后使用图模型中所构造的关系来对跨模态学习的过程进行约束,使得图模型中的数据关系能够保持到生成的公共表达中。然而,这些方法大多忽略了多模态数据的本质,对多模态数据的公共表达缺乏一个清晰的建模,所生成的公共表达存在信息表达不充分的问题;而且它们总是过于关注如何将大量的多模态数据关系保持到公共空间中,导致它们所生成的公共空间出现数据分布混乱的问题。而这些问题也导致了它们的跨模态检索精度不高。



技术实现要素:

本发明的目的在于克服现有技术的缺点与不足,提出了一种用于无监督跨模态检索的充分场景表达生成方法,该方法将多模态数据的公共表达清晰地建模为包含充分场景信息的表达(简称充分场景表达),并通过表达补齐的方式,在不需要考虑数据间过多的关系的情况下,为不同模态的数据生成充分场景表达来进行更加精确的跨模态检索,能有效解决现有技术方法中存在的公共表达信息不充分以及公共空间分布混乱的问题。

为实现上述目的,本发明所提供的技术方案为:用于无监督跨模态检索的充分场景表达生成方法,包括以下步骤:

1)对不同模态的数据分别提取局部特征,并构造相对应的局部特征集;

2)基于各模态数据的局部特征集,分别为不同模态的数据生成对应的统计表达;

3)基于步骤2)中生成的各模态数据的统计表达定义各模态对应的统计流形,并据此构造相应的公共统计流形;

4)通过搭建多个浅层神经网络来学习不同模态间的投影,从而为多模态数据补齐自身所缺失的其它模态下的统计表达;

5)将多模态数据自身的统计表达与步骤4)中所学习到的其它模态下的统计表达进行级联,从而获得一个包含充分的场景信息的表达,简称为充分场景表达,并相应地将各模态的数据统一嵌入到公共统计流形中以进行跨模态检索。

在步骤1)中,使用词向量模型word2vec和sift算法分别提取文本模态和图像模态的局部特征,具体步骤为:给定一个文本集,对该文本集中的文本进行过滤停用词和无效词的操作后,使用该文本集去训练word2vec模型并生成相应的词向量集合其中xi表示第i个词向量,m则表示词向量的总数,而该词向量集合也正是文本模态所对应的局部特征集;对于图像模态,给定一个图像集,对该图像集中的每幅图像分别提取sift特征,然后使用k-means对提取出来的所有sift特征进行聚类,最终生成的n个聚类簇中心所组成的集合则是图像的局部特征集,其中yi表示图像模态的第i个局部特征。

在步骤2)中,基于步骤1)中所生成的文本和图像模态数据的局部特征集w和v,分别使用高斯混合模型生成文本和图像模态数据的统计表达;

对于文本模态,先使用高斯混合模型对该模态对应的局部特征集w进行建模:

其中,p(x|πt)代表当高斯混合模型的参数πt已知时,词向量x从中抽样出来的概率,k1表示该模型中所使用到的高斯密度函数的数量,表示第i个高斯密度函数所对应的权重,而上标t则是文本模态的标记;在该高斯混合模型中,表示其中的第i个高斯密度函数,而则分别是这个高斯密度函数的均值和方差;针对上述这个高斯混合模型中的所有参数均能够通过em算法迭代学习得到;在获得上述参数后,能够直接在该高斯混合模型的基础上计算出任意文本数据的统计表达;给定任意文本及其所有词向量xi代表其中的第i个词向量,根据如下计算过程生成它对应的统计表达:

其中,p(x|x,ξ)表示当知道文本的词向量集x及其对应的参数ξ时词向量x出现的概率,也能够看做是文本的统计表达,s是文本中包含的局部特征数;而ξi作为统计表达中的第i个高斯密度函数所对应的权重,通过如下计算获得:

其中,j是用来指定不同高斯密度函数的下标参数,所以代表文本模态下的第j个高斯密度函数的对应参数;

对于图像模态,同样用高斯混合模型先对该模态的局部特征集进行建模:

其中,p(y|πi)代表当高斯混合模型的参数πi已知时,图像的局部特征y从中抽样出来的概率,k2表示模型中所使用到的高斯核函数的数量,表示第i个高斯核函数所对应的权重,而上标i则是文本模态的标记;与文本模态相类似,为图像模态中的第i个高斯密度函数,而则分别是这个高斯密度函数的均值和方差;给定任意图像及其所有局部特征yi代表其中的第i个图像局部特征,获得其对应的统计表达:

其中,p(y|y,η)表示当知道图像的局部特征集y及其对应的参数η时图像局部特征y出现的概率,也能够看做是图像的统计表达,t是图像中包含的局部特征数;而ηi作为统计表达中的第i个高斯密度函数所对应的权重,通过如下计算获得:

其中,代表图像模态下的第j个高斯密度函数的对应参数。

在步骤3)中,基于步骤2)中生成的各模态数据的统计表达定义各模态对应的统计流形,并据此构造相应的公共统计流形,具体的过程为:基于步骤2)中所生成的文本数据的统计表达其中p(x|x,ξ)表示当知道文本的词向量集x及其对应的参数ξ时词向量x出现的概率,而ξi代表该表达中的第i个高斯密度函数的参数,k1代表该表达中所使用到的高斯密度函数的数量,上标t则是对文本模态的标记,先对它所处在的文本统计流形进行定义:由于第0个文本模态中的参数ξ0能够由1减去其它k1-1个参数得到,即其中ξi表示第i个参数,文本统计流形mt是一个由这k1个高斯密度函数所共同张成的曲面空间,其中表示这组高斯密度函数中的第k1个函数;则mt所对应的坐标系则记为其中表示该坐标系中的第k1维;在mt中,ξ和p(x|x,ξ)之间也存在着一一对应的映射关系;这样,文本数据就被嵌入到了mt中,并且不同的文本对应着mt中不同的数据点;为了方便表达,将文本数据的统计表达p(x|x,ξ)用ξ来表示;

与文本统计流形类似,图像统计流形也有如下定义:由于第0个图像模态中的参数η0也能够由1减去其它k2-1个参数得到,即其中ηi表示第i个参数,图像统计流形mi也是一个由所张成的曲面空间,其中表示这组高斯密度函数中的第k2个函数;则mi所对应的坐标系也相应记为其中表示该坐标系中的第k2维;同样,在mi中,η和p(y|y,η)之间也存在一一对应的映射关系;为了方便表达,将图像数据的统计表达p(y|y,η)用η来表示;

基于上述对文本统计流形和图像统计流形的定义,下面通过融合这两个统计流形来生成公共统计流形,具体的方法为:直接对张成mt和张成mi进行级联,所得到的这一组高斯密度函数所张成的曲面空间就是公共统计流形mc,其中,gt代表张成mt的高斯密度函数集合,而gi则代表张成mi的高斯密度函数集合,表示张成公共统计流形的第k个高斯密度函数,上标c是公共空间的标识,k=k1+k2则是gc中所包含的高斯密度函数的数量;所以mc的坐标系为ψ=(ξ,η)=(ψ1,...,ψk),其中ψk表示该坐标系中的第k维,那么其中的数据点能够表示为其中p(z|ψ)表示当知道实例对应的参数ψ时,其统计变量z出现的概率,而ψi代表该表达中的第i个高斯密度函数的参数;由于mc是由两个单模态统计流形融合而成的,它包含了两个模态中的信息,所以mc中的任意一个点都能够看作是一个包含着充分场景信息的表达。

在步骤4)中,通过搭建多个浅层神经网络,将不同模态的数据从对应的统计流形中投影到其它模态对应的统计流形中以补齐自身所缺失的其它模态下的统计表达,具体的过程如下:先搭建两个浅层的全连接神经网络记为pt→i和pi→t,分别用于将文本从文本统计流形mt投影到图像统计流形mi和将图像从mi投影到mt,其中t和i分别是对文本模态和图像模态的标识;记为文本在mi上的投影点,为图像在mt上的投影点,则经过pt→i的投影过程能够看作是以下的计算过程:

其中,ω是一个规模为k1×k2的投影矩阵,k1和k2分别是文本和图像模态中所用到的高斯密度函数的数量,ωt中的上标t代表矩阵的转置操作,则是一个归一化项用来保证这个条件成立,其中z1是用来表征这个归一化项的符号,e为自然常数,表示投影矩阵ω转置后的第i个行向量,则是投影点的第i个分量;与之相类似,经过pi→t的投影过程也能够看作是以下的计算过程:

其中,是一个规模为k2×k1的投影矩阵,中的上标t代表矩阵的转置操作,而则是一个归一化项用来保证这个条件成立,其中z2是用来表征这个归一化项的符号,表示投影矩阵转置后的第i个行向量,则是投影点的第i个分量;同时,投影过程需要保证投影点与另一个模态的对应表达尽可能相似,所以投影pt→i的目标函数为:

而投影pi→t的目标函数则为:

其中,||·||1和||·||2分别指一范数和二范数的计算,min表示最小化后面的式子,α和β是两个超参数,用来分别控制投影pt→i和pi→t中投影矩阵的稀疏程度;对于上述两条目标函数,通过adam优化器来进行迭代优化便能够得到合适的投影矩阵ω和也就相当于获得了合适的pt→i和pi→t;给定第a个文本的统计表达ξa,能够通过投影pt→i来获得它在图像模态下的缺失表达对于第b个图像的统计表达ηb,也能够通过投影pi→t来获得它在文本模态下的缺失表达

在步骤5)中,将多模态数据自身的统计表达与步骤4)中所学习到的其它模态下的统计表达进行级联,从而获得充分场景表达并共同嵌入到步骤3)中构造的公共统计流形mc中以进行跨模态检索。

本发明与现有技术相比,具有如下优点与有益效果:

1、本发明提出将多模态数据的公共表达建模为充分场景表达,并基于此提出先用高斯混合模型对各模态样本中的信息进行充分表达,然后进一步使用表达补齐的方式来为多模态数据学习充分场景表达以进行更加精确的跨模态检索。

2、本发明不需要考虑过多的数据关系就可以为多模态数据生成公共表达,有效地克服了传统跨模态检索方法存在的公共空间混乱问题。

3、本发明提出的表达补齐过程仅由简单的全连接神经网络来实现,模型易于实现且训练难度低。

总之,本发明将多模态数据的公共表达定义成一种包含充分场景信息的表达,并且相应地提出了表达补齐的方案,使得可以在不需要考虑过多数据关系的情况下,为多模态数据生成充分场景表达。这不仅解决了现有技术中存在的公共表达信息不充分问题,也解决了它们公共空间存在数据混乱分布的问题,从而带来更加精确的跨模态检索。

附图说明

图1是本发明方法逻辑流程图。

图2是本发明的表达补齐流程图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

如图1和图2所示,本实施例所提供的用于无监督跨模态检索的充分场景表达生成方法,包括以下步骤:

1)给定一个多模态数据集,先对不同模态的数据分别提取局部特征,然后构造不同模态对应的局部特征集。对于文本数据集,通过词向量模型word2vec可以获得相对应的文本局部特征集其中xi表示第i个词向量,m则表示词向量的总数。对于图像数据集,对该集合中的每幅图像分别提取sift特征,然后使用k-means对这提取出来的所有sift特征进行聚类,最终生成的n个聚类簇中心所组成的集合则是图像的局部特征集,其中yi表示图像模态的第i个局部特征。

2)基于上一步骤中所生成的文本和图像模态数据的局部特征集w和v,分别使用高斯混合模型生成文本和图像模态数据的统计表达。

对于文本模态,先使用高斯混合模型对该模态对应的局部特征集w进行建模:

其中,p(x|πt)代表当该高斯混合模型的参数πt已知时,词向量x从中抽样出来的概率,k1表示该模型中所使用到的高斯密度函数的数量,表示第i个高斯密度函数所对应的权重,而上标t则是文本模态的标记;在该高斯混合模型中,表示其中的第i个高斯密度函数,而则分别是这个高斯密度函数的均值和方差。针对上述这个高斯混合模型中的所有参数均可以通过em算法迭代学习得到。在获得这些参数后,可以直接在该高斯混合模型的基础上计算出任意文本数据的统计表达。给定任意文本及其所有词向量xi代表其中的第i个词向量,可以根据如下计算过程生成它对应的统计表达:

其中,p(x|x,ξ)表示当知道该文本的词向量集x及其对应的参数ξ时词向量x出现的概率,也可以看做是该文本的统计表达,s是该文本中包含的局部特征数;而ξi作为该统计表达中的第i个高斯密度函数所对应的权重,可以通过如下计算获得:

其中,j是用来指定不同高斯密度函数的下标参数,所以代表文本模态下的第j个高斯密度函数的对应参数。

对于图像模态,同样用高斯混合模型先对该模态的局部特征集进行建模:

其中,p(y|πi)代表当该高斯混合模型的参数πi已知时,图像的局部特征y从中抽样出来的概率,k2表示该模型中所使用到的高斯核函数的数量,表示第i个高斯核函数所对应的权重,而上标i则是文本模态的标记。与文本模态相类似,为图像模态中的第i个高斯密度函数,而则分别是这个高斯密度函数的均值和方差。给定任意图像及其所有局部特征yi代表其中的第i个图像局部特征,获得其对应的统计表达:

其中,p(y|y,η)表示当知道该图像的局部特征集y及其对应的参数η时图像局部特征y出现的概率,也可以看做是该图像的统计表达,t是该图像中包含的局部特征数;而ηi作为该统计表达中的第i个高斯密度函数所对应的权重,通过如下计算获得:

其中,代表图像模态下的第j个高斯密度函数的对应参数。

3)基于上一步骤中生成的各模态数据的统计表达定义各模态对应的统计流形,并据此构造相应的公共统计流形。因为文本数据的统计表达为其中p(x|x,ξ)表示当知道该文本的词向量集x及其对应的参数ξ时词向量x出现的概率,而ξi代表该表达中的第i个高斯密度函数的参数,k1代表该表达中所使用到的高斯密度函数的数量,且第0个文本模态中的参数ξ0可以由1减去其它k1-1个参数得到,即其中ξi表示第i个参数,文本统计流形mt则被定义为一个由这k1个高斯密度函数所共同张成的曲面空间,其中表示这组高斯密度函数中的第k1个函数;则mt所对应的坐标系则可以记为其中表示该坐标系中的第k1维。与文本统计流形类似,图像统计流形也有如下定义:由于第0个图像模态中的参数η0也可以由1减去其它k2-1个参数得到,即其中ηi表示第i个参数,图像统计流形mi也是一个由所张成的曲面空间,其中表示这组高斯密度函数中的第k2个函数;则mi所对应的坐标系也可以相应记为其中表示该坐标系中的第k2维。

基于上述对文本统计流形和图像统计流形的定义,下面通过融合这两个统计流形来生成公共统计流形:直接对张成mt和张成mi进行级联,所得到的这一组高斯密度函数所张成的曲面空间就是公共统计流形mc,其中,gt代表张成mt的高斯密度函数集合,而gi则代表张成mi的高斯密度函数集合,表示张成公共统计流形的第k个高斯密度函数,上标c是公共空间的标识,k=k1+k2则是gc中所包含的高斯密度函数的数量。所以mc的坐标系为ψ=(ξ,η)=(ψ1,...,ψk),其中ψk表示该坐标系中的第k维,那么其中的数据点可以表示为其中p(z|ψ)表示当知道该实例对应的参数ψ时其统计变量z出现的概率,而ψi代表该表达中的第i个高斯密度函数的参数。

4)通过搭建多个浅层神经网络,将不同模态的数据从对应的统计流形中投影到其它模态对应的统计流形中以补齐自身所缺失的其它模态下的统计表达,具体的过程为:先搭建两个浅层的全连接神经网络记为pt→i和pi→t,分别用于将文本从文本统计流形mt投影到图像统计流形mi和将图像从mi投影到mt,其中t和i分别是对文本模态和图像模态的标识。记为文本在mi上的投影点,为图像在mt上的投影点,则经过pt→i的投影过程可以看作是以下的计算过程:

其中,ω是一个规模为k1×k2的投影矩阵,k1和k2分别是文本和图像模态中所用到的高斯密度函数的数量,本式中的上标t代表矩阵的转置操作,则是一个归一化项用来保证这个条件成立,其中z1是用来表征这个归一化项的符号,e为自然常数,表示投影矩阵ω转置后的第i个行向量,则是投影点的第i个分量。与之相类似,经过pi→t的投影过程也可以看作是以下的计算过程:

其中,是一个规模为k2×k1的投影矩阵,中的上标t代表矩阵的转置操作,而则是一个归一化项用来保证这个条件成立,其中z2是用来表征这个归一化项的符号,表示投影矩阵转置后的第i个行向量,则是投影点的第i个分量。同时,投影过程需要保证投影点与另一个模态的对应表达尽可能的相似,所以投影pt→i的目标函数为:

而投影pi→t的目标函数则为:

其中,||·||1和||·||2分别指一范数和二范数的计算,min表示最小化后面的式子,α和β是两个超参数,用来分别控制投影pt→i和pi→t中投影矩阵的稀疏程度。对于这两条目标函数,通过adam优化器来进行迭代优化便可以得到合适的投影矩阵ω和也就相当于获得了合适的pt→i和pi→t。给定第a个文本的统计表达ξa,可以通过投影pt→i来获得它在图像模态下的缺失表达对于第b个图像的统计表达ηb,也可以通过投影pi→t来获得它在文本模态下的缺失表达

5)将多模态数据自身的统计表达与上一步骤中所学习到的其它模态下的统计表达进行级联从而获得充分场景表达并共同嵌入到公共统计流形mc中以进行跨模态检索。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其它的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1