多模态大模型总结1(2021和2022年)

常用损失函数

ITC (image-text contrasctive loss)

CLIP中采用的对比损失,最大化配对文本对的余弦相似度,最小化非配对文本对的余弦相似度,采用交叉熵损失实现

MLM (masked language modeling)

BERT中采用的掩码语言建模任务,也是对每一个[MASK]进行分类

ITM(image-text matching)

二分类损失,预测输入的(图像-文本)对是配对的还是非配对的

CLIP(2021)

ViLT(2021)

ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision

首次提出,在图像编码器中不需要采用目标检测器,直接采用图像的patch embedding。

但只采用图像的embedding导致图像编码器网络容量较小,因此该方法的性能不是太高

整体架构:将图像的patch embedding和word embedding拼接起来,一起输入encoder中。

 根据作者总结的多模态网络结构,总结出最优网络结构应该是:

(1)图像编码器网络容量大于文本编码器,

(2)多模态交互模块应该复杂一点,不只是采用对比损失ITC。

ALBEF(2021)

Align before Fuse: Vision and Language Representation Learning with Momentum Distillation

主要由三大部分组成

  1. Image Encoder:作者采用 12 层的 ViT-B/16,用于从图像中提取 image embedding。

  2. Text Encoder:作者采用 6 层的 Transformer encoder,从 Bert-Base 的前六层初始化,用于提取 text embedding。

  3. Multimodal Encoder:也是 6 层的 Transformer encoder,从 Bert-Base 的后六层初始化,并在 Self Attention 后添加 Cross Attention,实现 image embedding 和 text embedding 的交互,提取多模态 embedding。从这里也可以看出,Albef 没有使用 decoder,所以不具备序列文本生成能力,如果需要执行 VQA 等任务,需要额外添加 decoder。

VLMO(2022)

Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts

        作者指出当前的视觉-语言多模态模型可以分成2种类型

  • 使用两个dual encoder来分别编码图像和文本,然后使用余弦相似度或者线性投影层来建模图像和文本两种模态之间的交互。这种方式优点是对于视觉-文本检索任务非常适合,因为可以提前将大量图像或者文件的编码计算出来并存储下来,应用时只需要计算余弦相似度即可。但缺点是模态之间交互太简单,因此在视觉推理和视觉问答等复杂任务上性能一般。
  • 使用带有cross-attention的deep fusion encoder来建模图像和文本两种模态之间的交互。Image-text matching, masked language modeling, word-region/patch alignment, masked region classification and feature regression are widely used to train fusion-encoder-based models. 这种方式在视觉-语言理解任务上性能较好,但是应用于检索任务时推理速度很慢,因为需要对所有的图文对进行joint encoding。

        因此作者提出针对不同的模态,采用不同的expert的网络结构,具体做法如下图:不同模态采用不同的FFN层,共享self-attention层。这样一个网络结构同时适合图文检索和图文推理两种任务。

        也是采用三种预训练任务。

作者提出的分阶段预训练策略

  • 使用图像数据和BEiT中训练方法,预训练V-FFN和自注意力层
  • 冻结V-FFN和自注意力层,使用文本数据和MLM任务训练L-FFN
  • 采用图像-文本数据,训练整个模型网络。

注意:先训文本,再训图像,效果好像不好

         作者挖的坑自己后面都填了

BLIP(2022)

BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
ALBEF团队出品,可以看作是ALBEF和VLMO的结合
作者指出只采用encoder的网络不适合文本生成任务,采用encoder-decoder的网络不适合图文检索任务,因此提出BLIP结构,图像还是采用一个ViT,文本有三种结构:
  • Text Encoder:用ITC损失训练,比较常规(采用[CLS])
  • Image-grounded Text Encoder:用ITM训练,也比较常规(采用[Encoder], 算ITM时也和ALBEF一样用到了ITC计算出的困难负样本)
  • Image-grounded Text Decoder:用标准语言建模任务LM训练解码器,这样网络就可以适用于文本生成任务(如image caption)。只替换了self-attention层,cross-attention和FFN层参数是共享的。是主要创新点。采用[Decoder])

训练一次,图像只需要前向一次,但文本需要前向三次,因为采用三种不同的网络结构,因此训练比较费时,也比较难训练

         提出一种新的数据采样方法,用于从含有噪声的图像-文本对数据中学习:

  • 先用原始数据训练一个BLIP模型,然后分别用不同的小量人类标注数据集微调BLIP得到captioner和filter。
  • 采用captioner(Image-grounded Text Decoder),对图像生成一个合成的描述;
  • 采用过滤器filter(Image-grounded Text Encoder),过滤掉质量低的captioner生成的合成描述或者爬取的原始网页上的描述 
  • 最后用高质量的最新数据集,重新训练一个BLIP模型

CoCa(2022)

CoCa: Contrastive Captioners are Image-Text Foundation Models

         CoCa的网络结构和ALBEF非常相似,但是更加简单,训练效率更高(ALBEF在文本采用的是编码器,CoCa采用解码器,因此可以不做适配修改直接生成文字)

        只采用图像-文本对数据进行训练

 BeiTv3(2022)

Image as a Foreign Language_BEiT Pretraining for All Vision and Vision-Language Tasks

核心思想:把图像也看成语言,patch embedding之后就是tokens,和语言没有区别。这样训练任务都可以用masked data modeling来做了,不再需要ITC, ITM等图像文本对损失了。采用了统一的Multiway Transformers网络架构,可同时适用于图像和图像-文本两种任务

 网络整体架构如下:each layer contains a vision expert and a language expert. Moreover, the top three layers have vision-language experts designed for fusion encoders. Refer to Figure 3 (a)(b)(c) for more detailed modeling layouts.

适用于多种视觉和视觉语言多模态下游任务 :

预训练任务采用masked data modeling,其中图像采用BEiTv2中的tokenizer, 并masked掉40%的patch block。

网络总参数量1.9B。预训练数据采用图像,文本,图像文本对三种

将BeiTv3应用于 Image Captioning做法:设计了特殊的self-attention mask。即在图像token中注意力是双向的,但在文本token中注意力只能看到左侧的。推理的时候以autoregressive方式每次生成一个token。

将BeiTv3应用于目标检测和实例分割下游任务的方法:将BeiTv3作为backbone,采用和ViTDet一样的做法,包括特征金字塔和window attention,推理时候采用Soft-NMS。最终在COCO测试集上取得了63.7 box AP和54.8 mask AP

总结:这些算法之间的关系

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

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

相关文章

Elasticsearch 相似度评分模型介绍

前言 Elasticsearch 是基于 Lucene 的世界范围内最流行的全文检索框架,其文档相似度算法包含 TF/IDF 和 BM25,从 ES 5.0开始 BM25 算法已经成为 ES 默认的相似度评分模块。 TF-IDF 与 BM25 的区别 TF-IDF 和 BM25 都是计算文本相似性的常用算法。TF-ID…

ESP32-S3 上电不断输出invalid header: 0xffffffff

现象如下: ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT) invalid header: 0xffffffff invalid header: 0xffffffff invalid header: 0xffffffff invalid header: 0xffffffff 原因:芯片内部固件问题…

统计英语单词

使用Scanner类和正则表达式统计一篇英文中的单词,要求如下: 1、一共出现了多少个单词。 2、有多少个互不相同的单词。 3、按单词出现的频率大小输出单词。 package 第七次; import java.util.*; import java.io.*; import java.util.regex.*;public …

人工智能助力医疗:科技护航健康未来

欢迎大家浏览我的博客。YinKais Blog | YinKais Blog 人工智能的魔法不仅仅体现在解决问题、提供建议的方面,更深刻地改变了医疗领域,成为我们健康的科技守护者。本文将聚焦于人工智能在医疗领域的应用,探讨它是如何助力医疗事业,…

重生奇迹mu召唤师攻略

一、技能系统 1、技能大类:召唤师主要有火焰职业技能和水元素技能。 2、火焰职业技能:主要是使用火焰元素进行攻击,可以攻击单个目标,也可以同时攻击多个目标。 3、水元素技能:主要是对多个敌方单位使用水元素&…

在 Spring Boot 中使用 MyBatis-Plus 进行批量操作数据

引言 MyBatis-Plus 是 MyBatis 的增强工具包,提供了许多便捷的功能来简化 MyBatis 的使用。在实际项目中,我们经常需要进行批量的数据操作,例如批量插入、批量更新和批量删除。本文将介绍如何在 Spring Boot 中使用 MyBatis-Plus 进行这些批…

ZFPlayer 播放视频的时候的视图层级

未播放的时候 首先看正常展示的时候,还没又开始播放 这个时候我们打开图层看一下,发现视频时长和播放按钮都是放在 视频封面图上的 播放的时候 我们看到的播放视频的画面 我们发现,我们之前在未播放状态看到的视图,仍然还在…

Linux入门

什么是Linux? Linux是一种免费、开源的操作系统内核 最初由芬兰计算机科学家 李纳斯托瓦兹 (Linus Torvalds)在1991年创建 Linux内核最初是为个人电脑设计的,如今已普及到服务器、超级计算机、移动设备等各种硬件平台 由于Linux是自由软件(自…

logcat日志的使用——Qt For Android

前言 最近一直用qt开发安卓app,一直无法用真机调试,可能是缺什么东西。但是如果通过Qt Creator在真机上运行,可以在电脑控制台看打印(安卓本身的日志、qDebug之类的打印),所以我是通过打印猜测问题所在&am…

在零信任架构下的API安全与滥用防护(上)

引言 在当今数字化的浪潮中,应用程序编程接口(API)的战略重要性愈发凸显。API不仅仅是现代软件和互联网服务之间沟通的桥梁,更是企业价值创造的核心。随着API的快速发展和广泛应用,安全问题随之而来,其中A…

连锁零售企业如何提高异地组网的稳定性?

随着数字化时代的到来,连锁零售企业面临着日益复杂和多样化的网络挑战。连锁零售企业是在不同地理位置拥有分支机构和零售店,可能同城或异地,需要确保各个地点之间的网络连接稳定和可靠。但由于不同地区的网络基础设施差异、网络延迟和带宽限…

【洛谷算法题】P5716-月份天数【入门2分支结构】

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5716-月份天数【入门2分支结构】🌏题目描述🌏输入格式&a…

云时空社会化商业 ERP 系统 gpy 文件上传漏洞复现

0x01 产品简介 时空云社会化商业ERP(简称时空云ERP) ,该产品采用JAVA语言和Oracle数据库, 融合用友软件的先进管理理念,汇集各医药企业特色管理需求,通过规范各个流通环节从而提高企业竞争力、降低人员成本…

Springboot 设置时区与日期格式

1.配置文件修改(范围修改) spring:jackson:# 东8 北京时区time-zone: GMT8# 日期格式date-format: yyyy-MM-dd HH:mm:ss 2.Java代码修改(范围修改) 2.1 时区 import org.springframework.context.annotation.Bean; import org.…

Day45力扣打卡

打卡记录 无矛盾的最佳球队(线性DP) class Solution:def bestTeamScore(self, scores: List[int], ages: List[int]) -> int:n len(scores) nums sorted(zip(scores, ages))f sorted(scores)for i in range(n):for j in range(0, i):if nu…

【学习笔记】GAN前沿主题

最小-最大(Min-Max)GAN 非饱和(Non-Saturating)GAN 沃瑟斯坦(Wasserstein)GAN,即WGAN 所有的生成模型最终来源于最大似然(maximum likelihood),至少隐式地是这样的。 GAN有两个相互竞争的损失函数,这样的系统没有单一的解析解。 最大似然近似容易过度泛化。 用于统计…

CSP-S2021提高组第二轮T2:括号序列

题目链接 [CSP-S 2021] 括号序列 题目描述 小 w 在赛场上遇到了这样一个题:一个长度为 n n n 且符合规范的括号序列,其有些位置已经确定了,有些位置尚未确定,求这样的括号序列一共有多少个。 身经百战的小 w 当然一眼就秒了这…

无人机覆盖路径规划综述

摘要:覆盖路径规划包括找到覆盖某个目标区域的每个点的路线。近年来,无人机已被应用于涉及地形覆盖的多个应用领域,如监视、智能农业、摄影测量、灾害管理、民事安全和野火跟踪等。本文旨在探索和分析文献中与覆盖路径规划问题中使用的不同方…

好用的chatgpt工具用过这个比较快

chatgpthttps://www.askchat.ai?r237422 chatGPT能做什么 1. 对话和聊天:我可以与您进行对话和聊天,回答您的问题、提供信息和建议。 2. 问题回答:无论是关于事实、历史、科学、文化、地理还是其他领域的问题,我都可以尽力回答…

php时间和centos时间不一致

PHP 时间和 CentOS 操作系统时间不一致的问题通常是由于时区设置不同造成的。解决这个问题可以通过以下几个步骤: 检查 CentOS 系统时间: 你可以通过在终端运行命令 date 来查看当前的系统时间和时区。 配置 CentOS 的时区: 如果系统时间不正…