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

文章目录

    • 一、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.rhkb.cn/news/134675.html

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

相关文章

带你进入桌面数控机床金工实训室

桌面型数控车床实训室 你知道中国哪所大学金工实训室拥有多的小型数控机床吗?答案是安徽工程大学。其国际工程师学院里面建了一栋新楼,专门分配了4个独立的房间作为实训室,占地300平方米,分别配置了小型数控车床,小型…

ES6中新增加的Symbol数据类型及其使用场景

聚沙成塔每天进步一点点 ⭐ 专栏简介在这里插入图片描述 ⭐ ES6中的Symbol数据类型⭐ 对象属性名称⭐ 防止属性冲突⭐ 内置Symbols⭐ 迭代器和生成器⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航…

chatgpt综述和报告

ChatGPT究竟强在哪?复旦大学邱锡鹏教授《大型语言模型的能力分析与应用》_哔哩哔哩_bilibili2022年底,美国OpenA1公司发布了ChatGPT,一个可以与人类对话交互的千亿规模参数的大型语言模型。它可以根据用户输入的指令完成各种语言相关的任务&a…

电商API的应用价值:淘宝1688京东API接口系列

API接口是一种软件应用程序,它充当两个不同软件应用程序之间的中介。它帮助不同的应用程序相互通信,共享数据,从而使用户能够完成不同的任务。API接口的用途非常广泛,下面是一些常见的用途: 数据共享:API接…

ChatGPT在职业规划中的智能助手

随着科技的不断发展,人工智能(AI)正逐渐成为我们日常生活的一部分。ChatGPT作为一种智能语言模型,可以在职业规划中充当智能助手的角色。本文将探讨ChatGPT在职业规划中的应用,以及它如何成为未来工作的智能伙伴。 首先…

2020-2023中国高等级自动驾驶产业发展趋势研究-中国高等级自动驾驶发展近况

1.2 中国高等级自动驾驶发展近况 通过对中国高等级自动驾驶行业的观察和分析,亿欧汽车认为,除技术解决方案提供商外,如今的车企、政府、资本同样在产业链中扮演重要角色。此外,车路协同技术的发展也为高等级自动驾驶的发展提供了更…

EagleSDR USB HAT FT600

给EagleSDR做了个USB 3.0的子卡,采用FT600方案,实物如下: 用FT600DataStreamerDemoApp测试,速度如下: 由于FT600是16bit的接口,如果用FT601的32bit接口,性能应该还会有大幅提升。 测试代码很简…

数据库基础

文章目录 1. 什么是数据库2. 服务器,数据库,表关系3. MySQL架构4. SQL分类 1. 什么是数据库 存储数据用文件就可以了,为什么还要弄个数据库? 文件保存数据有以下几个缺点: 文件的安全性问题 文件不利于数据查询和管理 文件不利于…

水仙花数(熟悉Python后再写)

CSDN问答社区的一个提问,勾起我当时写代码的烦困。 (本笔记适合熟悉一门编程语言的 coder 翻阅) 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是…

动态的中秋爱心演示送女友用python生成爱心软件文末附c++语言写法

用python生成爱心软件 用python生成动态爱心软件 目录 用python生成爱心软件 完整代码 代码解释 逐句解释 效果展示: 如何打包 c写法 完整代码 import turtledef draw_heart():love turtle.Turtle()love.getscreen().bgcolor("black")love.…

编程(47)----------Spring AOP

AOP是Spring中, 个人认为较为抽象的一个思想. 一般来说, 学习一个新东西, 第一件事是先看看这个知识点的定义是什么. 同时要注意, 同一事物的定义可以有很多, 毕竟定义没有绝对的对与错, 只有准确与否. 而初次接触AOP的定义, 第一感觉可能就是抽象, 或者说看不懂, 这里面也有…

Flink、Spark、Hive集成Hudi

环境描述: hudi版本:0.13.1 flink版本:flink-1.15.2 spark版本:3.3.2 Hive版本:3.1.3 Hadoop版本:3.3.4 一.Flink集成Hive 1.拷贝hadoop包到Flink lib目录 hadoop-client-api-3.3.4.jar hadoop-client-runtime-3.3.4.jar 2.下载上传flink-hive的jar包 flink-co…

【力扣每日一题】2023.9.17 打家劫舍Ⅱ

目录 题目: 示例: 分析: 代码: 题目: 示例: 分析: 打家劫舍2在1的基础上增加了一个规则,那就是房屋是首尾相连的。 这对我们解题有什么影响呢? 唯一的影响就是我们…

【管理运筹学】第 7 章 | 图与网络分析(5,最小费用流问题及最小费用最大流问题)

系列文章 【管理运筹学】第 7 章 | 图与网络分析(1,图论背景以及基本概念、术语、矩阵表示) 【管理运筹学】第 7 章 | 图与网络分析(2,最小支撑树问题) 【管理运筹学】第 7 章 | 图与网络分析(…

AD22使用笔记+积累库

一、前言 使用AD9习惯了,但是需求逐渐上来了就不够用了,好多快捷的新功能要新版本软件才能用,所以升级使用AD22 目录 1.添加层之后中间层无法布线 2.新增快捷方式CtrlW布线,不用点图标了 二、环境 AD22 三、正文 1.添加层之…

四、编译定制rom并刷机实现硬改(一)

系列文章目录 第一章 安卓aosp源码编译环境搭建 第二章 手机硬件参数介绍和校验算法 第三章 修改安卓aosp代码更改硬件参数 第四章 编译定制rom并刷机实现硬改(一) 第五章 编译定制rom并刷机实现硬改(二) 第六章 不root不magisk不xposed lsposed frida原生修改定位 第七章 安卓…

Java中double类型保留小数点后两位的方法

1.String类的format方法 package com.yushifu.problem; //java中double保留两位小数的方法 import java.util.Scanner; public class Demo01 {public static void main(String[] args) {//Practice:键盘输入数据,以保留小数点后两位的格式输出键盘输入的数据。doub…

Jetpack系列 -- LiveData源码原理解析(解决黏性问题)

一、LiveData是什么? 注意:一般情况下,LiveData要配合ViewModel一起使用的,但是今天是单独使用LiveData,作为学习的话,我们可以只关注LiveData了。 LiveData是一种可观察的数据存储器类。与常规的可观察类…

vvic API接口接入说明:解锁新一代数据可视化的无限可能

随着大数据时代的来临,数据可视化已成为我们理解、分析和呈现复杂数据的重要手段。在这个领域中,vvic以其独特的优势,引领着数据可视化的发展潮流。其强大的API接口,更是为开发者提供了无限可能,让数据可视化变得更为简…

数据库_之常用API的使用

数据库_之电商API MySQL C API 使用(基本函数) Mysql C API函数详解 MySQL的常用API 一个常用的程序调用MySQL数据库的时候通常都会调用以下API,下面来逐个分析. mysql_init() //函数原型 MYSQL *STDCALL mysql_init(MYSQL *mysql);这个API主要是用来分…