跟李沐学AI:自注意力和位置编码

news/2024/9/28 15:24:52/

自注意力

自注意力机制(Self-Attention Mechanism),也被称为内部注意力(Intra-attention)或并行注意力(Parallel Attention),是一种在深度学习模型中用于处理序列数据的机制。它允许模型在处理序列中的某个位置时,可以参考序列中所有其他位置的信息,从而捕捉到序列内部不同位置之间的依赖关系。

自注意力机制则是让序列自己对自己做注意力,即在同一个序列内进行信息交互,这样可以在单个序列内部建立更复杂的关联。

自注意力机制特别适合于需要理解长距离依赖的任务,因为它能有效地捕获序列内部的关系,而且随着序列长度的增加,其计算复杂度不会线性增长。

位置编码

与CNN/RNN不同,自注意力没有记录位置信息,而这些信息对于许多任务(尤其是自然语言处理任务)来说是非常重要的。因此,需要在编码中加入位置信息。位置编码可以通过学习得到也可以直接固定得到。接下来描述的是基于正弦函数和余弦函数的固定位置编码。

假设长度为n的序列是X\epsilon R^{nxd},那么使用位置编码矩阵P\epsilon R^{nxd}来输出X+P作为自编码输入。P的元素如下计算:

总结

自注意力机制中,query、key、value均来自同一输入。

卷积神经网络和自注意力都拥有并行计算的优势。自注意力的最大路径长度最短,但是因为其计算复杂度是关于序列长度的二次方,所以在很长的序列中计算会非常慢。

为了使用序列的顺序信息,可以通过在输入表示中添加位置编码,来注入绝对或者相对的位置嘻信息。 


http://www.ppmy.cn/news/1530955.html

相关文章

全栈项目小组【算法赛】题目及解题

题目:全栈项目小组【算法赛】 题目: 解题思路 1.遍历简历信息:我们需要读取所有简历,根据期望薪资和岗位类型进行分类和统计。 2.分类统计:使用哈希表来存储每个薪资下的前端(F)和后端&#…

Electron 安装包 asar 解压定位问题实战

背景 在开发 Electron 过程中,我们想知道 Electron 打包的最终形态是什么样的,以便我们能更好的理解 Electron 打包的过程,以及逆向来快速追踪一些问题,例如下面这个报错,以前这类报错都是靠猜,现在则可以…

计算机毕业设计 基于Python内蒙古旅游景点数据分析系统 Django+Vue 前后端分离 附源码 讲解 文档

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

webpack4 target:“electron-renderer“ 打包加速配置

背景 昨天写得一篇Electron-vue asar 局部打包优化处理方案——绕开每次npm run build 超级慢的打包问题-CSDN博客文章浏览阅读754次,点赞19次,收藏11次。因为组员对于 Electron 打包过程存在比较迷糊的状态,且自己也没主动探索 Electron-vu…

su 命令:一键切换用户身份、提高su命令安全性的建议

一、命令简介 ​su ​命令是 Linux 和 Unix 系统中的一个实用工具,用于切换用户身份。它允许当前登录用户在不退出登录会话的情况下,切换到另一个用户的身份。通常,su ​用于从普通用户切换到 root 用户,或从 root 用户切换到其他…

激光slam学习笔记4--slam_in_autonomous_driving编译碰到问题汇总

背景:项目需要,学习一些imu姿态估计知识。从组长那边借来高翔新作:自动驾驶与机器人中的slam技术,仔细看一看。环境,ubuntu20.04。 一、资料准备 课本对应的代码 一些依赖,首先参考github上对应的readme介…

基于SpringBoot+Vue+MySQL的特色旅游网站系统

系统展示 用户前台界面 管理员后台界面 系统背景 随着旅游业的蓬勃发展,人们对旅游体验的需求日益多样化与个性化。传统的旅游信息查询与预订方式已难以满足现代游客的需求。因此,我们开发了这款基于SpringBootVueMySQL的特色旅游网站系统。该系统旨在通…

数据结构-3.1.栈的基本概念

一.栈的定义: 栈和线性表的区别:栈只能在表尾一端进行插入或者删除的操作,而线性表可以在任意一个地方进行插入或者删除 二.有关栈的关键术语: 三.栈的基本操作: 1.回顾线性表的基本操作: 2.栈的基本操作&…