选自arXiv

作者:Jiaxi Gu等

机器之心编译

编辑:Juniper

华为诺亚方舟实验室的研究者提出了一个大规模的中文的跨模态数据库 ——「悟空」,并在此基础上对不同的多模态预训练模型进行基准测试,有助于中文的视觉语言预训练算法开发和发展。

在大数据上预训练大规模模型,对下游任务进行微调,已经成为人工智能系统的新兴范式。BERT 和 GPT 等模型在 NLP 社区中越来越受欢迎,因为它们对广泛的下游任务甚至零样本学习任务具有很高的可迁移性,从而产生了 SOTA 性能。最近的工作,如 CLIP、ALIGN 和 FILIP 进一步将这一范式扩展到视觉语言联合预训练 (VLP) 领域,并在各种下游任务上显示出优于 SOTA 方法的结果。这一有希望的方向引起了行业和研究人员的极大关注,将其视为通向下一代 AI 模型的途径。

促成 VLP 模型成功的原因有两个。一方面,更高级的模型架构(如 ViT/BERT)和训练目标(如对比学习)通常能够提升模型泛化能力和学得表示的稳健性。另一方面,由于硬件和分布式训练框架的进步,越来越多的数据可以输入到大规模模型中,来提高模型的泛化性、可迁移性和零样本能力。在视觉或者语言任务中,先在大规模数据(例如图像分类中的 JFT-300M、T5 中的 C4 数据集)上预训练,之后再通过迁移学习或者 prompt 学习已被证明对提高下游任务性能非常有用。此外,最近的工作也已经显示了 VLP 模型在超过 1 亿个来自网络的有噪声图像 - 文本对上训练的潜力。

因此,在大规模数据上预训练的 VLP 模型的成功促使人们不断地爬取和收集更大的图文数据集。下表 1 显示了 VLP 领域中许多流行的数据集的概述。诸如 Flickr30k、SBU Captions 和 CC12M 等公开可用的视觉语言(英语)数据集的样本规模相对较小(大约 1000 万),而规模更大的是像 LAION-400M 的数据集。但是,直接使用英文数据集来训练模型会导致中文翻译任务的性能大幅下降。比如,大量特定的中文成语和俚语是英文翻译无法覆盖的,而机器翻译往往在这些方面会带来错误,进而影响任务执行。

目前,社区缺乏大规模公开可用的中文数据集,不仅导致社区发展受阻,而且每项工作都使用一个私密的大型数据集来实现,达到一个其它工作无法公平比较的惊人性能。

为了弥补这一差距,华为诺亚方舟实验室的研究者发布了一个名为「悟空」的大型中文跨模态数据集,其中包含来自网络的 1 亿个图文对。为了保证多样性和泛化性,悟空数据集是根据一个包含 20 万个高频中文单词列表收集的。本文还采用基于图像和基于文本的过滤策略来进一步完善悟空数据集,使其成为了迄今为止最大的中文视觉语言跨模态数据集。研究者分析了该数据集,并表明它涵盖了广泛的视觉和文本概念。

  • 论文地址:https://arxiv.org/pdf/2202.06767.pdf

  • 数据集地址:https://wukong-dataset.github.io/wukong-dataset/benchmark.html

研究者还进一步发布了一组使用不同架构(ResNet/ViT/SwinT)和不同方法(CLIP、FILIP 和 LiT)大型预训练模型。本文的主要贡献如下:

  • 发布了具有 1 亿个图文对的大规模视觉和中文语言预训练数据集,涵盖了更全面的视觉概念;

  • 发布了一组使用各种流行架构和方法预训练好的大规模视觉 - 语言模型,并提供针对已发布模型的全面基准测试;

  • 发布的预训练模型在数个中文基准测试任务,例如由 17 个数据集组成的零样本图像分类任务和由 5 个数据集组成的图像文本检索任务,表现出了最优性能。

「悟空」数据集

研究者构建了一个名为悟空的新数据集,该数据集包含从网络收集的 1 亿个图文对。为了涵盖足够多样的视觉概念,悟空数据集是由包含 20 万个词条的查询列表里收集的。这个基础查询列表取自 Yan Song 等人的论文《Directional Skip-Gram: Explicitly Distinguishing Left and Right Context for Word Embeddings》,然后根据华为的海量新闻文本语料库中出现的中文单词和短语的频率进行过滤后所得。

查询列表建好后,研究者在百度图片搜索每个查询,以获取图片 URL 列表和相应的标题信息。为了保持不同查询结果间的平衡,他们每个查询最多搜索 1000 个样本。然后使用先前获得的图像 URL 下载图像,最终共收集了 1.66 亿个图文对。然后按照惯例,研究者通过下文的一系列过滤策略来构建最终的悟空数据集。下图 2 显示了悟空数据集中的一些样本。

基于图像的过滤

研究者首先根据图像的大小和长宽比对数据进行过滤。只保留长或宽超过 200 像素且长宽比不超过 3 的图像。这种方式过滤掉了太小、太高或太宽的图像,因为这些图像在预训练期间经过上采样和方形裁剪等图像增强手段后,可能变成低分辨率。

基于文本的过滤

其次,为了使选择的样本具有对应图像的高质量中文描述,研究者根据图像所附文本的语言、长度和频率对数据进行进一步过滤。具体来说,他们首先检查了语言和长度,保留了包含至少一个但少于 32 个汉字的句子。同时还会丢弃无意义的图像描述,例如「000.jpg」。之后,与太多图片配对的文字通常与图片内容无关,例如「查看源网页」(View source page)、「展开全文」(Expand text)、「摄影部落」(Photography community)。实际中,研究者将此阈值设置为 10,即丢弃掉在收集的整个语料库中出现超过 10 次的图文对。

为了保护文本中出现的个人隐私,研究者将人名替换为特殊标记「< 人名 >」,此外,他们还构建了一个中文敏感词列表,包含敏感词的图文对也被丢弃。

应用上述过滤策略后,研究者最终得到一个约 1 亿对的数据集。下表 2 显示了数据集的统计量:数据集文本中有 20,442 个唯一 token,每个描述中的平均 token 数为 22。

在下图 3 中,研究者可视化了数据集中单词(由一个或多个 token 组成)的分布。然后,他们使用中文文本分词工具 Jieba 来截取单词并构建数据集的词云。

方法架构

文本 - 图像联合对齐

与最近经过充分验证的方法类似,研究者采用了对比预训练架构,如下图 1 所示。他们使用一个带有基于 Transformer 的文本和图像编码器的双流模型。这两个编码器将文本和视觉输入 token 转换为相同维度的嵌入。在这个学习到的联合嵌入空间中,研究者使用对比损失来鼓励成对的图像和文本具有相似的嵌入,而不成对的具有不同的嵌入。

模型架构

由于视觉和文本模态的编码器是解耦的,因此可以为这两种模态探索不同的编码器架构。研究者试验了三种视觉编码器变体(即 ResNet、Vision Transformer 和 Swin Transformer)以及一个单一的类 BERT 文本编码器来训练中文 VLP 模型。

预训练目标

跨模态对比学习是一种从成对的图像 - 文本数据中训练模型的特别有效的方法,它可以通过区分成对和不成对的样本同时学习两种模态的表示。研究者遵循 FILIP(Yao 等人,2022)中的公式标记,使用去定义图像样本集合,同时代表文本数据。给定一个图像样本和一个文本样本,该模型的目标是让联合多模态空间中的配对的图像和文本表示接近,不配对的则远离。

在这项工作中,研究者探索了两种衡量图像和文本之间相似度的方法。图像和文本的学得表示分别标记为。这里,n_1 和 n_2 是每个图片和文本中的(未填充的)词 token 的数量。

LiT-tuning

研究者受到了最近提出的一种微调范式 LiT-tuning(Locked-image Text tuning)的启发,该范式表明权重固定的图像编码器和可学习的文本编码器在 VLP 模型中效果最好。他们在对比学习设置中也采用了同样的方式,即只更新文本编码器的权重,而不更新图像编码器的权重。

具体而言,研究者采用的 LiT-tuning 方法旨在教一个中文的文本编码器从一个现有的图像编码器中读取合适的表示,该图像编码器是在英文数据集上预训练过。他们还为每个编码器添加了一个可选的可学习线性变换层,它将两种模式的表示映射到相同的维度。LiT-tuning 之所以效果很好,是因为它解耦了用于学习图像特征和视觉语言对齐的数据源和技术(Zhai 等人,2021b)。并且,图像描述器事先使用相对干净或(半)手动标记的图像进行了良好的预训练。

研究者将这一想法扩展到多语言数据源,并尝试将在英文数据源上预训练的固定了的图像编码器和可训练的中文文本编码器对齐。此外,LiT-tuning 方法显著加快了训练过程并减少了内存需求,因为它不需要为视觉编码器计算梯度。

实验结果

下表 3 描述了模型参数和视频编码器的细节。

零样本图像分类。研究者在 17 个零样本图像分类任务上评估预训练模型。零样本图像分类的结果如下表 5 所示。他们比较了使用不同视觉编码器的多个 LiT -tuning 模型,即从 CLIP 或 Swin Transformer 加载现有的视觉编码器并在训练阶段固定它们的权重。结果发现,使用 token 水平的相似度比使用全局相似度会带来更显著的改进。

图文检索任务。研究者在两个子任务,即以图搜文和以文搜图上做了评估。下表 6 和表 7 分别显示了零样本设定和可以微调的图文检索的结果。对于零样本设置,相比其它模型,Wukong_ViT 在 4 个数据集中的 3 个上取得了最好的结果,而 Wukong_ViT-500M 在更大的 MUGE 数据集上取得了最好的结果。对于微调设置,Wukong_ViT-500M 则在除 AIC-ICC 之外的所有数据集上都取得了最好的结果,其中 Wukong_ViT 效果最好。

词汇 - 图块对齐的可视化。研究者使用预训练模型 Wukong_ViT 和 Wukong_Swin 进 行可视化。如图 4 所示,其中可视化来自中文的 ImageNet 的六个标签(即豆娘、救生艇、蜂鸟、平板手机、教堂和电风扇)的图像。然后应用与 FILIP(Yao 等人,2022)相同的可视化方法来对齐文本和图块 token。

从下图 4 中,研究者发现两种模型都能够预测目标物体的图像块。对于具有更多图像块的 Wukong_ViT,这种词汇 - 图块对齐比 Wukong_Swin 更加细粒度。

© THE END

转载请联系原公众号获得授权

投稿或寻求报道:content@jiqizhixin.com

点个在看 paper不断!

华为诺亚开源首个亿级中文多模态数据集-悟空,填补中文NLP社区一大空白相关推荐

  1. 新突破!华为诺亚开源首个亿级中文多模态数据集-悟空!

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 作者:Jiaxi Gu等 转载自:机器之心  |  编辑:Juniper 华为诺亚方舟实验室的研究者提出了一 ...

  2. 华为诺亚方舟开源哪吒、TinyBERT模型,可直接下载使用

    点击上方"视学算法",选择"星标"公众号 重磅干货,第一时间送达 来源:机器之心 华为诺亚方舟实验室开源了一批优秀预训练语言模型,性能更好.使用更方便. 昨日, ...

  3. 1亿组图文对,填补中文开源多模态数据集空白!还附带基础模型,来自华为诺亚方舟实验室...

    行早 发自 凹非寺 量子位 | 公众号 QbitAI 华为诺亚方舟实验室开源了第一个亿级中文多模态数据集:悟空. 这个新发布的数据集不仅规模大--包含1亿组图文对,而且质量也很高. 所有图像都是筛选过 ...

  4. 刘群:华为诺亚方舟NLP预训练模型工作的研究与应用 | AI ProCon 2019

    演讲嘉宾 | 刘群(华为诺亚方舟实验首席科学家) 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) 预训练语言模型对自然语言处理领域产生了非常大的影响,在近期由CSDN主办的 ...

  5. 【读点论文】A Survey on Vision Transformer,2022年华为诺亚最新综述研究,从发展到任务,整体到局部。ViT有研究价值在于有很多问题还没有解决,真理是阶段性的产物

    A Survey on Vision Transformer Abstract transformer最早应用于自然语言处理领域,是一种主要基于自注意机制的深度神经网络.由于其强大的表示能力,研究人员 ...

  6. 华为诺亚方舟开源预训练模型“哪吒”,4项任务均达到SOTA

    出品 | AI科技大本营(ID:rgznai100) BERT之后,新的预训练语言模型XLnet.RoBERTa.ERNIE不断推出,这次,华为诺亚方舟实验室开源了基于BERT的中文预训练语言模型NE ...

  7. ACL 2022丨香港大学华为诺亚方舟新工作:生成式预训练语言模型的量化压缩

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 近日,香港大学与华为诺亚方舟实验室在 ACL 2022 上联合发表了 ...

  8. 华为诺亚最新视觉Transformer综述

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 来源丨机器之心 编辑丨极市平台 导读 华为诺亚方舟实验室联合北大和悉 ...

  9. 华为诺亚加法网络再升级:精度提升,可以逼近任意函数

    转自:机器之心 深度卷积神经网络的计算常常需要巨大的能耗,因此难以在移动设备上实现.为此学界正在探索研究各式各样的新方法,本文要介绍的这项研究提出了使用加法替代 CNN 中的乘法(卷积),从而极大降低 ...

最新文章

  1. Cloudflare Workers支持WebAssembly和键值存储
  2. 手机上 a 标签妙用
  3. 如何将sql server数据库转化成sqlite数据库
  4. python获取网络时间_python获取网络时间和本地时间
  5. 数据结构与算法——常用数据结构及其Java实现
  6. 汇编语言学习--转移指令的原理
  7. EPOLL AND Nonblocking I/O
  8. python手册下载_python学习手册
  9. (测试可用)针式打印机打印WEB页面字体不清晰,解决方法
  10. 广播地址的计算方法(与运算、或运算)
  11. Python词频统计与杨辉三角
  12. Java基础回顾--jav集合1 集合的分类、解析
  13. 深圳计算机职称叫什么,深圳职称是什么
  14. Docker容器内部 DNS 解析失败的问题
  15. read/write 阻塞/非阻塞
  16. Unicast与Multicast
  17. 《麦田里的守望者》 经典摘录
  18. php 获取数组四分位,如何在JavaScript(或PHP)中获得数组的中位数和四分位数/百分位数?...
  19. Win11账号被锁定无法登录怎么办?Win11账号被锁定无法登录
  20. 爬虫day3,通过爬虫有道翻译实现汉译英

热门文章

  1. VS2010 MFC中改变static字体颜色、大小、背景颜色(自定义类),及手动关联变量的方法...
  2. 【Python】百度贴吧图片的爬虫实现(努力努力再努力)
  3. 一文搞定深度学习建模预测全流程(Python)
  4. AI化身监工,上班还能摸鱼吗?
  5. 真香!3个月0基础转型大厂数据分析师,他做对了什么?
  6. 太生猛!AI应届生年薪涨到80万!网友:后悔生的太早
  7. 区块链人才月均薪酬1.6W?
  8. 入门数据分析师,从了解元数据中心开始
  9. 访问量最高超7百万的Stack Overflow问题竟然是...
  10. 300万奖金池,第二届“中国版ImageNet”开赛