【自动驾驶BEV感知之Transformer】

devtools/2025/1/20 7:05:41/

欢迎大家关注我的B站:

偷吃薯片的Zheng同学的个人空间-偷吃薯片的Zheng同学个人主页-哔哩哔哩视频 (bilibili.com)

本文为深蓝学院《BEV感知理论与实践》 的学习笔记

  • 以图书馆看书举例

  • query:查询,感兴趣的东西

  • Key:索引,书的名字、目录

  • Value:值,书的详细内容

  • Transformer可以看作我们有自己感兴趣的方向,然后去图书馆里找,怎么找呢,肯定是看书的名字,翻一下目录来确定和你的兴趣是否匹配,如果匹配就翻开书挑里面感兴趣的东西进行学习

  • Attention也就是注意力是query和Key的点积,代表两者之间的相似度,相似肯定需要更加关注,然后通过Attention乘value也能更新value从而提取出value中更重要的内容

  • 以Hi how are you 为例子,对这四个词进行编码,每个都得到一个256维的向量,可以理解为在256个维度对这个词的一些描述来表征这个词

  • 然后他们分别对应的QKV通过同一批权重矩阵相乘得到

  • 然后以Hi为例,他的query和别人的key点积得到Attention,再乘上别人的value得到在自己的value基础上可以更新的内容,然后Hi要和其他三个以及他自己都做这个操作

  • 互相之间的QKV操作其实本质上是学习了更好的全局特征,通过别人来丰富自己

  • 输入输出都是256维的向量,内部其实在相互之间学习,也称为self-Attention

  • self-Attention的本质是来自同一组embedding

  • 这是矩阵的形式,核心就是得到了一个Attention矩阵

  • 然后通过缩放更稳定,以及一个softmax得到了概率矩阵

  • self-Attention的目的是学习全局信息,找到自己的ID

  • multi-head:每个头独立关注输入的不同子空间,有助于学习多样化的特征,但维持整体输出维度不变

 

  1. encoder和decoder如何交互

    1. Query:来自 Decoder 当前时间步的隐藏状态。

    2. Key 和 Value:来自 Encoder 的输出表示

  2. 三种Attention

    1. encoder:自注意力机制

    2. decoder:Masked 自注意力(屏蔽未来的词,确保自回归) → Encoder-Decoder 注意力

  3. Padding mask

    1. 用于忽略填充位置,确保它们不影响注意力权重和损失计算

    2. 设置为负无穷的score使得softmax的概率为0


http://www.ppmy.cn/devtools/152020.html

相关文章

《自动驾驶与机器人中的SLAM技术》ch8:基于预积分和图优化的紧耦合 LIO 系统

和组合导航一样,也可以通过预积分 IMU 因子加上雷达残差来实现基于预积分和图优化的紧耦合 LIO 系统。一些现代的 Lidar SLAM 系统也采用了这种方式。相比滤波器方法来说,预积分因子可以更方便地整合到现有的优化框架中,从开发到实现都更为便…

Python毕业设计选题:基于python的酒店推荐系统_django+hadoop

开发语言:Python框架:djangoPython版本:python3.7.7数据库:mysql 5.7数据库工具:Navicat11开发软件:PyCharm 系统展示 管理员登录 管理员功能界面 用户管理 酒店客房管理 客房类型管理 客房预定管理 用户…

Java日志配置

1.导入依赖 <dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.23.1</version></dependency><dependency><groupId>org.apache.logging.log4j</groupI…

二、点灯基础实验

嵌入式基础实验第一个就是点灯&#xff0c;地位相当于编程界的hello world。 如下为LED原理图&#xff0c;要让相应LED发光&#xff0c;需要给I/O口设置输出引脚&#xff0c;低电平&#xff0c;二极管才会导通 2.1 打开初始工程&#xff0c;编写代码 以下会实现BLINKY常亮&…

Elasticsearch搜索引擎(二)

RestClient 基础 前言一、RestAPI1. 初始化 *RestClient*2. 创建索引库3. 删除索引库4. 判断索引库是否存在 二、RestClient操作文档1.新增文档2.查询文档3. 删除文档4. 修改文档5. 批量导入文档 前言 ES官方提供了各种不同语言的客户端用来操作ES&#xff0c;这些客户端的本质…

QT跨平台应用程序开发框架(3)—— 信号和槽

目录 一&#xff0c;基本概念 二&#xff0c;connect函数使用 2.1 connect 2.2 Qt内置信号和槽 2.3 一些细节 三&#xff0c;自定义信号和槽 3.1 自定义槽函数 3.2 自定义信号 3.3 带参数的信号槽 四&#xff0c;信号和槽的意义 五&#xff0c;信号和槽断开连接 六&…

React的应用级框架推荐——Next、Modern、Blitz等,快速搭建React项目

在 React 企业级应用开发中&#xff0c;Next.js、Modern.js 和 Blitz 是三个常见的框架&#xff0c;它们提供了不同的特性和功能&#xff0c;旨在简化开发流程并提高应用的性能和扩展性。以下是它们的详解与比较&#xff1a; Next、Modern、Blitz 1. Next.js Next.js 是由 Ve…

Electron 开发者的 Tauri 2.0 实战指南:安全实践

在桌面应用开发中&#xff0c;安全性至关重要。相比 Electron&#xff0c;Tauri 2.0 提供了更严格的安全模型和更完善的权限系统。本文将帮助你理解和实践 Tauri 的安全特性。 权限系统对比 Electron 的安全模型 在 Electron 中&#xff0c;我们通常这样处理安全&#xff1a…