【NLP】 聊聊NLP中的attention机制

图像处理入门007:图像处理中的数学基础:线性代数与卷积 一种:把 OpenCV 当黑盒,调用,效果不对就乱调参数;另一种:理解每个像素是怎么被周围邻域"加权平均"的,理解核翻转、边界填充、stride 的含义。前者能干活,后者能解难题。一旦遇到自定义核(比如 ISP 上的锐化)、深度学习反向传播、医学图像重建,你就必须把卷积、相关、矩阵乘法这些基本功捡回来。线性代数三件套:向量点积、矩阵乘法、线性变换;2D 卷积的数学定义:核翻转、滑动窗口、边界填充。并手写一个,验证它与和的结果完全一致(误差 < 1e-9)。f∗gn∑m−∞∞f。 阅读详情

本篇介绍在NLP中各项任务及模型中引入相当广泛的Attention机制。在Transformer中,最重要的特点也是Attention。首先详细介绍其由来,然后具体介绍了其编解码结构的引入和原理,最后总结了Attention机制的本质。

作者&编辑 | 小Dream哥

1 注意力机制的由来

在深度学习领域,注意力机制模仿的是人类认知的过程。当人看到如下“美女伤心流泪”图时,细细想一下,人在做出图片中美女是在伤心流泪的过程,应该是先整体扫描该图片;然后将视觉注意力集中到美女的脸部;集中到脸部之后,再进一步将视觉注意力集中到眼睛部位。最后发现了眼泪,得出美女是在伤心流泪的结论。

640?wx_fmt=png

人类在对信息进行处理的过程中,注意力不是平均分散的,而是有重点的分布。受此启发,做计算机视觉的朋友,开始在视觉处理过程中加入注意力机制(Attention)。随后,做自然语言处理的朋友们,也开始引入这个机制。在NLP的很多任务中,加入注意力机制后,都取得了非常好的效果。

那么,在NLP中,Attention机制是什么呢?从直觉上来说,与人类的注意力分配过程类似,就是在信息处理过程中,对不同的内容分配不同的注意力权重。下面我们详细看看,在自然语言处理中,注意力机制是怎么实现的。

2 seq2seq结构及其中的Attention

640?wx_fmt=jpeg

如上图所示,是标准的编解码(seq2seq)机制的结构图,在机器翻译、生成式聊天机器人、文本摘要等任务中均有应用。其处理流程是通过编码器对输入序列进行编码,生成一个中间的语义编码向量C,然后在解码器中,对语义编码向量C进行解码,得到想要的输出。例如,在中英文翻译的任务中,编码器的输入是中文序列,解码器的输出就是翻译出来的英文序列。


可以看出,这个结构很"干净",对于解码器来说,在解码出y1,y2,y3时,语义编码向量均是固定的。我们来分析下这样是否合理。


假设输入的是"小明/喜欢/小红",则翻译结果应该是"XiaoMing likes XiaoHong"。根据上述架构,在解码得到"XiaoMing","likes"," XiaoHong"时,引入的语义编码向量是相同的,也就是"小明","喜欢","小红"在翻译时对得到"XiaoMing","likes"," XiaoHong"的作用是相同的。这显然不合理,在解码得到"XiaoMing"时,"小明"的作用应该最大才对。


鉴于此,机智的NLP研究者们,认为应该在编解码器之间加入一种对齐机制,也就是在解码"XiaoMing"时应该对齐到"小明"。在《Neural Machine Translation By Jointly Learning To Align And Translate》中首次将这种对齐机制引入到机器翻译中。我们来看看,这是怎样的一种对齐机制。


我们先回顾一下刚才的编解码结构,其语义编码向量和解码器状态,通过如下的公式得到:

640?wx_fmt=png

通常在解码时语义编码向量是固定的。若要实现对齐机制,在解码时语义编码向量应该随着输入动态的变化。鉴于此,《Neural Machine Translation By Jointly Learning To Align And Translate》提出来一种对齐机制,也就是Attention机制。

640?wx_fmt=png

如上图示,论文中采用双向RNN来进行语义的编码,这不是重点,我们先不关注。其对齐机制整体思想是:编码时,记下来每一个时刻的RNN编码输出(h1,h2,h3,..hn);解码时,根据前一时刻的解码状态,即yi-1,计算出来一组权重(a1,a2,..an),这组权重决定了在当前的解码时刻,(h1,h2,h3,..hn)分别对解码的贡献。这样就实现了,编解码的对齐。


下面我们用数学语言描述一下上面的过程。


首先,进行编码计算(h1,h2,..hn),i时刻的编码状态计算公式如下:

640?wx_fmt=png

然后,开始解码,加入此时在解码的i时刻,则需要计算i时刻的编码向量Ci,通过如下的公式计算:

640?wx_fmt=png

aij是对不同时刻的编码状态取的权重值。由此可见,i时刻的语义编码向量由不同时刻的编码状态加权求和得到。

下面看看,如何取得权重向量a:

640?wx_fmt=png

640?wx_fmt=png

权重向量ai通过加入解码器前一个时刻的状态进行计算得到。eij表示,在计算Ci时,hj的绝对权重。通过对其使用softmax函数,得到aij。aij就是在计算Ci时,hj编码状态的权重值。


得到权重向量ai及语义编码向量Ci后,就可以计算当前时刻的解码状态了:

640?wx_fmt=png

这就是编解码机制中注意力机制的基本内容了,本质上就是为了实现编解码之间的对齐,在解码时根据前一时刻的解码状态,获取不同时刻编码状态的权重值并加权求和,进而获得该时刻语义编码向量。

那么,抽离编解码机制,Attention机制的本质是什么呢?我们下面来看看。

3 Attention机制的本质

我们回想一下,引入Attention机制的本意,是为了在信息处理的时候,恰当的分配好”注意力“资源。那么,要分配好注意力资源,就需要给每个资源以不同的权重,Attention机制就是计算权重的过程。

如下图所示,

640?wx_fmt=jpeg

如上图所示,我们由资源Value,需要根据当前系统的其他状态Key和Querry来计算权重用以分配资源Value。

也就是,可以用如下的数学公式来描述Attention机制:

640?wx_fmt=png

F函数可以有很多,在transformer中用的是点积。

总结

Transformer中最重要的特点就是引入了Attention,其对于Transformer性能的重要性我们下一篇介绍。总的来说,Adttention机制是一种对齐机制,它通过对系统当前的某些状态进行评估,来对系统资源进行权重分配,实现对齐,具体可以看机器翻译的例子。

下期预告:当前最强大的特征抽取器transformer

知识星球推荐

640?wx_fmt=png

扫描上面的二维码,就可以加入我们的星球,助你成长为一名合格的自然语言处理算法工程师。

知识星球主要有以下内容:

(1) 聊天机器人。考虑到聊天机器人是一个非常复杂的NLP应用场景,几乎涵盖了所有的NLP任务及应用。所以小Dream哥计划以聊天机器人作为切入点,通过介绍聊天机器人的原理和实践,逐步系统的更新到大部分NLP的知识,会包括语义匹配,文本分类,意图识别,语义匹配命名实体识别、对话管理以及分词等。

(2) 知识图谱。知识图谱对于NLP各项任务效果好坏的重要性,就好比基础知识对于一个学生成绩好坏的重要性。他是NLP最重要的基础设施,目前各大公司都在着力打造知识图谱,作为一个NLP工程师,必须要熟悉和了解他。

(3) NLP预训练模型。基于海量数据,进行超大规模网络的无监督预训练。具体的任务再通过少量的样本进行Fine-Tune。这样模式是目前NLP领域最火热的模式,很有可能引领NLP进入一个全新发展高度。你怎么不深入的了解?


转载文章请后台联系

侵权必究

640?wx_fmt=png

640?wx_fmt=png

640?wx_fmt=png

往期精选

【OpenClaw从入门到精通】第13篇:OpenClaw低代码编排实战:非技术人员也能玩转AI自动化流程(2026新版实测) 本文聚焦OpenClaw 2026版核心升级的低代码编排能力,针对非技术人员的实操需求,从底层逻辑、双环境部署、三类实战案例、避坑指南四个维度展开。详解阿里云集群版(企业级)与汉化本地版(个人调试)的部署步骤,通过基础数据统计、公众号内容生产线、企业级任务调度三个递进式案例,演示可视化拖拽搭建自动化流程的完整过程。全程零代码/低代码操作,配套详细参数配置、执行结果模拟及问题排查方案,帮助销售、运营、自媒体等非技术人员快速掌握自动化工具,将重复工作交给AI,提升核心工作效率。 阅读详情

相关推荐

CANoe实战:手把手教你用J1939.dbc发送超8字节长帧报文(附完整CAPL代码)

本文详细解析了使用CANoe和J1939.dbc实现超8字节长帧报文的分包发送技术,提供完整的CAPL代码实现与优化策略。内容涵盖J1939.dbc配置、分包发送模块设计、接收端处理逻辑,并与ISO 15765-2协议进行深度对比,帮助开发者构建高效可靠的商用车通信解决方案。

weixin_29169899的博客 394

NLP入门系列—Attention 机制

Attention 正在被越来越广泛的得到应用。尤其是 [BERT]火爆了之后。Attention 到底有什么特别之处?他的原理和本质是什么?Attention都有哪些类型?本文将详细讲解Attention的方方面面。

4万+

手把手教你用LIO-SAM搞定激光雷达和IMU联合标定(附避坑指南)

本文详细介绍了使用LIO-SAM进行激光雷达与IMU联合标定的全流程,包括标定原理、工具选型、硬件配置、数据采集、LI_calib标定步骤及LIO-SAM集成验证。特别提供了避坑指南和参数优化技巧,帮助开发者高效完成传感器标定,提升自动驾驶和机器人定位精度。

hadoop5ranger的博客 995

【NLP相关】深入理解attention机制(产生、发展、原理、应用和代码实现)

attention机制并不是一个新概念,在很久之前(90年代)就有学者提出,其最早产生并且应用在计算机视觉(CV)领域,之后在自然语言处理(NLP)领域快速发展,最近又在CV领域火了起来。attention机制在深度学习各个领域都被广泛使用,尤其是CV和NLP任务中经常会出现attention机制的身影。本文将从原理角度深入分析attention机制。

WeLearnNLP 1万+

TikTok滑块验证码verifyV2逆向实战:从fp生成到captchabody加密的完整流程解析

本文详细解析了TikTok滑块验证码verifyV2的逆向工程全流程,从fp参数生成到captchabody加密机制,涵盖了验证码触发、WASM解密、轨迹模拟等关键技术点。通过实战案例和代码示例,帮助开发者深入理解反爬机制,提升逆向工程能力,应对复杂的验证挑战。

weixin_28568819的博客 482

virtualbox虚拟机里面最顶部没有控制、设置和帮助等选项

无意中操作,导致virtualbox虚拟机里面最顶部没有控制,设置和帮助选项  virtualbox虚拟机窗口显示如下如: 如何设置,窗口显示如下图所示呢: virtualbox虚拟机窗口模式显示设置,切换可以通过如下图所示操作进行切换: PS:一定要是右边的Ctrl+C

WEL测试 8780

NLP中的Attention机制

NLP中的Attention机制

qq_42341984的博客 744

STM32F407+LAN8720网口不通?别慌,手把手教你用CubeMX和LWIP搞定RMII以太网(附复位与PHY地址避坑指南)

本文详细解析了STM32F407与LAN8720通过RMII接口实现以太网通信的完整流程,重点解决了网口不通的常见问题。从硬件连接到CubeMX配置,再到LWIP网络参数设置,提供了复位时序、PHY地址配置等关键细节的避坑指南,帮助开发者快速排查和解决以太网通信故障。

weixin_33695082的博客 419

NLP中的attention机制总结

目录1 attention机制原理2 attention类型2.1 依据attention是否参数化可导分类2.1.1 Soft attention2.1.2 Hard attention2.2 依据输入是否全部用来计算attention向量分类2.2.1 Global attention2.2.2 Local attention2.3 依据attention实现功能分类2.3.1 Self Attention2.3.1.1 原理2.3.1.2 典型代表2.3.1.3 代码实现2.3.2 Multi-Hea

BGoodHabit的博客 2787

Tessent ATPG Flow 流程 (代码和注释)

**摘要:Tessent ATPG流程分为五个阶段:1) 环境初始化(加载设计文件、库和扫描链配置);2) DRC规则检查(验证设计可测试性并修复违例);3) ATPG向量生成(设置故障模型并运行引擎优化覆盖率);4) 向量验证与后处理(仿真验证并生成ATE格式文件);5) 进阶操作(多电压域和存储器测试)。流程输出包括测试向量、覆盖率报告和验证日志,支持stuck-at和transition故障模型,使用Tcl脚本控制。关键步骤包含扫描链配置、EDT压缩和覆盖率优化。

QQ_778132974的博客 932

【四足机器人项目实战】四足机器人腿部机械结构设计

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言 前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对四足机器人–腿部机械结构设计做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章 提示:以下是本篇文章正文内容 为了减轻腿部惯量,使用有限元分析着重进行轻量化设计,小腿采用工字梁方案,大腿采用内部镂方案,并使用1.5 mm的AL 6061硬质材料,轻量化的腿部设了腿部运动时摆动

qq_35635374的博客 7540

【NLP】Attention函数手册!

作者:一元,四品炼丹师前言目前的诸多机器学习相关的问题,诸如推荐问题中的序列处理,时间序列的预测,文本分类等问题都会涉及到Attention函数的使用,Attention已经成为了这些问题...

fengdu78的博客 443

116、影像质量主观评价方法论:标准场景与专家判读

本文探讨了影像质量主观评价的方法论,强调标准场景构建和专家判读体系的重要性。作者基于15年行业经验指出,仅靠客观指标无法保证观感质量,提出四类标准场景(灰阶、肤色、纹理、动态)的构建原则和四种专家判读维度(通透性、干净度、自然感、流程化)。文章揭示了主观评价中的常见误区,包括光源单一性、个人判读偏差、显示设备影响等,并建议建立多专家交叉验证机制和主观评价数据库。最后强调主观评价是可标准化的专业技术,需要将人眼感知转化为可追溯的技术参数。

sundong_81的博客 39

「NLP」 聊聊NLP中的attention机制

https://www.toutiao.com/i6716536091681227267/ 本篇介绍在NLP中各项任务及模型中引入相当广泛的Attention机制。在Transformer中,最重要的特点也是Attention。首先详细介绍其由来,然后具体介绍了其编解码结构的引入和原理,最后总结了Attention机制的本质。 作者&编辑 | 小Dream哥 1 注意力机...

喜欢打酱油的老鸟 510

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

attention机制_聊聊NLP中的Attention机制---抛砖引玉

写在前面:有一段时间没更新专栏了,哈哈,先吐槽下自己的龟速更新。 Attention机制基本已成为NLP的居家旅行必备技能,同时也是我一直关注的技术点,希望本篇内容能带给大家些许思考。如有描述不对的地方,欢迎拍砖。好了,废话不多说,进入正题!1. Attention机制attention机制最初是由Bahdanau等人通过“Neural Machine Translat...

weixin_39998881的博客 323

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【自然语言处理】聊聊注意力机制(Attention Mechanism)的发展

前言 其实,关于注意力机制的文章真的有很多,而且写得相当精彩(毕竟过去这么多年了),那这篇侧重于简单的一个介绍,使大家对注意力机制有个初步了解。 正文 首先这件事还要从序列到序列模型(Seq2seq Model)开始说起,最早的序列到序列模型是一个CNN+LSTM。 简单来说就是把CNN把编码端映射成一个固定向量,然后用LSTM一步步解码。 接着一个自然的想法是使用LSTM,因为LSTM的处理序列...

一起来书写我们的青春 4516

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

transformer中attention计算方式_[整理] 聊聊 Transformer

Attention is all you need 是一篇将 Attention 思想发挥到极致的论文,出自 Google。这篇论文中提出一个全新的模型,叫 Transformer,抛弃了以往深度学习任务里面使用到的 CNN 和 RNN (其实也不完全是,还是用到了一维卷积。。。打脸)。这个模型广泛应用于NLP领域,例如机器翻译,问答系统,文本摘要和语音识别等等方向。可以说是非常牛逼。今天,我打算...

weixin_39579548的博客 810

聊聊RNN与Attention

Attention Mechanism,称为注意力机制。基于Attention机制,seq2seq可以像我们人类一样,将“注意力”集中在必要的信息上。

2401_85327249的博客 690

NLP相关概念总结

attention机制 word2vec seq2seq Embedding Transformer RNN LSTM Bert Gpt3 Svm CRF Decision Tree Random Forest

DAICONG’s Blog 276

突破Transformer!讲透 Attention 机制 !!

今儿和大家来聊聊Attention机制的原理~Attention机制最早被提出用于自然语言处理中的序列模型,特别是在机器翻译任务中,它允许模型动态地聚焦于输入序列中的重要部分,从而使模型在生成输出时能更精确地捕捉上下文信息。Attention的主要目的是解决长序列中信息丢失和模型在处理长距离依赖时的难题。👇 每一篇都是干货满满哦!~~~咱们先从理论聊起~是通过计算输入序列中每个位置的重要性(即Attention权重),根据权重加权输入,从而让模型能动态选择更加重要的输入部分作为输出的依据。

2401_84204413的博客 1864

【完结】 12篇文章带你完全进入NLP领域,掌握核心技术

作者&编辑 | 小Dream哥 1 朴素贝叶斯贝叶斯分类器在早期的自然语言处理任务中有着较多实际的应用,例如大部分的垃圾邮件处理都是用的贝叶斯分类器。贝叶斯决策论是在统计概率框...

fengdu78的博客 419

动手深度学习(Pytorch)之路 --- Attention and Transformer

Attention 近年来,Attention机制越来越火,在下不才,可能比你们多看了几篇博客,分享一些我对于Attention机制的理解,推荐大家去看李宏毅老师的视频,讲的非常清楚,也可以参考博客。和绝大多数神经网络模型相似,Attention机制最先应用于图像领域,后来逐渐引入到自然语言处理中。经典的论文可以看看这几篇:《Recurrent Models of Visual Attention...

qq_37830928的博客 641

聊聊chatbot那些事

1. 生活中的chatbot ​ 现在社会,随着AI的迅猛发展,各种新技术层出不穷,大大改变了我们的生活,其中,有很多技术已经走入了我们的日常生活,比如CV领域的人脸识别 ,NLP 领域的智能助手等。本次,我们就来聊聊智能助手中会涉及到的技术,也就是chatbot。 ​ chatbot,其实是有很多分类的,目前,最常见的是把它分为一下几类: Chit-Chat-oriented Dialogue Systems: 闲聊型对话机器人,产生有意义且丰富的回复。 Task-oriented: 任务驱动类,

u013596454的博客 3060

【NLP】有三AI-NLP专栏首季总结与展望

回顾时间过的很快,时间过的很快。不知不觉,我们有三AI-NLP专栏就已经走过了一个季度了。这三个月,我们的NLP专栏更新了不少的内容,从NLP中最常用的机器学习模型,如H...

hacker_long的专栏 558

12篇文章带你进入NLP领域,掌握核心知识

专栏《NLP》第一阶段正式完结了。在本专栏中,我们从NLP中常用的机器学习算法开始,介绍了NLP中常用的算法和模型;从朴素贝叶斯讲到XLnet,特征抽取器从RNN讲到transforme...

Datawhale 435
上一篇: 【知识星球】重要小结与涨价预告
下一篇: 有三AI 1000问回归,备战秋招,更多,更快,更好,等你来战!
言有三
言有三 领域专家: 人工智能技术领域 领域专家: 人工智能技术领域
博客等级 码龄15年 3635粉丝 976原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

言有三

三人行必有AI

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值