注意力机制Attention详解

注意力机制Attention详解

一、前言

2018年谷歌提出的NLP语言模型Bert一提出,便在NLP领域引起热议,之所以Bert模型能够火出圈,是由于Bert模型在NLP的多项任务中取得了之前所有模型都不能达到的出色效果。那么Bert模型它是如何提出的呢?我们来追溯Bert模型的发展历史:
首先Bert模型是基于Transformer提出的,Transformer同样是谷歌团队在2017年发表的论文 《Attention is all you need》 中提出,Transformer又是基于attention机制,注意力(Attention)机制由Bengio团队于2014年提出。而目前大部分attention模型都是依附于Encoder-Decoder框架进行实现。因此,我们要讲解Bert,必须要从Encoder-Decoder框架开始说起。

二、注意力Attention简述

什么是注意力: 对于人类来说,视野非常开阔,但焦点往往只有小部分范围,甚至一个点,这就叫做注意力。它可以帮助人类在众多的信息中去筛选对人类有帮助的信息。
注意力机制的核心目标是: 从众多信息中选择出对当前任务目标更关键的信息,将注意力放在上面。

在这里插入图片描述

三、Encoder-Decoder框架

在这里插入图片描述
上图是最常见的Encoder-Decoder框架图,在文本处理和语音识别的Encoder部分通常采用RNN模型;在图像处理的Encoder部分通常采用CNN模型

举个栗子: 机器翻译
英文:Tom chase Jerry
中文:汤姆 追逐 杰瑞

对应在图中,输入序列 {x1=Tom,x2=chase ,x3=Jerry} ,经过Encoder,被编码成语义编码C,语义编码是一块高度抽象的内容。

这里的语义编码C的编码方式是啥呢?
编码方式有很多种,在NLP中常见的RNN/LSTM/以及它们的变种,这里我们以RNN为例。
输入序列{x1,x2,x3,x4},通过RNN生成隐藏层的状态值{h1,h2,h3,h4},最简单的办法可以直接采用最后时刻输出的ht作为C的状态值,这里也就是h4作为语义编码C的值,也可以将所有时刻的隐藏层的值进行汇总,然后生成语义编码C的值,这里就是C=q(h1,h2,h3,h4),q是非线性激活函数。

再通过Decoder将其解码为中文内容,同样解码也可以采用RNN/LSTM/以及它们的变种进行解码。Encoder编码和Decoder解码的方式可以任意搭配
解码完成后输出序列 {Y1=“汤姆”,Y2=“追逐”,Y3=“杰瑞”}。在此过程中,每次生成一个目标单词,每个目标单词的有效信息都不一样,例如“杰瑞”,与之最重要的信息是“Jerry”,其他的可以看作成噪声或者相关度不大的信息。

相比于注意力机制而言,还有一种分心模型
体现在翻译输出时,对于输入贡献的注意力是一样的。例如翻译:“杰瑞”时,“Tom”,“chase”,“Jerry”三者贡献的注意力相同(同一个C)。

分心模型的计算:
Y1 = f ( C ) ; Y2 = f ( C ,Y1 ) ; Y3 = f ( C ,Y1,Y2 )

引入注意力机制之后:
在这里插入图片描述

此时会分配不同的语义编码C,语义编码C会告诉输入哪一个更为相关。

引入注意力机制后的计算:
Y1 = f1 ( C1 ) ; Y2 = f1 ( C2 ,Y1 ) ; Y3 = f1 (C3 ,Y1,Y2 )
C汤姆 = g ( 0.6 * f2(Tom),0.2 * f2(chase),0.2 * f2(Jerry))
C追逐 = g ( 0.2 * f2(Tom),0.7 * f2(chase),0.1 * f2(Jerry))
C杰瑞 = g ( 0.3 * f2(Tom),0.2 * f2(chase),0.5 * f2(Jerry))
g(x) 是对构成的元素进行加权求和 :aij表示权重
在这里插入图片描述

四、Attention机制的具体计算过程

在这里插入图片描述
步骤:

  1. 根据Query和Key计算两者相似性或相关性;
    常见方法:
    (1) 两者向量点积: Similarity(Query,Keyi) = Query · Keyi
    (2) Cosine 相似性: Similarity(Query,Keyi) =(Query · Keyi)/||Query||·||Keyi||
    (3)引入额外的神经网络 MLP网络: Similarity(Query,Keyi) = MLP(Query,Keyi)
  2. 经过步骤1得到原始得分s1(例如Query = 汤姆,Key1 = Tom,经过F(Q,K)函数计算后得到两者相关性的得分,其他的同理。由于s1是一个实际的分值,通过softmax函数进行归一化处理,将得分映射到0-1之间得到权重系数(a1,a2,a3,a4)。
  3. 根据权重系数对Value进行加权求和。(权重系数a1,a2,a3,a4先分别和Value1,Value2,Value3,Value4相乘,最后相加)
    最终得到Attention Value

Attention计算公式:
在这里插入图片描述

五、Attention机制优缺点

优点:
1.速度快。Attention机制不再依赖于RNN,解决了RNN不能并行计算的问题。这里需要说明一下,基于Attention机制的seq2seq模型,因为是有监督的训练,所以咱们在训练的时候,在decoder阶段并不是说预测出了一个词,然后再把这个词作为下一个输入,因为有监督训练,咱们已经有了target的数据,所以是可以并行输入的,可以并行计算decoder的每一个输出,但是再做预测的时候,是没有target数据地,这个时候就需要基于上一个时间节点的预测值来当做下一个时间节点decoder的输入。所以节省的是训练的时间。
2.效果好。因为注意力机制,能够获取到局部的重要信息,能够抓住重点。
缺点:
1.只能在Decoder阶段实现并行运算,Encoder部分依旧采用的是RNN,LSTM这些按照顺序编码的模型,Encoder部分还是无法实现并行运算,不够完美。
2.因为Encoder部分目前仍然依赖于RNN,所以对于中长距离之间,两个词相互之间的关系没有办法很好的获取。

六、Self-Attention机制

在上面的Attention机制结构图中,Self-Attention其实表示的是Query、Key、Value三者是相同的值。(例如Query = Tom,Key1 = Value1 = Tom,Key2 = Value2 = chase,Key3 = Value3 = Jerry)。
同样下图中Query表示:making…(句子中的每一个词);Key/Value表示整句话中的每个单词权重系数表示句子中哪个词和我的这个词关联最大(making,more,difficu)
Self-Attention可以捕获同一个句子中单词之间的一些句法特征(比如下图中展示的有一定距离的短语结构)或者语义特征(图中its的指代对象是Law)
在这里插入图片描述

Self-Attention机制的优点:
更容易捕获句子中长距离的相互依赖特征,如果是RNN或者LSTM(都需要按照次序序列进行计算)对于长距离的相互依赖特征,要经过若干时间步步骤的信息累积才能够将两者联系在一起,距离越远,有效信息被稀释的越多,有效捕获的可能性越小。

Self-Attention不需要依赖次序序列计算,在计算过程中直接将句子中【任意两个单词的联系通过一个计算步骤直接联系在一起】对于远距离依赖特征之间的距离被极大缩短,有效的利用这些特征。

七、结语

以上是本人在学习注意力机制Attention过程中的个人见解,有不足之处欢迎指正!
接下来将学习建立在注意力机制基础上的Transformer,欢迎关注!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/53184.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

注意力机制(Attention Mechanism)-ECANet

引言 神经网络中的注意力机制(Attention Mechanism)是在计算能力有限的情况下,将计算资源分配给更重要的任务,同时解决信息超载问题的一种资源分配方案。在神经网络学习中,一般而言模型的参数越多则模型的表达能力越强…

注意力机制介绍(attention)

注意力机制是指我们将视觉注意力集中在图像的不同区域,或者将注意力集中在一句话中的某个词语,以下图为例: 人眼的视觉注意力允许我们以“高分辨率”关注某个特定区域(例如黄色框内的耳朵)同时以“低分辨率”处理周围的…

基于图像的场景三维建模

三月已过半旬,已是春暖花开的季节,也是我们科研爱好者最繁忙的一段时间。春天的到来,意味着新一届的学子即将离开学校,走向自己人生的第二段道路,也意味着您年伊始,所有的工作、项目、计划等都要开始步入正…

让运营人员相见恨晚的抖音自动化数据分析方案

让运营人员相见恨晚的抖音自动化数据分析方案 数据统计发现,目前抖音的用户数已超过5亿。流量时代,很多企业开始涌进这个庞大的流量池,基于抖音可以通过直播电商和广告投放等方式来挖掘商机。然而新机遇面前也是新的挑战,抖音类营…

LLaMA模型指令微调 字节跳动多模态视频大模型 Valley 论文详解

Valley: Video Assistant with Large Language model Enhanced abilitY 大家好,我是卷了又没卷,薛定谔的卷的AI算法工程师「陈城南」~ 担任某大厂的算法工程师,带来最新的前沿AI知识和工具,包括AI相关技术、ChatGPT、AI绘图等&…

【毕业设计】基于大数据的抖音短视频数据分析与可视化 - python 大数据 可视化

文章目录 0 前言1 课题背景2 数据清洗3 数据可视化地区-用户观看时间分界线每周观看观看路径发布地点视频时长整体点赞、完播 4 进阶分析相关性分析留存率 5 深度分析客户价值判断 5 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,…

跨国邮件诈骗团伙案例

如果某天你收到了这样一封邮件,啊,大体意思就是这人身患绝症且有一笔遗产,你是个幸运儿要你继承。 重点来了啊,他会伪造证件然后让你相信并按照对方的思路来,给他你的身份信息,例如身份证照片,你…

文献AI神器!司马阅(SmartRead)一键整理PDF论文摘要,轻松回答重点问题!

阅读本文大概需要 2.35 分钟。 在司马阅(SmartRead)、 Midjourney 等AI 内容生成工具大热,加上前几天OpenAI 开放API 功能后,许多工具串接AI 功能来实现不只是问答,而是更多图文影音内容的自动创造。我自己比较专注在文字内容、想法规划的部份…

如何持续架构治理?我们和 ChatGPT 聊了一会?

在上周的 QCon 北京 2022 大会上,我和我的同事黄雨青一起分享了《组织级架构治理的正确方式》,以帮助开发人员对组织级架构治理体系全貌一瞥,并厘清治理工具的设计思路和核心功能内容。 结合我们在 ArchGuard 的探索经验,我们&…

【AI提示】通过提供哪些具体要素,可以更好地引导chatGPT提供针对性、准确和完美的回答,以满足我的需求...

以下是几个AI副驾驶(ChatGPT、讯飞星火、阿里通义、Claude、Bing Chat)提供的回答: 一、ChatGPT 分析一下从你那得到完美回答所需提示的要素 从我那得到完美回答所需的要素可以归纳为以下几点: 1.清晰的问题陈述:一个…

blinker+esp8266-01s继电器模块+小爱同学,远程控制开关灯,有按键反馈

读者按照一下图片自行配置app #define BLINKER_WIFI #define BLINKER_MIOT_LIGHT #include <Blinker.h>#define LED 0 //定义继电器输入引脚为GPIO0//填入自己的信息 char auth[] " "; char ssid[] " "; char pswd[] " ";bool…

解决小米鼠标小爱同学无法登录问题

问题描述&#xff1a;点击左下角未登录&#xff0c;一直显示加载中&#xff0c;没有后续反应 解决办法&#xff1a;下载新的驱动 1、点击“关于” 2、点击“帮助中心”——>“常见问题”——>“使用语音、翻译等功能&#xff0c;需要下载驱动软件吗”&#xff1b; 访问…

raspberry Pi 连接蓝牙(小爱同学)

参数valueraspberry pi MOdel4B&#xff0c;4Gbbluetooth MOdel小爱同学writeTime2023年 2月11日 下午13&#xff1a;14分raspberry System ModelLinux raspberrypi 5.15.61-v8 #1579 SMP PREEMPT Fri Aug 26 11:16:44 BST 2022 aarch64 GNU/Linux 连接蓝牙 请在小爱同学app上…

小爱同学控制ESP8266点灯

小爱同学吃灰很久了&#xff0c;一直想接入小爱来控制些智能硬件&#xff0c;无奈小米的IOT开放平台只对企业用户开放。最近研究了点灯科技的物联网平台&#xff0c;软件硬件支持非常丰富&#xff0c;关键对于爱好者有免费的版本可以使用&#xff0c;爱了爱了有木有&#xff1f…

“小爱同学”商标遭抢注,小米上诉被驳回

本文转载自IT之家 IT之家 6 月 2 日消息 小米科技有限责任公司与知识产权局商标行政管理&#xff08;商标&#xff09;的案件于近日公布&#xff0c;“小爱同学”商标 37 类 建筑修理类曾于 2017 年被陈某注册成功&#xff0c;小米于 2018 年注册该商标被驳回后起诉知识产权局…

小爱同学控制灯 局域网

继电器--------i02 #include <ESP8266WiFi.h> #define LED 0 // 以上烧写程序配网方式可以换成微信扫码配网&#xff0c;等等&#xff0c;具体操作可查看博客相关例子 WiFiServer server(80); // 服务器端口号 void smartConfig() { WiFi.mode(WIFI_STA); Serial.printl…

有道CEO周枫:当我们谈论大模型时,应该关注哪些新能力?

作者&#xff1a;周枫 基于大语言模型技术的ChatGPT推出已经有4个月了&#xff0c;更多同类产品还在快速出现。比如&#xff0c;前天谷歌更新了Bard&#xff0c;将辅助编程能力支持的语言数量扩展到20种。 然而&#xff0c;对大模型技术的重要性也出现了质疑&#xff0c;前段…

手机里的PDF文件怎样发送给好友?

有时我们会通过手机将一些资料或东西拍成照片又以PDF格式进行保存&#xff0c;但却没有找到分享的方法&#xff0c;要怎样才能将手机里面保存的PDF发送给其他好友呢&#xff1f; 1、PDF制作 首先我们下载并安装极速PDF&#xff08;阅读器&#xff09;APP后&#xff0c;打开阅…

图片如何转PDF?这两种方法很好用

我们怎么把图片转换成PDF格式呢&#xff1f;在日常的工作和生活中&#xff0c;在不经意间我们的手机或者电脑就会存有大量的图片&#xff0c;我们想要将这些图片打包发送&#xff0c;用文件夹的方法还得压缩和解压&#xff0c;挨个发送又会很凌乱&#xff0c;有什么方法可以解决…

动画,及动画的基本使用

一.动画&#xff08;animation&#xff09;是CSS3中具有颠覆性的特征之一&#xff0c;可以通过设置多个节点来精确控制一个或一组动画&#xff0c;常用来实现复杂的动画效果。 相比较过渡&#xff0c;动画可以实现更多变化&#xff0c;更多控制&#xff0c;连续自动播放等效果…