【VLM小白指北 (1) 】An Introduction to Vision-Language Modeling

开一个新坑Vision-Language Modeling (VLM) ,原文76页,慢慢更,for beginners,但也不能之前啥都不会啊。

原文链接:An Introduction to Vision-Language Modeling


Introduction

  • 存在的问题:将语言与视觉相结合的问题并未完全解决。例如,大多数模型在理解空间关系或计数时仍存在困难,这需要依赖额外数据标注的复杂工程开销。许多VLM也缺乏对属性和顺序的理解。它们常常忽略输入提示的一部分,导致需要大量的提示工程努力才能产生期望的结果。有些模型还可能产生既不必要也不相关的幻觉内容。因此,开发可靠的模型仍然是研究领域的热点。

The Families of VLMs

VLM家族作者分为四类,如下:
在这里插入图片描述

  1. Contrastive:使用正负对。训练为:正例对的相似表示,负例对表示相离。
  2. Masking:通过给定未遮蔽文本标题,重建缺失图像块。同样地,通过在标题中遮蔽单词,可以训练VLM在给定未遮蔽图像的情况下重建这些单词。
  3. Generative:图生文,文生图。通常是最昂贵的训练方式。
  4. Pretrained backbones:基于Pretrained backbones的VLM通常利用开源的LLMs,如Llama,来学习图像编码器(也可能预训练)与LLM之间的映射map。

这些范式并不是相互排斥的;许多方法依赖于对比、遮蔽和生成标准的混合。


基于Transformer的VLMs早期工作

最早是LLM中的BERT表现出很好的性能,基于此,出现了结合image的visual-BERT和ViLBERT。这些模型基于两个目标进行训练:1)一个经典的mask重建任务,旨在预测给定输入中的缺失部分;2)一个句子到图像的预测任务,旨在预测一个标题是否实际描述了图像内容。


基于对比的VLMs

这里首先要对“对比学习”有一定了解。我的理解是,与NCE不同的是,InfoNCE损失不是预测二进制值,而是利用在模型表示空间中计算的距离度量,比如余弦相似度。这需要计算正对样本和所有负对样本之间的距离。该模型通过softmax学习预测在表示空间中最接近的最有可能的一对示例,同时将较低的概率与所有其他对负示例关联起来。InfoNCE损失函数:
在这里插入图片描述


InfoNCE引出了一个重要工作:CLIP

一种常用的对比方法,使用InfoNCE损失的是对比语言-图像预训练(CLIP)。正例对定义为一张image及其对应的真实标题,而负例定义为相同的image,但与之配对的是包含在mini-batch中的描述其他图像的所有其他标题。CLIP的一个新颖之处在于训练一个模型,以在共享的表示空间中融合视觉和语言。CLIP训练随机初始化的视觉和文本encoder,以使用对比损失将图像及其标题的表示映射到相似的embedding。原始的CLIP模型在网络上收集的4亿个text-image对上进行训练,展示了显著的零样本分类迁移能力。具体来说,一个ResNet-101 CLIP模型与监督式ResNet 模型(达到76.2%的零样本分类准确率)的性能相匹配,并在几个鲁棒性基准测试中超过了它。

另外两个工作:

SigLIP:与 CLIP 类似,不同之处在于它使用基于二元交叉熵的原始NCE损失,而不是使用 CLIP 基于InfoNCE的多类目标。这种改变使得 SigLIP 在小于 CLIP 的批量大小上能够实现更好的零样本性能。
Llip:潜在语言图像预训练(Llip)考虑到一张图像可以用多种不同的方式来描述。它提出通过一个交叉注意力模块,根据目标标题来条件化图像的编码。考虑标题的多样性增加了表示的表达性,并且通常提高了下游零样本迁移分类和检索性能。


具有mask的VLMs


更不动了明天再更

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

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

相关文章

算法-K个一组翻转链表

// 要实现没k个节点进行翻转的操作,可以按照一下步骤进行 // 1.计算链表长度 // 2.分组反转 // 3. 使用一个虚拟头节点来处理边界情况 // 4.每次处理k个节点进行反转 // 5.如果剩余节点不足k个 则保持原有顺序 // 6.依次反转每组中的节点 // 1.使用prevGroupEEnd追…

【测试】——JUnit

📖 前言:JUnit 是一个流行的 Java 测试框架,主要用于编写和运行单元测试,用来管理测试用例。本文采用JUnit 5 目录 🕒 1. 添加依赖🕒 2. 注解🕘 2.1 Test🕘 2.2 BeforeAll AfterAll&…

OceanBase 3.X 高可用 (一)

OceanBase 3.X 高可用(一) 一、分布式核心 OceanBase 3.x 采用的是paxos 协议,与raft协议相比。其复杂程度高,实现技术难度大。 Paxos 协议允许事务日志乱序发送,顺序提交。raft允许事务顺序发送,顺序提…

Windows Internals 7th Edition English Download

天翼云盘 珍藏美好生活 家庭云|网盘|文件备份|资源分享天翼云盘是中国电信推出的云存储服务,为用户提供跨平台的文件存储、备份、同步及分享服务,是国内领先的免费网盘,安全、可靠、稳定、快速。天翼云盘为用户守护数据资产。https://cloud.1…

高并发内存池(四):查缺补漏 与 申请内存过程的调试

目录 查缺补漏 问题:min函数的冲突问题 申请内存过程的调试 当前文件展示 Common.h ObjectPool.h ConcurrentAlloc.h ThreadCache.h CentralCache.h PageCache.h ThreadCache.cpp CentralCache.cpp PageCache.cpp UnitTest.cpp 单进程单span 单进程…

谷歌收录批量查询,怎么查看批量查询谷歌收录情况

在SEO(搜索引擎优化)领域,确保网站内容被谷歌等搜索引擎有效收录是提升网站可见性和流量的关键步骤。批量查询谷歌收录情况,能够帮助网站管理员快速了解哪些页面已被搜索引擎识别并编入索引,哪些页面可能存在问题需要优…

【python】石头剪刀布,模拟十次并统计获胜次数

解决问题 下面是一个使用Python编写的剪刀、石头、布游戏的程序,包含玩家与计算机对战和模拟计算机对战10次的功能。 import random def get_computer_choice(): return random.randint(0, 2) def get_user_choice(): choice input("请输入剪刀(0)…

Spring高手之路24——事务类型及传播行为实战指南

文章目录 1. 编程式事务(不推荐)2. 声明式事务(推荐)3. 事务的传播行为(复杂混合事务场景及时序图说明)3.1 NESTED和REQUIRES_NEW传播行为的区别 1. 编程式事务(不推荐) 定义&#…

MAC激活Typora以及禁止成功激活弹窗的方法

激活 Typora 首先在官网下载 Typora 的最新版 并且安装。 打开以下目录 /Applications/Typora.app/Contents/Resources/TypeMark/page-dist/static/js/ 注意在 Applications 中,需要对 Typora 右键选择 Show Packages Contents 即可进入 Typora.app。 在该目录的文…

C++自动驾驶面试核心问题整理

应用开发 概述:比较基础,没啥壁垒,主要有linux开发经验即可 问题:基础八股,如计算机网络、操作系统、c11等基础三件套;中等难度算法题1-2道。 中间件开发(性能优化) 概述&am…

快递物流查询-快递查询-快递单号查询-快递物流单号查询-快递物流轨迹查询-快递物流查询接口

快递物流查询接口(API)是一种允许开发者通过编程方式实时查询快递物流信息的服务。这些接口通常集成了多家快递公司的物流数据,为电商平台、物流管理系统、个人用户等提供便捷的物流查询服务。以下是关于快递物流查询接口的一些详细介绍&…

哪有什么三教九流,物以类聚罢了——kmeans聚类算法

观察人类社会,亦或说车水马龙中的光怪陆离,不难发现《马原》中介绍的人类社会中的个体,总是通过某种方面的“类似”聚在一起,文学上称这种现象叫做物以类聚,人以群分。 一.引言 前文提到,每个数据项&#x…

SpringBoot项目License证书生成与验证(TrueLicense) 【记录】

SpringBoot项目License证书生成与验证(TrueLicense) 【记录】 在非开源产品、商业软件、收费软件等系统的使用上,需要考虑系统的使用版权问题,不能随便一个人拿去在任何环境都能用。应用部署一般分为两种情况: 应用部署在开发者自己的云服务…

Qt笔记(十七)cmake编译Qt项目

Qt笔记(十七)cmake编译Qt项目 1. 文件内容与文件结构1.1.文件目录1.2. CMakeLists.txt内容1.3. main.cpp文件1.4. mouseevent.h1.5. mouseevent.cpp1.6. 生成Visual Studio项目后编译报错1.7. 界面显示中文乱码问题 1. 文件内容与文件结构 1.1.文件目录…

jdk11特性介绍

JDK 11(也称为Java 11)是Java平台的一个重要版本,它引入了许多新特性和改进,旨在提高开发者的生产力和Java平台的性能。以下是一些JDK 11的主要特性: 局部变量类型推断(Local-Variable Syntax for Lambda P…

2009考研数学真题解析-数二:

第一题: 解析:先找间断点:分母不能等于0,分母是sinΠx, 因此不难看出间断点是x0,-1,-2,-3。。。。。 接着一个一个来算这些点是什么间断点。 ,从x趋于2开始,分…

JavaScript是如何来的~~

文章目录 前言一、网络的诞生 ( The birth of the Web )二、Mosaic 浏览器三、Netscape 浏览器四、JavaScript的诞生 ~ 千呼万唤始出来总结 前言 例如:想要了解一门语言的发展历程,首先你得知道它是怎么来的,所以本文开篇介绍了网络的基本发…

智能BI平台项目

1.项目介绍 BI商业智能:数据可视化、报表可视化系统 4)发布订阅 Resource 是基于名称进行查找的,而Spring框架中更常用的 Autowired 则是基于类型进行查找的。如果找不到匹配的bean,Autowired 会抛出异常,而 Resource…

EAGLE——探索混合编码器的多模态大型语言模型的设计空间

概述 准确解释复杂视觉信息的能力是多模态大型语言模型 (MLLM) 的关键重点。最近的研究表明,增强的视觉感知可显著减少幻觉并提高分辨率敏感任务(例如光学字符识别和文档分析)的性能。最近的几种 MLLM 通过利用视觉编码器的混合来实现这一点…

网络层协议 —— IP协议

目录 0.前言 1.IP协议的格式 2.IP地址 2.1IP地址的划分 国际间IP地址的划分 公有IP 私有IP 特殊的IP地址 国内IP地址的划分 2.2IP地址不足问题 2.3IP地址的功能 2.4如何使用IP地址 2.5IP地址的构成 3.网段划分 以前的方案 现在的方案 4.认识宏观网络 5.路由 …