加※:开头,这是我自己的总结,可能不一定你能看得懂,建议还是自己读读论文,深入理解
总结了b站zhu老师的视频多模态串讲。
1.这篇工作的 visual encoder 不仅diss 之前的效率不高(之前是目标检测),更重要的一点是,在它看来,之前预先提取好的目标检测的物体特征 因为已经提取好了,不是end-to-end,所以导致多模态融合那块或者说多模态匹配那块,很可能会得到不好的结果。(multimodal encoder 学不好)
how to do? 它们决定 先 align 再 fuse,方法: 使用一个对比学习loss——ITC(看到这里感觉这个不是之前有的吗?)
2.第二个就是最新的贡献,怎么能从noisy的从网上爬下来的数据学到东西呢? 方法是: 提出了一个momentum distillation方法,即自训练的方法去学习 (伪标签)
3.所有的东西和loss以及第二点提出的,理论化分析是给数据进行了增强
4.效率高,且效果好,开源,8卡
1.模型总览:
2.loss 训练:
ps: 做了两次 forward,训练时间很长(多模态预训练时间长)
3.Momentum Distillation
Noisy web data,从数据的角度进行优化
主要是干扰了各种训练loss
文中这句话就能清楚知道,最后利用了MD是在MLM和ITC两个部分,因为有时候那个 gt 并不是最好的。
怎么从一个noisy data 学表征是一个很好的方向
VR/VE/VQA
1.clip:双塔模型 + cos similarity = 大规模的 数据
缺点是交互太少了
2. 交互变成 transformer
缺点是嗯复杂
3.各个模态有各个模态的experts去解决,想要哪个要哪个
4.分阶段是因为 两个模态各自有自己非常大的数据集,想用!所以就先分阶段各自训练各自的encoder,用自己模态那边的数据集。(nlp用自己的,cv用自己的,多模态数据集没有这么大当时)
5.用的一个self attention 图像还是文本(不懂为什么这样效果好)
3. 分阶段训练图
图中,第二个阶段,冻住了self-attention(神奇的操作,有没有什么原理?)而且必须是第二个阶段冻住!(很多工作证明了,这里可以深挖)
4. 很小的改动,就是 FFN 改成三种,效果就很好
主要是灵活,它把每个模块拆分了,训练量更多比起ALBEF
BEIT-v3 : 下游任务更多了(多模态、单模态)- 变成了Encoder和Decoder。模型更大
Unimodality-Multimodality
维持计算量不变左边,
SA都不变,只有FFN才变区分不同的modality右边
4. SA变了 为了生成 LM
5. decoder效果太好了,所以后面用它新生成的数据来加入训练,具体是设计了一个filter,选择到底是 gt好还是 生成的caption好。
6. capfilter 很好,因为它相当于得到了一个生成更好数据的方法,是modal agonotic
看起来很像 ALBEF ,区别:
全部统一: 把图片也变成文字 (imglish),loss就能只用一个了——MLM loss
论文引言写的很好
总结
1.language interface:metalm、pali
2.generalist modal:模型监督
真卷:Unipercever