ECCV2022 | 时尚领域的多模态预训练预训练模型FashionViL,在五个下游任务中SOTA!代码已开源!
【写在前面】
用于表示学习的大规模视觉和语言 (V+L) 预训练已被证明在促进各种下游 V+L 任务方面是有效的。然而,当涉及到时尚领域时,现有的 V+L 方法是不够的,因为它们忽略了时尚 V+L 数据和下游任务的独特特征。在这项工作中,我们提出了一种新颖的以时尚为中心的 V+L 表示学习框架,称为 FashionViL。它包含两个新颖的特定于时尚的预训练任务,专门设计用于利用时尚 V+L 数据的两个内在属性。首先,与 V+L 数据点仅包含单个图像-文本对的其他域相比,时尚域中可能有多个图像。因此,作者提出了一个多视图对比学习任务,用于将一个图像的视觉表示拉近到另一个图像+文本的组合多模态表示。其次,时尚文本(例如产品描述)通常包含丰富的细粒度概念(属性/名词短语)。为了利用这一点,引入了伪属性分类任务来鼓励相同概念的学习单模态(视觉/文本)表示相邻。此外,时尚 V+L 任务独特地包括不符合常见单流或双流架构的任务(例如,文本引导的图像检索)。因此,作者提出了一种灵活、多功能的 V+L 模型架构,该架构由与模态无关的 Transformer 组成,以便它可以灵活地适应任何下游任务。大量实验表明,本文的 FashionViL 在五个下游任务中实现了最新的技术水平。
1. 论文和代码地址
FashionViL: Fashion-Focused Vision-and-Language Representation Learning
论文地址:https://arxiv.org/abs/2207.08150
代码地址:https://github.com/brandonhanx/mmf
2. 动机
最近,视觉和语言(V+L)预训练受到越来越多的关注。目标是从大规模的图像-文本对中学习多模态表示,以改进各种下游单模态或多模态任务。由于两个主要因素,这些模型已被证明是非常有效的:(i)网络上有大量的图像-文本对免费提供丰富的训练数据(不需要额外的注释),以及(ii)基于 Transformer 的模型架构已被广泛用于学习多模态输入的上下文表示。
在这项工作中,作者专注于时尚领域,V+L 预训练似乎特别适合。首先,时尚V+L数据不仅数量多,而且质量高。在线时尚购物越来越普遍;在电子商务网站上,每个产品详细信息页面 (PDP) 都包含产品图像和文本,两者的质量都非常高(即通常由领域专家生成)。其次,在实际应用中,有很多下游任务,比其他领域多,从多模态产品理解、跨模态检索到文本引导的图像检索。然而,当应用于时尚领域时,可以观察到现有的 SOTA V+L 预训练方法与其他领域相比效果较差。作者认为这是因为它们并非旨在利用时尚 V+L 数据和下游任务的某些独特特征。
特别是,在大多数现有的通用域 V+L 数据集(例如,COCO 和 Flickr30k)中,每个数据点都是单个图像-文本对,并且文本通常很简短中。相比之下,时尚数据集主要是从电子商务网站上的 PDP 收集的,因此有两个特点:(i)**通常有多个图像与给定文本相关联。**一个示例如上图所示。服装“长裙”以三种不同的视图呈现,以便在线购物者可以从不同角度查看该服装。(ii) **文本描述中有更多细粒度的概念,因为文本作为产品描述。**如上图所示,时尚文本更侧重于服装本身,用非常详细的形容词和名词,在标题、款式和描述中描述其外观。为了证明这在统计上是正确的,作者计算了四个组合时尚数据集和两个组合通用数据集的比率。发现时尚字幕中 82% 的单词是形容词或名词,而通用字幕的这一比例仅为 59%。现有的 V+L 模型中没有一个能够利用时尚数据中的这些特性。
时尚下游任务也比通用领域的任务更加多样化,对 V+L 预训练模型架构设计提出了挑战。更具体地说,在通用 V+L 域中,现有模型是单流或双流,具体取决于预期的下游任务。例如,对图像和文本标记的连接进行操作的单流模型适用于多模态融合任务,例如 VQA、VCR 和 RefCOCO。相比之下,双流模型通常设计用于高效的跨模态检索任务。然而,在时尚领域,除了图文融合和跨模态检索下游任务外,还有一些任务既不适合单流也不适合双流架构。例如,文本引导的图像检索任务不仅需要对参考图像和修改后的文本进行高质量的融合,而且还需要在融合的多模态表示和候选图像之间进行有效匹配。由于时尚下游任务的多样性,现有的模型,无论是单流还是双流,都不具备所需的灵活性和多功能性。
为了克服现有时尚模型的局限性,作者引入了一种新颖的以时尚为中心的 V+L 表示学习框架,称为 FashionViL。提出了两个以时尚为重点的预训练任务,以充分利用时尚数据的特点。第一个任务是多视图对比学习(MVC)。给定具有多个图像/视图和一个文本描述的时尚数据项,作者认为每种模态(无论是单模态还是多模态)在语义上都应该彼此相似,因为它们都指的是同一个产品。因此,除了常见的图像-文本匹配之外,作者提出最小化(a)其视图和文本之一的多模态表示与(b)其他视图之间的距离。第二个任务是伪属性分类(PAC),旨在利用描述中丰富的细粒度时尚概念。具体来说,作者从时尚数据集中提取那些常见的属性/名词短语,并构建一个伪属性集。然后,该模型会在预训练期间显式地学习预测这些属性。 PAC 鼓励将具有相同属性的时尚物品聚集在一起,以便学习的表示变得更具辨别力。作者证明了这些新的预训练任务是有效的,并且是对传统预训练任务的补充,例如图像-文本对比学习 (ITC) 和蒙面语言建模 (MLM)。
此外,作者还设计了一个灵活且通用的模型架构,使预训练的模型能够轻松适应各种下游任务。新设计保留了单流模型的优越融合能力和双流模型的可扩展性。至关重要的是,它还迎合时尚领域的独特任务,例如文本引导的图像检索和服装互补项目检索。具体来说,本文的模型由一个图像编码器和一个模态无关的 Transformer 模块组成,它可以用作文本编码器或多模态融合编码器。因此,它可以很容易地针对三个不同的下游用例进行微调:(i)用于联合表示学习的早期融合单流模式,例如多模态分类; (ii) 用于单模态表示学习的后期融合双流模式,例如跨模态检索; (iii)用于组合表示学习的early-fusion双流架构,例如文本引导的图像检索。
本文的贡献如下:(1)专门针对时尚领域提出了一种新颖的 V+L 预训练框架,该框架可以通过两个新的 V+L 预训练任务来利用时尚数据的特殊性。 (2) 采用共享文本编码器和融合编码器引入灵活的架构设计,可以轻松适应一组多样化的时尚下游任务。 (3) 为了证明 FashionViL 的泛化性,作者在 5 个时尚 V+L 任务上评估本文的模型:图像到文本检索、文本到图像检索、文本引导图像检索 、(子)类别识别和装备互补项目检索。实验表明,FashionViL 实现了新的最先进技术 (SOTA),在每个下游任务中都具有一致且显着的性能提升。
3. 方法
3.1 Model overview
FashionViL 的模型架构如上图(a) 所示,它由一个图像编码器 (IE) 和一个可用于文本编码器 (TE) 和融合编码器 (FE) 的Transformer 模块组成。具体来说,图像编码器使用 ConvNet 作为其主干,通过光栅化最终特征图的网格特征,将原始像素转换为视觉嵌入序列。对于文本编码器,作者按照 BERT将输入句子标记为 WordPieces。每个 sub-word token 的 embedding 是通过将其 word embedding 和可学习的 position embedding 相加得到的,然后是 LN。
模型设计的一个新颖之处在于 TE 和 FE 的共享 Transformer,这能够灵活地构建各种多模态模型架构,每种模型架构都适用于不同类型的下游任务。例如,上图(b) 显示了一个早期融合模型架构,其中原始句子和计算的图像嵌入被联合输入到多模态融合编码器中。当使用 Transformer 作为融合编码器时,作者将进一步将模态嵌入添加到视觉嵌入和词嵌入中,帮助模型区分模态类型。这种架构和之前很多预训练作品中著名的单流模型一模一样。然后在上图© 中,作者展示了一个后期融合的双流模型架构,其中我们应用可共享的 Transformer 作为文本编码器。图像编码器和文本编码器的输出与一个简单的点积进行交互,以计算两种模态之间的相似性。这种架构已被广泛用于高效的大规模跨模态检索。此外,可以将此共享 Transformer 微调为更复杂的双流架构变体,如上图(d) 所示。这里,一个流以早期融合方式运行,而另一个流是图像编码器。
这种架构对于一些具有多模式查询的以时尚为中心的检索任务是必需的,例如,文本引导的图像检索。注意,以上三种架构中的所有FE和TE其实都是同一个Transformer,区别仅仅在于它的输入。
给定一个图像-文本对,将其原始视觉输入表示为 v i = { v i 1 , … , v i K } \mathbf{v}_{i}=\left\{\mathbf{v}_{i}^{1}, \ldots, \mathbf{v}_{i}^{K}\right\} vi={vi1,…,viK}, 其输入词为 w i = { w i c l s , w i 1 , … , w i T } \mathbf{w}_{i}=\left\{\mathbf{w}_{i}^{\mathrm{cls}}, \mathbf{w}_{i}^{1}, \ldots, \mathbf{w}_{i}^{T}\right\} wi={wicls,wi1,…,wiT}, 其中下标 i 表示数据集中的第 i 对。在文本序列的开头插入一个额外的特殊 [CLS] token,以及连接模态时的多模态序列。在将模型应用于下游任务时,遵循常见的预训练 + 微调 pipeline。
3.2 Pre-training tasks
首先介绍两个新的预训练任务。接下来是框架中采用的其他常规预训练任务。
Multi-view contrastive learning (MVC)
每个时尚项目通常与多个视图相关联,以提供产品的全面概览。为了利用不同视图之间的互惠信息,作者通常在 (a) 原始视图 v 的视觉表示和 (b) 另一个视图 d 和文本 w 的组合表示之间建立相关性。如果产品只有一个视图,作者会通过随机裁剪或水平翻转给定视图来增加另一个视图。如上图(d)所示,原始视图的视觉表示由图像编码器提取,而合成表示以早期融合的方式计算。因此,多模态输入[w; d]和 v 可以计算为:
s ( [ w i ; d i ] , v j ) = g θ ( d i a v g ∣ w i ) T g θ ( v j a v g ) , s\left(\left[\mathbf{w}_{i} ; \mathbf{d}_{i}\right], \mathbf{v}_{j}\right)=g_{\theta}\left(\mathbf{d}_{i}^{\mathrm{avg}} \mid \mathbf{w}_{i}\right)^{T} g_{\theta}\left(\mathbf{v}_{j}^{\mathrm{avg}}\right), s([wi;di],vj)=gθ(diavg∣wi)Tgθ(vjavg),
其中 g 表示将平均池化特征投影到归一化低维潜在空间中的线性变换。接下来,作者应用两个对称的 InfoNCE 损失来拉近共享潜在空间中匹配的组合表示和视觉表示:
L InfoNCE ( x , y ) = − E ( x , y ) ∼ B log exp ( s ( x , y ) / τ ) ∑ y ^ ∈ B ^ exp ( s ( x , y ^ ) / τ ) , \mathcal{L}_{\text {InfoNCE }}(x, y)=-\mathbb{E}_{(x, y) \sim B} \log \frac{\exp (s(x, y) / \tau)}{\sum_{\hat{y} \in \hat{B}} \exp (s(x, \hat{y}) / \tau)}, LInfoNCE (x,y)=−E(x,y)∼Blog∑y^∈B^exp(s(x,y^)/τ)exp(s(x,y)/τ),
L M V C = 1 2 [ L InfoNCE ( [ w ; d ] , v ) + L InfoNCE ( v , [ w ; d ] ) ] \mathcal{L}_{\mathrm{MVC}}=\frac{1}{2}\left[\mathcal{L}_{\text {InfoNCE }}([\mathbf{w} ; \mathbf{d}], \mathbf{v})+\mathcal{L}_{\text {InfoNCE }}(\mathbf{v},[\mathbf{w} ; \mathbf{d}])\right] LMVC=21[LInfoNCE ([w;d],v)+LInfoNCE (v,[w;d])]
其中 τ 是一个可学习的温度, B ^ \hat{B} B^包含正样本 y 和 ∣ B ^ ∣ − 1 |\hat{B}|-1 ∣B^∣−1 个从mini-batch 中抽取的负样本。
Pseudo-attribute classification (PAC)
作者发现时尚描述中有大量细粒度的属性。作者提出从所有可用的文本信息中挖掘伪属性概念,包括标题、描述和元信息。具体来说,作者通过 NLTK tokenizer 提取所有名词和形容词,只保留出现次数超过 100 次的名词和形容词,从而得到 2,232 个属性的列表。作者在上图中展示了前 50 个伪属性的直方图。可以观察到,它们都与时尚领域真正高度相关。
然后作者探讨如何利用这些挖掘出来的概念。本文的目标是让模型在预训练阶段学会显式识别这些伪属性。我们将此任务建模为一个多标签分类问题,称为伪属性分类 (PAC)。如图 2© 所示,作者会将 PAC 应用于视觉和文本模态,以便两个编码器都可以学习捕获细粒度的概念。由于这是一个弱监督学习设置,考虑到挖掘的标签可能是嘈杂的,作者利用标签平滑来生成标签 。作者使用 A 表示整个 2,232 个伪属性集,并使用 a 作为每个类的平滑软目标。例如,如果一个样本在位置 0 和 1 有两个真实标签,则 a 0 = a 1 = 0.5 a_{0}=a_{1}=0.5 a0=a1=0.5 而 a i = 0 ( i ≠ 0 , 1 ) a_{i}=0(i \neq 0,1) ai=0(i=0,1)。目标如下:
L P A C = − E ( w , v ) ∼ D E a ∼ A [ a log P θ ( a ∣ w ) + a log P θ ( a ∣ v ) ] \mathcal{L}_{\mathrm{PAC}}=-\mathbb{E}_{(\mathbf{w}, \mathbf{v}) \sim D} \mathbb{E}_{a \sim A}\left[a \log P_{\theta}(a \mid \mathbf{w})+a \log P_{\theta}(a \mid \mathbf{v})\right] LPAC=−E(w,v)∼DEa∼A[alogPθ(a∣w)+alogPθ(a∣v)]
其中 θ θ θ 是可学习的参数,每一对 ( w , V ) (\mathbf{w}, \mathbf{V}) (w,V)都是从整个训练集 D 中采样的。
Masked patch feature classification (MPFC)
虽然简单的蒙版特征回归已被证明在 V+L 预训练中没有帮助,但实验发现本文的蒙版patch建模版本在时尚领域是有效的。具体来说,作者忽略了每个掩码patch的特征重建,而是预测离线图像标记器给出的补丁标签。为此,作者首先训练一个离散的 VAE作为具有感知损失的时尚图像的图像标记器。作者还采用指数移动平均(EMA)来更新码本,这被证明对提高码字的利用率很有用。作者通过分块掩蔽策略将 25% 的patch特征随机替换为零。由于现在每个patch都有离散标签,因此可以通过优化训练模型来预测每个掩码patch v m \mathbf{v}_{\mathbf{m}} vm的标签,给定剩余的patch v \ m \mathbf{v} \backslash \mathbf{m} v\m:
L M P F C = − E ( w , v ) ∼ D log P θ ( v m t ∣ v \ m , w ) \mathcal{L}_{\mathrm{MPFC}}=-\mathbb{E}_{(\mathbf{w}, \mathbf{v}) \sim D} \log P_{\theta}\left(\mathbf{v}_{\mathbf{m}}^{\mathbf{t}} \mid \mathbf{v} \backslash \mathbf{m}, \mathbf{w}\right) LMPFC=−E(w,v)∼DlogPθ(vmt∣v\m,w)
其中 v m t \mathbf{v}_{\mathbf{m}}^{\mathbf{t}} vmt是掩码patch的估计目标标签。
Image-text contrastive learning (ITC)
作者还使用 ITC 来鼓励两个单模态表示在潜在空间中接近。如图2© 所示,w 和 v 的相似性是通过两个线性变换 f 和 g 投影到潜在空间后的平均池化特征的点积来衡量的: s ( w i , v j ) = f θ ( w i avg ) T g θ ( v j avg ) s\left(\mathbf{w}_{i}, \mathbf{v}_{j}\right)=f_{\theta}\left(\mathbf{w}_{i}^{\text {avg }}\right)^{T} g_{\theta}\left(\mathbf{v}_{j}^{\text {avg }}\right) s(wi,vj)=fθ(wiavg )Tgθ(vjavg ) 。ITC 损失为:
L I T C = 1 2 [ L I n f o N C E ( w , v ) + L InfoNCE ( v , w ) ] \mathcal{L}_{\mathrm{ITC}}=\frac{1}{2}\left[\mathcal{L}_{\mathrm{InfoNCE}}(\mathbf{w}, \mathbf{v})+\mathcal{L}_{\operatorname{InfoNCE}}(\mathbf{v}, \mathbf{w})\right] LITC=21[LInfoNCE(w,v)+LInfoNCE(v,w)]
Masked language modeling (MLM)
在 MLM 中,作者以 15% 的概率随机屏蔽掉输入词,并将属于被屏蔽词 w m \mathbf{w} _{\mathbf{m}} wm的所有子词替换为特殊标记 [MASK]。 MLM 的目标是通过对周围单词 w \ m \mathbf{w} \backslash \mathbf{m} w\m 和所有图像块 v 的观察,通过最小化负对数似然来预测这些掩码子词:
L M L M = − E ( w , v ) ∼ D log P θ ( w m ∣ w \ m , v ) \mathcal{L}_{\mathrm{MLM}}=-\mathbb{E}_{(\mathbf{w}, \mathbf{v}) \sim D} \log P_{\theta}\left(\mathbf{w}_{\mathbf{m}} \mid \mathbf{w} \backslash \mathbf{m}, \mathbf{v}\right) LMLM=−E(w,v)∼DlogPθ(wm∣w\m,v)
Image-text matching (ITM)
在 ITM 中,输入是图像-文本对,目标是二进制标签 z ∈ {0, 1},指示每个输入对是否匹配。作者从 ITC 计算的相似矩阵 s ( w i , V j ) s\left(\mathbf{w}_{i}, \mathbf{V}_{j}\right) s(wi,Vj)中对难负对进行采样,然后制作一个包含 50% 负对的小批量 H。在最后一层提取 [CLS] 的隐藏输出来表示两种模态的联合表示,然后将其输入 FC 层进行二分类。作者对 ITM 应用交叉熵损失:
L I T M = − E ( w , v ) ∼ H log P θ ( z ∣ w , v ) \mathcal{L}_{\mathrm{ITM}}=-\mathbb{E}_{(\mathbf{w}, \mathbf{v}) \sim H} \log P_{\theta}(z \mid \mathbf{w}, \mathbf{v}) LITM=−E(w,v)∼HlogPθ(z∣w,v)
4.实验
用于预训练的数据集的统计信息。
使用 KaleidoBERT 中使用的协议在 FashionGen 上进行跨模态检索的结果
FashionGen上的跨模态检索全面评估结果。
FashionIQ 上的文本引导图像检索结果。
FashionGen 上的类别/子类别识别结果。
PolyvoreOutfits 上的服装互补物品检索结果。
使用 ITR、TIR、TGIR、SCR 和 OCIR 作为下游任务对预训练任务进行评估。
从 FashionViL 学习到的视觉/文本/联合表示的 T-SNE。
5. 总结
作者提出了 FashionViL,这是一种新颖的端到端大规模预训练框架,用于时尚领域的 V+L 表示学习。作者还提出了两个有效的特定于时尚的预训练任务,并引入了一种新颖的与模态无关的文本/融合编码器,用于灵活且通用的多模态架构。本文的 FashionViL 在 5 个流行的时尚相关任务上以卓越的效率实现了新的 SOTA 性能。
【项目推荐】
面向小白的顶会论文核心代码库:https://github.com/xmu-xiaoma666/External-Attention-pytorch
面向小白的YOLO目标检测库:https://github.com/iscyy/yoloair
面向小白的顶刊顶会的论文解析:https://github.com/xmu-xiaoma666/FightingCV-Paper-Reading
“点个在看,月薪十万!”
“学会点赞,身价千万!”