玉树藏族自治州网站建设_网站建设公司_会员系统_seo优化
2026/1/7 22:10:24 网站建设 项目流程

该模型提出了一种统一的视觉-语言预训练模型VLMO(Vision-Language Mixture-of-Experts),其核心创新在于引入了 Mixture-of-Modality-Experts(MOME)Transformer 架构,使得一个模型既能作为双编码器(dual encoder)用于高效的图文检索任务,又能作为融合编码器(fusion encoder)用于需要深度跨模态交互的视觉-语言分类任务,如视觉问答(VQA)和视觉推理。

1, 背景

在视觉-语言预训练模型中,有两种主要架构:

1.1 双编码器(Dual Encoder)

  • 如 CLIP、ALIGN
  • 图像和文本分别通过独立的编码器处理。
  • 模态间交互由最终的相似度计算(如点积或余弦相似)实现。
  • 优点:速度快、适合大规模检索任务(可预先编码所有图像/文本)。
  • 缺点:模态间交互浅,不适合复杂的推理任务。

1.2. 融合编码器(Fusion Encoder)

  • 如 ViLT、ALBEF、UNITER
  • 将图像与文本拼接后,通过跨模态注意力机制进行联合编码。
  • 优点:模态间交互深,性能好,适用于 VQA 等复杂任务。
  • 缺点:每个图文对都需要联合编码,推理速度慢(时间复杂度为 ),不适用于大规模检索。

1.3. VLMO 的目标

是否可以设计一个模型,既能做高效检索(像双编码器),又能做复杂推理(像融合编码器)?

答案是:可以统一在一个架构中实现。

  1. 核心设计
    =======

VLMO 的核心是Mixture-of-Modality-Experts(MOME)Transformer,它基于标准 Transformer 的结构,但改进了前馈网络部分(FFN),引入“模态专家”机制。

2.1. MOME 的三大专家

每个 Transformer 块包含三个“专家”:

  • 视觉专家(Vision Expert, V-FFN):专门处理图像块(patch embeds)
  • 语言专家(Language Expert, L-FFN):专门处理文本 token
  • 视觉-语言专家(Vision-Language Expert, VL-FFN):处理图文融合时的表示 这类似于 MoE(Mixture of Experts)结构,但不是在模型层面稀疏激活,而是根据输入的模态自动路由到对应的专家。

2.2 共享的多头自注意力(Shared Self-Attention)

  • 所有模态都共享同一个自注意力层(Multi-Head Self-Attention)。
  • 这保证了图像与文本的信息能在早期就开始对齐。
  • 重要性体现在:无论单模态还是多模态输入,模型都使用同样的注意力参数来融合信息。
  1. 模型详细讲解
    =========

3.1 输入表示(Input Representations)

1. 图像表示(Image Representations)

输入图像是一个 2D 矩阵 ,即高度 、宽度 、通道数 (通常是 RGB 3 通道)。 步骤如下(详见ViT部分内容):

  1. 分块(Patch Partitioning): 图像被均匀划分为 个大小为 的小块(patches)。
  • 例如:输入图像 ,块大小 ,则得到 个 patch。 这些 patch 被展平为一维向量: 。
  1. 线性投影(Linear Projection): 每个 patch 向量通过一个可学习的线性层 投影到维度为 (模型隐藏层大小,如 768)的向量,成为patch embeddings。
  2. **加入特殊标记[I_CLS]:**像 BERT 中有[CLS]标记一样,这里为图像序列也添加一个可学习的特殊标记[I_CLS],它用于最终图像表示的聚合。
  3. 加入位置和类型嵌入(Position & Type Embeddings):
  • 位置嵌入 :学习 patch 在图像中的 1D 顺序位置(共 个: 个 patch + 1 个 [I_CLS]),尺寸为 。
  • 类型嵌入 :因为图文对中需区分图像和文本 tokens,这里为所有 image tokens 添加一个可学习的类型向量 (类似于 BERT 的 segment embedding)。

最终图像输入表示为:

  • 表示拼接。
  • 是线性投影参数 。
  • 是图像的初始输入矩阵,尺寸 。

2. 文本表示(Text Representations)

文本处理方式基本遵循 BERT。

  1. 分词(Tokenization): 使用 WordPiece 算法将句子划分为 subword tokens。
  • 长度记为 。
  1. 添加特殊标记
  • 添加[T_CLS]:用于文本最终表示。
  • 添加[T_SEP]:用于分隔文本中的多个部分(通常是单句,只有一个)。
  1. 嵌入
  • 每个 token 有对应的 word embedding(查表获得)。
  • 加上 1D 位置嵌入 和 文本类型嵌入 。

最终文本输入表示为:

  • 是第 个 token 的 word embedding。
  • 尺寸为 。

3. 图文对表示(Image-Text Representations)

当我们要建模图像和文本的联合关系时(如 VQA、图文匹配),需要将两者表示拼接。

具体操作:

  • 将文本序列 放在前面。
  • 将图像序列 拼接在其后。

得到:

  • 表示矩阵拼接(按行或 token 维度拼接)。
  • 整个输入序列长度为 。

⚠️ 注意:

  • 仅当执行“融合编码”任务(如 VQA)时,才使用 进行联合编码。
  • 若执行“双编码”(如图文检索),图像和文本是分开编码的,不进行这类拼接。

3.2 MOME Transformer

这是 VLMO 的核心创新,Mixture-of-Modality-Experts Transformer。

3.2.1. 总体结构

每个 MOME Transformer 块由两个主要部分组成:

  1. 多头自注意力层(MSA):

公式

  • 是 Layer Normalization。
  • 是多头自注意力机制。
  • 是第 层的输出。
  • 是注意力输出 + 残差连接。
  • 关键点:这个 MSA 层的参数在所有模态输入中是共享的。这是实现跨模态对齐的重要设计。

3.2.2. MOME 前馈网络(MoME-FFN):

公式

  • 这是标准 FFN 的升级替代。
  • MoME-FFN 不是一个固定的函数,而是一个可以根据输入模态“切换”的专家网络池。

3.2.3. MoME-FFN:如何根据模态切换?

MoME-FFN 包含三个专家(Expert 是指一个前馈网络,即两层全连接 + 激活):

  • 视觉专家(V-FFN)
  • 语言专家(L-FFN)
  • 视觉-语言专家(VL-FFN)

路由(Switching)策略如下:

  • 输入是图像-only( ):
  • 所有 token(包括[I_CLS]和 patches)都由 V-FFN 处理。
  • 输入是文本-only( ):
  • 所有 token 都由 L-FFN 处理。
  • 输入是图文对( ):
  • 所有 tokens(无论图文)都由 VL-FFN 处理。

  • 这使得 VL-FFN 可以建模图文之间的深度交互。

  • 文本 tokens:由 L-FFN 处理。

  • 图像 tokens:由 V-FFN 处理。

  • 底层(Bottom)Transformer 层:

  • 顶层(Top)Transformer 层:

为什么顶层用 VL-FFN?

  • 底层关注模态内特征提取(用各自专属专家)。
  • 顶层是建模跨模态交互的关键,需要一个特化的、能理解图文联合语义的专家(VL-FFN)。

3.3 预训练任务

VLMO 同时优化三个任务:

3.3.1 图文对比学习(ITC)

🎯 **目标:让匹配的图文对表示靠近,不匹配的远离。**给定一个 batch 的 个图文对:

1. 提取[CLS]表示:
  • 图像编码器输出的[I_CLS]向量记为 。
  • 文本编码器输出的[T_CLS]向量记为 。
  • 经过独立的线性投影层 + L2 归一化,得到单位向量:
2. 计算相似度矩阵(N×N):

公式

  • :第 个图像 和 第 个文本 的相似度。
  • 这是 Image-to-Text 相似度矩阵。
  • 类似地, 是 Text-to-Image 相似度。
3. 计算预测概率:

公式

  • :模型预测 “第 个图像” 与 batch 中 “第 个文本” 匹配的 softmax 概率。
  • 只有 时为正样本,其余 是负样本。
  • 是一个可学习的温度参数,控制分布的“锐利度”。 小,正样本得分更突出。
4. 损失函数(交叉熵):
  • 目标:最大化 和 (即正确匹配的概率)。
  • 使用 cross-entropy 损失:

3.3.2 文本掩码建模(MLM)

🎯 目标:根据上下文(图像 + 文本)预测被 [MASK] 掉的词。

  • 随机对文本中 15% 的 tokens 做掩码(如 “A baseball [MASK] throwing [MASK] ball .”)。
  • 模型输入是图文拼接序列( )。
  • 用最顶层的[T_CLS]的输出 (或所有 masked token 的表示)送入一个分类器(线性层 + Softmax)预测原始词。
  • 使用 交叉熵损失。

✅ 意义:强制模型利用图像信息帮助恢复文本语义,实现图文对齐。

3.3.3. 图文匹配 (ITM)

🎯 目标:判断一对图文是否真的匹配(二分类任务)。

方法:

  • 拼接图文序列 ,走完整的 Transformer 编码路径。
  • 使用最终编码的[T_CLS]token 表示 。
  • 送入一个分类头(如一个线性层 + sigmoid),预测“是否匹配”:
  • 使用 二元交叉熵损失(Binary Cross-Entropy)。

3.5 微调

1. 视觉-语言分类任务(如 VQA, NLVR2)

  • 使用 MOME 的融合路径。
  • 输入:图文拼接。
  • [T_CLS]的最终向量作为联合表示,加一个分类头。

2. 视觉-语言检索任务

  • 只使用双编码路径:
  • 图像:用 V-FFN 路径编码,提取[I_CLS]向量。
  • 文本:用 L-FFN 路径编码,提取[T_CLS]向量。
  • 相似度:计算两个向量的点乘。
  • 无需联合编码,速度极快。
  1. 训练策略:分阶段预训练
    ==============

为了充分利用非配对数据(单一图像或文本),VLMO采用三阶段训练策略:

4.1. 阶段 1:视觉预训练(Vision Pre-training)

  • 仅使用图像数据(如 ImageNet、BEIT 使用的数据)。
  • 训练 V-FFN 和 共享的自注意力层。
  • 任务:掩码图像建模(Masked Image Modeling, MIM)——类似 BEIT。

4.2. 阶段 2:语言预训练(Language Pre-training)

  • 冻结视觉模块参数(V-FFN 和自注意力),仅训练 L-FFN。
  • 使用大规模文本语料(Wikipedia + BookCorpus),任务为掩码语言建模(MLM)。

4.3. 阶段 3:视觉-语言联合预训练(Vision-Language Pre-training)

  • 使用图文对数据(如 COCO、SBU-Captions 等)。
  • 解冻所有参数,联合优化三大目标:
  1. 图文对比学习(Image-Text Contrastive Learning)——学习整体对齐
  2. 图文匹配(Image-Text Matching)——二分类判断是否配对
  3. 掩码语言建模(Masked Language Modeling)——进一步对齐局部语义

特别地,图文匹配引入了全局硬负采样(Global Hard Negative Mining),即从整个batch(跨 GPU)中挑选最相似但错误匹配的图文对作为难负样本,比局部采样更有效。

如何学习AI大模型?

如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!

这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!


第一阶段:从大模型系统设计入手,讲解大模型的主要方法;

第二阶段:在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段:大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段:大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段:大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段:以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段:以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

100套AI大模型商业化落地方案

大模型全套视频教程

200本大模型PDF书籍

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

LLM面试题合集

大模型产品经理资源合集

大模型项目实战合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询