【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.mzph.cn/pingmian/54446.shtml

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

相关文章

ChatGPT 在国内使用的方法

AI如今很强大,聊聊天、写论文、搞翻译、写代码、写文案、审合同等等,ChatGPT 真是无所不能~ 作为一款出色的大语言模型,ChatGPT 实现了人类般的对话交流,最主要是能根据上下文进行互动。 接下来,我将介绍 ChatGPT 在国…

xhs 小红书 x-s web 分析

声明: 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 有相关问题请第一时间头像私信联系我…

彻底解决:QSqlDatabase: QMYSQL driver not loaded

具体错误 QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMIMER QMARIADB QMYSQL QODBC QPSQL 检查驱动 根据不同安装目录而不同: D:\Qt\6.7.2\mingw_64\plugins\sqldrivers 编译驱动 如果没有,需要自行编译&…

C#用SDK打开海康工业相机,callback取图Bitmap格式,并保存

上次写了python版本的,但是python虽好不方便发布,她带着重重的解释器有时候不方便玩耍.于是C#来了哦. C#图像一般用Bitmap表示,所以完全C#就够,别的格式可以自行想转换. 命令行哦,没界面. MVCamera.cs从MVS示例里面添加到项目中,using MvCamCtrl.NET; 就可以,不需要添加mvca…

探讨基于AI技术的相亲交友系统设计与实现

摘要 随着人工智能技术的发展,相亲交友领域也开始引入AI技术来改善用户体验,提高匹配成功率。本文探讨了如何利用AI技术设计并实现一个智能化的相亲交友系统,该系统能够根据用户的行为数据和个人偏好,自动推荐合适的潜在伴侣。通…

《深度学习》PyTorch框架 优化器、激活函数讲解

目录 一、深度学习核心框架的选择 1、TensorFlow 1)概念 2)优缺点 2、PyTorch 1)概念 2)优缺点 3、Keras 1)概念 2)优缺点 4、Caffe 1)概念 2)优缺点 二、pytorch安装 1、安装 2、…

Linux操作系统:GCC(GNU Compiler Collection)编译器

在 Linux 系统中,gcc(GNU Compiler Collection)是一个非常强大的编译器,主要用于编译 C 语言程序。 除了基本的编译和链接命令外,gcc还提供了许多选项和功能。 以下是一些常用的 gcc命令及其功能: 1. 基本…

【AI大模型-文心大模型生成Mermaid格式】

我提问:请帮我画一个java动态代理的时序图,用mermaid的格式输出 文心回答:如下 当然,以下是使用Mermaid格式绘制的Java动态代理的时序图和流程图。 时序图 #mermaid-svg-ZTDOmFN7BfmRbfdK {font-family:"trebuchet ms"…

Python | Leetcode Python题解之第420题强密码检验器

题目: 题解: class Solution:def strongPasswordChecker(self, password: str) -> int:n len(password)has_lower has_upper has_digit Falsefor ch in password:if ch.islower():has_lower Trueelif ch.isupper():has_upper Trueelif ch.isdi…

数据结构之存储位置

p 和 "hello,world"存储在内存哪个区域?( ) (鲁科安全) int main() { char *p "hello,world"; return 0; } p是栈区,”hello,world”是.ro段 一个由C/C编译的程序,会将占用的内存分为几个部分:堆、栈、代…

02 创建拦截器

请求拦截器本质上是在请求之前调用的函数,用来对请求参数进行新增和修改 响应拦截器本质上是在响应之后调用的函数,用来对响应数据做点什么。 创建拦截器的步骤如下: 整个流程是 声明拦截器(一个对象,包含请求响应…

基于SpringBoot+Vue的智慧物业管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 精品专栏:Java精选实战项目源码、Python精…

transformer模型进行英译汉,汉译英

上面是在测试集上的表现 下面是在训练集上的表现 上面是在训练集上的评估效果 这是在测试集上的评估效果,模型是transformer模型,模型应该没问题,以上的是一个源序列没加结束符和加了结束符的情况。 transformer源序列做遮挡填充的自注意力,这就让编码器的输出中每个token的语…

Python 虚拟环境安装使用(Anaconda 完整实操版)

1. 安装 安装 anaconda(包含 python 和 pip 等,支持创建及管理多个 python 虚拟环境) 注:miniconda 可能也可以,但是没用过,优先 anaconda 1.1 linux 1.1.1 ubuntu Mac、Windows 及其他 Linux 系统类似…

寄存器与内存

第三课:寄存器与内存、中央处理器(CPU)、指令和程序及高级 CPU 设计-CSDN博客 锁存器 引入 ABO0(开始状态)001(将A置1)110(将A置0)11 无论怎么做,都没法从1变…

大学生必看!60万人在用的GPT4o大学数学智能体有多牛

❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。2022年度博客之星🏆,Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作者&#x1…

Mamba所需的causal-conv1d 和mamba-ssm库在哪下载?

背景介绍 参照 Mamba [state-spaces/mamba: Mamba SSM architecture (github.com)] github中提到的环境安装[Installation 一栏] [Option] pip install causal-conv1d>1.4.0: an efficient implementation of a simple causal Conv1d layer used inside the Mamba block.…

Python介绍

Python:一门优雅而强大的编程语言 在当今这个数字化时代,编程已经成为连接现实与虚拟世界的桥梁,而Python,作为一门广泛使用的编程语言,以其简洁的语法、丰富的库支持和广泛的应用领域,赢得了全球开发者的…

十个服务器中毒的常见特征及其检测方法

服务器作为企业的核心资源,其安全性至关重要。一旦服务器被病毒入侵,不仅会影响系统的正常运行,还可能导致数据泄露等严重后果。以下是十种常见的服务器中毒特征及其检测方法。 1. 系统性能下降 病毒常常占用大量的CPU和内存资源&#xff0…

Qt_窗口界面QMainWindow的介绍

目录 1、菜单栏QMenuBar 1.1 使用QMainWindow的准备工作 1.2 在ui文件中设计窗口 1.3 在代码中设计窗口 1.4 实现点击菜单项的反馈 1.5 菜单中设置快捷键 1.6 菜单中添加子菜单 1.7 菜单项中添加分割线和图标 1.8 关于菜单栏创建方式的讨论 2、工具栏QToolBar …