资讯详情

【自然语言处理】【多模态】Zero&R2D2:大规模中文跨模态基准和视觉语言框架

Zero&R2D2:大规模中文跨模态基准和视觉语言框架
《Zero and R2D2:A Large-scale Chinese Cross-modal Benchmark and A Vision-Language Framework》

论文地址:https://arxiv.org/pdf/2205.03860.pdf

相关博客: 自然语言处理多模态多模态综述:视觉语言预训练模型 自然语言处理多模态CLIP:从自然语言监督中学习可移动视觉模型 自然语言处理多模态ViT-BERT:在非图像文本对数据进行预训练 自然语言处理多模态BLIP:面向统一视觉语言理解和向统一的视觉语言理解和生成 自然语言处理多模态FLAVA:基本语言和视觉对齐模型 自然语言处理多模态SIMVLM:基于弱监督的简单视觉语言模型预训练 自然语言处理多模态UniT:基于统一Transformer多模态多任务学习 自然语言处理多模态Product1M:基于跨模态预训练的弱监督实例级产品检索 自然语言处理多模态ALBEF:基于动量蒸馏的视觉语言表示学习 自然语言处理多模态VinVL:回顾视觉语言模型中的视觉表达 自然语言处理多模态OFA:通过简单的sequence-to-sequence统一架构、任务和模式的学习框架 自然语言处理多模态Zero&R2D2:大规模中文跨模态基准和视觉语言框架

一、简介

视觉语言预训练 ( Vision-languagepre-training,VLP ) (\text{Vision-language pre-training,VLP}) (Vision-languagepre-training,VLP)在各种多模式下游任务中取得了巨大的成功。一般来说, VLP \text{VLP} VLP主要学习视觉与语言的语言相关性。探索了许多工作 VLP \text{VLP} VLP通过大规模数据和模型, Transformer \text{Transformer} Transformer如此优秀的结构,像 CLIP \text{CLIP} CLIP这种跨模态模态和硬件设备显著改进了各种视觉语言任务。本文专注于大规模视觉语言数据和跨模态学习。

有利用大规模图像和英文文本的输入 VLP \text{VLP} VLP模型在下游任务中的表现。然而,中文描述的视觉语言数据集有一些限制。 M6-Corpus \text{M6-Corpus} M6-Corpus它是一个用于预训练的多模态数据集,但用。 Wukong \text{Wukong} Wukong是研究中文跨模态预训练数亿规模的数据集。虽然他们会 AIC-ICC \text{AIC-ICC} AIC-ICC和 MUGE \text{MUGE} MUGE这样的下游数据集与预训练合并,但是仅专注在检索任务中,并不足以构造中文的视觉语言benchmark。另一方面,一些工作试图翻译英语跨模态下游数据集,如 Flickr30k-CN \text{Flickr30k-CN} Flickr30kCN。然而,它们并不包括中文成语且包含错误。从这方面来看,如何构造一个完整、公平且具有高质量中文描述的中文跨模块基准是一个待解决的问题。

​ 本文中,作者创造了一个大规模中文跨模态基准 Zero \text{Zero} Zero,包含两个预训练数据集以及5个下游数据集。具体来说,预训练数据集由一个完整的2300万版本和230万子集版本构成。完整的预训练数据集包含图像和对应的文本描述,其是通过用户的 CTR \text{CTR} CTR从50亿image-text对过滤得到的。此外,作者还提供了5个高质量的下游数据集,用于图像文本检索和图像文本匹配任务。此外,作者还提供了一个全面且人工翻译的数据集 Flickr30k-CNA \text{Flickr30k-CNA} Flickr30k-CNA。

​ 从跨模态学习的角度来看,现有的方法主要是通过预训练来探索图像和文本的关联。 UNIMO \text{UNIMO} UNIMO设计了一种single-stream框架来在大规模image-text数据集上执行预训练任务。 CLIP \text{CLIP} CLIP则设计了dual-stream来进行视觉语言表示学习。然而,两种方法都具有相同的缺点。single-stream架构通过少量的线性投影学习图像和文本嵌入的细粒度交互。另一方面,在dual-stream架构中,对图像和文本之间的细粒度关联进行建模非常重要,因为相应的嵌入位于它们自己的语义空间中。需要注意,一些image-text预训练数据可能包含噪音且不正确,这将会未到 VLP \text{VLP} VLP模型。

​ 在文本中,作者提出了一个称为 R2D2 \text{R2D2} R2D2的新颖预训练框架进行跨模态学习。受推荐系统和在线广告的启发, R2D2 \text{R2D2} R2D2应用全局对比预排序 (global contrastive pre-ranking) \text{(global contrastive pre-ranking)} (global contrastive pre-ranking)来获得image-text表示,以及细粒度排序 (fine-grained ranking) \text{(fine-grained ranking)} (fine-grained ranking)来增强预训练模型的能力。此外,作者还在 R2D2 \text{R2D2} R2D2中引入了两路蒸馏,来增强预训练模型的能力。这两类蒸馏是由target-guided distillationfeature-guided distillation组成的。具体来说,target-guided distillation增加了模型从噪音标签中学习的鲁棒性,而feature-guided distillation的目标是改善 R2D2 \text{R2D2} R2D2的泛化性能。总的来说,主要贡献如下:

  • 作者提出了中文视觉语言benchmark Zero \text{Zero} Zero,包含两个预训练数据集和5个下游任务数据集。作者使用5个测试集构建了一个leaderboard,其允许研究人员进行公平的比较,并促进中文视觉语言学习的发展。
  • 作者提出了一个新颖的跨模态学习框架 R2D2 \text{R2D2} R2D2。具体来说,提出了 pre-Ranking+Ranking \text{pre-Ranking+Ranking} pre-Ranking+Ranking策略更好的学习视觉语言表示,以及两路蒸馏来进一步增强学习能力。
  • 本文提出的方法在4个公开跨模态数据集以及5个下游数据集上实现了state-of-the-art

二、数据集

1. 预训练数据集:Zero-Corpus

​ 现有的数据集收集方法存在两个主要的限制。第一,从第三方搜索引擎或者网站收集到的image-text对存在大量的噪音。第二,由于图像仅对应一个文本,因此收集到的文本数据缺乏多样性。为了克服这些缺点,作者建立了一个新的中文image-text预训练数据集,称为 Zero-Corpus \text{Zero-Corpus} Zero-Corpus。特别地,从图像搜索引擎收集的50亿个image-text中抽取2300万个image-text对。抽取的关键依据是最高的用户 CTR \text{CTR} CTR,其表明同一个query下,用于点击最多的图片。此外,作者还移除了不适合的图像和有害的文本描述。基于这种方法,能够减轻大规模数据中的噪音,并或者最相关和高质量的image-text对。此外,作者还为每个图像提供多种文本信息,即TitleContentImageQueryClickShow。为了便于消融实验,构造了一个包含230完image-text对的小预训练数据集,其是2300完数据集的子集。

2. 下游数据集。

​ 相较于英文的下游数据集,中文文本的下游数据集较少。作者使用搜索引擎来构造4个中文image-text数据集,称为 ICM \text{ICM} ICM、 IQM \text{IQM} IQM、 ICR \text{ICR} ICR和 IQR \text{IQR} IQR。在这些下游数据集中,每个图像仅有一个文本对应。对于每个数据集,按照比例8:1:1来划分训练集、验证集和测试集。15个数据注释员标注了所有的image-text对。此外,作者还提供了人工翻译的高质量数据集 Flickr30k-CNA \text{Flickr30k-CNA} Flickr30k-CNA,其是由6个中英文专家人工翻译 Flickr30j \text{Flickr30j} Flickr30j得到的。

  • Image-Caption Matching Dataset(ICM)

    ICM \text{ICM} ICM是一个用于图像文本匹配的数据集。每个图像都有对应的文本,其详细的描述了图像。首先使用点击数量来过滤较少相关的对,然后数据标准者会人工执行第二次过滤,或者400000个image-text对,包含200000个正样本和200000个负样本。

  • Image-Query Match(IQM)

    这是另一个图像文本匹配任务数据集。不同于 ICM \text{ICM} ICM,其使用搜索的query,而不是详细的描述文本。在这个数据集中,作者随机选择候选集中的queries,然后执行数据清洗流程。类似地, IQM \text{IQM} IQM包含200000个正样本和200000负样本。

  • Image-Caption Retrieval Dataset(ICR)

    在这个数据集中,使用 ICM \text{ICM} ICM中描述的规则收集了200000个image-text对。它包括image-to-text检索和text-to-image检索。

  • Image-Query Retrieval Dataset(IQR)

    IQR \text{IQR} IQR用于图像文本检索任务。类似于 IQM \text{IQM} IQM,随机挑选queries和对应的图片作为标注的样本对。总量是200000。

  • Flickr30k-CNA Dataset

    Flickr30k-CN \text{Flickr30k-CN} Flickr30k-CN使用机器翻译翻译了 Flickr30k \text{Flickr30k} Flickr30k的训练集和验证集,并人工翻译了测试集。作者检测了机器翻译的中文语句并发现了三种类型的问题。(1) 一些句子有语言问题和翻译错误;(2) 一些句子语义较少;(3) 翻译的句子在文本语法上存在错误。此外,训练集和测试集采用不同的翻译方法阻碍模型实现更好的效果。作者汇集了6个中英文语言专家来对 Flickr30k \text{Flickr30k} Flickr30k的所有数据进行重新翻译,并对每个句子进行了复查。作者称一个数据集为 Flickr30k-Chinese All \text{Flickr30k-Chinese All} Flickr30k-Chinese All。

三、方法

请添加图片描述

1. 模型结构

​ 如上图所示, R2D2 \text{R2D2} R2D2包含了一个文本编码器、一个图像编码器和两个跨模态编码器。文本编码器和图像编码器将输入的文本和图像转换为hidden state的序列。然后文本和图像的hidden state在两个交叉编码器中进行交互。

  • 文本编码器

    应用 BERT \text{BERT} BERT编码器作为文本编码器。给定一个文本序列,首先使用 RoBERTa-wwm-ext \text{RoBERTa-wwm-ext} RoBERTa-wwm-ext的tokenizer进行tokenize。这里,特殊的token T [ C L S ] \text{T}_{[CLS]} T[CLS]​被添加了序列开端,并且 [ S E P ] [SEP] [SEP]被添加在末尾。然后,将所有的token序列输入至文本编码器。随后, T [ C L S ] T_{[CLS]} T[CLS]​的输出向量被用于文本序列的表示。

  • 图像编码器

    对于图像编码器,采用 Vision Transformer(ViT) \text{Vision Transformer(ViT)} Vision Transformer(ViT)。首先将图像缩放为标注的尺寸并将图像划分为patches。每个patch被线性投影并添加为位置嵌入。此外,一个可学习的 I [ C L S ] \text{I}_{[CLS]} I[CLS]​被拼接子patch向量上。这个序列向量会被输入至标准的 Transformer \text{Transformer} Transformer模型中来获得图像的hidden state向量列表。

  • 交叉编码器

    这里使用6层的 Transformer \text{Transformer} Transformer作为交叉编码器,图像和文本的hidden vectors被融合并输入至交叉编码器。特别地,线性投影层被用于改变每个图像特征和文本特征的维度,使其保证一致。然后,融合图像和文本hidden vectors作为两个交叉编码的输入。多层 Transformer \text{Transformer} Transformer使用交叉注意力来融合两种模态的特征信息,并产生了最终的交叉模态输出。

2. 预训练方法

  • Global Contrastive Pre-ranking

    传统的对比学习目标是对齐多模态数据的表示。其最大化正样本对的相似分数,并最小化负样本对的分数。实践中,作者使用全局对比学习来完成pre-ranking任务。当最小化负样本对分数时在 k k k个 GPUs \text{GPUs} GPUs上执行反向传播。对于每个图像 I i \text{I}_i Ii​和对应的文本 T i \text{T}_i Ti​,image-to-texttext-to-image的相似分数定义为 s ( I i , T i ) = exp ⁡ ( sim ( I i , T i ) / τ ) ∑ j = 1 n × k exp ⁡ ( sim ( I i , T j ) / τ ) s ( T i , I i ) = exp ⁡ ( sim ( T i , I i ) / τ ) ∑ j = 1 n × k exp ⁡ ( sim ( T i , I j ) / τ ) (1) s(I_i,T_i)=\frac{\exp(\text{sim}(I_i,T_i)/\tau)}{\sum_{j=1}^{n\times k}\exp(\text{sim}(I_i,T_j)/\tau)} \quad s(T_i,I_i)=\frac{\exp(\text{sim}(T_i,I_i)/\tau)}{\sum_{j=1}^{n\times k}\exp(\text{sim}(T_i,I_j)/\tau)} \tag{1} s(Ii​,Ti​)=∑j=1n×k​exp(sim(Ii​,Tj​)/τ)exp(sim(Ii​,Ti​)/τ)​s(Ti​,Ii​)=∑j=1n×k​exp(sim(Ti​,Ij​)/τ)exp(sim(Ti​,Ii​)/τ)​(1) 其中,n是一个 GPU \text{GPU} GPU上的batch size, k k k是 GPU \text{GPU} GPU的数量, τ \tau τ是可学习参数。此外, sim ( ⋅ , ⋅ ) \text{sim}(\cdot,\cdot) sim(⋅,⋅)表示image-text样本对的cosine相似度。令 D D D表示训练数据, y ( ⋅ , ⋅ ) \textbf{y}(\cdot,\cdot) y(⋅,⋅)表示真实的one-hot像度。 global contrastive pre-ranking \text{global contrastive pre-ranking} global contrastive pre-ranking损失函数通过交叉熵损失函数 L c ( ⋅ ) \mathcal{L}_c(\cdot) Lc​(⋅)来计算 L GCPR = 1 2 E ( I , T ) ∼ D [ L c ( s ( I , T ) , y ( I , T ) ) + L c ( s ( T , I ) , y ( T , I ) ) ] (2) \mathcal{L}_{\text{GCPR}}=\frac{1}{2}\mathbb{E}_{(I,T)\sim D}[\mathcal{L}_c(s(I,T),\textbf{y}(I,T))+\mathcal{L}_c(s(T,I),\textbf{y}(T,I))] \tag{2} LGCPR​=21​E(I,T)∼D​[Lc​(s(I,T),y(I,T))+Lc​(s(T,I),y(T,I))](2)

  • Fine-Grained Ranking

    正如前面提到的,应用 global contrastive pre-ranking \text{global contrastive pre-ranking} global contrastive pre-ranking来获得图像和文本的独立表示。依赖于这些表示,接下来会执行 Fine-Grained Ranking(FGR) \text{Fine-Grained Ranking(FGR)} Fine-Grained Ranking(FGR)损失函数来执行细粒度的排序任务。具体来说,这个任务是一个二分类任务,并且预测一个图像文本对是否匹配。形式化的来说,给定一个图像表示 h I [ C L S ] \text{h}_{I_{[CLS]}} hI[CLS]​​和一个文本表示 h T [ C L S ] \text{h}_{T_{[CLS]}} hT[CLS]​​,将表示输入至全连接层 g ( ⋅ ) g(\cdot) g(⋅)来获得预测概率。令 y \textbf{y} y表示二分类的真实标签,然后通过平均交叉熵 L c ( ⋅ ) \mathcal{L}_c(\cdot) Lc​(⋅)

标签: 1208tj2连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台