跨域-跨模态检索
Setting:Unsupervised Domain Adaptation (UDA)
sampled from joint distributions P(v s, ℓ s) and Q(v t, ℓ t)(在一个联合分布上进行采样,并非任意两个不同的域)
该模型由6个模块组成:
- 视觉和文本编码器Ev和El
- 单模态视觉和文本keels Kv和Kl
- 跨模态源和目标原型网络Ps和Pt
使用visual encoder Ev和text encoder El 将source视觉样本和文本描述映射到一个跨模态嵌入空间中,使用bidirectional ranking loss来对齐视觉和文本
Uni-modal Compositional Keels
为了用多个视觉概念(多个词)的组合来表示复杂的语义特征,作者提出使用每个模态中线程的结构只是来构建视觉和文本keels,使用现成的视觉分类和文本分类模型作为视觉和文本descriptors(就是作为单模态编码器),然后使用Lloyds’s algorithm进行聚类,得到一个聚类中心集合(即视觉和文本keels),然后计算每个样本的特征与这些中心的相似度,并赋予标签
Text Keel Construction:使用通用的generic text descriptors(在大型语料库中预训练的模型,并冻结参数)来编码source文本描述,并将文本特征使用Lloyds’s algorithm进行聚类得到N个cluster,每一个cluster中心命名为text keel,然后计算每个文本样本特征与每个keel的相似度来得到cluster assignment的概率
Visual Keel Construction:与text keel construction类似,使用预训练模型来得到单模态视觉特征,并进行聚类,得到视觉keels,然后计算每个cluster assignment的概率
Source and Target Prototypical Network:
使用KL散度使跨模态的原型预测和单模态的原型保持一致,target原型网络是从视觉keels(由target data构建)中进行学习的,source原型网络是从文本keels(由source data构建)中进行学习的
由于原型网络是分别由source和target样本所驱使的,因此它们的分配差异反应了domain shifts, 相同的分配也反应了跨域之间的潜在关系,作者使用最大化source和target之间原型分配的互信息(MI)来进行跨模态特征正则化学习
Source Prototypical Network:原型网络由一个单独的线性映射组成K ∈ R N×M,原型网络权重矩阵的第n行代表了第n个原型,将原型网络应用于跨模态嵌入特征Ev(vs) El(ls)上,目标是基于单模态的文本keel所提供知道信号来近似跨模态嵌入的中心
原型网络Ps旨在预测N为的概率向量
将从单模态文本keel中得到的keel assignment作为一种软标签来指导跨模态文本嵌入El(ls)的的学习过程,由于视觉内容vs与source文本样本ls是成对的,因此作者提出将从ls中获得的软标签传播到vs中
Target Prototypical Network:在跨模态嵌入特征Ev(vt)上应用原型网络W ∈ R K×M).,来预测每一个taget样本的原型assignment
Maximising Mutual Information between Cross-Modal Prototypes
对于每一个source和target视觉样本vs和vt,可以让它们通过source和target原型网络Ps和Pt,来获得跨模态原型assignment
为了减少cross-domain shift, 作者提出对齐相同输入的原型assignment yv和av,不论它们是来自于哪个域
值得注意的是,作者这里并没有使用完美对齐来约束source和target 的原型assignment,因为source和target原型Kn和Wk可能表示了不同的概念(甚至是互补的概念),作者这里是采用最大化source assignment av和target assignment yv之间的互信息,该设计的灵感来自于这样的观察:最大化互信息保留了跨域的公共信号,同时丢弃其中一个而不是另一个发生的信号
由于MI很难直接衡量在高维空间中衡量两个随机变量,作者这里使用一个目标函数隐式的最大化MI通过一种encoder discriminator结构和一种有效的采样策略
我的理解是,比如给定一个视频样本,通过target原型网络得到一个原型assignment av1,然后在将样本通过source原型网络得到一个原型assignment yv1,使用映射矩阵,将yv1映射得到yv1'(和av1 shape相同),然后计算av1和yv1’的相似度,作为正样本;然后同理得到另一个视频样本的yv2',就算av1和yv2‘的相似度(点积),作为负样本,然后使用bce损失,最大化正样本之间的MI