|
|
内向的馒头 · 5分钟理解什么是多模态 - CSDN博客· 2 周前 · |
|
|
大气的日记本 · 阿里技术|多模态技术在淘宝主搜召回场景的探索 ...· 2 年前 · |
|
|
大气的日记本 · 国内自主研发的文澜语义理解AI模型介绍_腾讯新闻· 2 年前 · |
|
|
大气的日记本 · 【多模态】MoE解决多模态单双塔问题VLMo ...· 2 年前 · |
|
|
大气的日记本 · OpenAI发布多模态预训练大模型GPT-4· 2 年前 · |
|
|
大气的日记本 · 中国科学院自动化研究所紫东太初大模型研究中心 ...· 2 年前 · |
之前在秋招和写毕业论文,一个月没更了。毕业论文交了,开更。
在多模态工作中存在两类主流方法,分别是双塔模型和单塔模型。
双塔模型以CLIP和ALIGN为代表,这类方法对文本和图像分别用一个编码器进行编码,然后计算两个模态的embedding的相似度。这类方法的优点是适合检索任务,可以检索大量的文本与图像,缺点是仅在塔顶的相似度loss交互信息有限,不足以处理复杂的VL分类任务。比如CLIP在视觉推理任务上的准确度较低。
单塔模型以ViLT为代表,这类模型的优点是可以充分地将多模态的信息融合,更擅长分类任务,这种模型架构天然不适合检索,因为没有显示的对齐操作,只能用 【CLS】 的输出匹配 or 不匹配。利用这种模型架构做检索任务,需要encode所有的文本-图像对,时间复杂度是
下图是ViLT的模型架构,有三个预训练任务,分别是图像文本匹配、MLM和单词-图像区域对齐(WPA)。
其中 Word Patch Alignment是 UNITER 这篇中提出的方法,WPA 是利用最优传输(OT)的形式完成的。
这里可以联系推荐场景,召回模型通常是作用在 亿级别的,需要快速匹配,因此通常是双塔模型,用户和物品不存在特征交互,只在塔顶相遇进行相似度匹配。
精排阶段通常是作用在千级别,需要进行充分的特征交互挖掘,深度的特征交互有助于更准确的推荐,这个是推荐经典的理论。
所以可以帮助我们理解多模态里的单塔双塔困境。
这篇文章希望融合这两个架构的优点,提出VLMo希望既可以作为双编码器(双塔)去做检索任务,也可以作为融合编码器(单塔)。VLMo利用了一个古老的模型结构 混合专家,VLMo的核心结构是 Mixture-of-Modality-Experts(MOME) Transformer ,简而言之是将 Transformer中的FFN前馈网络替换成了针对不同任务的网络,称之为模态专家。每个专家拥有特定任务的知识,处理具体任务时切换到相应的专家。
下面来看具体方法。VLMo的整体结构和训练流程如下。左边是VLMo的结构,右边是按顺序的三个预训练任务。
图片和文本要变成embedding才能输入进VLMo。所以首先是如何生成embedding。
\boldsymbol{H}_0^w=\left[\boldsymbol{w}_{\left[T_C \mathrm{CLS}\right]}, \boldsymbol{w}_i, \ldots, \boldsymbol{w}_M, \boldsymbol{w}_{\left[T_1 \mathrm{SEP}\right]}\right]+\boldsymbol{T}_{\text {pos }}+\boldsymbol{T}_{\text {type }} H 0 w = [ w [ T C CLS ] , w i , … , w M , w [ T 1 SEP ] ] + T pos + T type
MOME Transformer用3个模态专家替换了Transformer的前馈网络:视觉专家(V-FFN)、语言专家(L-FFN)和视觉语言专家(VL-FFN)。针对不同的情况,使用不同的专家来处理任务。
但是,Transformer的Multi-Head Self-Attention(MSA)是共享的,意味着Query、Key和Value的参数是共享的。
**双塔:**如果输入是仅图像或仅文本向量,则使用视觉Expert对图像进行编码,使用语言Expert对文本进行编码。如果是VL检索任务,分别得到图像和文本的embedding后,计算两者相似度。这就是VLMo的双编码器结构。
**单塔:**如果输入是多种模态的向量组成,如图像-文本对的向量,则使用视觉专家和语言专家在Transformer底层编码各自的模态向量。然后使用视觉语言专家在顶层来捕获更多的模态交互。比如下图的VL分类任务,就是VLMo的融合编码器结构。
VLMo有三个预训练任务。
图像-文本对比学习
:给定一个batch的图像文本对,图像文本对比学习的目标是预测
\begin{gathered} s_{i, j}^{i 2 t}=\hat{\boldsymbol{h}}_i^{v \top} \hat{\boldsymbol{h}}_j^w, s_{i, j}^{t 2 i}=\hat{\boldsymbol{h}}_i^{w \top} \hat{\boldsymbol{h}}_j^v \\ p_i^{i 2 t}=\frac{\exp \left(s_{i, i}^{i 2 t} / \sigma\right)}{\sum_{j=1}^N \exp \left(s_{i, j}^{i 2 t} / \sigma\right)}, p_i^{t 2 i}=\frac{\exp \left(s_{i, i}^{t 2 i} / \sigma\right)}{\sum_{j=1}^N \exp \left(s_{i, j}^{t 2 i} / \sigma\right)} \end{gathered}
s
i
,
j
i
2
t
=
h
^
i
v
⊤
h
^
j
w
,
s
i
,
j
t
2
i
=
h
^
i
w
⊤
h
^
j
v
p
i
i
2
t
=
∑
j
=
1
N
exp
(
s
i
,
j
i
2
t
/
σ
)
exp
(
s
i
,
i
i
2
t
/
σ
)
,
p
i
t
2
i
=
∑
j
=
1
N
exp
(
s
i
,
j
t
2
i
/
σ
)
exp
(
s
i
,
i
t
2
i
/
σ
)
**掩码语言建模:**BERT中的MLM。
图像-文本匹配 :使用[T_CLS]标记的最后一个隐藏向量来表示图像-文本对,并将该向量输入具有交叉熵损失的分类器进行二进制分类。还加了难负样本图像-文本对。
**视觉语言分类(单塔):**对于视觉问题回答和视觉推理等分类任务,使用VLMo作为融合编码器来建模图像和文本的模态交互。使用标记[T_CLS]的最终编码向量作为图像-文本对的表示,并将其提供给特定于任务的分类器层来预测标签。
**视觉语言检索(双塔):**对于检索任务,VLMo可以作为双编码器分别对图像和文本进行编码。在微调过程中,对图像-文本用对比损失函数优化。在推理过程中,计算所有图像和文本的表示,然后使用点积得到所有可能的图像-文本对的图像到文本和文本到图像的相似性得分。
【多模态】MoE解决多模态单双塔问题 VLMo: Unifified Vision-Language Pre-Training with Mixture-of-Modality-Experts 之前在秋招和写毕业论文,一个月没更了。毕业论文交了,开更。 首先我们做一些背景介绍,什么是 vision - lan guage ? 众所周知,目前 人工智能 涉及一个领域叫: 多模态 学习。简 单 而言,这个领域研究的重点在于如何将两种不同的东西联系起来,一起学习知识。比如: 不同媒介:图像和文字,视频和语音 不同语言:汉语和英语 因此 vision - lan guage (VL)就是研究视觉与语言的联系,比如:给一张图片让计算机生成一段描述文字(图像描述生成,Image Caption);给一张图片让|
|
内向的馒头 · 5分钟理解什么是多模态 - CSDN博客 2 周前 |
|
|
大气的日记本 · 国内自主研发的文澜语义理解AI模型介绍_腾讯新闻 2 年前 |
|
|
大气的日记本 · OpenAI发布多模态预训练大模型GPT-4 2 年前 |