多模态已是当下比较热的研究方向了,基于transformer框架的预训练多模态模型也是百花齐放,比如VILBERT等等。关于当前多模态的模型,笔者之前在微信公众号写过一篇综述,感兴趣的可以看一下:
多模态预训练模型综述紧跟研究热点,快来打卡多模态知识点吧~https://mp.weixin.qq.com/s?__biz=MzkzOTI4ODc2Ng==&mid=2247485865&idx=1&sn=b5c092b74044e5509f313f2803e982e6&chksm=c2f27878f585f16e40ecadbf97e0dba0b8133e75399939b3a1e7767bc0489835bd45e7971601&token=2056898919&lang=zh_CN#rd
但是当下的研究要不是单独研究单模态的,要不就是单独研究多模态的,很少有将两者结合在一起即训练一个大一统模型,使得该模型既能很好的适配单模态数据,又能很好的适配多模态数据。这篇最新paper就是要解决这个问题。
这里提前提两个补充说明:
(1)该篇所想到的大一统思想其实之前就已经有过类似paper比如百度的UNIMO,奇怪的是这篇paper居然没有和其对比?
(2)该篇主要对比了和借鉴了CLIP的对比学习。
关于UNIMO、CLIP模型以及一些常用术语,笔者这里会一笔带过,不再重述,看不懂的或者感兴趣的可以看笔者之前的综述,都有详细的解读。
本篇介绍的论文链接:https://arxiv.org/pdf/2112.04482.pdf
(1) image encoder
这里就是图片的encoder,具体采用的就是ViT architecture,而且可以清晰的看到其对应的全局占位符是[CLS I],如果对应到之前那篇综述的讲法,这里用的是PATCH方式。
(2) text encoder
这里就是文本的encoder,采用的就是类似bert的tokenize,其对应的全局占位符是[CLS T]
(3)multimodal encoder
这里就是文本图片的多模态交互了,其实就是单独的几层transformer,输入就是上述两个encoder的隐藏状态的拼接,其对应的全局占位符是[CLS M]
总体来说是不是非常简单明了!!!
(1)MIM
这里没什么好讲的,就是图片的基本常规掩码loss。用的特征就是image encoder端的。
(2)MLM
这里也没什么好讲的,就是文本的基本常规掩码loss。用的特征就是text encoder端的。
(1)GC
这里借鉴了CLIP的对比学习,即最小化图文正样本对pair的距离,拉大图文负样本对pair的距离,具体的距离使用的是 和 的点积
同时这里作者提到的一点是,CLIP在训练的时候,由于要用到多卡训练,在更新梯度的时候其只在进行了点积的卡上进行,作者将其叫做“local contrastive”,而作者发现在全部卡上更新能够带来更大的收益,所以采用了“global contrastive”。
(2)MMM
这里就是类似MIM、MLM只不过是在多模态端即multimodal encoder,需要注意的是GC任务和MMM任务是分开进行的,即在进行GC对比学习的时候,不进行MASK。
(3)ITM
就是文本匹配二分类任务,用到的是
先进行单模态任务训练,最后再联合多模态任务进行Joint训练
可以看到在各个下游任务中,相比于CLIP,高出平均十个点。
总的来说,还是大力出奇迹,大一统模型从根本上还是增加了数据量即不仅利用多模态数据,更是把大量的单模态数据利用上了,同时模型参数量也不少。数据多、参数量大,SOTA指日可待!!!
之后我们会继续介绍一篇有关图文多模态领域最新的生成模型即ERNIE-VILG,其实百度ERINE系列的最新力作,贴几张根据文字生成图片的效果感受一下,下篇见~,欢迎关注~
欢迎关注笔者微信公众号:
github:
https://github.com/Mryangkaitonggithub.com
知乎:
小小梦想 - 知乎ML/NLP研究员,欢迎关注微信公众号“算法让生活更美好” 回答数 103,获得 62 次赞同https://www.zhihu.com/people/sa-tuo-de-yisheng/posts