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

基于局部结构传递的多模态表征学习方法和系统与流程

2022-03-04 23:43:22 来源:中国专利 TAG:


1.本发明及人工智能领域的表征学习技术,具体涉及一种基于局部结构传递的多模态表征学习方法和系统,可用于跨模态检索、聚类等任务。


背景技术:

2.当今的大数据时代下,我们获取数据的方式越来越多,获得的数据种类也越来越多,如何用机器学习的方式来处理生活中出现的多模态数据成为了现在的研究热点。目前研究最常见的多模态数据有图像和文字、图像和音频、视频和音频等。一些典型的应用场景包括图像描述,视觉问答以及视听语音识别等。多模态表征学习的目标是将多模态数据直接嵌入到多模态学习空间中,使各个模态数据可以直接进行比较,同时在学习过程中可以从其他模态学到一些互补信息。学习多模态表征是多模态学习中的一项基本任务,因为信息性较强和有互补性的表征可以极大地促进后续学习任务。然而,在多模态数据表征学习中,如何统一异构的多模态数据同时从其他模态中获取互补只是仍然是一个有挑战性的问题。现有的多模态表征学习方法都是通过将不同的模式与相似性约束相结合,将多模态数据投影到一个公共空间中。然而,这些方法只关注对象级别的对齐,这意味着它们只是试图对齐不同模态中的两个对应的数据对象。这些方法不能在其它模态中有效地捕捉互补的模态内部数据结构。对象级对齐对模态非常重要,特别是对于跨模式检索任务。同时,结构层次上的互补信息学习,例如通过学习另一模态中的数据结构信息来增强一种模态内的数据结构,有利于一些单模态下的机器学习任务,比如分类任务和聚类任务等。自动编码器(autoencoder)被广泛用于无监督学习,而对于不包含标签数据的多模态数据,自动编码器也成为主要的表征学习方式,其产生的联合表征主要是将不同模态之间的数据表征拼接为一个表征,然后通过自动编码器进行信息融合,这种方式适用于针对特殊任务进行训练并且在测试数据中,它同样需要各个模态的数据,而在实际应用场景中,测试数据可能不包含所有模态数据。大部分基于多模态数据的研究都针对两个模态的数据,如图像和文本、图像和声音、视频和声音等。针对这样的应用场景,更为常用的表征方法是调和表征,即在训练阶段为两个模态数据学习独立的表征,而不同模态的表征通过约束实现对齐。devise和视觉语义嵌入(vse)是典型的多模态表征学习模型,它们利用内积来度量相似度,并且通过排序损失函数来对齐图像和文本数据。顺序嵌入方式(order-embedding)在对齐两个模态数据的同时,在嵌入空间中考虑了部分顺序关系。多模态张量融合方法(mtfn)用张量融合的方式来计算多模态数据之间的相似度。堆叠交叉注意力网络(scan)和双向焦点网络(bfan)通过细粒度的图片分块以及文本段的方式来提升相似度度量方式。双分支神经网络(tbnn)建立了嵌入网络和相似度网网络来对齐多模态数据,同时保持各模态数据内部的结构。这些方法都忽视了从其他模态来获取互补信息。


技术实现要素:

3.本发明要解决的技术问题:针对现有多模态表征学习方法难以捕获模态间的互补
信息的问题,提供一种基于局部结构传递的多模态表征学习方法和系统,本发明不仅考虑了数据对象层面上的对齐,同时也考虑了各模态内部的数据结构对齐,使得在单一模态内学习得到的多模态数据表征的聚类结构更加明显,显而易见地这对于进行聚类任务、分类任务等单模态下的机器学习任务更为有利。
4.为了解决上述技术问题,本发明采用的技术方案为:
5.一种基于局部结构传递的多模态表征学习方法,包括:
6.1)针对各个模态的单一模态数据,分别通过单一模态数据表征编码器映射到低维的向量空间生成单模态数据表征,并将单模态数据表征通过多模态数据表征编码器映射到多模态数据表征空间得到多模态表征;
7.2)初始化各个模态的距离度量参数以及神经网络参数集合θ,所述神经网络参数集合θ包括各个模态下单一模态数据表征编码器、多模态数据表征编码器的参数;
8.3)进行数量为总预设轮次epoch次的迭代训练,且在每一次迭代训练包括针对每一个模态i执行预设轮次epoch-i次的下述训练过程:固定其他模态的距离度量参数,根据多模态表征随机生成三元组,根据本模态的损失函数和梯度下降更新本模态的距离度量参数以及神经网络参数集合θ中的参数;且在完成总预设轮次epoch次的迭代训练后输出最终得到的各个模态的距离度量参数以及神经网络参数集合θ。
9.可选地,步骤1)中的各个模态包括互补的模态a和模态b,所述单一模态数据表征编码器的函数表达式为:
10.上式中,和分别表示模态a和模态b的单一模态数据表征编码器,θa和θb分别为模态a和模态b的单一模态数据表征编码器的参数;
11.所述多模态数据表征编码器的函数表达式为:
[0012][0013]
上式中,和分别表示模态a和模态b的多模态数据表征编码器,和分别为模态a和模态b的多模态数据表征编码器的参数。
[0014]
可选地,步骤2)中神经网络参数集合θ为其中w表示模态a和模态b的单一模态数据表征编码器的权重矩阵,θa和θb分别为两个单一模态数据表征编码器的参数,和分别为模态a和模态b的多模态数据表征编码器的参数。
[0015]
可选地,步骤3)包括:
[0016]
3.1)初始化全局迭代次数i;
[0017]
3.2)判断全局迭代次数i小于总预设轮次epoch是否成立,若成立则跳转执行下一步;否则,判定训练完毕,结束并退出;
[0018]
3.3)初始化设置模态a的迭代次数j;
[0019]
3.4)判断模态a的迭代次数j小于模态a的a模态预设轮次epoch_a是否成立,若成立则跳转执行下一步;否则,初始化模态b的迭代次数k,跳转执行步骤3.6);
[0020]
3.5)固定模态b的距离度量参数wb,根据多模态表征随机生成三元组,根据模态a的损失函数la和梯度下降更新神经网络参数集合θ中的参数和模态a的距离度量参数wa,将模态a的迭代次数j加1,跳转执行步骤3.4);
[0021]
3.6)判断模态b的迭代次数k小于模态b的b模态预设轮次epoch_b是否成立,若成立则跳转执行下一步;否则,将全局迭代次数i加1,跳转执行步骤3.2);
[0022]
3.7)固定模态a的距离度量参数wa,根据多模态表征随机生成三元组,根据模态b的损失函数lb和梯度下降更新神经网络参数集合θ中的参数和模态b的距离度量参数wb,将模态b的迭代次数k加1,跳转执行步骤3.6)。
[0023]
可选地,步骤3.5)中根据多模态表征随机生成的三元组为步骤3.7)中根据多模态表征随机生成的三元组为针对给定的一个正配对《ha,hb》,和为在模态a中最难分辨的负配对数据对象,和为在模态b中最难分辨的负配对数据对象。
[0024]
可选地,步骤3.5)中模态a的损失函数la、步骤3.7)中模态b的损失函数lb的函数表达式为:
[0025][0026][0027][0028][0029][0030][0031]
σ(x)=1/(1 e-x
),
[0032]
上式中,la(xa,xb;θa)和lb(xa,xb;θb)分别表示模态a的损失函数la、模态b的损失函数lb,xa,xb分别表示模态a的、模态b的单一模态数据,θa和θb分别为神经网络参数集合θ中的模态a、模态b的部分参数,和分别为模态a、模态b的模态内数据结构传递损失函数,l
ma
和l
ma
(ha,hb)为模态a、模态b双向的对齐损失函数,表示模态a的三元组,表示第一个模态内距离度量大于第二个模态内距离度量关于度量关系指示函数δ的概率,δ为中间计算函数,表示模态b的三元组,表示第一个模态内距离度量大于第二个模态内距离度量关于度量关系指示函数δ的概率,l
ma
(ha,hb)为模态a、模态b双向的对齐损失函数,m为边界值,s表示相似度分值函数,max表示取最大值函数。
[0033]
可选地,所述第一个模态内距离度量第二个模态内距离度量的函数表达式为:
[0034][0035][0036]
上式中,wa表示模态a的距离度量参数,表示模态a的三元组,wb表示模态b的距离度量参数,表示模态b的三元组。
[0037]
可选地,所述度量关系指示函数δ的定义函数表达式如下:
[0038][0039]
上式中,和分别表示和d为距离函数,表示模态a的三元组,表示模态b的三元组。
[0040]
此外,本发明还提供一种基于局部结构传递的多模态表征学习系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述基于局部结构传递的多模态表征学习方法的步骤。
[0041]
此外,本发明还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述基于局部结构传递的多模态表征学习方法的计算机程序。
[0042]
和现有技术相比,本发明具有下述优点:本发明不仅考虑了数据对象层面上的对齐,同时也考虑了各模态内部的数据结构对齐,具体来讲,一个单模态内部的数据结构可以促进另一模态内部的数据结构,以此来学习互补信息。对比单一模态下的原始数据表征,多模态数据表征不仅将各模态的数据对象进行对齐,同时互相传递模态内的数据结构,使得在单一模态内学习得到的多模态数据表征的聚类结构更加明显,显而易见地这对于进行聚类任务、分类任务等单模态下的机器学习任务更为有利。
附图说明
[0043]
图1为本发明实施例方法的基本流程示意图。
[0044]
图2为本发明实施例中生成三元组的原理示意图。
[0045]
图3为本发明实施例中表征学习模型mr-lst的框架结构图。
具体实施方式
[0046]
下文将以用于入侵检测机器学习分类器的各个模态的单一模态数据为例,对本发明基于局部结构传递的多模态表征学习方法进行进一步的详细说明。
[0047]
如图1所示,本实施例基于局部结构传递的多模态表征学习方法(命名为mr-lst,multimodal representation with local structure transferring)包括:
[0048]
1)针对各个模态的单一模态数据,分别通过单一模态数据表征编码器映射到低维的向量空间生成单模态数据表征,并将单模态数据表征通过多模态数据表征编码器映射到
多模态数据表征空间得到多模态表征;
[0049]
2)初始化各个模态的距离度量参数以及神经网络参数集合θ,所述神经网络参数集合θ包括各个模态下单一模态数据表征编码器、多模态数据表征编码器的参数;
[0050]
3)进行数量为总预设轮次epoch次的迭代训练,且在每一次迭代训练包括针对每一个模态i执行预设轮次epoch-i次的下述训练过程:固定其他模态的距离度量参数,根据多模态表征随机生成三元组,根据本模态的损失函数和梯度下降更新本模态的距离度量参数以及神经网络参数集合θ中的参数;且在完成总预设轮次epoch次的迭代训练后输出最终得到的各个模态的距离度量参数以及神经网络参数集合θ。
[0051]
需要说明的是,本实施例基于局部结构传递的多模态表征学习方法可以适用于多种模态,为了简化说明,本实施例中以互补的模态a和模态b为例进行说明。例如在网络谣言检测机器学习分类器的各个模态的单一模态数据实例中,模态a是指文本模态,模态b是指图像模态,模态a的单一模态数据是指网络谣言的文字内容,模态b的单一模态数据是指网络谣言所带的图像。
[0052]
步骤1)中的各个模态包括互补的模态a和模态b,多模态数据表征是建立在单模态数据表征之上的,而单一模态数据表征是通过单一模态数据表征编码器产生的。初始状态下,本实施例中通过单一模态数据表征编码器将模态a中的数据对象映射到模态a在单一模态下的表征空间中,在映射的过程中,该编码器需要从模态a中获取充足的模态内信息。同样,对于模态b也是类似的。本实施例中,单一模态数据表征编码器的函数表达式为:
[0053]
上式中,和分别表示模态a和模态b的单一模态数据表征编码器,θa和θb分别为模态a和模态b的单一模态数据表征编码器的参数;和分别将复杂异构的模态数据映射到低维的向量空间和这些单一模态的数据表征编码器可以用预训练的神经网络,比如对图像数据来说,可以使用深度卷积网络(vgg)和深度残差网络(resnet);对文本数据来说,可以使用长短时记忆网络(lstm),门控循环单元网络(gru)以及费舍尔向量(fisher vector)等。
[0054]
尽管和都是连续的向量空间,但是属于不同向量空间的单一模态的数据表征之间是不能够进行比较的。为了学习不同模态间学习互补知识,并且对不同模态中的数据进行对齐,本实施例中将它们映射到多模态数据表征空间。本实施例中,多模态数据表征编码器的函数表达式为:
[0055][0056]
上式中,和分别表示模态a和模态b的多模态数据表征编码器(用于将单一模态表征空间中的数据映射到多模态数据表征空间),和分别为模态a和模态b的多模态数据表征编码器的参数。这两个多模态数据表征编码器是居于单一表征编码器之上的,它们可以实现为神经网络或者是一些混合模型。基于上述数据编码器,在学习多模态数据的表征过程中,本实施例中就是要通过后续的模态内数据结构传递以及模态对齐的损失函数来优化编码器中的参数,得到一个满足条件的参数集合
[0057]
本实施例中,步骤2)中神经网络参数集合θ为其中w表示模态a和模态b的单一模态数据表征编码器的权重矩阵,θa和θb分别为两个单一模态数据表征编码器的参数,和分别为模态a和模态b的多模态数据表征编码器的参数。
[0058]
参见图1,本实施例中步骤3)包括:
[0059]
3.1)初始化全局迭代次数i;
[0060]
3.2)判断全局迭代次数i小于总预设轮次epoch是否成立,若成立则跳转执行下一步;否则,判定训练完毕,结束并退出;
[0061]
3.3)初始化设置模态a的迭代次数j;
[0062]
3.4)判断模态a的迭代次数j小于模态a的a模态预设轮次epoch_a是否成立,若成立则跳转执行下一步;否则,初始化模态b的迭代次数k,跳转执行步骤3.6);
[0063]
3.5)固定模态b的距离度量参数wb,根据多模态表征随机生成三元组,根据模态a的损失函数la和梯度下降更新神经网络参数集合θ中的参数和模态a的距离度量参数wa,将模态a的迭代次数j加1,跳转执行步骤3.4);
[0064]
3.6)判断模态b的迭代次数k小于模态b的b模态预设轮次epoch_b是否成立,若成立则跳转执行下一步;否则,将全局迭代次数i加1,跳转执行步骤3.2);
[0065]
3.7)固定模态a的距离度量参数wa,根据多模态表征随机生成三元组,根据模态b的损失函数lb和梯度下降更新神经网络参数集合θ中的参数和模态b的距离度量参数wb,将模态b的迭代次数k加1,跳转执行步骤3.6)。
[0066]
如图2所示,本实施例步骤3.5)中根据多模态表征随机生成的三元组为步骤3.7)中根据多模态表征随机生成的三元组为针对给定的一个正配对和为在模态a中最难分辨的负配对数据对象,和为在模态b中最难分辨的负配对数据对象。
[0067]
如图3所示,本实施例步骤3.5)中模态a的损失函数la、步骤3.7)中模态b的损失函数lb的函数表达式为:
[0068][0069][0070][0071][0072][0073][0074]
σ(x)=1/(1 e-x
),
[0075]
上式中,la(xa,xb;θa)和lb(xa,xb;θb)分别表示模态a的损失函数la、模态b的损失函数lb,xa,xb分别表示模态a的、模态b的单一模态数据,θa和θb分别为神经网络参数集合θ中的模态a、模态b的部分参数,和分别为模态a、模态b的模态内数据结构传递损失函数,l
ma
和l
ma
(ha,hb)为模态a、模态b双向的对齐损失函数,表示模态a的三元组,表示第一个模态内距离度量大于第二个模态内距离度量关于度量关系指示函数δ的概率,δ为中间计算函数,表示模态b的三元组,表示第一个模态内距离度量大于第二个模态内距离度量关于度量关系指示函数δ的概率,l
ma
(ha,hb)为模态a、模态b双向的对齐损失函数,m为边界值,s表示相似度分值函数,max表示取最大值函数。
[0076]
为了从不同模态间获取互补的信息,基于度量学习,本实施例中对称地将一种模态中的数据结构传递到另一种模态中,对于两种模态a和b,对应的学习目标(损失函数)为和具体来说,本实施例中用一个模态中的三元组距离顺序关系来指导另一模态中对应三元组的度量学习。假设令模态a中由一个目标数据以及两个对比数据组成的三元组为假设令模态b中由一个目标数据以及两个对比数据组成的三元组为本实施例中,第一个模态内距离度量第二个模态内距离度量的函数表达式为:
[0077][0078][0079]
上式中,wa表示模态a的距离度量参数,表示模态a的三元组,wb表示模态b的距离度量参数,表示模态b的三元组。
[0080]
本实施例中,模态a的距离度量参数是一个对称的半正定矩阵,模态b的距离度量参数同样是一个对称的半正定矩阵。
[0081]
在传统的度量学习方法中,本实施例中需要知道距离度量对和之间的大小顺序关系,但是在本无监督模式下,本实施例中无法得到这种大小关系。在专利(“基于度量学习的自引导式混合数据表征学习方法及系统”)中采用了一个直观的解决思路,即用一个空间中三元组的距离大小关系来指导另一空间中对应三元组距离度量的大小关系,对应到多模态表征学习中,即利用模态b中三元组距离关系来定义一个二元的函数δa来指导模态a中的度量学习:
[0082][0083]
其中d是模态内部的距离函数,可采用欧氏距离、余弦距离等。
[0084]
然而,当模态a内的距离关系与模态b内的距离关系不一致时,在优化参数的过程
中,上述的设计可能会导致损失函数不断震荡,达不到训练效果。考虑到这个问题,本实施例中进一步设计了一种松弛的度量关系指示函数,本实施例中将两个模态内部的距离关系同时考虑进来,得到一个相对稳定的度量关系指示函数δ,其定义函数表达式如下:
[0085][0086]
上式中,和分别表示和d为距离函数,表示模态a的三元组,表示模态b的三元组。本实施例中,选择欧式距离表示模态b的三元组。本实施例中,选择欧式距离作为模态内部的距离函数。通过上述设计,当两个模态内部的三元组距离关系不一致时,距离度量关系以概率的形式服从它们的距离关系差值。
[0087]
基于前述的距离度量,在条件δ之下,的对数概率如下:
[0088][0089]
类似的,在条件δ之下,的对数概率如下:
[0090][0091]
相应的,将模态b中的数据结构传递给模态a的损失函数可以写为:
[0092][0093]
相应的,将模态a中的数据结构传递给模态b的损失函数可以写为:
[0094][0095]
为了对齐两个模态的数据,本实施例中基于一个跨模态的三元组《ha,hb,hb》建立一个相似度排名模型。给定一个模态a中的目标数据ha,在模态b中与之配对的数据对象hb,那么《ha,hb》可以作为正配对,《ha,hb》作为负配对。本实施例中定义了一个相似度分值函数s(ha,hb)使得其计算得到的正配对数据对象相似度分数大于负配对数据对象的相似度分数。基于三元组,本实施例中定义一个双向的对齐损失函数来对齐两个模态下的数据对象,定义如下:
[0096][0097]
其中m是一个设置的边界值;hb是对于ha的负配对,s表示相似度分值函数,max表示取最大值函数。这个模态数据对象对齐损失函数能够在数据内部结构传递的训练过程中保持模态间的数据配对关系。相似度分值函数s的函数定义如下:
[0098]
s(ha,hb)=σ(w(ha⊙
hb)),
[0099]
上式中,

是元素级别的点积函数,
[0100]
相比于直接利用点积或者其他相似度计量方法来进行相似度计算,本实施例中定义的相似度计算模型能够捕获ha和hb之间更加复杂的交互信息,这源于相似度计算模型是跟随整个网络的训练不断训练的。本实施例中为了学习多模态数据表征,设计了一个交替的迭代训练策略,并构造了如下训练损失函数:
[0101][0102]
上式中,θa={wa}∪θ和θb={wb}∪θ是参数集合,la是在模态间对齐约束下,将模态b中的数据内部结构传递到模态a中的损失函数。当本实施例中优化la时,wb参数是固定的,wa以及θ中的参数是更新的。类似的,lb是对称的另一边损失函数。利用这种交替训练的方式,模态内部的数据结构将会传递,同时会增强内部的数据结构。
[0103]
综上所述,本实施例基于局部结构传递的多模态表征学习方法可广泛引用于各类多种多模态数据的表征学习,例如作为一种典型的应用,本实施例基于局部结构传递的多模态表征学习方法可应用于网络谣言检测系统中得到的多种模态数据的表征学习,通过将各类不同模态的网络行为数据输入本实施例基于局部结构传递的多模态表征学习方法进行表征学习,然后转换为单模态下的表征学习数据,将转换得到的单模态下的表征学习数据输入网络谣言检测系统中的网络谣言检测机器学习分类器,即可实现基于各类不同模态的网络行为数据在单模态下的网络谣言检测,能够有效提高单模态下的网络谣言检测的准确度。
[0104]
此外,本实施例还提供一种基于局部结构传递的多模态表征学习系统,包括相互连接的微处理器和存储器,该微处理器被编程或配置以执行前述基于局部结构传递的多模态表征学习方法的步骤。
[0105]
此外,本实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有被编程或配置以执行前述基于局部结构传递的多模态表征学习方法的计算机程序。
[0106]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使
得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0107]
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

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

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

相关文献