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

Input Projector(输入投影层)

目录

一、MLP

二、Q-Former(BLIP-2)

1. 工作原理

三、Cross-Attention Adapter

1. 基本原理

2. 计算过程

3. 应用场景

4. 优势与特点

四、Perceiver Resampler(Flamingo)

1. 技术原理:

一、MLP

projector = nn.Sequential( nn.Linear(768, 4096), nn.GELU(), nn.Linear(4096, 4096) )
  • 用于 LLaVA、MiniGPT-4

  • 简单高效,常用于冻结 encoder 场景

二、Q-Former(BLIP-2)

Q-former是一种专门设计用于跨模态任务的Transformer模型。由BLIP2提出,目的是在视觉特征和语言模型之间建立高效的桥梁,从而提高大规模预训练语言模型(如 GPT、T5)在多模态任务中的表现。

1. 工作原理

  • 输入嵌入:将输入的数据(如文本、图像等)转换为固定维度的向量表示。对于文本数据,常用的方法包括词嵌入(Word Embedding)和上下文嵌入(Contextual Embedding);对于图像数据,则可能采用卷积神经网络(CNN)或视觉Transformer(ViT)等模型进行特征提取;

  • 查询生成:生成一组用于检索的查询向量。这些查询向量是模型在训练过程中学习得到的,能够捕捉到输入数据中的关键信息;

  • 交互层:实现查询向量和输入嵌入向量之间的交互。常用的方法是通过点积注意力机制,计算查询向量和输入嵌入向量之间的相关性,并据此生成最终的输出表示

三、Cross-Attention Adapter

多模态Cross-Attention是一种用于处理多模态数据(例如图像和文本)的技术。它通过在不同模态之间建立联系,增强了模态的表示能力

1. 基本原理

Cross Attention 的基本思想是利用一种模态的信息来增强另一种模态的表示。

其核心操作是注意力机制,这种机制最初被引入Transfromer模型中,用于在序列建模任务中捕捉远距离依赖关系。

在Cross Attention中,通常有三个关键组件:查询(query)、键(key)和值(value)。这些组件来自不同的模态。例如,在图像和文本结合的任务中,Query可能来自文本模态的表示,而key和value则可能来自图像模态的表示。

2. 计算过程

  1. 计算Query与所有Key的点积,以评估输入序列中每个元素与当前解码位置的相关性。

  2. 通过Softmax函数对点积结果进行归一化转换为概率分布,表明各个元素对于当前解码步骤的重要性

  3. 使用归一化后的概率分布作为权重,对value 进行加权求和,得到上下文表示。

3. 应用场景

  1. 图像描述生成:Cross Attention允许模型在生成文本时,关注图像中的关键区域,从而生成更加准确和生动的描述

  2. 视觉问答:模型根据输入的图像和文本问题生成答案。Cross Attention可以帮助模型理解图像和问题之间的语义关系,从而生成更加准确的答案;

  3. 机器翻译:Cross Attention在处理序列到序列的任务时表现出色。它允许编码器在生成每个词时,考虑整个输入句子的语境,从而生成更加连贯的翻译结果

  4. 多模态检索

4. 优势与特点

  1. 融合不同模态的信息

  2. 增强模型的可解释性

  3. 灵活性和可扩展性

四、Perceiver Resampler(Flamingo)

结构如下图所示:

1. 技术原理:

1.可学习 Query 向量(Latent Queries)

queries = nn.Parameter(torch.randn(K, D)) # K=64, D=1024
  • 这些 query 是可学习的“信息提取器”

2.Cross-Attention 模块

output = cross_attention( query=queries, # [K, D] key=image_features, # [N, D] value=image_features # [N, D] )
  • 每个 query 向量从所有图像 patch 中“检索”相关信息

  • 输出仍是[K, D]

3. 多层堆叠(可选)

  • 多个 cross-attention 层堆叠,增强表达能力

http://www.jsqmd.com/news/587945/

相关文章:

  • 天梯赛L2题解(041-044)
  • 多少家庭不是穷,是被面子慢慢拖垮的
  • 机器学习超参数调优实战:3个技巧让模型性能提升30%
  • Farm 性能监控与优化终极指南:10个技巧快速定位构建瓶颈
  • 终极指南:5个简单技巧优化Agenda性能,大幅减少MongoDB查询压力
  • 10个知名企业如何利用NideShop快速搭建高转化电商平台的终极指南 [特殊字符]
  • At.js 终极兼容性指南:从 IE7+ 到现代浏览器的完美解决方案
  • 终极指南:如何扩展Bloaty功能 - 自定义解析器和数据源开发完整教程
  • 零服务器运维:前端资源的Serverless云集成终极指南
  • NideShop高可用架构设计:负载均衡与故障转移机制终极指南
  • 零基础搭建java开发环境:利用快马ai一键生成jdk17配置教程
  • 【JavaEE32-后端部分】Spring事务进阶:@Transactional三大利器,把事务玩明白【AI辅助理解】
  • XXMI启动器:多维度解析二次元游戏模组统一管理平台
  • 终极揭秘:Bloaty的RangeMap数据结构如何实现精准二进制尺寸分析
  • 分离调试文件完整指南:为什么构建ID验证对Bloaty二进制分析至关重要
  • 构建智能分拣系统:基于快马平台与龙虾openclaw的完整抓取实战项目开发
  • 如何在Rails应用中集成Paperclip与Bootstrap:创建响应式文件上传界面的完整指南
  • Canvas动画表视图控制器:iOS开发者的终极零代码动画解决方案
  • 一道多项式作业题目的构思
  • OmX与机器学习集成:打造更智能的编码助手终极指南
  • 实战指南:基于vmware官网案例用快马构建企业级虚拟化解决方案
  • 终极指南:AriaNg项目测试覆盖率工具配置与报告生成
  • CRI-O与Podman完美配合:构建完整容器开发生态终极指南
  • ColorControl终极指南:专业级显示管理与智能电视控制一体化解决方案
  • 终极指南:如何实现lamp-cloud多租户搜索功能的高效数据检索
  • 前阵子帮学弟改毕设的时候翻到这么个STM32做的智能窗帘晾衣架方案,刚好是那种没实物但资料全到能直接套的DIY向项目,特别适合手头上没零件又想攒项目的朋友唠唠
  • OmX资源管理:优化AI助手的内存和CPU使用的终极指南
  • 延时Reset电路,控制VM芯片采用不同N,P管子对应的冲放电电路
  • Farm 持久化缓存终极指南:如何实现80%增量构建性能提升
  • git-flow-completion 终极教程:掌握Git Flow自动补全的10个技巧