当前位置: 首页 > news >正文

【大模型学习 | BLIP2原理】

BLIP-2: Bootstrapping Language-Image Pre-training with Frozen Image Encoders and Large Language Models

目前(2023)的图文模型都是基于端到端训练方式,大规模的模型和数据集导致了在预训练过程需要的大量计算。作者提出一种从离线、梯度冻结的图像、语言模型中提升图文的预训练模型。为了联系两个不同模态预训练模型,作者提出一种使用两个阶段预训练模型Querying Transformer (Q-Former)

一、预训练方法

这种预训练方法分为了两个阶段 (1)视觉语言特征表示学习阶段 (2)视觉到文本的生成学习阶段

1.1 Q-Former

主要作用就是对齐两个不同模态的冻结预训练模型

🟢 Q-Former包含了两个transformer子模块:(1)Image Transformer (特征提取) (2) Text transformer (作为文本编码器和解码器) ;

🟢 一组可学习的查询嵌入向量作为 Image Transformer 的输入,这些向量在self-attention layer相互联系以及通过 cross-attention layer与预训练的图像模型特征交互; 除此之外,这组可学习的嵌入向量也与文本token进行拼接作为Text transformer的输入;

🟢 将Q-Former初始化为 BERT base \text{BERT}_{\text{base}} BERTbase, cross-attention layer是随机初始化的;同时查询向量的大小为:( 32 × 768 32 \times 768 32×768)

在这里插入图片描述

1.2 视觉语言特征表示学习

第一阶段的训练目标是基于文本对,通过 Q-Former 与冻结图像编码器,使得可学习的 query 向量能够从图像中提取出与文本语义最相关、最具信息量的视觉特征。在这个阶段中,采用了与BLIP预训练过程近似的目标损失:Image-Text Contrastive Learning (ITC) 、Image-grounded Text Generation (ITG)、Image-Text Matching (ITM).

🟢 ITC:图像、文本特征对比学习,通过可学习的查询向量和Text transformer中的[CLS]计算相似度,为了防止数据泄露,采用unimodal self-attention,禁止 query 与文本 token 之间的直接交互;

🟢 ITG:将可学习的向量作为条件输入,以自回归的方式生成图像描述,采用了causal self-attention mask

🟢 ITM:二分类匹配任务,采用bi-directional self-attention mask

1.3 图像到文本的生成学习

第二阶段利用LLM的生成语言的能力来训练Q-Former。将图像通过图像冻结模型和Image Transformer得到与文本语义最相关、最具信息量的视觉特征。接着通过一个全连接层的线性变换,将大小转换为符合到LLM模型中的输入维度。作者尝试了两种LLM冻结模型:

(1) decoder-based LLMs : query 表征作为 LLM 的输入前缀(prefix) → LLM 自己完成文本生成

(2) encoder-decoder-based LLMs : 模型学习在给定图像(query 表征)+ 前缀(自定义)的条件下,生成后缀内容

在这里插入图片描述

架构类型模型例子输入方式损失函数类型说明
Decoder-onlyGPT, OPT, LLaMAQ-Former 输出作为前缀,LLM 自回归生成Language Modeling Lossquery → LLM 直接生成
Encoder-DecoderT5, BARTQ-Former 输出 + 前缀文本 → encoder 后缀文本作为 decoder targetPrefix Language Modeling Lossquery + prefix → 生成 suffix
http://www.dtcms.com/a/264260.html

相关文章:

  • 「Java流程控制」for循环结构
  • langchain从入门到精通(三十二)——RAG优化策略(八)自查询检索器实现动态数据过滤
  • 腾讯 iOA 零信任产品:安全远程访问的革新者
  • Redis-渐进式遍历
  • Java后端调用外部接口标准流程详解
  • python+uniapp基于微信小程序的PS社区系统
  • 使用D435i运行ORB-SLAM3时,纯视觉模式与视觉-惯性模式的位姿矩阵定义问题探讨
  • 基于SpringBoot + HTML 的网上书店系统
  • 转录组分析流程(六):列线图
  • Kafka 生产者和消费者高级用法
  • c++学习(八、函数指针和线程)
  • EasyExcel实现Excel复杂格式导出:合并单元格与样式设置实战
  • web开发,旅游景点管理系统推荐算法版本demo,基于asp.net,mvc,c#,sql server
  • 编写shell脚本扫描工具,扫描服务器开放了哪些端口(再尝试用python编写一个)
  • Set和Map的解析与应用场景
  • OSPF虚拟链路术语一览:快速掌握网络路由
  • 【字符串方法】split使用介绍
  • Android NDK探索之旅(一)
  • 中心效应:多中心临床试验的关键考量
  • 【科研绘图系列】基于R语言的复杂热图绘制教程:环境因素与染色体效应的可视化
  • 图神经网络(篇二)-基础知识
  • MySQL处理并发访问和高负载的关键技术和策略
  • 设置linux静态IP
  • 创建和连接Vue应用程序实例
  • AI的未来:人类会被取代,还是变得更强大?
  • Go语言的Map
  • 【仿muduo库实现并发服务器】Poller模块
  • Adobe AI高效设计秘籍与创新思维进阶
  • WebSocket扫盲
  • 7 项目立项管理