文章简介:
文章出处:https://arxiv.org/abs/2008.03561v1。作者单位:纽约市立大学。作者提出了一个在跨模态任务中通用的center loss。
文献动机
跨模态检索的目的是学习来自不同模态数据的判别性和模态不变性的特征。现有的深度学习方法往往会选择将不同模态的信息映射到同一特征空间,从而学习跨模态共享特征。
为了学习到判别性特征,我们需要确保同类数据的特征距离更近,同时异类数据的特征距离更远。在一些研究中,大家常常会利用交叉熵损失(cross entropy loss)和均方误差损失(mean square error)来最大化类间差异。为了比较从不同模态样本的差异,我们则需要提取模态不变性的特征。
作者分析,对于跨模态检索任务当前工作会有一些不足的地方。如下:
1.对于如何提取跨模态特征,传统的手段一般是利用预训练网络来处理来自多模态的样本。例如,在图文跨模态任务中,如果仅使用在Image上预训练的模型,在跨模态任务上既没有训练也没有微调,如此得到的特征则不是最好的特征。所以本文作者认为,在跨模态元数据上进行训练出来的模型,可以获得更好的特征表示。
2.现有工作中的损失函数,大都为了两模态任务。所以很有必要设计一个通用的简单的用于两模态以上的多模态任务。
相关领域发展现状
Center Loss来自ECCV2016的一篇文章A Discriminative Feature Learning Approach for Deep Face Recognition。文中提出,对于常见的图像分类问题,例如MINIST,如果仅采用交叉熵损失,那么最后各个类别的分类结果如下:
如果采用softmax loss加上center loss,那么各个类别的特征分布则可以达到如下图效果。、
可见,使用center loss之后,类间距离变大了,类内距离减少了(主要变化在于类内距离:intra-class)。
Center Loss的表达式如下:
cyi表示第yi个类别的特征中心,xi表示全连接层之前的特征。m表示mini-batch的大小。因此这个公式就是希望一个batch中的每个样本的feature离feature 的中心的距离的平方和要越小越好,也就是类内距离要越小越好。这就是center loss。
关于LC的梯度和cyi的更新公式如下:
这个公式里面有个条件表达式如
,这里当condition满足的时候,下面这个式子等于1,当不满足的时候,这个式子等于0。
因此上面关于cyi的更新的公式中,当yi(表示yi类别)和cj的类别j不一样的时候,cj是不需要更新的,只有当yi和j一样才需要更新。
本文提出的cross modal center loss是在传统单模态center loss做的创新。实验为3D跨模态检索任务。图示如下:
贡献
1.提出一个cross modal loss用于跨模态共有特征空间。
2.提出一个跨模态检索框架,利用cross modal loss 实现三个模态间的相互检索。
方法
本文提出的跨模态center loss是在传统center loss的基础上的扩充。形式化表示如下:
数据集S中包含N个实体。其中第i个实体ti是一个包含M个模态,且标签为yi的集合。ti中不同模态的样本用si表示。如下式:
因为,来自不同模态的样本
之间的相似度不可直接度量。那么则需要利用映射函数
(其中
是可学习参数)将它们映射到一个公共的特征空间中,再进行center loss的计算。其目的就是让
更小,让
更大。
所以,cross modal center loss 可以表示如下:
更新方法和过程如下: