【计算机视觉】Vision and Language Pre-Trained Models算法介绍合集(一)

news2025/1/10 23:57:27

文章目录

    • 一、ALIGN
    • 二、Contrastive Language-Image Pre-training(CLIP)
    • 三、Learning Cross-Modality Encoder Representations from Transformers(LXMERT)
    • 四、BLIP: Bootstrapping Language-Image Pre-training
    • 五、Vision-and-Language BERT(ViLBERT)
    • 六、VisualBERT
    • 七、OSCAR
    • 八、Vision-and-Langauge Transformer(ViLT)
    • 九、OFA
    • 十、ALBEF

涉及使预训练适应视觉和语言(V-L)学习领域的模型,并提高视觉问答和视觉字幕等下游任务的性能。

根据杜等人的说法。 (2022),来自不同模态的信息可以通过三种方式进行编码:融合编码器、双编码器以及两者的组合。

一、ALIGN

在 ALIGN 方法中,视觉和语言表示是从噪声图像替代文本数据中联合训练的。 图像和文本编码器是通过对比损失(表述为归一化 softmax)来学习的,对比损失将匹配的图像-文本对的嵌入推到一起,并将不匹配的图像-文本对的嵌入推开。 该模型学习使用对比损失来对齐图像和文本对的视觉和语言表示。 这些表示可用于仅视觉或视觉语言任务转移。 无需任何微调,ALIGN 即可实现零样本视觉分类和跨模式搜索,包括图像到文本搜索、文本到图像搜索,甚至联合图像+文本查询的搜索。

在这里插入图片描述

二、Contrastive Language-Image Pre-training(CLIP)

对比语言-图像预训练(CLIP)由从头开始训练的 ConVIRT 的简化版本组成,是一种从自然语言监督中学习图像表示的有效方法。 ,CLIP 联合训练图像编码器和文本编码器来预测一批(图像,文本)训练示例的正确配对。 在测试时,学习的文本编码器通过嵌入目标数据集类的名称或描述来合成零样本线性分类器。

在这里插入图片描述
在这里插入图片描述

三、Learning Cross-Modality Encoder Representations from Transformers(LXMERT)

LXMERT 是一个用于学习视觉和语言跨模态表示的模型。 它由一个 Transformer 模型组成,该模型由三个编码器组成:对象关系编码器、语言编码器和跨模态编码器。 该模型接受两个输入:图像及其相关句子。 图像被表示为对象序列,而每个句子被表示为单词序列。 通过结合自注意力层和交叉注意力层,模型能够从输入生成语言表示、图像表示和跨模态表示。 该模型通过五个预训练任务使用图像-句子对进行预训练:掩码语言建模、掩码对象预测、跨模态匹配和图像问答。 这些任务帮助模型学习模态内和跨模态关系。

在这里插入图片描述

四、BLIP: Bootstrapping Language-Image Pre-training

视觉语言预训练 (VLP) 提高了许多视觉语言任务的性能。 然而,大多数现有的预训练模型仅擅长基于理解的任务或基于生成的任务。 此外,性能的提高在很大程度上是通过使用从网络收集的噪声图像文本对扩展数据集来实现的,而网络是次优的监督源。 在本文中,我们提出了 BLIP,一种新的 VLP 框架,可以灵活地迁移到视觉语言理解和生成任务。 BLIP 通过引导字幕来有效地利用嘈杂的网络数据,其中字幕生成器生成合成字幕,而过滤器则去除嘈杂的字幕。 我们在各种视觉语言任务上取得了最先进的结果,例如图像文本检索(平均召回率+2.7%@1)、图像字幕(CIDEr 中+2.8%)和 VQA( VQA 分数 +1.6%)。 当以零样本方式直接转移到视频语言任务时,BLIP 还表现出很强的泛化能力。 代码、模型和数据集发布于 https://github.com/salesforce/BLIP。

在这里插入图片描述

五、Vision-and-Language BERT(ViLBERT)

视觉和语言 BERT (ViLBERT) 是一种基于 BERT 的模型,用于学习图像内容和自然语言的任务无关的联合表示。 ViLBERT 将流行的 BERT 架构扩展为多模态双流模型,在单独的流中处理视觉和文本输入,并通过共同注意转换器层进行交互。

在这里插入图片描述

六、VisualBERT

VisualBERT 旨在重用自注意力来隐式对齐输入文本的元素和输入图像中的区域。 视觉嵌入用于对图像进行建模,其中表示由从对象检测器获得的图像中的边界区域表示。 这些视觉嵌入是通过对三个嵌入求和来构造的:1)视觉特征表示,2)片段嵌入指示它是否是图像嵌入,以及3)位置嵌入。 本质上,图像区域和语言与 Transformer 相结合,以允许自我注意力发现语言和视觉之间的隐式对齐。 VisualBERT 使用 COCO 进行训练,COCO 由与标题配对的图像组成。 它使用两个目标进行预训练:掩码语言建模目标和句子图像预测任务。 然后可以针对不同的下游任务进行微调。

在这里插入图片描述

七、OSCAR

OSCAR是一种新的学习方法,它使用图像中检测到的对象标签作为锚点来简化图像文本对齐的学习。 该模型采用三元组作为输入(单词-标签-区域),并使用两个损失进行预训练(单词和标签上的屏蔽标记损失,以及标签与其他标签之间的对比损失)。 OSCAR 通过字典查找将图像-文本对表示到语义空间中。 对象标签用作锚点,将图像区域与预训练语言模型的词嵌入对齐。 然后对该模型进行微调以适应理解和生成任务。

在这里插入图片描述

八、Vision-and-Langauge Transformer(ViLT)

ViLT 是一种最小的视觉和语言预训练转换器模型,其中视觉输入的处理被简化为与处理文本输入相同的无卷积方式。 ViLT 的模型特定组件比多模态交互的转换器组件需要更少的计算。 ViLT 模型针对以下目标进行了预训练:图像文本匹配、屏蔽语言建模和字块对齐。

在这里插入图片描述

九、OFA

在这项工作中,我们追求多模式预训练的统一范例,以打破复杂任务/特定模式定制的支架。 我们提出了 OFA,一个支持任务综合性的任务无关和模态无关的框架。 OFA 在一个简单的序列到序列学习框架中统一了一组不同的跨模态和单模态任务,包括图像生成、视觉基础、图像字幕、图像分类、语言建模等。 OFA 在预训练和微调阶段都遵循基于指令的学习,下游任务不需要额外的特定于任务的层。 与最近依赖于极大跨模态数据集的最先进的视觉和语言模型相比,OFA 仅在 2000 万个公开可用的图像文本对上进行了预训练。 尽管其简单且训练数据规模相对较小,OFA 在一系列跨模态任务中实现了新的 SOTA,同时在单模态任务上获得了极具竞争力的表现。 我们的进一步分析表明,OFA 还可以有效地转移到看不见的任务和看不见的领域。 我们的代码和模型可在 https://github.com/OFA-Sys/OFA 上公开获取。

在这里插入图片描述

十、ALBEF

ALBEF 引入了对比损失来对齐图像和文本表示,然后通过跨模式注意将它们融合。 这使得更基础的视觉和语言表征学习成为可能。 ALBEF 也不需要边界框注释。 该模型由图像编码器、文本编码器和多模态编码器组成。 图像-文本对比损失有助于在融合之前对齐图像-文本对的单峰表示。 应用图像-文本匹配损失和掩码语言建模损失来学习图像和文本之间的多模态交互。 此外,动量蒸馏用于生成伪目标。 这可以改善对噪声数据的学习。

在这里插入图片描述

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

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

相关文章

Json-Jackson和FastJson

狂神: 测试Jackson 纯Java解决日期格式化 设置ObjectMapper FastJson: 知乎:Jackson使用指南 1、常见配置 方式一:yml配置 spring.jackson.date-format指定日期格式,比如yyyy-MM-dd HH:mm:ss,或者具体的…

机器学习 day35(决策树)

决策树 上图的数据集是一个特征值X采用分类值,即只取几个离散值,同时也是一个二元分类任务,即标签Y只有两个值 上图为之前数据集对应的决策树,最顶层的节点称为根节点,椭圆形节点称为决策节点,矩形节点称…

ffplay源码解析-FrameQueue队列

帧队列架构位置 结构体源码 FrameQueue结构体 /* 这是一个循环队列,windex是指其中的首元素,rindex是指其中的尾部元素. */ typedef struct FrameQueue {Frame queue[FRAME_QUEUE_SIZE]; // FRAME_QUEUE_SIZE 最大size, 数字太大时会占用大量的…

DPDK环境搭建

(1)虚拟环境:VMware Workstation 16 Pro 网上随便下载一个也行 (2)操作系统:ubuntu-22.04-beta-desktop-amd64.iso 下载地址:oldubuntu-releases-releases-22.04安装包下载_开源镜像站-阿里云…

Thymeleaf语法详解

目录 一、Thymeleaf介绍 (1)依赖 (2)视图 (3)控制层 二、变量输出 三、操作字符串 四、操作时间 五、条件判断 六、遍历集合 (1)迭代遍历 (2)将遍…

Java————数组

1 、数组 数组可以看成是相同类型元素的一个集合, 在内存中是一段连续的空间。 每个空间有自己的编号,其实位置的编号为0,即数组的下标。 数组是引用类型。 1. 数组的创建 T[] 数组名 new T[N];T:表示数组中存放元素的类型 …

Kakfa - Producer机制原理与调优

Producer是Kakfa模型中生产者组件,也就是Kafka架构中数据的生产来源,虽然其整体是比较简单的组件,但依然有很多细节需要细品一番。比如Kafka的Producer实现原理是什么,怎么发送的消息?IO通讯模型是什么?在实…

对Docker的认识和总结

Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接…

数据结构入门 — 二叉树的概念、性质及结构

本文属于数据结构专栏文章,适合数据结构入门者学习,涵盖数据结构基础的知识和内容体系,文章在介绍数据结构时会配合上动图演示,方便初学者在学习数据结构时理解和学习,了解数据结构系列专栏点击下方链接。 博客主页&am…

学习记忆——英语——字母编码

字母编码表 A:苹果 ; B:一支笔或者小男孩boy ; C:月亮或者镰刀 ; D:笛子或者弟弟或者狗dog ; E:大白鹅 ; F:斧头 ; G:鸽子…

Python:安装Flask web框架hello world示例

安装easy_install pip install distribute 安装pip easy_install pip 安装 virtualenv pip install virtualenv 激活Flask pip install Flask 创建web页面demo.py from flask import Flask app Flask(__name__)app.route(/) def hello_world():return Hello World! 2023if _…

Spring注解家族介绍: @RequestMapping

前言: 今天我们来介绍RequestMapping这个注解,这个注解的内容相对来讲比较少,篇幅会比较短。 目录 前言: RequestMapping 应用场景: 总结: RequestMapping RequestMapping 是一个用于映射 HTTP 请求…

[Linux打怪升级之路]-缓冲区

前言 作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 本期学习目标&…

SpringCloud Ribbon--负载均衡 原理及应用实例

😀前言 本篇博文是关于SpringCloud Ribbon的基本介绍,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力…

深入理解线程安全

引言: 在多线程编程中,线程安全是一个至关重要的概念。线程安全可能到导致数据不一致,应用程序崩溃和其他不可预测的后果。本文将深入探讨线程安全问题的根本原因,并通过Java代码示例演示如何解决这些问题。 线程安全的根本原因 …

element plus Infinite Scroll 无限滚动

欢迎关注我的公众号:夜说猫,让一个贫穷的程序员不靠打代码也能吃饭~ element plus官网中,Infinite Scroll示例使用的是数字,在实际项目运用中,我们更多的是使用json数组进行渲染,所以我们改写v-infinite-sc…

Visual Studio2019报错

1- Visual Studio2019报错 错误 MSB8036 找不到 Windows SDK 版本 10.0.19041.0的解决方法 小伙伴们在更新到Visual Studio2019后编译项目时可能遇到过这个错误:“ 错误 MSB8036 找不到 Windows SDK 版本 10.0.19041.0的解决方法”,但是我们明明安装了该…

网络安全攻防对抗之隐藏通信隧道技术整理

完成内网信息收集工作后,渗透测试人员需要判断流量是否出得去、进得来。隐藏通信隧道技术常用于在访问受限的网络环境中追踪数据流向和在非受信任的网络中实现安全的数据传输。 一、隐藏通信隧道基础知识 (一)隐藏通信隧道概述 一般的网络通…

Python图像融合处理和 ROI 区域绘制基础

文章目录 一、图像融合二、图像 ROI 区域定位三、图像属性3.1 shape3.2 size3.3 dtype四、图像通道分离及合并4.1、split()函数4.2 merge()函数五、图像类型转换一、图像融合 图像融合通常是指多张图像的信息进行融合,从而获得信息更丰富的结果,能够帮助人们观察或计算机处理…

微服务保护-隔离

个人名片: 博主:酒徒ᝰ. 个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。 本篇励志:三人行,必有我师焉。 本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud…