Attention机制到底是什么?

AI算法之一 的Attention机制到底是什么,你知道吗?

这里写目录标题

  • 1. Attention 的本质
  • 2. Attention的3大优点
  • 3. Attention的原理
  • 3.Attention的类型
    • 3.1计算区域
    • 3.2 所用信息
    • 3.3 结构层次
  • 4. 模型方面
  • 5. 相似度计算

1. Attention 的本质

Attention(注意力)机制的本质:关注全部 → 关注重点

Attention机制最早在计算机视觉里应用的,随后在NLP领域开始应用,真正发扬光大实在NLP领域。
在这里插入图片描述

2. Attention的3大优点

  1. 参数少 : 与CNN、RNN相比,复杂度更小。
  2. 速度快: 解决了RNN不能并行计算问题。Attention机制每一步计算不依赖于上一步的计算结果,因此可以和CNN一样并行计算。
  3. 效果好:Attention能够挑重点,就算文本比较长,也不丢失重要信息。

3. Attention的原理

小故事理解Attention原理:
当一位学生在准备期末考试时(query),他可能会对不同科目的知识点进行复习(value)。对于他最感兴趣的科目或者他认为考试可能重点考查的内容,他会花更多的时间和精力进行深入的学习和复习(高权重)。而对于他认为不太重要或者已经熟悉的内容,他可能只需快速浏览一下以确认自己的掌握程度(低权重)。通过这种方式,他可以在有限的时间内有效地准备并且对考试内容有一个全面的了解。

STEP1: query和key进行相似度计算,得到权值s_i
STEP2: 将权值进行归一化,得到直接可用的权重a_i
STEP3: 将权重a_i和value进行加权求和
在这里插入图片描述

3.Attention的类型

Attention有多种类型:Soft Attention、Hard Attention、静态Attention、动态Attention、Self Attention等等。

3.1计算区域

  1. Soft Attention: 是比较常见的Attention方式,对所有key求权重概率,每个key都有一个对应的权重,是一种全局的计算方式(也可以叫Global Attention)。这种方式参考了所有key的内容,考虑的比较全面,但是计算量可能比较大。
  2. Hard Attention: 直接精准定位到某个key,其余key不管,可以理解为这个key的概率为1,其余的为0。这种方式要求很高,要求一部到位,如果没有正确对齐,会带来很大的影响。另一方面,因为不可导,一般需要强化学习的方法进行训练。
  3. Local Attention: 是以上两种方式的一个这种,对一个窗口区域进行计算。先用Hard方式定位到某个地方,以这个点为中心可以得到一个窗口区域,在这个区域内用Soft方式来求Attention。

3.2 所用信息

假设我们要对一段原文计算Attention,这里原文指的是我们要做attention的文本,那么所用信息包括内部信息和外部信息,内部信息指的是原文本身的信息,而外部信息指的是除原文以外的额外信息。

  1. General Attention:这种方式利用到了外部信息,常用于需要构建两段文本关系的任务,query一般包含了额外信息,根据外部query对原文进行对齐。

比如在阅读理解任务中,需要构建问题和文章的关联,假设现在baseline是,对问题计算出一个问题向量q,把这个q和所有的文章词向量拼接起来,输入到LSTM中进行建模。那么在这个模型中,文章所有词向量共享同一个问题向量,现在我们想让文章每一步的词向量都有一个不同的问题向量,也就是,在每一步使用文章在该步下的词向量对问题来算 attention,这里问题属于原文,文章词向量就属于外部信息。

  1. Local Attention:这种方式只使用内部信息,key和value以及query只和输入原文有关,在self attention中,key=value=query。既然没有外部信息,那么在原文中的每个词可以跟该句子中的所有词进行Attention计算,相当于寻找原文内部的关系。

还是举阅读理解任务的例子,上面的baseline中提到,对问题计算出一个向量q,那么这里也可以用上attention,只用问题自身的信息去做attention,而不引入文章信息。

3.3 结构层次

  1. 单层Attention: 这是比较普遍的做法,用一个query对一段原文进行一次attention。

  2. 多层Attention: 一般用于文本具有层次关系的模型,假设我们把一个文档划分成多个句子,在第一层,我们分别对每个句子使用attention计算出一个句向量(也就是单层attention);在第二层,我们对所有句向量再做attention计算出一个文档向量(也是一个单层attention),最后再用这个文档向量去做任务。

  3. 多头Attention:这是Attention is All You Need中提到的multi-head attention,用到了多个query对一段原文进行了多次attention,每个query都关注到原文的不同部分,相当于重复做多次单层attention:

head_i = Attention(q_i,K,V)

最后再把这些结果拼接起来:

MutiHead(Q,K,V) = Concat(head_1,…,head_h)W

4. 模型方面

从模型上看, Attention一般用在CNN和LSTM上,也可以直接进行纯Attention计算。

  1. CNN+Attention
  2. LSTM+Attention
  3. 纯Attention

5. 相似度计算

在做attention的时候,我们需要计算query和某个key的相似度,常用方法:

  1. 点乘
  2. 矩阵相乘
  3. cos相似度
  4. 串联方式
  5. 用多层感知机

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

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

相关文章

Redis 面试热点(二)

在前一篇文章中,我们介绍了 Redis 的基础知识和一些常见面试问题。本文将继续探讨 Redis 面试中的一些高级话题,包括 Redis 的事务、Lua 脚本、缓存一致性、热 Key 问题以及 Redis 与其他数据库的对比。 1. Redis 事务 Redis 事务的特性 原子性: Redi…

构建数字化校园,开启创新教育模式

在当今信息化时代,教育的转型升级已成为推动社会进步与发展的关键力量。构建数字化校园,不仅是对传统教育模式的革新,更是开启一场以技术赋能教育、创新驱动成长的教育革命。这一进程旨在通过深度融合信息技术与教育教学实践,重塑…

hive on spark 记录

环境&#xff1a; hadoop 2.7.2 spark-without-hadoop 2.4.6 hive 2.3.4 hive-site.xml <property><name>hive.execution.engine</name><value>spark</value> </property> <property><name>spark.yarn.jars</name>&l…

【代码随想录——动态规划——第三周】

1.目标和 这里设置背包的最大长度为2100即可&#xff0c;因为题目中有说数组之和小于1000.但考虑到我们需要实行jnums[i]所以保守起见我们设置的数应该稍大于2000即可&#xff0c;这里我们设置为2100。 1.1 我的解法&#xff08;粗糙了&#xff09; func findTargetSumWays(n…

Jackson指定json的key

指定json的key ‍ ‍ 要在序列化JavaBean时指定JSON的key&#xff0c;可以使用JsonProperty​注解来指定JavaBean属性序列化到JSON时使用的key。以下是一个简单的示例&#xff1a; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.da…

品质主管的面试题目

在品质主管的面试中,面试官可能会提出一系列问题来评估应聘者的经验、技能和专业知识。以下是一些常见的品质主管面试题,你可以提前准备,以更好地展示自己的能力和适应性。 一、自我介绍与背景了解 请简单介绍一下自己,包括教育背景、工作经验等。你在过去的工作经历中,主…

数据分析------知识点(六)

如何用数据说话 确定问题 如何写好数据分析报告中的确定问题部分 数据分析报告是数据分析师展示工作成果、影响业务决策的重要工具。而确定问题是数据分析报告的第一个也是最关键的部分。只有正确地确定了问题&#xff0c;后续的分析才能有的放矢&#xff0c;产生真正的价值…

BetterZip 5软件安装包下载

BetterZip是一款功能强大的Mac解/压缩软件&#xff0c;可以满足用户对文件压缩、解压、加密和保护等方面的需求。以下是关于BetterZip软件的主要功能、特点和使用方法的详细介绍&#xff0c;以及对其用户友好度、稳定性和安全性的评价。 安 装 包 获 取 地 址: BetterZip 5-安…

R语言 | 绘制带P值的差异柱状图

原文链接&#xff1a;R语言 | 绘制带P值的差异柱状图 本期教程 小杜的生信笔记&#xff0c;自2021年11月开始做的知识分享&#xff0c;主要内容是R语言绘图教程、转录组上游分析、转录组下游分析等内容。凡是在社群同学&#xff0c;可免费获得自2021年11月份至今全部教程&…

Docker配置代理

有时候我们在使用docker下载镜像的时候可能想要配置代理区下载那么本文就给大家分享一下docker怎么配置代理。 假设你已经有了代理&#xff0c;那就编辑/usr/lib/systemd/system/docker.service 在[Service]下添加 Environment"HTTP_PROXYhttp://127.0.0.1:6666/" E…

免费公开的源代码

虽然免费公开的软件被称为免费软件&#xff0c;但是一般不会公开源代码。另外&#xff0c;公开了源代码&#xff0c;并且可以免费使用&#xff0c;而且谁都可以自由进行修改并再次发布的软件被称为开源软件。 开源软件并不是特定企业开发的&#xff0c;大多数是由有关人士组织…

Spring 事务传播行为之Propagation.NESTED REQUIRES_NEW等探讨

当一个事务方法&#xff08;标记为Transactional(propagation Propagation.NESTED))被另一个活动事务调用时&#xff0c;它会创建一个“保存点”&#xff08;Savepoint&#xff09;作为新的事务开始点。这意味着&#xff0c;如果这个嵌套事务方法内部发生异常并导致回滚&#…

深入探讨:Spring与MyBatis中的连接池与缓存机制

深入探讨&#xff1a;Spring与MyBatis中的连接池与缓存机制 引言 在现代应用程序开发中&#xff0c;性能优化是一个永恒的话题。而在企业级Java应用开发中&#xff0c;Spring和MyBatis是两种非常流行的框架&#xff0c;它们的连接池和缓存机制对应用程序的性能有着至关重要的…

Vue55-TodoList案例-本地存储

一、TodoList案例-本地存储 此时&#xff0c;修改对象里面的属性&#xff0c;watch监视不到&#xff01; 需要深度监视&#xff0c;就不能用简写形式&#xff01; 二、jeecg-boot中的本地存储 jeecg-boot中&#xff0c;浏览器的本地存储&#xff0c;存储的是token&#xff01;…

kali - 配置静态网络地址 + ssh 远程连接

文章目录 观前提示&#xff1a;本环境在 root 用户下kali 配置静态网络地址打开网络配置文件 kali 配置 ssh 远程连接 观前提示&#xff1a;本环境在 root 用户下 kali 配置静态网络地址 打开网络配置文件 vim /etc/network/interfaces出现一下内容 # This file describes …

Parallels Desktop 19 for mac破解版安装激活使用指南

Parallels Desktop 19 for Mac 乃是一款适配于 Mac 的虚拟化软件。它能让您在 Mac 计算机上同时运行多个操作系统。您可借此创建虚拟机&#xff0c;并于其中装设不同的操作系统&#xff0c;如 Windows、Linux 或 macOS。使用 Parallels Desktop 19 mac 版时&#xff0c;您可在 …

git 如何撤销已经 push 的 merge

今天在合并代码时, 发现自己失误把另外一个分支 B 的代码合并到了自己分支 C, 于是想到要撤销这次 merge 一般地, 如果我们想要撤销某次 commit 可以 git revert <commit-id>. 然而, 对于 merge 类型的 commit 不能直接 git revert <commit-id> 这里举个例子: 我…

最新编程语言排行榜,C++ 和 Go 成为新王?!

大家好&#xff0c; 我是不爱敲代码吖,2024 年 6 月最新的 TIOBE 编程语言排行榜已经发布&#xff0c;如图&#xff1a; 注意&#xff0c;TIOBE 编程语言排行榜是基于 全球 工程师的数量、课程、热门网站、第三方供应商综合计算出来的&#xff0c;只是一个编程语言流行度和趋势…

MBTI:探索你的性格类型

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

网络知识:这些特殊的IP地址,具体的用途你都知道吗

目录 一、0.0.0.0 二、255.255.255.255 限制广播地址 三、127.0.0.1 本机地址 四、224.0.0.1 组播地址 五、169.254.x.x 六、10.x.x.x、172.16。x。x&#xff5e;172.31。x。x、192.168。x。x 私有地址 对于计算机网络来说&#xff0c;IP地址是非常重要的概念&#xff0c…