多模态模型(图像-文本)的普遍训练方法

训练架构

多模态模型的目标,都是致力于把两个模态的数据(图像数据-自然语言数据)编码到同一个语义空间。所以一般来说都会有两个模块,一个图像编码器,一个文本编码器。一些方法为了提升效果,会附加一些模块,比如 Albef 加了一个融合编码器。另一些方法为了让模型同时具有理解图像文本和生成文本的功能,加了生成模块。

所有的损失函数都是为了让整个模型能同时理解图像和文本的语义。

对比学习当之无愧

非常经典的就是 CLIP 了,用图像编码器编码 + 文本编码器编码,得到的特征让它们相乘,让成对儿样本的特征的乘积靠近1,让不成对儿的样本特征的乘积靠近0。

图文匹配

给模型加个二分类层,让图像和文图特征一起送进这个二分类层训练,让配对的预测结果更靠近1,不配对的预测结果更靠近0。

这个跟对比学习不一样,注意区分。对比学习直接算乘积,图文匹配是一起送进二分类层训。等训完了这个二分类层就光荣退休了。

masked token 预测

文本编码器里,把文本的 token 遮掉,让模型预测它是哪个 token。这种方式是 bert 的训练法,被拿来做多模态,是为了让模型从图像特征里获取信息,从而更准确地预测文本里被遮掉的 token。

举个例子,图片里有只长颈鹿,文本被遮掉的的部分是“A photo of [masked token]”,这样模型就不得不从图片里找到长颈鹿这个信息。

图文生成

BLIP 和 BLIP2 里的,不预测 masked token 了,直接自回归预测句子的下一个 token。这种方式是 GPT 的训练方法,被拿过来做多模态,一是为了让模型从图像里学到跟文本相关的信息,二是这样的多模态模型不光能理解和编码图像文本信息,还能直接根据图文生信息成文本,直接做了类似于图文问答的任务。

动量蒸馏筛选难负样本

Albef 首先提出的,原因是网上爬的数据普遍存在噪声,当模型学到噪声数据时,错误的、或者说弱相关的图像文本对儿就会对模型产生负面影响。如果能有更多的监督信号就好了,所以有了动量蒸馏法。

动量蒸馏法存在两个模型,两个模型的参数不一样,其他全都一样。一个是 base 模型,正常更新参数,另一个是动量模型,用 EMA 的方式去更新参数(举个粗浅的例子,EMA 的参数 = 0.9 x 上一个模型的参数 + 0.1 x 更新后的模型参数)。

首先,当数据 x 进来时,先喂给动量模型,得到 y'。此时我们有 y 和 y' 两个标签,其中 y 是原始标签(放在对比学习里就是 one-hot 向量),另一个 y' 是用动量模型得到的伪标签。

 生成文本与过滤策略(captioning and filtering,也被翻译为“字幕与过滤”)

这个是 BLIP 提出的,用来过滤网络数据集里的图文不匹配的噪声数据。BLIP 是一个即可以根据图像生成文字,又可以判断图文相似度的模型。

 比如网上有些图片画面是夕阳下的一座桥,但配文是“这是从我家楼顶拍的”,这样的图文对儿送给模型,模型就会学的非常迷惑。

它的做法是,在小的、干净的数据集上先训两个模型:一个是“看图说话”模型(也就是 captioner),喂一张图能生成对应的描述图像的文本;另一个是“判断文本和图片是否匹配”模型(也就是 filter)。

在训练多模态模型的过程中,先用 captioner 给这张图生成文本 Y',然后把生成的文本和原始数据集里的文本 y 喂给过滤器 filter 打分,留下分数高的文本作为图像对应的文本喂给多模态模型进行学习。

还是上面的例子,原始文本是“这是从我家楼顶拍的”,captioner 生成的文本是“夕阳下的一座桥”, filter 认为 captioner 生成的文本最贴近图像的意思,就保留 captioner 生成的这条文本,然后喂给多模态模型训练。

 这里要考虑一个问题,用 captioner 和 filter 来指导多模态模型(VLP),为什么有效?在它没见过的数据上 captioner 和 filter 会不会误导模型?

答案是:还是利大于弊的。

 假设 captioner 和 filter 都只学会了一部分图像和文本的知识。     训练 VLP 时,如果出现 captioner 和 filter 学过的知识,毋庸置疑,提高了数据纯度;     如果出现了文本生成器和过滤器没学过的知识,首先生成器会生成的不准确,其次过滤器会也过滤的不准确,     假设它随机过滤掉了一半网络文本和一半生成文本。     此时模型学习时,依然学到的是带噪样本。     所以总的来说,captioner 和 filter 提高了它们见过的那类数据的纯度,对没见过的数据的影响或许不大。

所以,这样做的意义是,第一,它用高精度生成器和过滤器来得到高性能的双功能的多模态模型;第二,对于生成器和过滤器学过的内容,样本纯度可以提升,它俩没学过的内容样本纯度保持不变,所以总体上会让纯度提升一部分。 

高质量数据微调

在大而多样的数据集上进行预训练,在更小但更高质量的数据集上进行微调,可以显著提高性能。

这个方法是在 Stable Video Diffusion 里提到的,已经在另外两篇论文了验证了。

这两篇论文是:1)Emu: Enhancing image generation models using photogenic needles in a haystack;2)High-Resolution Image Synthesis with Latent Diffusion Models。

目前这个方法也在 Stable Video Diffusion 中被验证了,那基本可以肯定所有的大模型在经过noise的数据训练后,再在一个高质量小数据集上微调,最终效果会好得多。

 主流的图像—文本的多模态技术实现方法有哪些? 

1、特征提取与融合:通过使用卷积神经网络(CNN)提取图像的视觉特征,使用循环神经网络(RNN)或Transformer提取文本的语义特征,然后将两种特征进行融合,得到图像-文本的多模态表示。

2、神经网络对齐:通过使用神经网络模型,如双向长短时记忆网络(BiLSTM)或Transformer,将图像和文本进行对齐,使得它们在同一空间中具有相似的表示。

3、共享嵌入空间:通过将图像和文本映射到一个共享的嵌入空间中,使得它们在该空间中的表示具有相似性。这可以通过训练一个共享的嵌入模型,如Siamese网络或Triplet网络来实现。

4、注意力机制:通过使用注意力机制,将图像和文本的重要信息进行对齐和加权,从而得到更好的多模态表示。注意力机制可以在特征提取阶段或特征融合阶段使用。

5、生成对抗网络(GAN):通过使用生成对抗网络,如图像生成对抗网络(GAN)或文本生成对抗网络(GAN),实现图像和文本之间的互相生成和对抗,从而达到更好的多模态表示。 


需要人工智能入门进阶学习资料包!想听免费AI公开课的!让你倾听圈内大牛来揭秘未来AI发展潮流, 还能与行业大佬面对面交流,领取行业大佬提供的学习资料!

可以关注威信公众号:AI技术星球 回复:211  了解获取

需要论文指导发刊的 【AI交叉学科、SCI、CCF-ABC、期刊、会议、本硕博论文、在职论文指导、Kaggle比赛指导、 润色发刊等 】

白嫖100G入门到进阶AI资源包+kaggle竞赛+就业指导+技术问题答疑

1、超详细的人工智能学习路

2、OpenCV、Pytorch、YOLO等教程

3、人工智能快速入门教程(Python基础、数学基础、NLP)附源码课件数据

4、机器学习算法+深度学习神经网络基础教程

5、人工智能必看书籍(花书、西瓜书、蜥蜴书等)

6、顶刊论文及行业报告

7、SCI论文攻略 及润色等

 

 

 

  • 24
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值