动手学深度学习-注意力机制

10.1注意力提示

  • 自主性注意力机制 有意识的注意力机制。
  • 非自主性注意力机制 无意识的注意力机制。

小结:

  • 人类的注意力是有限的,有价值和稀缺的资源。
  • 受试者使用非自主性和自主性提示有选择的引导注意力,前者基于突出性,后者则依赖于意识。
  • 注意力机制与全连接层或者汇聚层的区别源于增加的自主提示。
  • 由于包含了自主性提示,注意力机制与全连接的层或汇聚层不同。
  • 注意力机制通过注意力汇聚使选择偏向于值(感官输入),其中包含查询(自主性提示)和键(非自主性提示)。键和值是成对的。
  • 可视化查询和键之间的注意力权重是可行的。

注意力汇聚:Nadaraya-Watson核回归

在这里插入图片描述在这里插入图片描述

  • Nadaraya-Watson核回归是具有注意力机制的机器学习范例。
  • Nadaraya-Watson核回归的注意力汇聚是对训练数据中输出的加权平均。从注意力的角度来看,分配给每个值的注意力权重取决于将值所对应的键和查询作为输入的函数。
  • 注意力汇聚可以分为非参数型和带参数型。

注意力评分函数

在注意力机制中,注意力评分函数(Attention Scoring Function)是用来计算注意力权重的关键组成部分。这个函数决定了在生成输出时,模型应该给予输入序列中每个部分多少“注意力”。不同的评分函数会导致不同的注意力分布,进而影响模型的性能和行为。

常见的注意力评分函数:
在这里插入图片描述
注意力权重的计算:
一旦计算出评分,就会使用softmax函数将这些评分转换为概率分布(即权重),这些权重决定了值(Value)的加权组合方式,进而产生注意力机制的输出。
应用
在不同的任务和模型架构中,可以选择不同的评分函数,例如:Transformer模型使用的是缩放点积注意力。
选择哪种评分函数取决于特定任务的需求,以及输入数据的性质。

小结:

  • 将注意力汇聚的输出计算可以作为值的加权平均,选择不同的注意力评分函数会带来不同的注意力汇聚操作。
  • 当查询和键是不同长度的矢量时,可以使用可加性注意力评分函数。当它们的长度相同时,使用缩放的“点-积”注意力评分函数的计算效率更高。

10.4 Bahdanau注意力

加性注意力通过加性模型计算注意力分数。在这里插入图片描述是一种在神经网络中实现注意力机制的方法。
小结:

  • 在预测词元时,如果不是所有输入词元都是相关的,那么具有Bahdanau注意力的循环神经网络编码器-解码器会有选择地统计输入序列的不同部分。这是通过将上下文变量视为加性注意力池化的输出来实现的。
  • 在循环神经网络编码器-解码器中,Bahdanau注意力将上一时间步的解码器隐状态视为查询,在所有时间步的编码器隐状态同时视为键和值。

多头注意力

小结
多头注意力融合了来自于多个注意力汇聚的不同知识,这些知识的不同来源于相同的查询,键和值的不同的子空间表示。

自注意力和位置编码

定义:
在深度学习中,经常使用卷积神经网络(CNN)或循环神经网络(RNN)对序列进行编码。 想象一下,有了注意力机制之后,我们将词元序列输入注意力池化中, 以便同一组词元同时充当查询、键和值。 具体来说,每个查询都会关注所有的键-值对并生成一个注意力输出。 由于查询、键和值来自同一组输入,因此被称为自注意力(self-attention)。

小结:

  • 在自注意力中,查询,键和值都来自同一组输入。
  • 卷积神经网络和自注意力都拥有并行计算的优势,而且自注意力的最大路径长度最短。

Transformer模型

  • Transformer是编码器-解码器架构的一个实践,尽管在实际情况中编码器或解码器可以单独使用。
  • 在Transformer中,多头自注意力用于表示输入序列和输出序列,不过解码器必须通过掩蔽机制来保留自回归属性。
  • Transformer中的残差连接和层规范化是训练非常深度模型的重要工具。
  • Transformer模型中基于位置的前馈网络使用同一个多层感知机,作用是对所有序列位置的表示进行转换。

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

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

相关文章

Android多国语言翻译 国际化

语言目录详细对应关系 Arabic, Egypt (ar-rEG) —————————–阿拉伯语,埃及 Arabic, Israel (ar-rIL) ——————————-阿拉伯语,以色列 Bulgarian, Bulgaria (bg-rBG) ———————保加利亚语,保加利亚 Catalan, Spain (ca-r…

24年五年制专转本招生院校有可能发生变动

据悉,24年五年制专转本院校可能将发生改变,南京传媒学院有可能停止招生 将新增一所招生大学:南京航空航天大学金城学院 南京航空航天大学金城学院始建于1999年,是南京航空航天大学联合社会力量创办的独立学院。学校位于江苏省南京…

【Python百宝箱】挑战网络分析:NetworkX、iGraph、Graph-tool、Snap.py 和 PyGraphviz详细评测

五大 Python 网络分析工具库大揭秘:功能、性能对比 前言 随着信息时代的来临,网络结构的分析变得日益重要。在 Python 生态系统中,有许多强大的库可用于网络分析,如 NetworkX、iGraph、Graph-tool、Snap.py 和 PyGraphviz。这五…

Selenium IED-安装及简单使用

本文已收录于专栏 《自动化测试》 目录 背景介绍优势特点安装步骤录制脚本总结提升 背景介绍 Selenium 通过使用 WebDriver 支持市场上所有主流浏览器的自动化。 Webdriver 是一个 API 和协议,它定义了一个语言中立的接口,用于控制 web 浏览器的行为。 每…

WPF中DataGrid设置默认选中行

1、DataGrid命名为planDataGrid <DataGrid ItemsSource"{Binding PlanList}" SelectedItem"{Binding SelectedItem}" x:Name"planDataGrid" AutoGenerateColumns"False" CanUserAddRows"False" GridLinesVisib…

luttuce(RedisTempate)实现hash expire lua脚本

话不多说先放脚本&#xff1a; local argv ARGV local length #argv if length > 0 then local unpackArgs {} for i 1, length - 1 dotable.insert(unpackArgs, argv[i]) end if redis.call(exists, KEYS[1]) 1 thenredis.call(del, KEYS[1])redis.call(hset, KEYS[…

成都工业学院Web技术基础(WEB)实验二:HTML5表格、表单标签的使用

写在前面 1、基于2022级计算机大类实验指导书 2、代码仅提供参考&#xff0c;前端变化比较大&#xff0c;按照要求&#xff0c;只能做到像&#xff0c;不能做到一模一样 3、图片和文字仅为示例&#xff0c;需要自行替换 4、如果代码不满足你的要求&#xff0c;请寻求其他的…

报表生成器Stimulsoft用户手册:预览中具有动态数据排序的报告

Stimulsoft Reports 是一款报告编写器&#xff0c;主要用于在桌面和Web上从头开始创建任何复杂的报告。可以在大多数平台上轻松实现部署&#xff0c;如ASP.NET, WinForms, .NET Core, JavaScript, WPF, Angular, Blazor, PHP, Java等&#xff0c;在你的应用程序中嵌入报告设计器…

快来看!苹果开放侧载,对开发者来说是祸是福?

不知道你们听说了没有&#xff1f; 苹果公司在向SEC提供的2023年10-K文件中明确表现&#xff0c;伴随着欧盟委员会《数字市场法案》的正式落地将不得不在苹果手机上开放“应用侧载”功能。 简单来说&#xff0c;就是你的App可以不用在App Store里下载&#xff0c;而是可以通过…

【深度学习目标检测】六、基于深度学习的路标识别(python,目标检测,yolov8)

YOLOv8是一种物体检测算法&#xff0c;是YOLO系列算法的最新版本。 YOLO&#xff08;You Only Look Once&#xff09;是一种实时物体检测算法&#xff0c;其优势在于快速且准确的检测结果。YOLOv8在之前的版本基础上进行了一系列改进和优化&#xff0c;提高了检测速度和准确性。…

SQL Server数据库使用T-SQL语句简单填充

文章目录 操作步骤&#xff1a;1.新建数据库起名RGB2.新建表起名rgb3.添加三个列名4.点击新建查询5.填入以下T-SQL语句&#xff0c;点击执行&#xff08;F5&#xff09;6.刷新之后&#xff0c;查看数据 操作环境&#xff1a; win10 Microsoft SQL Server Management Studio 20…

vcpkg下载及安装

文章目录 vcpkg是什么vcpkg的优势Windows环境下的下载及安装1.下载 Linux环境下的下载及安装常用命令介绍1.1.1 设置默认安装的平台1.1.2可选步骤&#xff0c;将vcpkg与Visual Studio配合使用&#xff08;需要管理员权限&#xff09;1.1.3 软件包升级1.1.4 查找安装软件包1.1.5…

vm虚拟机操作

当时第一次对着敲对指令理解不完全&#xff0c;总体感觉脑子很乱&#xff0c;所以这里整理一下 ftp的搭建操作 [useracentos79 yum.repos.d]$ sudo -i [sudo] usera 的密码&#xff1a; // 输入的密码不显示 Pwd123.com [rootcentos79 ~] mv /etc/yum.repos.d/Cen…

LLM(六)| Gemini:谷歌Gemini Pro 开放API ,Gemini Pro 可免费使用

近期&#xff0c;Google Gemini Pro 开放API 了&#xff0c;且Gemini Pro 可免费使用&#xff01;Gemini Pro支持全球180个国家的38种语言&#xff0c;目前接受文本作为输入并生成文本作为输出。 Gemini API 地址&#xff1a;http://ai.google.dev Gemini Pro 的表现超越了其他…

全栈开发组合

SpringBoot是什么&#xff1f; SpringBoot是一个基于Spring框架的开源框架&#xff0c;由Pivotal团队开发。它的设计目的是用来简化Spring应用的初始搭建以及开发过程。SpringBoot提供了丰富的Spring模块化支持&#xff0c;可以帮助开发者更轻松快捷地构建出企业级应用 Sprin…

python基本数据类型(二)-数

数 在编程中&#xff0c;经常使用数来记录得分、表示可视化数据、存储Web应用信息&#xff0c;等等。Python能根据数的用法以不同的方式处理它们。 1.整数 在Python中&#xff0c;可对整数执行加&#xff08;&#xff09;减&#xff08;-&#xff09;乘&#xff08;*&#xf…

JavaScript——基本数据类型和运算符

数字&#xff08;number 包含NaN&#xff09; 整数浮点数负数科学计数法Infininfty&#xff08;无限大&#xff09; 字符串 字符串可以用双引号&#xff08; " " &#xff09;、单引号&#xff08; ’ ’ &#xff09;或反引号&#xff08;&#xff09;三种形式 …

抖音直播互动答题问答猜图猜成语图汉字找茬找不同微信字节流量主小程序开发

抖音直播互动答题问答猜图猜成语图汉字找茬找不同微信字节流量主小程序开发 抖音直播互动答题&#xff1a;在抖音直播中&#xff0c;主播可以进行答题活动&#xff0c;观众可以通过答题参与互动。主播会提出问题&#xff0c;观众在规定时间内发送答案&#xff0c;主播根据正确率…

服务器迁移到另一台服务器需要注意哪些?

迁移服务器到另一台服务器是一个复杂的任务&#xff0c;需要仔细规划和执行。以下是一些需要注意的关键点&#xff1a; 数据备份&#xff1a;在迁移服务器之前&#xff0c;务必进行数据备份&#xff0c;包括网站文件、数据库以及其他重要数据。备份可以保证数据的安全性&#x…

我常用的几个经典Python模块

Python常用的模块非常多&#xff0c;主要分为内置模块和第三方模块两大类&#xff0c;且不同模块应用场景不同又可以分为文本类、数据结构类、数学运算类、文件系统类、爬虫类、网络通讯类等多个类型。 大家常用的内置模块比如&#xff1a;math、re、datetime、urllib、os、ra…