输入“/”快速插入内容

📍多模态训练,解决不同模态之间的差异

多模态模型整体架构
简单描述下多模态模型的总体架构思路:首先,对输入数据(如文本、图像等)进行编码,得到表示向量;其次,将这些向量进行融合,可能还包括融合一些外部知识,如知识图谱语言模型计算机视觉模型等;最后,模型可以基于单模态数据和融合数据输出表示向量。整体思路其实也适用于许多深度学习模型的训练。
模型最后一部分是损失函数(或目标函数)。损失函数(或目标函数)对于模型的训练至关重要。损失函数决定了模型的学习目标,以及如何对模型的表现进行量化
在特征编码阶段,文本通常使用Transformer架构进行编码,而图像则可以通过卷积神经网络(CNN或基于目标检测的方法,或直接对Patch进行编码。
💾
在多模态信息融合的过程中,有两种主要的框架:一种是将所有模态的编码放在一个大的框架下进行处理,称为"单流模型";另一种则是让各个模态各自建模,然后使用简单的连接或者轻量级的层进行集成,称为"双流模型"。
💾
在损失函数的部分,有一些常用的方法,比如文本中的Masked Language Modeling (MLM),它会遮盖一些词语并让模型去预测它们。在图像中,也可以使用相似的方法,通过掩蔽一部分图像并让模型去预测被掩蔽的部分(MRM)。还有,是让模型学习图像和文本之间的全局表示,并通过匹配或对比的方式去判断它们是否匹配(ITM、ITC)。这些都是让模型学习如何处理和理解多模态数据的常用损失函数。
多模态学习中的代表性模型
ViLBERT
ViLBERT 这个模型在文本和图像编码方面分别使用了Transformer目标检测结果。将文本和图像转化为向量形式后,通过一种名为”Co-Transformer"的方式来将二者融合。
CLIP
💾
CLIP 模型的思路非常简单,它将图片和文本利用Transformer分别编码为向量,然后使用对比学习(ITC)的方式进行训练。ITC使来自同一对的图片和文本的向量在向量空间中尽可能地靠近,而来自不同对的图片和文本的向量在向量空间中尽可能地远离。CLIP模型使用了大量的弱对齐的图片-文本对,这些数据是从网上收集的,不需要专门的人工标注。
CLIP 可以用来做零样本分类(zero-shot classifcation)任务。相比传统的分类模型,多模态模型可以处理未见过的类别。例如,如果训练数据中只有猫和狗的图片,但在测试时出现了熊猫的图片,多模态模型依然有可能正确识别出熊猫。
💾
CLIP的一些其他应用案例
1.
图像生成:多模态模型可以与生成模型结合,根据文本生成对应的图像。比如,模型可以根据“棕色头发的埃隆马斯克”这样的文本描述生成对应的人物图像。
2.
目标追踪:在视频处理中,可以利用多模态模型进行目标追踪。例如,模型可以识别每一帧中的目标(如鲨鱼),然后比较不同帧中的目标,找出最相似的一对,从而确定目标在视频中的移动轨迹。
ImageBind
今年的一个新趋势是,是融合更多模态数据的多模态模型。以前,大部分的工作都关注在两个或最多三个模态,比如文本和图像,或者文本和语音。最近,Meta开源的模型 ImageBind,该模型利用了6个模态的数据进行训练,包括视觉文本声音深度图热力图以及运动向量图
多模态学习面临的挑战和未来发展方向
数据的采集和对齐
💾
首先的一个问题是数据采集的问题。数据越干净、越多,模型的性能就越好但是,某些类型的数据可能很难采集,尤其是需要与其他模态数据进行对齐的数据。训练时为了更好地利用数据,可以考虑同时使用对齐数据和单模态数据,因为收集对齐的训练数据是非常困难的。图片与文本的对齐数据在互联网上比较容易获得,但是其他类型的对齐数据可能就比较难收集了。