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.mfbz.cn/a/716457.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

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…

ETAS AUTOSAR工具链的作用

一、AUTOSAR是什么&#xff1f; AUTOSAR&#xff08;Automotive Open System Architecture&#xff09;是一个全球性的联盟&#xff0c;致力于制定和推广汽车电子系统的标准化解决方案。它是由汽车制造商、供应商和工程公司组成的合作伙伴网络&#xff0c;旨在解决汽车电子系统…

[Qt的学习日常]--常用控件2

前言 作者&#xff1a;小蜗牛向前冲 名言&#xff1a;我可以接受失败&#xff0c;但我不能接受放弃 如果觉的博主的文章还不错的话&#xff0c;还请点赞&#xff0c;收藏&#xff0c;关注&#x1f440;支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、widget的…

U盘文件夹变exe:现象解析与数据恢复策略

一、U盘文件夹变exe现象描述 在日常使用U盘进行数据传输和存储的过程中&#xff0c;部分用户可能会遭遇一种异常现象&#xff1a;原本正常的文件夹突然变成了可执行文件&#xff08;即后缀为.exe的文件&#xff09;。这种变化不仅影响了用户对文件的正常访问和管理&#xff0c…

基于文本和图片输入的3D数字人化身生成技术解析

随着虚拟现实、增强现实和元宇宙等技术的飞速发展,对高度逼真且具有表现力的3D数字人化身的需求日益增长。传统的3D数字人生成方法往往需要依赖大量的3D数据集,这不仅增加了数据收集和处理的成本,还限制了生成的多样性和灵活性。为了克服这些挑战,我们提出了一种基于文本提…

短剧系统搭建全攻略:功能齐全,一步到位

前言 近年来&#xff0c;短剧系统以其独特魅力&#xff0c;成为大众消遣娱乐的热门选择。简单来说&#xff0c;短剧系统就是用来看短剧的小程序&#xff0c;它汇集了丰富多彩的短剧资源&#xff0c;让观众随时随地享受观影乐趣。本文将为你详细解析短剧系统的搭建全攻略&#…

GaussDB技术解读——GaussDB架构介绍(四)

目录 11 GaussDB云原生架构 11.1 云原生关键技术架构 11.2 关键技术方案 11.2.1 通信组件 11.2.2 集群管理组件 11.2.3 多租组件 GaussDB架构介绍&#xff08;三&#xff09;从智能关键技术方案、驱动接口关键技术方案等方面对GaussDB架构进行了解读&#xff0c;本篇将…

SpringBoot配置第三方专业缓存技术Memcached 下载 安装 整合测试 2024年5000字详解

Memcached下载和安装 是一个国内使用量还是比较大的技术 打开文件夹 我们需要在命令行窗口启动 注意要以管理员方式运行 先尝试进入指定文件 然后又再次运行 下载 memcached.exe -d install 启动 memcached.exe -d start 停止 memcached.exe -d stop memcached.exe -d i…

直播中的美颜技术详解:视频美颜SDK的开发与应用

今天&#xff0c;笔者将深入探讨直播中的美颜技术&#xff0c;解析视频美颜SDK的开发与应用。 一、视频美颜技术概述 视频美颜技术主要通过实时处理视频流&#xff0c;对人脸进行优化和修饰&#xff0c;使直播画面更加美观。这些功能不仅提升了用户的直播体验&#xff0c;还极…

程序员的悲哀是什么?

说在前面 在许多人眼中&#xff0c;程序员无疑是一份令人羡慕的职业。然而&#xff0c;这份工作背后隐藏的辛酸与挑战&#xff0c;却鲜为人知。技术的迅猛发展带来了持续的学习压力&#xff0c;孤独的编码长夜挑战着程序员的社交与情感需求。高强度的工作节奏和严苛的项目期限…

视觉应用线扫相机速度反馈(伺服转盘)

运动控制实时总线相关内容请参考运动控制专栏&#xff0c;这里不再赘述 1、运动控制常用单位u/s运动控制单位[u/s]介绍_运动控制 unit是什么单位-CSDN博客文章浏览阅读176次。运动控制很多手册上会写这样的单位&#xff0c;这里的u是英文单词unit的缩写&#xff0c;也就是单位…

10分钟部署一个个人博客

关于vuepress这里没必要过多介绍&#xff0c;感兴趣的可以直接去官网了解&#xff0c;下面是官网首页地址截图 &#xff1a;https://v2.vuepress.vuejs.org/zh/ 透过这张图&#xff0c;我们也可以大致的对这个框架的特点有一定的认识&#xff0c;这就够了。其他的东西我们在使用…

基于SSM框架的电影院售票网站

开头语&#xff1a; 你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果您对我们的电影院售票网站感兴趣或者有相关需求&#xff0c;欢迎通过文末的联系方式与我联系。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SSM框架 工具&#xff1a;ID…

m4s转mp3——B站缓存视频提取音频

前言 しかのこのこのここしたんたん&#xff08;鹿乃子乃子虎视眈眈&#xff09;非常之好&#xff0c;很适合当闹钟&#xff0c;于是缓存了视频&#xff0c;想提取音频为mp3 直接改后缀可乎&#xff1f;格式转换工具&#xff1f; 好久之前有记录过转MP4的&#xff1a; m4s转为…

Linux中文件查找相关命令比较

Linux中与文件定位的命令有find、locate、whereis、which&#xff0c;type。 一、find find命令最强&#xff0c;能搜索各种场景下的文件&#xff0c;需要配合相关参数&#xff0c;搜索速度慢。在文件系统中递归查找文件。 find /path/to/search -name "filename"…

数字孪生灌区信息化管理系统是如何实现水资源节水的?

在当今日益严峻的水资源形势下&#xff0c;如何实现水资源的节水利用已成为灌区管理的重中之重。幸运的是&#xff0c;随着信息化技术的快速发展&#xff0c;灌区信息化正成为推动水资源节水利用的有力工具。那么&#xff0c;数字孪生灌区信息化hua系统xit究竟如何实现水资源节…

Java环境安装

下载JDK https://www.oracle.com/cn/java/technologies/downloads/#jdk22-windows 点开那个下载都可以但是要记住下载的路径因为下一步要添加环境变量 选择编辑系统环境变量 点击环境变量 点击新建 新建环境变量JAVA_HOME 并输入JDK在计算机保存的路径 打开cmd 输入java -…

OSPF协议详解(二)

OSPF邻接关系建立流程 路由器在开启OSPF协议后先进入Down状态&#xff0c;此时路由器还未收到网络中其他路由器发送的Hello报文。 当路由器收到了其他路由器发送的Hello报文时&#xff0c;状态转发Init&#xff0c;当发来的Hello报文中有自己的Router ID时&#xff0c;状态转…

FPGA学习最好的2个网站?

自学FPGA最好的两个网站: Xilinx官方网站: ​网址链接&#xff1a; https://www.amd.com/zh-cn.html Xilinx Wiki - Confluence (http://atlassian.net) Xilinx GitHub&#xff08;https://github.com/Xilinx&#xff09; 电子创新网赛灵思社区 | 电子创新网 (http://eet…

Excel 常用技巧(五)

Microsoft Excel 是微软为 Windows、macOS、Android 和 iOS 开发的电子表格软件&#xff0c;可以用来制作电子表格、完成许多复杂的数据运算&#xff0c;进行数据的分析和预测&#xff0c;并且具有强大的制作图表的功能。由于 Excel 具有十分友好的人机界面和强大的计算功能&am…