【论文极速读】ERNIE VIL 2.0,多模态模型的一种多视角预训练范式

【论文极速读】ERNIE VIL 2.0,多模态模型的一种多视角预训练范式
FesianXu 20221127 at Baidu Search Team

前言

ERNIE VIL 2.0提出了多视角预训练范式,可以充分地利用图文数据中的各类型文本数据,加速模型预训练,提高跨模态模型的表征能力,本文进行论文读后笔记。如有谬误请联系指出,本文遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明并且联系笔者,谢谢

∇ \nabla 联系方式:

e-mail: FesianXu@gmail.com

github: https://github.com/FesianXu

知乎专栏: 计算机视觉/计算机图形理论与应用

公众号:机器学习杂货铺3号店


在ERNIE VIL 1.0[2,3]中,作者通过扩展Mask Language Model到多模态模型上,实现多模态模型的建模。其数据采用的是<Image, Caption>的数据对,如Fig 1.所示。 通常caption是对图片的视觉描述,可以由人工标注而来,也可以像Conceptual Captions(CC)和SBU Captions(SBU)数据集一样,从互联网数据中自动挖掘得到。模型采用的单塔双流交互模型,如Fig 2.所示。

image_caption_pair

Fig 1. 常见的Image,Caption形式的图文数据对。

ernie_vil_v2

Fig 2. ERNIE VIL 1.0 采用的模型结构是单塔双流交互模型,通过跨模态的MLM进行建模。

ERNIE VIL 1.0采用单塔交互模型意味着无法采用类似于CLIP[4,5]的方式,通过扩大batch size的方式进行大规模对比学习,以提高表征能力。而且只采用了caption信息进行预训练,不免浪费了互联网图片中丰富的文本信息。如Fig 3.所示,网页中的图片附带有着众多不同类型的文本信息可供使用,如图片的标题,图片的类别信息(可以是用户自选的),图片对应的上下文信息等,这些文本信息或多或少都与图片有所关联,在预训练中或多或少能提供帮助。不仅如此,甚至还可以用Object Detector进行图片中的实体识别,对图片进行打tag,生成一系列文本。同时,在商业系统中还能通过点击信号,挖掘出用户query与图片的样本对<query, image>

multiple_source_text

Fig 3. 互联网中的图片,通常附带有众多相关的文本信息。

在ERNIE VIL 2.0中,作者采用了双塔模型,同时采用了CLIP的方式,通过使用112张A100 GPU和all_gather操作,将总batch size提高到了7168。并且,最主要的是,在该论文中作者提出了“多视角对比学习(multi-view contrastive learning)”,其中的多视角指的是同一个模态中(图片、文本),不同视角的表达。比如对于图片而言,可以对图片进行图片增强(image augmentation),比如图片抖动,随机crop等。通过这种手段能生成两个视角的图片, I v 1 I_{v1} Iv1表示原图, I v 2 I_{v2} Iv2表示进行图片增强后的图片。对于文本模态而言,作者认为除了caption之外,这个图片的其他可用文本信息就可视为是多视角文本信息,比如在本文中,作者认为图片的tags是其多视角文本。那么, T v 1 T_{v1} Tv1为图片的caption, T v 2 T_{v2} Tv2为图片的tags(可以是用户自己选定的,也可以是Object Detector等模型生成的)。如Fig 4.所示,与单视角对比学习相比,同个模态内和跨模态间都可以组建对比损失。如公式(1-1)所示,其中 S + S^{+} S+为正样本对组合, S − S^{-} S为负样本对组合,其中的 i , j i,j i,j表示样本编号。如公式(1-2)所示,通过infoNCE损失对(1-1)中的各类型pair进行损失建模。整个ERNIE-VIL 2.0的模型结构如Fig 4. ©所示。
S + = { ( I v 1 i , I v 2 i ) , ( T v 1 i , T v 2 i ) , ( I v 1 i , T v 1 i ) , ( T v 1 i , I v 1 i ) } S − = { ( I v 1 i , I v 2 j ) , ( T v 1 i , T v 2 j ) , ( I v 1 i , T v 1 j ) , ( T v 1 i , I v 1 j ) } , i ≠ j (1-1) \begin{align} S^{+} &= \{(I_{v1}^{i}, I_{v2}^{i}), (T_{v1}^{i}, T_{v2}^{i}), (I_{v1}^{i}, T_{v1}^{i}), (T_{v1}^{i}, I_{v1}^{i})\} \\ S^{-} &= \{(I_{v1}^{i}, I_{v2}^{j}), (T_{v1}^{i}, T_{v2}^{j}), (I_{v1}^{i}, T_{v1}^{j}), (T_{v1}^{i}, I_{v1}^{j})\}, i \neq j \end{align} \tag{1-1} S+S={(Iv1i,Iv2i),(Tv1i,Tv2i),(Iv1i,Tv1i),(Tv1i,Iv1i)}={(Iv1i,Iv2j),(Tv1i,Tv2j),(Iv1i,Tv1j),(Tv1i,Iv1j)},i=j(1-1)

L ( x , y ) = − 1 N ∑ i N log ⁡ exp ⁡ ( ( h x i ) T h y i / τ ) ∑ j = 1 N exp ⁡ ( ( h x i ) T h y j / τ ) (1-2) L(x, y) = -\dfrac{1}{N} \sum_{i}^N \log\dfrac{\exp((h_{x}^i)^{\mathrm{T}} h_{y}^i/\tau)}{\sum_{j=1}^N \exp((h_{x}^i)^{\mathrm{T}} h_{y}^j/\tau)} \tag{1-2} L(x,y)=N1iNlogj=1Nexp((hxi)Thyj/τ)exp((hxi)Thyi/τ)(1-2)

framework

Fig 4. (a,b)多视角对比学习 与 单视角对比学习的对比。(c)ERNIE-VIL 2.0的模型结构框架。

实验结果就不贴出来了,笔者感觉这种方法比较有意思的是,它可以通过多视角文本样本扩充一些抽象实体的语义。如Fig 5.所示,对于(a)中的caption提到的“Dinner”,“晚餐”本质上是一个抽象的实体,没有具象化到某一类型具体的食物,而通过Object Detector得到的tag,我们能知道图片中存在西红柿,洋葱,食物等等实体,通过建立caption和tag的关联,可以让模型学习到Dinner的具象化语义。对于Fig 5. (b)和©而言,BMW E90是宝马的其中一个型号,而Gatos Manx应该是主人给猫取的爱称。汽车型号这种语义非常稀疏,而猫的姓名更是稀疏无比,在训练样本中甚至可能没有其他共现的文本出现了,这种语义很难学习出来。而通过建立caption和tag的关联,可以让模型学习到BWM E90是一种白色汽车,而Gatos Manx是一只猫(当然这个有风险,也许有人也叫这个名字呢,emm,但是如同“旺财”“福贵”在猫狗上取名的概率更大一样,这样学习出来的bias似乎也并不是没有可取之处呢?)。因此通过多视角文本的多模态预训练方式,可以扩充抽象语义,学习出稀疏语义。这是ERNIE VIL 2.0一文给予笔者最大的启发。

share_semantic

Fig 5. 通过多视角文本预训练,可以扩充抽象语义,学习出稀疏语义。

Reference

[1]. Shan, Bin, Weichong Yin, Yu Sun, Hao Tian, Hua Wu, and Haifeng Wang. “ERNIE-ViL 2.0: Multi-view Contrastive Learning for Image-Text Pre-training.” arXiv preprint arXiv:2209.15270 (2022).

[2]. Yu, Fei, Jiji Tang, Weichong Yin, Yu Sun, Hao Tian, Hua Wu, and Haifeng Wang. “Ernie-vil: Knowledge enhanced vision-language representations through scene graph.” arXiv preprint arXiv:2006.16934 (2020).

[3]. https://blog.csdn.net/LoseInVain/article/details/116275484,【论文极速看】ERNIE-VIL 一种基于场景图解析的多模态表征方法

[4]. Radford, A., Kim, J. W., Hallacy, C., Ramesh, A., Goh, G., Agarwal, S., … & Sutskever, I. (2021). Learning transferable visual models from natural language supervision. arXiv preprint arXiv:2103.00020.

[5]. https://blog.csdn.net/LoseInVain/article/details/119516894, CLIP-对比图文多模态预训练的读后感

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
RoBERTa中文预训练模型 概述 中文预训练RoBERTa模型 RoBERTa是BERT的改进版,通过改进训练任务和数据生成方式、训练更久、使用更大批次、使用更多数据等获得了State of The Art的效果;可以用Bert直接加载。 本项目是用TensorFlow实现了在大规模中文上RoBERTa的预训练,也会提供PyTorch的预训练模型和加载方式。 中文预训练RoBERTa模型-下载 6层RoBERTa体验版 RoBERTa-zh-Layer6: Google Drive 或 百度网盘,TensorFlow版本,Bert 直接加载, 大小为200M 推荐 RoBERTa-zh-Large 通过验证 RoBERTa-zh-Large: Google Drive 或 百度网盘 ,TensorFlow版本,Bert 直接加载 RoBERTa-zh-Large: Google Drive 或 百度网盘 ,PyTorch版本,Bert的PyTorch版直接加载 RoBERTa 24/12层版训练数据:30G原始文本,近3亿个句子,100亿个中文字(token),产生了2.5亿个训练数据(instance);覆盖新闻、社区问答、多个百科数据等; 本项目与中文预训练24层XLNet模型 XLNet_zh项目,使用相同的训练数据。 RoBERTa_zh_L12: Google Drive 或 百度网盘 TensorFlow版本,Bert 直接加载 RoBERTa_zh_L12: Google Drive 或百度网盘 PyTorch版本,Bert的PyTorch版直接加载 Roberta_l24_zh_base TensorFlow版本,Bert 直接加载 24层base版训练数据:10G文本,包含新闻、社区问答、多个百科数据等 什么是RoBERTa: 一种强大的用于预训练自然语言处理(NLP)系统的优化方法,改进了Transformers或BERT的双向编码器表示形式,这是Google在2018年发布的自监督方法。 RoBERTa在广泛使用的NLP基准通用语言理解评估(GLUE)上产生最先进的结果。 该模型在MNLI,QNLI,RTE,STS-B和RACE任务上提供了最先进的性能,并在GLUE基准上提供了可观的性能改进。 RoBERTa得分88.5,在GLUE排行榜上排名第一,与之前的XLNet-Large的表现相当。 效果测试与对比 Performance 互联网新闻情感分析:CCF-Sentiment-Analysis 模型 线上F1 BERT 80.3 Bert-wwm-ext 80.5 XLNet 79.6 Roberta-mid 80.5 Roberta-large (max_seq_length=512, split_num=1) 81.25 注:数据来源于guoday的开源项目;数据集和任务介绍见:CCF互联网新闻情感分析 自然语言推断:XNLI 模型 开发集 测试集 BERT 77.8 (77.4) 77.8 (77.5) ERNIE 79.7 (79.4) 78.6 (78.2) BERT-wwm 79.0 (78.4) 78.2 (78.0) BERT-wwm-ext 79.4 (78.6) 78.7 (78.3) XLNet 79.2 78.7 RoBERTa-zh-base 79.8 78.8 RoBERTa-zh-Large 80.2 (80.0) 79.9 (79.5) 注:RoBERTa_l24_zh,只跑了两次,Performance可能还会提升; BERT-wwm-ext来自于这里;XLNet来自于这里; RoBERTa-zh-base,指12层RoBERTa中文模型 问题匹配语任务:LCQMC(Sentence Pair Matching) 模型 开发集(Dev) 测试集(Test) BERT 89.4(88.4) 86.9(86.4) ERNIE 89.8 (89.6) 87.2 (87.0) BERT-wwm 89.4 (89.2) 87.0 (86.8) BERT-wwm-ext - - RoBERTa-zh-base 88.7 87.0 RoBERTa-zh-Large 89.9(89.6) 87.2(86.7) RoBERTa-zh-Large(20w_steps) 89.7 87.0 注:RoBERTa_l24_zh,只跑了两次,Performance可能还会提升。保持训练轮次和论文一致: 阅读理解测试 目前阅读理解类问题bert和roberta最优参数均为epoch2, batch=32, lr=3e-5, warmup=0.1 cmrc20

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FesianXu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值