【论文笔记】VLMO: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts

2023-11-09

1.介绍

1.1 视觉语言(VL)预训练的两种主流架构

(1)dual-encoder:分别对图像和文本进行编码

优点:检索任务

缺点:图像和文本之间的浅层交互不足以处理复杂的VL分类任务

(2)单编码器:对模型图像-文本对进行跨模态关注的融合编码器

优点:在VL分类任务上实现了卓越的性能

缺点:需要对所有可能的图像文本进行联合编码,大数据集下的不适合检索任务

1.2 VLMO论文介绍

提出了一种统一的视觉语言预训练模型(VLMO),该模型既可以用作双编码器,对检索任务的图像和文本进行单独编码,也可以用作融合编码器,对分类任务的图像-文本对的深度交互进行建模。

1.3贡献

除了VLMO本身,个人认为本篇论文比较大的两个贡献是:

(1)多模式转换器 SA共享,只依靠FFN调整

(2)分阶段的训练策略:先训练单一模态,最后训练多模态

2. 方法

2.1 输入表示

2.1.1 图像表示

图像表示=补丁嵌入、可学习的1D位置嵌入和图像类型嵌入(其实就是用vit输出的feature表示)

2.1.2 文本表示

  • 增加序列开始标记([T_CLS])和特殊边界标记([T_SEP])

文本表示=单词嵌入、文本位置嵌入和文本类型嵌入

2.1.3 文本图片表示 

将图像和文本输入向量连接起来

2.2 Mixture-of-Modality-Experts Transformer (MOME)

  • MOME Transformer引入了模态专家的混合,以替代标准Transformer的前馈网络。
  • 每个MOME Transformer块通过切换到不同的模态专家来捕获模态特定信息,并使用模态之间共享的多头自注意(MSA)来对齐视觉和语言内容。

其实看下图就很容易理解了。三个模态共享多头自注意力(MSA),但是使用独立的FFN用来捕获不同模态下的信息。这个思想后面也被许多工作借鉴和学习

 2.3 训练目标

经典老三样:①ITC图像-文本对比学习 ②MLM掩蔽语言建模 ③ITM图像-文本匹配 。

提出了全局hard negatives挖掘,并从所有GPU收集道德的更多训练示例中的hard negative图像-文本对进行采样。区别于ALBEF的单个gpu 

2.4 分阶段预训练

首先对纯图像数据进行视觉预训练,然后对纯文本数据进行语言预训练,以学习一般的图像和文本表示

  • 纯图像数据:预训练视觉专家(V-FFN)和自注意模块 
  • 纯文本数据:冻结视觉专家和自注意模块的参数,训练语言专家 (L-FFN)。
  • 图像-文本数据:对整个模型进行了视觉语言预训练。

3.代码

代码上的精髓就在这了哈哈哈哈哈... 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【论文笔记】VLMO: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts 的相关文章

随机推荐

  • 02-linux安装nodejs

    1 前期准备 1 Node js简介 简单的说 Node js 就是运行在服务端的 JavaScript Node js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 Node js 使用了一个事件驱动 非阻塞式
  • 组态王、力控、MCGS、瑞尔、杰控等国内组态软件一点看法

    2005年08月28日 23 26 00 从结构上说 组态王和MCGS一样 前台动画和后台集成在一起 在运行模式下一起运行 而力控 瑞尔却分为后台驱动 实时数据库 前台三部分组成 更为有意思的是 瑞尔的每一个驱动就是一个EXE 其驱动DLL
  • Spring 中的事件监听机制

    目录 1 标准的 Spring 事件机制 1 ApplicationEvent 自定义事件 2 ApplicationEventPublisher 发布事件 3 ApplicationListener 监听事件 2 基于 EventList
  • 嵌入式与人工智能关系_嵌入式人工智能的发展趋势

    嵌入式与人工智能关系 嵌入式人工智能的发展趋势 所谓嵌入式人工智能 就是设备无须联网通过云端数据中心进行大规模计算去实现人工智能 而是在本地计算 在不联网的情况下就可以做实时的环境感知 人机交互 决策控制 那么嵌入式与人工智能关系是什么 嵌
  • spark学习6:应用程序的打包部署

    standlone 集群模式下 提交应用后 可以在浏览器中输入 spark master 8080 查看执行情况 yarn集群模式下 提交应用程序 提交后 可以在tracking URL 中查看记录 如下图 ps 在 spark shell
  • python项目实现配置统一管理的方法

    一个比较大的项目总是会涉及到很多的参数 最好的方法就是在一个地方统一管理这些参数 最近看了不少的python项目 总结了两种很有意思的配置管理方法 第一种 基于easydict实现的配置管理 首先需要安装numpy easydict以及ya
  • jmeter性能测试输出html报告

    前言 jmeter在界面模式下执行性能测试会占用大量的系统资源 导致测试数据不准确 为了减少系统资源的占用 我们建议在cmd 即非GUI模式 模式输入命令 进行性能测试 jmeter自带输出html测试报告功能 1 准备 写好脚本 2 在j
  • mysql—注入点获取WebShell的几种方式

    利用条件 1 有写文件条件 secure file priv show variables 要么禁用 要么设置了路径 show variables like secure 目录权限 对于MySQL来说 有可以对某个目录进行读写的权限 Sel
  • 【C++】【MATLAB】三元二次多项式拟合求极值点原理+代码

    一 需求描述 本人最近需要对多个3维数据进行曲线的拟合 并且找到极大值点 难点 1 一组数据有125个点 每个点有3个坐标值 x y z 以及一个对应的得分值t x y z范围不限 t的范围是0到1 2 得用C 语言去实现本人的需求 因此在
  • npm安装compression-webpack-plugin插件报错问题记录

    文章目录 问题再现 解决方案 总结 问题再现 因项目需要 在前端项目中安装compression webpack plugin插件 运行npm install compression webpack plugin命令之后在package j
  • 二分-最小值最大化问题

    二分 最小值最大化问题 大家好 鄙人第一次写CSDN博客 多多关照 大家共同进步 什么是最小值最大化问题问题呢 我们以一道经典例题为例 例题 POJ2456 链接 http poj org problem id 2456 题目描述 原文 D
  • MatrixDB 从4018个参赛项目中脱颖而出,获 HICOOL 全球创业大赛

    MatrixDB 又获奖了 聚焦全球创新创业趋势的 HICOOL 2021 全球创业大赛 历时145天的激烈角逐 遍布全球84个国家和地区 4018个参赛项目 5077名创业人才报名参加 作为今年最火热的国际化创业赛事 北京四维纵横数据技术
  • 华为OD机试 - 优秀学员统计(Java)

    题目描述 公司某部门软件教导团正在组织新员工每日打卡学习活动 他们开展这项学习活动已经一个月了 所以想统计下这个月优秀的打卡员工 每个员工会对应一个id 每天的打卡记录记录当天打卡员工的id集合 一共30天 请你实现代码帮助统计出打卡次数t
  • 分享java操作mongodb的crud代码

    代码中包括了mongodb的crud及其分页查询 排序功能 下载地址 分享java操作mongodb的crud代码 package com zuidaima mongodb test import java net UnknownHostE
  • python中str类型_python中str指的是什么类型

    python中str指的是什么类型 发布时间 2020 11 20 11 07 28 来源 亿速云 阅读 72 作者 小新 这篇文章将为大家详细讲解有关python中str指的是什么类型 小编觉得挺实用的 因此分享给大家做个参考 希望大家阅
  • VUE3中defineExpose的使用方法

    使用
  • [Raspi][SnowBoy][教程]树莓派SnowBoy搭建教程

    1 为什么使用SnowBoy 项目需要一个语音助手 但是小爱同学 天猫精灵这种方案可支持的唤醒方式太少了 经过一番查询找到snowboy 像上面提到的几款语音助手唤醒好像都是基于snowboy开发的 2 开始环境搭建 1 获取SnowBoy
  • eclipse JDT Plug-in Developer Guide

    文章目录 JDT Programmer s Guide JDT Programmer s Guide Eclipse平台是用一个全功能的Java集成开发环境 IDE 来传递的 Java开发工具 JDT 允许用户编写 编译 测试 调试和编辑用
  • Redis集合类型数据的统计模式

    Redis集合类型常见的四种统计模式 包括聚合统计 排序统计 二值状态统计和基数统计 聚合统计 所谓的聚合统计 就是指统计多个集合元素的聚合结果 包括 统计多个集合的共有元素 交集统计 把两个集合相比 统计其中一个集合独有的元素 差集统计
  • 【论文笔记】VLMO: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts

    1 介绍 1 1 视觉语言 VL 预训练的两种主流架构 1 dual encoder 分别对图像和文本进行编码 优点 检索任务 缺点 图像和文本之间的浅层交互不足以处理复杂的VL分类任务 2 单编码器 对模型图像 文本对进行跨模态关注的融合