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

自然语言处理五-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.其他。在其他的论文中还有很多种做法

相关推荐
杜子不疼.4 分钟前
CANN计算机视觉算子库ops-cv的图像处理与特征提取优化实践
图像处理·人工智能·计算机视觉
大闲在人5 分钟前
软件仍将存在,但软件公司会以全新形式出现——从Claude智能体引发万亿市值震荡看行业重构
人工智能
艾莉丝努力练剑6 分钟前
【Linux:文件】Ext系列文件系统(初阶)
大数据·linux·运维·服务器·c++·人工智能·算法
芷栀夏10 分钟前
从 CANN 开源项目看现代爬虫架构的演进:轻量、智能与统一
人工智能·爬虫·架构·开源·cann
梦帮科技19 分钟前
OpenClaw 桥接调用 Windows MCP:打造你的 AI 桌面自动化助手
人工智能·windows·自动化
永远都不秃头的程序员(互关)26 分钟前
CANN模型量化赋能AIGC:深度压缩,释放生成式AI的极致性能与资源潜力
人工智能·aigc
爱华晨宇29 分钟前
CANN Auto-Tune赋能AIGC:智能性能炼金术,解锁生成式AI极致效率
人工智能·aigc
聆风吟º32 分钟前
CANN算子开发:ops-nn神经网络算子库的技术解析与实战应用
人工智能·深度学习·神经网络·cann
觉醒大王33 分钟前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法
偷吃的耗子37 分钟前
【CNN算法理解】:CNN平移不变性详解:数学原理与实例
人工智能·算法·cnn