【自然语言处理五-注意力其他--多头注意力&位置编码等】

自然语言处理五-self attention的其他问题(多头注意力&位置编码)等

之前用四篇博客说明了注意力以及自注意力的运作流程,下面来介绍剩余点。

多头注意力、位置编码

多头注意力 multi-head attention

单头的注意力是这样的:

而多头的矩阵是这样的:

也就是说我们由输入生成的q k v矩阵是多组,上面的图就显示2头注意力的示意图。

多头注意力的意义是什么?

事物之间的关系,往往不止一种,多头就意味着多种不同类型的相关性

多头注意力的运作流程

单头的注意力的过程是这样的:

而多头的注意力,计算注意力分数、softmax等操作都是相同的,只不过会有两次这样的操作,最终每一个输入对应的bi会生成多个,以两头注意力为例子:

第一次生成bi,1,第二次生成bi,2,下面是示例了生成bi,2的过程:

而注意力层最终的输出是将(bi,1,bi,2)又做了一次矩阵乘法

整体注意力层对外的输出 的bi就整合了多头(bi,1,bi,2)的信息了。

位置编码postion encoding

前面讲的自注意力其实缺少了一部分,没有任何关于位置的信息。

但是在自然语言处理领域,位置信息有时候很重要,比如词性识别的时候,动词在开头的概率一般很小。因此self attention中又加入了位置信息编码:

postion encoding,具体的做法就是在输入加上一个位置信息向量ei,Q K V的信息中就包括了位置的信息,如下图:

这个ei的生成有多重方法:

1.transformer论文中 用sin和cos的函数

2.手动设置

3.其他。在其他的论文中还有很多种做法

相关推荐
用户9385156350712 分钟前
手写一个 LLM Harness 框架:用工程化手段把大模型幻觉踩在脚下
javascript·人工智能·后端
前端开发江鸟14 分钟前
我能解释 RAG、MCP 和 Eval,却画不出一条完整的 Agent 链路
人工智能
ivywriter1 小时前
【具身智能】物理AI具体指什么,和具身智能是什么关系?
人工智能
new_zhou1 小时前
C++ 项目 AI 协作指南(Windows / MSVC 环境)
c++·人工智能·windows
洛阳泰山1 小时前
AI 应用层被 Python 卷成红海,为什么我偏要用 Java 造一个 RAG + 工作流引擎?
java·人工智能·后端
wangray1997droid2 小时前
让 AI 拥有“真实记忆“:一次从碎片到叙事的记忆系统质变
人工智能
一次旅行2 小时前
AI 前沿日报 | 2026年08月08日 星期六
人工智能
hyuk的AI工坊2 小时前
Agent/Tool Calling 深度实战:LangChain4j 生产级工具设计
人工智能
manyingAi2 小时前
AIGC 落地影视内容行业:漫映 AI 漫剧全链路工作流技术架构解析
人工智能·架构·aigc
架构师汤师爷2 小时前
我用WorkBuddy和ima搭了一套AI写作工作流,真滴香晕了!
人工智能