1.本发明涉及人工智能领域,特别涉及一种基于对抗网络的跨模态识别技术。
背景技术:2.在许多真实世界的应用中,人们高度期望为给定的查询检索跨越各种模态的“相似”样本,因为一个对象通常是由多种形式描述的,例如,文本、视频、图像和声音。这种所谓的跨模态检索问题的关键是缩小由于不同模态可能存在于完全不同的空间而引起的异质性差异。
3.在过去的几十年里,人们提出了许多跨模态方法来缓解异质性差异,一般来说是通过浅模型或深模型将多种模态投影到单一的共同空间中。简而言之,浅层模态特定变换将多媒体数据投射到一个潜在的单一统一空间,这里可以进一步分为无监督方法和有监督方法。无监督模型通过最大化跨模态成对样本之间的相关性来消除异质性差异。另一方面,有监督方法利用语义信息,通过保留公共空间的判别性来提高性能。虽然传统的浅层方法已经取得了很好的性能,但它们大多是线性方法,可能无法捕获高度非线性的真实多模态数据的高级语义。
4.为了自适应捕捉数据的非线性,最近有几项工作提出了利用深度神经网络(dnn)进行交叉模态分析。在这些工作中,采用了生成式对抗网络(gan)的一些变体来消除模态差异,在实际应用中表现出良好的效果。尽管基于gan的方法取得了很好的效果,但由于对抗学习的原因,生成表征中可能保留了冗余信息。具体地说,基于gan的方法包括判别器和生成器,如图1(a)所示。判别器试图将生成表征与真实表征区分开来。同时,生成器试图产生样本来混淆判别器。这样,生成器就可以通过判别器间接地缓解异质性差异,而不是明确地捕捉到生成器自身的分布。因此,在对抗过程中会留下一些冗余信息,这可能会降低跨模态检索的性能,如图1(c)所示。
5.在此基础上,我们提出了一个跨模态判别对抗网络(can),以消除对抗学习过程中的冗余。该方法由三个模块组成,即两个并行的特定于模态的产生器和判别器,以及一个新的跨模态判别机制(cdm)(见图2)。如图1所示,我们的方法与现有方法的主要区别在于以下两个方面。一方面,现有的范式大多直接生成共同表征,而我们可以利用cdm通过w1,w2将生成的特征(即判别空间)投射到潜在的共同空间中。cdm可以减少冗余,并从生成的特征中细化识别。也就是说,在加入判别的同时可以消除交叉模态差异,从而提高检索性能。另一方面,我们的判别器不仅能够区分真/假样本,同时还利用可用的标签信息对真样本进行分类,如图1所示。
技术实现要素:6.本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于对抗网络的跨模态识别技术,该方法由三个模块组成,即两个并行的特定于模态的产生器和判别器,以及一个创新的跨模态判别机制(cdm)。跨模态判别机制将所有模式的生成特征投射
到一个潜在的公共空间中,并给对抗性学习提供积极/消极的反馈,因此,我们的方法可以减少模态差异,同时将判别信息保留到公共空间中。为了优化cdm算法,本发明提出了一种新的目标函数来学习类内点压缩和类间点分散的潜在统一空间,从生成的特征中求解cdm的变换,从而避免陷入局部最优解。为了避免直接优化cdm目标函数的平凡解,本发明提出了一种新的基于对数特征值的损失函数,这种损失函数的另一个好处是,它可以将尽可能多的判别性加到跨模态判别机制转变的所有潜在方向,而不仅仅是主导方向。
7.为解决上述技术问题,本发明采用的技术方案是:一种基于对抗网络的跨模态识别技术,包括以下步骤:
8.1)生成器g
k
将输入映射到一个潜在的线性判别空间:
[0009][0010][0011]
其中,w
k
是特定于第k模态的线性变换,
[0012]
2)根据上述,计算所有模态的第i类统一特征的平均值:
[0013][0014]
以及所有模态的统一特征的平均值:
[0015][0016]
3)根据上述,计算类内紧凑性矩阵和类间离散性矩阵
[0017][0018][0019]
其中,是第k模态的第i类的点的数量,是一个minibatch中第i类的点的数量,s
w
和s
b
定义如下:
[0020][0021][0022]
其中,k==l是一个布尔方程,如果k=l,其值为1,否则为0,是第k模态的第i类的所有生成表征的和。
[0023]
4)根据上述,我们有:
[0024][0025][0026]
其中tr(
·
)和|
·
|分别为迹算子和行列式算子,上述公式可以等价的重新表示为广义特征值分解问题(generalized eigenvalue decomposition,ged):
[0027]
s
b
w
i
=λ
i
s
w
w
i
,
[0028]
其中,λ
i
和w
i
(i=1,2,
…
,m)分别为广义特征值分解问题的第i个最大特征值和其对应的特征向量,w
i
是矩阵w的第i个列向量,m≤c
‑
1为目标简约维数,因为至多存在c
‑
1个非零广义特征值,故m的上界是c
‑
1。
[0029]
5)根据上述,为了优化神经网络的梯度计算,我们使用公共表征产生正/负反馈并返回给网络来训练网络。为了获得反馈,我们在计算出的公共表征之间进行跨模态匹配。利用第k模态的类中心来预测其和第l(k≠l)模态的跨模态匹配概率,现将匹配到第k模态的概率定义为:
[0030][0031]
由此,可以计算出匹配集和不匹配集和不匹配集和不匹配集其中,为正阈值,根据经验确定σ=0.9,同样的,显然,匹配集和不匹配集满足这些匹配信息(即图2中的r1和r2),可以反馈给生成器和判别器。
[0032]
6)根据上述,我们定义最终的目标函数为:
[0033][0034]
其中,l
g
、l
d
、l
w
分别为生成器、判别器、跨模态判别机制的损失函数。
[0035]
更具体地,生成器的损失函数l
g
:
[0036][0037]
其中表示包含来自其他模态的所有失配样本的假样本,h(
·
,
·
)是神经网络中softmax层里使用的交叉熵损失,
[0038]
判别器的损失函数l
d
:
[0039][0040]
其中,
[0041][0042]
其中,是包含第k模态和来自其他模态对应的匹配样本的真集,正/负(匹配/失匹配)反馈通过跨模态匹配将判别器和共同空间连接起来,
[0043]
跨模态判别机制的损失函数l
w
:
[0044][0045]
其中,其中,是一个数学运算符,它将x的小数部分四舍五入,使其等于最接近的整数,其中q(0<q<1)为正平衡参数。
附图说明
[0046]
图1为与现有的基于gan的跨模态学习模型之间的视觉比较,包括对抗跨模态检索(acmr)和我们的。(a)是现有的大多数基于gan的方法的学习范式,(b)是我们的can。图中,g1和g2代表图像和文本生成器,d代表判别器。w1和w2表示特定于模态的线性判别变换。(c)是我们对现有的acmr方法表示冗余与检索性能之间关系的观察,可以看出,acmr的map先随着协方差的增大而增大,然后继续减小。换句话说,acmr需要一个足够高的维表示来包含潜在信息,在此之后,高维表示将包含冗余,削弱判别权值,从而降低映射。
[0047]
图2为我们can的框架,以双模态数据(即图像和文本)作为展示。can由三部分组成:两个特定于模态的生成器(g1和g2),两个特定于模态的判别器(d1和d2),以及一个跨模态判别机制(cdm)。在图中,r1和r2是d1和d2的反馈,c表示类数。cdm通过w1和w2将生成的特征投影到公共空间中。
具体实施方式
[0048]
下面结合实施例对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
[0049]
应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不排除一个或多个其它结构或其组合的存在或添加。
[0050]
本实施例的一种基于对抗网络的跨模态识别技术,包括以下步骤:
[0051]
1)生成器g
k
将输入映射到一个潜在的线性判别空间:
[0052][0053]
2)计算特定于模态的线性变换
[0054]
3)计算每个模态的第i类的共同表征均值
[0055]
4)从中为每个模态随机选取一批样本,构建相应的特定于模态的minibatch;
[0056]
5)对所有特定于模态的minibatch进行跨模态匹配,得到匹配集和不匹配集
[0057]
6)通过下式来更新参数:
[0058][0059]
其中,l
g
、l
d
、l
w
分别为生成器、判别器、跨模态判别机制的损失函数;
[0060]
7)重复4)到6),直到网络收敛。
[0061]
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节。