多模态之论文笔记BEiT, BEiT V2, BEiT V3

news2024/9/30 9:25:21

文章目录

  • Overview
  • BEiT
    • 1.0. Summary
    • 1.1. BEiT VS BERT
    • 2.1. Two Views: visual tokens
    • 2.1. Two Views: image patches
    • 3. Results
  • BEiT V2
    • 1.0. Summary
    • 1.1. Motivation
    • 2.1. Methods -- VQ-KD
    • 2.2. Methods -- patch aggregation
    • 3.1. Results -- image classification & semantic segmentation
    • 3.2. Results -- Ablation studies about VQ-KD
    • 3.3. Results -- Ablation studies about patch aggregation
    • 3.4. Results -- Visualization
  • VLMO
    • 1.0. Summary
    • 2.1. Contribution 1: MoME
    • 2.1. Contribution 2: Stagewise Pre-Training
  • BEiT V3
    • 1.0. Summary
    • 1.1. Motivations & Contributions
    • 2.1. Method -- Multiway Transformers
    • 2.2. Method -- Masked Data Modeling
    • 2.3. Method -- Scaling up
    • 2.4. Method -- Transfer to downstream tasks
    • 3. Experiments


Overview

BLIP model

BEiT

1.0. Summary

题目: BEiT: BERT Pre-Training of Image Transformers
机构:微软
论文: https://arxiv.org/abs/2106.08254
代码:https://github.com/microsoft/unilm/tree/master/beit
任务: CV的BERT,图像单模态预训练
特点:
方法:
前置相关工作:BERT

1.1. BEiT VS BERT

BEiT: Bidirectional Encoder representation from Image Transformer
BERT: Bidirectional Encoder Representation from Transformer

ModelPretraining TaskMask MethodSpecial Tokens
BERTmasked language modelingmasking 15% tokens 80% [MASK], 10% random, 10% origin[CLS], [SEP]
BEiTmasked image modelingblockwise masking[CLS]

2.1. Two Views: visual tokens

tokenizer需要在pretrain之前先训练好,或者使用网上开源项目的权重(比如DALLE)
作用:为pretrain阶段提供监督信息。类比于NLP中的tokenizer

BLIP model

2.1. Two Views: image patches

  1. 将图片分成patches
  2. blockwise masking一些patches
  3. 拼接[CLS],+ position embedding
  4. 经过transformer encoder预测masked patches对应的visual tokens
BLIP model

3. Results

image classification和semantic segmentation任务上效果好于
(1) training from scratch(ViT, DeiT)
(2) Supervised Pre-Training on ImageNet-22K(ViT)
(3) Self-Supervised Pre-Training on ImageNet-1K(ViT, iGPT, MoCo v3, DINO)

BLIP model

BEiT V2

1.0. Summary

题目: BEIT V2: Masked Image Modeling with Vector-Quantized Visual Tokenizers
机构:微软
论文: https://arxiv.org/pdf/2208.06366.pdf
代码:https://github.com/microsoft/unilm/tree/master/beit2
任务:
特点:
方法:
前置相关工作:

1.1. Motivation

(1) 当前MIM任务更多关注低层图片元素(像素值),较少考虑高层图片元素(语义信息) NLP中都是挖掘高层的语义信息,所以需要挖掘MIM探索语义信息的能力
(2) MIM任务重视patch的重构,而较少关注对图片全局表征的学习

2.1. Methods – VQ-KD

BLIP model
  • 使用其他已有模型的feature map作为重构对象,teather模型有CLIP和DINO
  • Encoder输出和Codebook Embedding都用L2-norm

2.2. Methods – patch aggregation

BLIP model
  • 增加一个MIM的损失函数,使用第l层的patch tokens和第L层的CLS token,浅层网络
  • 促进CLS学习到图片全局的信息

3.1. Results – image classification & semantic segmentation

BLIP model

3.2. Results – Ablation studies about VQ-KD

BLIP model decoder越复杂,重构loss越小,codebook的利用率越小,下游任务上表现变差 codebook维度越大,利用率越小

3.3. Results – Ablation studies about patch aggregation

BLIP model

3.4. Results – Visualization

BLIP model

VLMO

1.0. Summary

题目: VLMO: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts
机构:微软
论文: http://export.arxiv.org/pdf/2111.02358
代码:https://github.com/microsoft/unilm/tree/master/vlmo
任务:
特点:
方法:
前置相关工作:

2.1. Contribution 1: MoME

motivation
(1) dual encoder models
比如:CLIP,ALIGN
优势:检索任务上高效 (T2I、I2T)
不足:信息融合简单(cosine similarity或linear proj), 在VR和VQA等任务表现不好
BLIP model

(2) fusion encoder models
比如:ViLT,ALBEF 优势:在推理任务上表现较好,VR和VQA 不足:检索任务上速度较慢

BLIP model

检索任务上性能比较
BLIP model

MoME:Mixture-of-Modality-Experts Transformer
pretraining
BLIP model

fine-tuning

BLIP model

2.1. Contribution 2: Stagewise Pre-Training

motivation
(1) image-text pairs较少,而且文本大多简短
(2) image-only或text-only的数据较多
提出Stagewise Pre-Training策略,为多模态预训练获得较好的初始化权重

BLIP model

BEiT V3

1.0. Summary

题目: Image as a Foreign Language: BEiT Pretraining for All Vision and Vision-Language Tasks
机构:微软
论文: https://arxiv.org/pdf/2208.10442v1.pdf
代码:https://github.com/microsoft/unilm/tree/master/beit3
任务:
特点:
方法:
前置相关工作:

1.1. Motivations & Contributions

vision,language and multimodal pretraining相关研究逐渐增多,并且效果不错,本文提出一个general-purpose foundation model,可以做多种模态的任务
Contributions:

  1. backbone:Multiway Transformers
  2. pretext task:mask-then-predict
  3. scaling up the model size and data size

2.1. Method – Multiway Transformers

BLIP model

对于不同模态的输入,使用共享的Multi-Head Self-Attention提取特征
modality experts pool:根据输入模态的不同,选择不同的FFN
所有层都包含V-FFN和L-FFN,只有顶层的3层额外包含VL-FFN

2.2. Method – Masked Data Modeling

在不同的模态上使用统一的pretext task
monomodal:images or texts
multimodal:image-text pairs

不仅能学习到不同模态输入的表征,还能学习到不同模态输入的对⻬关系

text data使用SentencePiece tokenizer
image data使用BEiT v2里的tokenizer

mask 15% tokens in monomodal texts
mask 40% block-wise patches in monomodal images
mask 50% tokens of texts from image-text pairs

2.3. Method – Scaling up

结构简单的backbone和统一的pretrain task使得BEiTv3易于扩展到大规模

BLIP model

2.4. Method – Transfer to downstream tasks

BLIP model

3. Experiments

BLIP model BLIP model

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/711297.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT Plugins内幕、源码及案例实战(二)

第6章 ChatGPT Plugins内幕、源码及案例实战 检索插件的API需要以下环境变量才能工作,如表6-2所示。 ChatGPT检索插件示例中,“.well-known”目录里面的ai-plugin.json是一个插件的说明文档,插件名为Retrieval Plugin,用于搜索用户的文档(如文件、电子邮件等),该插件…

HDLbits--Exams/review2015 fsm

示例: 题目的主要意思是:复位之后寻找1101序列,找到之后shift ena在四个周期内为1,此后输出counting,如果done-counting0,则counting一直为1,直到done-counting1,counting才为0&…

Redis高可用——持久化

Redis高可用——持久化 一、Redis 高可用的相关知识1、什么是高可用2、Redis的高可用技术3、持久化的功能4 redis持久化的方式 二、RDB持久化1、RDB持久化的触发方式①.手动触发②.自动触发③.其他自动触发机制 2、bgsave执行流程3、启动时加载 三、AOF持久化1.开启AOF2.执行流…

RSUYZM9智能路侧终端使用说明书

1 产品概览 本说明 书适用于 RSUYZM8型及 RSUYZM9型智能路侧终端 产品 。智能路 侧终端 作为智能 车路协同系统 路侧的基础 设备, 是车载设备和路口 所有 设备的 汇 聚点,路侧设备和车载之间 通过 LTE-V进行 信息交互 。同时 ,智能路侧终 端还…

【JavaWeb】JavaScript的基础语法

目录 1、JS简介 1.1、JavaScript的运行过程 1.2、了解浏览器的开发人员工具 2、JavaScript的书写形式 2.1、行内式 2.2、内嵌式 2.3、外部式 3、JavaScript的输入输出函数 4、JavaScript语法 4.1、变量声明 4.1.1、动态类型 4.2、基本数据类型 4.2.1、数字类型 4.…

青岛大学_王卓老师【数据结构与算法】Week03_13_线性表的链式表示和实现13_学习笔记

本文是个人学习笔记,素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享,另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权,请留言作删文处理。 课程视频链接: 数据结构与算法基础–…

C++数据结构笔记(6)栈的链式存储结构

对于栈的链式存储结构,实现原理本质上是受限的链表;此外与顺序存储不同的是,链式结构选用左边(头结点)作为栈的顶部,这样的好处是只要找到头结点即可实现插入元素等操作。 LinkStack.h头文件 #ifndef LIN…

CentOs7 64位 32位ISO镜像下载

链接: https://pan.baidu.com/s/1N181e6KFFFWPHhCTB7thMw 提取码: zht1

<Oracle>《(史上最完整)Linux 下安装Oracle数据库 - Oracle 19C By CentOS 8 》

《Linux 下安装Oracle数据库 - Oracle 19C By CentOS 8 》 1 说明1.1 前言1.2 资源下载 2 安装步骤2.1 上传安装包2.2 下载数据库预安装包2.3 安装数据库预安装包2.4 安装Oracle数据库2.4.1 第一次安装报错2.4.2 解决安装报错第一步:安装libnsl.so.1第二步&#xff…

MATLAB 层次分析法

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

文件上传靶场upload-labs通关

文章目录 前言Pass-01(JavaScript绕过)Step1、分析源码Step2、修改webshell文件后缀名Step3、修改报文重新发送Step4、使用webshell程序测试是否能连接 Pass-02(MIME-Type绕过)Step1、分析源码Step2、burp抓包,修改数据…

docker启动springboot项目构建的镜像 并通过Nginx配置反向代理

1.首先准备好springboot项目构建的docker镜像 如果不会的去看我另一篇博客 docker构建springboot项目镜像 docker image list |grep alice2.通过命令启动镜像 注意: -p后面的端口号 前面可以随便写:后面必须是你springboot项目中application.yml的端口,不然 你启动起来 访问…

进阶(组件通讯)/react生命周期

如果是数值就在外面加{} 给组件传递任意类型数据 父子组件数据传递 兄弟组件传递 context的使用(多级嵌套) children属性 props校验 默认值 生命周期

通用分页详解【下】

目录 前言 一、通用分页的核心思想 二、PageBean的分页要素及优化 三、SQL的通用 1.获取总记录数 2.获取分页语句 四、PageTag的核心逻辑见解 五、运行流程 案例运用 注意: 1.pageBean优化 2.tld文件 3.分页标签助手类 4.Servlet层 5.jsp页面 6.结果输…

一款IP合并和分解工具(二)

本文是对上一篇文章的补充,看过《一款IP合并和分解工具(一)》的知道,cidr-merger工具在windows上使用需要用命令行,不是很方便,在这通过python的tkinter进行二次开发,写一个可视化的界面 目录 …

2bit反射型超表面设计

1.单patch扫参 1)确定单元周期(最好0.3波长到0.5波长) 2)确定介质介电常数。(小一点比较好,带比较宽,一般选F4B2.65) 3)确定介质板厚度。厚一点好,最大3mm&a…

乱七八糟随便记录

建立Statement对象的作用是? 正确答案: C 你的答案: C (正确) A.连接数据库 B.声明数据库 C.执行SQL语句 D.保存查询结果 解释: 1、Statement对象用于执行不带参数的简单SQL语句。 2、Prepared Statement 对象用于执行预编译SQL语句。 3、Callable Sta…

react总结

一、React 入门 1.1 特点 高性能、声明式、组件化、单向响应的数据流、JSX扩展、灵活 1.2 React初体验 <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport&quo…

软件测试缺陷

缺陷的定义 产品的定义不满足用户需求测试执行时&#xff0c;实际结果与预期结果不一致 缺陷产生的根本原因 需求变更沟通不畅&#xff0c;信息不同步软件复杂进度压力需求文档存在错误非根本设计存在错误非根本 缺陷的基本要素 ID编号&#xff1a;唯一模块&#xff1a;根据…

THREEJS 地图可视化案例分享

效果预览 git代码地址 threejs_map: threejs 地图可视化案例