【论文学习】FLPCL

81 阅读7分钟

简介

多模态学习的目标是处理和联系不同模态(如图像,文本和音频等)间的数据,本文主要针对双模态数据,特别是图像和文本间的跨模态检索研究,跨模态学习的一个关键挑战是模态的异质性ーー缺乏来自不同模态数据间的直接比较。为解决这个问题,一个经典的方案是在一个联合潜在子空间中表示不同模态的数据,从而捕获跨模态数据间的联系。

最具代表性的跨模态子空间学习方法之一是 canonical correlation analysis(CCA),通过最大化两个模态间投影特征间的相关性来学习其公共子空间,然而CCA只考虑数据模态间的直接联系,而忽视了一些高层语义信息例如数据标签等。

虽然标签语义在学习多模态数据表示时可能有所帮助,但在跨模态学习中仍需谨慎使用标签语义,因为用户提供的标签注释在现实场景中常常是模糊的和不准确的,这些标签很可能对跨模态学习模型的性能产生不利影响。

如图1所示的例子中,根据标签两张图片可能都被标记为“person”的类别中,被认为语义相似的概率很高,可是它们的内容差别很大。因此,有必要对语义依赖的某些方面加以区分,使其有更明确的区分。

image.png

为这就这个问题,文章提出了 Feature Learning and Partial Correlation Learning (FLPCL)。具体的说,特征学习(Feature Learning)是用于学习每个模态中语义一致和不一致的特征表示,而局部相关性学习(Partial Correlation Learning)基于标签语义最大化不同模态间的学习特征表示相关性。通过充分利用上述特点,FLPCL可以明确地保留模态间和模态内的关系,从而有效地完成跨模态检索任务。

相关工作

CCA算法

CCA是一个非常受欢迎的统计学习方法,通过学习线性投影来最大化不同模态间的相关性。相关改进工作还有generalized multiview analysis (GMA)、A three-view for- mulation of CCA (3V-CCA) 、Multi-label CCA (ml-CCA)等等,但这些方法都没有考虑到用户标签的噪声问题。

跨模态数据检索 Cross-Modal Retrieval

跨模态数据检索的目标在于从一个模态中检索语义相关的数据实例,以响应另一个模态的查询。例如,给定一个图像查询,用户可以从数据库中检索相关的文本描述或者给定一个文本查询可以返回相关内容的图像。

跨模态检索的一个基本挑战是如何学习到一种有意义的方式来表示和关联数据。

局部CCA

首先回顾局部CCA的概念,它在剔除第三个变量的线性影响后,找出两个变量之间的相关性。

给定图像和文本两个模态的样本对数据集D={(y1u,y1t),...,(yNv,yNt)}D=\{(y^u_1,y^t_1),...,(y^v_N,y^t_N)\},其中NN为样本规模,i=1,...,Ni=1,...,NyiuRdv,yitRdty^u_i\in\mathbb{R}^{d_v},y^t_i\in\mathbb{R}^{d_t}为第ii个样本的原始图像和文本特征。每个图像-文本对(yiu,yit)(y^u_i,y^t_i)都被分配了一个语义标签向量xix_i。定义图像模态的数据矩阵为Yu=[y1u,...,yNu]Y^u=[y^u_1,...,y^u_N],同理得到文本模态的数据矩阵Yt=[y1t,...,yNt]Y^t=[y^t_1,...,y^t_N],和标签模态X=[x1,...,xN]Rdx×NX=[x_1,...,x_N]\in\mathbb{R}^{d_x\times N}。标签模态XX被用作第三语义模态,它可以被解释,为图像模态和文本模态间观测到的关系。综上,局部CCA可以被形式化为下面的多元线性多重回归模型:

Yv=AXv+evX Yv=AXt+etXY^v=A^v_X+e_{v|X} \\ \ \\ Y^v=A^t_X+e_{t|X}

其中AvRdv×dx,AtRdt×dxA^v\in\mathbb{R}^{d_v\times d_x},A^t\in\mathbb{R}^{d_t\times d_x}为常数系数矩阵。正态随机误差矩阵evXRdv×N,etXRdt×Ne_{v|X}\in\mathbb{R}^{d_v\times N},e_{t|X}\in\mathbb{R}^{d_t\times N}称为残差(residuals),为Yv,YtY^v,Y^t间的度量。选取矩阵Av,AtA^v,A^t使均方误差的期望值最小,获得下面的矩阵(^\hat{})表示估计值:

A^v=ΣvXΣXX1,A^t=ΣtXΣXX1\hat{A}^v=\Sigma_{vX}\Sigma_{XX}^{-1},\hat{A}^t=\Sigma_{tX}\Sigma_{XX}^{-1}

Σ\Sigma表示协方差矩阵,ΣvX=YvXT,ΣXX=XXT,ΣtX=YtXT\Sigma_{vX}=Y^v X^T,\Sigma_{XX}=XX^T,\Sigma_{tX}=Y^t X^T

综上可知,evX=YvY^v=YvA^vX,etX=YtY^t=YtA^tXe_{v|X}=Y^v-\hat{Y}^v=Y^v-\hat{A}^vX,e_{t|X}=Y^t-\hat{Y}^t=Y^t-\hat{A}^tX,则残差矩阵间的典型相关性YvY^v,YtY^tY^v-\hat{Y}^v,Y^t-\hat{Y}^t被称为局部典型相关性(partial canonical correlation)。

本文方法

对于给定图像和文本模态,FLPCL的任务是学习一个共同潜在空间来捕获两个模态间的共享相关性信息,然后使用这些信息来学习跨模态信息检索的潜在表示方法。为了生成高度语义相关的多模态嵌入,将附加的语义标签看作第三模态并被两种模态共享,图2展示了FLPCL的总体框架,由两个部分构成:特征学习和局部相关性学习。

image.png

特征学习

给定三个模态(图像、文本和标签),首先使用全连接深度神经网络(DNN)模型来学习它们各自的低维表示。对于图像模态,首先将每个图像表示为一个向量yivy^v_i,然后将特征向量的集合YvY^v作为DNN的输入,YvY^v的第一次输出为h1v=s(H1vYv+Θ1v)h^v_1=s(H^v_1Y^v+\Theta^v_1)s()s(\cdot)为一个非线性激活函数,H1vH^v_1为一个权重矩阵,Θ1v\Theta^v_1为一个偏置矩阵。YvY^v再作为下一层的输入,反复重复这个步骤直到得到最终DNN的输出为fv=fv(Yv)=[f1v,...,fNv]Rdv×Nf^v=f^v(Y^v)=[f^v_1,...,f^v_N]\in\mathbb{R}^{d'_v\times N},同理可得文本模态的最终输出ftf^t

为学习图像/文本网络的相关和不相关特征,向嵌入空间中引入两个辅助损失约束,即成对损失和鉴别损失,如图3所示,图中矩形表示图像/文本实例,不同的颜色表示不同的语义类别。成对损失LpairL_{pair}用于表示实例间语义相同和不同的关系,鉴别损失LdisL_{dis}用来加强类之间的可分离性。

image.png

成对损失:带有相同标签信息的相同模态实例在嵌入空间中会拥有相似的输出表示,为获得图像和文本模态的语义连续嵌入空间,多标签注释信息被用作监督来指导每个模态的特征学习。将两个实例之间的语义相似度定义为相应标签特征之间的成对相似度,即Sij=xiTxjS_{ij}=x^T_ix_j。在给定图像特征表示时,语义相似度的特性被假设为一个概率分布函数:

image.png

通过最小化SijS_{ij}的负对数似然值,可以得到下面的损失:

image.png

对于文本模态也是类似的方法得到LpairtL^t_{pair}

鉴别损失:将鉴别损失定义为一个全连接层、一个softmax 函数和一个交叉熵损失的组合。全连接层就像一个线性分类器,softmax交叉熵损失被用来促进特征表示的可分离性。

首先将从图像网络中提取到的图像表示fvf^v输入到softmax分类器中来预测一个语义类别的概率分布p^v\hat{p}^v,对于第ii个图像特性的预测概率p^iv\hat{p}^v_i可以定义为:

p^iv=exp((ξxiv)Tfiv)j=1dxexp((ξjv)Tfiv)\hat{p}^v_i=\frac{exp((\xi^v_{x_i})^Tf^v_i)}{\sum^{d_x}_{j=1}exp((\xi^v_{j})^Tf^v_i)}

其中fivf^v_i为DNN表示的第ii张图像,xix_i为其对应的标签,ξjv\xi^v_j表示全连接网络权重矩阵ξv\xi^v的第jj行。标签维度dxd_x表示语义类别的数量。利用交叉熵损失分别计算图像和文本模态的判别损失,分别表示为:

image.png

最小化两个损失可以提升嵌入空间中模态表示的鉴别能力。

jj对图像-文本对的标签注释定义为xjx_j,若第jj个数据对属于ii类别,则xij=1x_{ij}=1,否则为0。标签矩阵定义为XX,使用DNN来获得最终标签特征g=g(X)Rdx×Ng=g(X)\in\mathbb{R}^{d'_x\times N}

语义局部相关性学习

为学习不同模态之间的语义局部相关性,需要最大化fv,ftf^v,f^t间的典型相关 性。首先根据线描的局部CCA公式计算回归模型:

fv(Yv)=BvG(X)+efvG,ft(Yt)=BtG(X)+eftGf^v(Y^v)=B^vG(X)+e_{f^v|G},f^t(Y^t)=B^tG(X)+e_{f^t|G}

其中G=G(X)=WTg(X)G=G(X)=W^Tg(X)efvG,eftGe_{f^v|G},e_{f^t|G}为新的残差矩阵,B^v=ΣfvGΣGG1,B^t=ΣftGΣGG1\hat{B}^v=\Sigma_{f^vG}\Sigma^{-1}_{GG},\hat{B}^t=\Sigma_{f^tG}\Sigma^{-1}_{GG},且ΣfvG=cov(fv,G),ΣftG=cov(ft,G)\Sigma_{f^vG}=cov(f^v,G),\Sigma_{f^tG}=cov(f^t,G)。通过最大化基于标签语义的新残差矩阵之间的典型相关,可以获得跨模态部分相关性学习的目标:

image.png

优化

FLPCL的总体目标如下:

image.png

其中Lpairv,LpairtL^v_{pair},L^t_{pair}用于表示模态内的语义一致性,交叉熵函数Ldisv,LdistL^v_{dis},L^t_{dis}用于提升模态内特征鉴别性,LpccaL{pcca}用于最大化模态间局部典型相关性,其余为参数。