深度学习——注意力机制、自注意力机制

什么是注意力机制?

1.注意力机制的概念:

我们在听到一句话的时候,会不自觉的捕获关键信息,这种能力叫做注意力。

比如:“我吃了100个包子”
有的人会注意“我”,有的人会注意“100个”。

那么对于机器来说,我们输入一项媒体信息,希望机器去注意某些关键信息,比如图片上的目标等,
能够实现这一功能的方法就是注意力机制,具体怎么实现请继续看。

2.注意力机制的核心问题

注意力机制的核心重点就是让网络关注到它更需要关注的地方

当我们进行深度学习训练时,我们想要让它注意到我们希望它关注的信息,而不是什么都去获取什么都注意,我们会希望让网络去自适应注意,让深度学习的卷积网络去自适应注意物体是注意力机制的的核心问题之一。

3.注意力机制的形式

通常来讲,基本的注意力机制分为通道注意力机制,空间注意力机制,混合注意力机制。

注意力机制的图示解析

在这里插入图片描述
对于一个图像媒体信息,我们可以将其分为多个特征层(通道),一个特征层(通道)都包含这个图像的部分信息。
1.通道注意力机制
顾名思义,我们是对于整个图像的某几个特征层(通道)特别注意,并没有特别地挑选出图像的某些区域,把这几个通道拿出来进行池化等操作,能够利于网络获取特征信息。

2.空间注意力机制
同样的顾名思义,我们对于图像中的某些区域特别注意,并且把这种区域的所有特征层都拿出来处理。

注意力机制的实现

如下图所示,注意力机制的本质是通过“查询”来生成一组能够重新作用于原图的权值,具体实现步骤有:
1.采用某种方法获取查询矩阵Q,然后获得查询图像返回的键值矩阵K,根据点积相乘获得一个“相似度“矩阵。
2.相似度矩阵中的各个数值经过运算,得出Q与K对应的的一组值,代表了Q和K的各项相关性得分,随后将得分进行缩放之后,采用softmax()归一化。
3.归一化之后得到“概率”向量a,用a和原本的权值矩阵v相乘得到可以作用于原图像的新的权值矩阵,完成注意力操作。

在这里插入图片描述

一些需要注意的点:(引自博客:【Transformer 相关理论深入理解】注意力机制、自注意力机制、多头注意力机制、位置编码)

为什么softmax前要缩放?为什么是除以维度的根号?
1.缩放是因为softmax归一化是有问题的,当缩放前的某个元素非常大的时候,softmax会把大部分的概率分给这个大的元素,这就会产生一个类似one-hot的向量,softmax反向传播会导致梯度消失。所以在softmax前缩放,缓解这种问题。
2.除以维度的根号因为我们希望输入softmax的数据是均值为0,方差为1。

为什么不能用Key和Key自乘得到相似度,而要新建一个Q?
如果Key自乘得到相似度,这个时候得到的其实是一个对称矩阵,相当于把Key投影到同一个空间中,泛化能力弱。

自注意力机制

自注意力机制和注意力机制的唯一区别就是QKV的来源。

在注意力机制中,Q,K,V不要求同源,只需K和V有一定关联即可。而自注意力机制要求Q,K,V同源,也就是说自注意力机制要获取自身内部的元素关联。

实现过程
1.通过共享参数Wq,Wk和Wz

之后的步骤便和注意力机制一样

如图所示,Thinking Machines这句话。
在这里插入图片描述

一开始,X1和X2是两个单词的特征矩阵,获取各自的Q,K,V之后,对于thinking来说,他会令q1和(k1,k2)卷积,然后得到一个得分,最后得出一个权值v,然后对于值z,它包含了thinking和thinking的联系还有thinking和machines的联系。

z向量(矩阵)本质上还是x,只不过是经过了重新得分后的v的作用,新的向量(矩阵)z包含了thinking和其他每一个词之间的关系。

而我们也可以用更长一点的话来使用自注意力机制,可见经过自注意力机制后,its这个单词包含了和law还有application这两个单词的相似度。这样我们再查询its这个单词的特征向量时也可以获得他和其他单词的相似度。
在这里插入图片描述
如果不做自注意力机制,its词向量就是单纯的its词向量,没有任何附加信息。而做了自注意力信息,its就有了law和application这层意思,可以包含law的信息,挖掘潜在意思,翻译起来就更加准确。

明日:常见注意力机制模型介绍,软硬注意力机制有什么差别,YOLO模型介绍。

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

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

相关文章

Docker Compose构建lnmp

目录 Compose的优点 编排和部署 Compose原理 Compose应用案例 安装docker-ce 阿里云镜像加速器 安装docker-compose docker-compose用法 Yaml简介 验证LNMP环境 Compose的优点 先来了解一下我们平时是怎么样使用docker的?把它进行拆分一下: 1…

BS框架说明

B/S架构 1.B/S框架,意思是前端(Browser 浏览器,小程序、app、自己写的)和服务器端(Server)组成的系统的框架结构 2.B/S框架,也可理解为web架构,包含前端、后端、数据库三大组成部分…

[深度学习] GPU处理能力(TFLOPS/TOPS)

计算能力换算 理论峰值 = GPU芯片数量GPU Boost主频核心数量*单个时钟周期内能处理的浮点计算次数 只不过在GPU里单精度和双精度的浮点计算能力需要分开计算,以最新的Tesla P100为例: 双精度理论峰值 = FP64 Cores *…

RK3588平台开发系列讲解(文件系统篇)什么是 VFS

文章目录 一、什么是 VFS二、VFS 数据结构2.1、超级块结构2.2、目录结构2.3、文件索引结点2.4、打开的文件2.5、四大对象结构的关系沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 今天我们一起来瞧一瞧 Linux 是如何管理文件,也验证一下 Linux 那句口号:一切皆为文…

【枚举,构造】CF1582 C D

Problem - C - Codeforces 题意: 思路: 思路很简单,只删除一种,直接枚举删除的是哪一种即可 但是回文子序列的判定我vp的时候写的很答辩,也不知道为什么当时要从中间往两边扫,纯纯自找麻烦 然后就越改越…

软件架构师高级——3、数据库系统

• 数据库概述(★★★) 集中式数据库系统 •数据管理是集中的 •数据库系统的素有功能 (从形式的用户接口到DBMS核心) 者口集中在DBMS所在的计算机。 B/S结构 •客户端负责数据表示服务 •服务器主要负责数据库服务 •数据 和后端…

【Linux】【预】配置虚拟机的桥接网卡+nfs

【Linux】【预】配置虚拟机的桥接网卡 1. 配置VM虚拟机的桥接网络2 配置Win10中的设置3.配置Linux中的IP4. 串口连接开发板,配置nfs5 修改网络文件6 验证nfs 是否成功总结 1. 配置VM虚拟机的桥接网络 右击设置,选择添加网络,按照如下顺序操作…

MySQL语句性能分析与优化

目录 SQL性能分析 SQL执行频率 SQL慢查询日志 Profile Explain SQL优化 插入数据的优化 主键优化 Order By优化 Group By优化 Limit 优化 Count 优化 Update 优化 多表连接查询优化 SQL性能分析 通过SQL性能分析来做SQL的优化,主要是优化SQL的查询语…

Springboot+Easyexcel将数据写入模板文件并导出Excel

SpringbootEasyexcel将数据写入模板文件并导出Excel 一、导入依赖二、根据excel表头创建对应的实体类Pojo三、Controller类接收请求四、Service层获取待写入数据五、效果展示六、总结 一、导入依赖 <!--操作excel工具包--> <dependency><groupId>com.alibab…

[Flask]SSTI1

根据题目提示&#xff0c;这关应该是基于Python flask的模版注入&#xff0c;进入靶场环境后就是一段字符串&#xff0c;而且没有任何提示&#xff0c;有点难受&#xff0c;主要是没有提示注入点 随机尝试一下咯&#xff0c;首先尝试一下guest&#xff0c;GET传参 但是没有反应…

离散Hopfield神经网络的联想记忆与matlab实现

1案例背景 1.1离散Hopfield神经网络概述 Hopfield网络作为一种全连接型的神经网络,曾经为人工神经网络的发展开辟了新的研究途径。它利用与阶层型神经网络不同的结构特征和学习方法,模拟生物神经网络的记忆机理,获得了令人满意的结果。这一网络及学习算法最初是由美国物理学家…

react中hooks的理解与使用

一、作用 我们知道react组件有两种写法一种是类组件&#xff0c;另一种是函数组件。而函数组件是无状态组件&#xff0c;如果我们要想改变组件中的状态就无法实现了。为此&#xff0c;在react16.8版本后官方推出hooks&#xff0c;用于函数组件更改状态。 二、常用API 1、use…

【css】css隐藏元素

display:none&#xff1a;可以隐藏元素。该元素将被隐藏&#xff0c;并且页面将显示为好像该元素不在其中。visibility:hidden&#xff1a; 可以隐藏元素。但是&#xff0c;该元素仍将占用与之前相同的空间。元素将被隐藏&#xff0c;但仍会影响布局。 代码&#xff1a; <!…

go编译文件

1.编译go文件 go build [go文件]2.执行文件编译文件 ./demo [demo为go文件名称]

当服务器域名出现解析错误的问题该怎么办?

​  域名解析是互联网用户接收他们正在寻找的域的地址的过程。更准确地说&#xff0c;域名解析是人们在浏览器中输入时使用的域名与网站IP地址之间的转换过程。您需要站点的 IP 地址才能知道它所在的位置并加载它。但&#xff0c;在这个过程中&#xff0c;可能会出现多种因素…

web服务

静态网页与动态网页的区别 在网站设计中&#xff0c;静态网页是网站建设的基础&#xff0c;纯粹 HTML 格式的网页通常被称为“静态网页”&#xff0c;静态网页是标准的 HTML 文件&#xff0c;它的文件扩展名是 .htm、.html&#xff0c;可以包含文本、图像、声音、FLASH 动画、…

MySQL(1)

MySQL创建数据库和创建数据表 创建数据库 1. 连接 MySQL mysql -u root -p 2. 查看当前的数据库 show databases; 3. 创建数据库 create database 数据库名; 创建数据库 4. 创建数据库时设置字符编码 create database 数据库名 character set utf8; 5. 查看和显示…

【前瞻】视频技术的发展趋势讨论以及应用场景

视频技术的发展可以追溯到19世纪初期的早期实验。到20世纪初期&#xff0c;电视技术的发明和普及促进了视频技术的进一步发展。 1&#xff09;数字化&#xff1a;数字化技术的发明和发展使得视频技术更加先进。数字电视信号具有更高的清晰度和更大的带宽&#xff0c;可以更快地…

Spring源码解析(七):bean后置处理器AutowiredAnnotationBeanPostProcessor

Spring源码系列文章 Spring源码解析(一)&#xff1a;环境搭建 Spring源码解析(二)&#xff1a;bean容器的创建、默认后置处理器、扫描包路径bean Spring源码解析(三)&#xff1a;bean容器的刷新 Spring源码解析(四)&#xff1a;单例bean的创建流程 Spring源码解析(五)&…

SSE技术和WebSocket技术实现即时通讯

文章目录 一、SSE1.1 什么是SSE1.2 工作原理1.3 特点和适用场景1.4 API用法1.5 代码实现 二、WebSocket2.1 什么是WebSocket2.2 工作原理2.3 特点和适用场景2.4 API用法2.5 代码实现 三、SSE与WebSocket的比较 当涉及到实现实时通信的Web应用程序时&#xff0c;两种常见的技术选…