注意力机制(attention mechanism)

1、注意力

       灵长类动物的视觉系统接收了大量的感官输入,这些感官输入远远超出了大脑能够完全处理的能力。然而,并非所有刺激的影响都是同等的。意识的汇聚和专注使灵长类动物能够在复杂的视觉环境中将注意力引向感兴趣的物体,例如猎物和天敌。只关注一小部分信息的能力对进化更加有意义,使人类以生存和成功。

2、注意力经济

       自经济学研究稀缺资源分配以来,人们正处在“注意力经济”时代,即人类的注意力(大量人群的注意力)被视为可以交换的、有限的、有价值的且稀缺的商品。

3、注意力的稀缺性

       注意力是稀缺的,而环境中的干扰注意力的信息却并不少。

       读者的注意力具有稀缺性,是一种稀缺资源,读者正在阅读这篇文章(而忽略了其他文章),因此读者的注意力是用机会成本(与金钱类似)来支付的。

4、注意力的管理分配能力

      整个人类历史中,这种只将注意力引向感兴趣的一小部分信息的能力使人类的大脑能够更明智地分配资源来生存、成长和社交,例如发现天敌、寻找食物和伴侣。

5、生物学中的注意力提示

       注意力如何应用于视觉世界中?需要从双组件(two-component)框架讲起(该框架由威廉詹姆斯在1890年代提出)。在这个框架中,受试者基于非自主性提示和自主性提示有选择性地引导注意力的焦点。

6、注意力机制的框架

       自主性的与非自主性的注意力提示解释了人类的注意力的方式,下面来看看如何通过这两种注意力提示,用神经网络来设计注意力机制的框架。(设计的灵感和依据来源,实证科学)

7、注意力汇聚

       注意力机制框架下的注意力机制的主要组件:查询(自主性提示)和键(非自主性提示)之间的交互形成了注意力汇聚:注意力汇聚有选择性地汇聚了值(感官输入)以生成最终的输出。

       如下图所示,注意力机制通过注意力汇聚将查询(自主性提示)和键(非自主性提示)结合在一起,实现对值(感官输入,包含更广)的选择倾向,形成注意力输出。

8、注意力模型

       这一在这个框架下的模型,称为主要的讨论内容。由简单到复杂,介绍内容包括Nadaraya-Waston核回归模型(1964),注意力评分函数(具体介绍两个典型评分函数)、Bahdanau注意力(没有严格单向对齐限制的可微注意力模型)、多头注意力、自注意力、位置编码、Transformer。

8.1 注意力汇聚

       介绍注意力汇聚的更多细节,以便宏观上了解注意力机制在实践中的运作方式。

       具体以1964年提出的Nadaraya-Waston核回归模型为例,这是一个简单但完整的例子,可以用于演示具有注意力机制的机器学习。

8.1.1 平均汇聚

f\left ( x \right )=\frac{1}{n}\sum_{i=1}^{n}y_{i}

8.1.2 非参数注意力汇聚

f\left ( x \right )=\frac{1}{n}\sum_{i=1}^{n}\frac{K\left ( x-x_{i} \right )}{\sum_{j=1}^{n}K\left ( x-x_{j} \right )}y_{i}

f\left ( x \right )=\sum_{i=1}^{n}\alpha \left ( x,x_{i} \right )y_{i}

8.1.3 带参数注意力汇聚

f\left ( x \right )=\sum_{i=1}^{n}\alpha \left ( x,x_{i} \right )y_{i}

                                     =\frac{1}{n}\sum_{i=1}^{n}\frac{exp\left (-\frac{1}{2}\left ( \left (x-x_{i} \right )w \right )^{2} \right )}{\sum_{j=1}^{n}exp\left (-\frac{1}{2}\left ( \left (x-x_{j} \right )w \right )^{2} \right )}y_{i}

8.2 注意力评分函数

       注意力权重,即键对应的值的概率分布。从注意力的角度来看,分配给每个值\mathbf{v}_{i}的注意力权重取决于一个函数\mathbf{\alpha} \left ( \mathbf{q},\mathbf{k}_{i} \right ),这个函数以值所对应的键\mathbf{k}_{i}和查询\mathbf{q}作为输入。

f\left ( \mathbf{q},(\mathbf{k}_{1},\mathbf{v}_{1}) ,...,(\mathbf{k}_{m},\mathbf{v}_{m})\right )= \sum_{i=1}^{m}\mathbf{\alpha} \left ( \mathbf{q},\mathbf{k}_{i} \right )\mathbf{v}_{i}\in \mathbb{R}^{v}

图 计算注意力汇聚的输出为值的加权和

其中,查询\mathbf{q}和键\mathbf{k_{i}}的注意力权重\mathbf{\alpha} \left ( \mathbf{q},\mathbf{k}_{i} \right ),该权重是一个标量,是通过将注意力评分函数a将两个向量映射成标量a\left ( \mathbf{q},\mathbf{k}_{i}\right ),再经过softmax运算得到的:

\mathbf{\alpha} \left ( \mathbf{q},\mathbf{k}_{i} \right )=softmax\left ( a\left ( \mathbf{q},\mathbf{k}_{i}\right ) \right )=\frac{exp\left (a\left ( \mathbf{q},\mathbf{k}_{i}\right ) \right )}{\sum_{j=1}^{m}exp\left (a\left ( \mathbf{q},\mathbf{k}_{j}\right ) \right )}\in \mathbb{R}

加性注意力:

a\left ( \mathbf{q},\mathbf{k}\right )=\mathbf{w}_{v }^{\top}tanh\left ( \mathbf{W}_{q}\mathbf{q} +\mathbf{W}_{k}\mathbf{k}\right )\in \mathbb{R}

缩放点积注意力:

a\left ( \mathbf{q},\mathbf{k}\right )=\mathbf{q}^{\top}\mathbf{k}/\sqrt{d}

8.3 Bahdanau注意力

将上下文变量视为注意力集中的输出。

\mathbf{c}_{​{t}'}=\sum_{t=1}^{T}\alpha \left ( \mathbf{c}_{​{t}'},\mathbf{h}_{t}\right )\mathbf{h}_{t}

8.4 多头注意力

与其只使用单独一个注意力汇聚,我们可以用独立学习到的h组不同的线性投影来变换查询、键和值。

\mathbf{h}_{i}=f\left (\mathbf{ W}_{i}^{\left (q \right )}\mathbf{q},\mathbf{ W}_{i}^{\left (k \right )}\mathbf{k},\mathbf{ W}_{i}^{\left (v \right )}\mathbf{v}\right )\in \mathbb{R}^{p_{v}}

\mathbf{H}=\mathbf{W}_{o}\begin{bmatrix} \mathbf{h}_{1} \\ \vdots \\ \mathbf{h}_{h} \end{bmatrix}\in \mathbb{R}^{p_{o}}

8.5 自注意力

       每个查询都会关注所有的键-值对,并生成一个注意力输出。由于查询、键、值来自同一组输入,因此被称为自注意力(self-attention),也被称为内部注意力(intra-attention)。

       给定一个词元组成的输入序列\mathbf{x}_{1},\cdots ,\mathbf{x}_{n},其中任意\textbf{x}_{i}\in \mathbb{R}^{d}\left ( 1\leq i\leq n \right )。该序列的自注意输出为一个长度相同的序列\mathbf{y}_{1},\cdots ,\mathbf{y}_{n},其中

\mathbf{y}_{i}=f\left (\mathbf{ x}_{i},\left (\mathbf{ x}_{1},\mathbf{ x}_{1} \right ),\cdots ,\left (\mathbf{ x}_{n},\mathbf{ x}_{n} \right )\right )\in \mathbb{R}^{d}

8.6 位置编码

       在处理词元序列时,循环神经网络是逐个重复地处理词元的,而自注意力则因为并行计算而放弃了顺序操作。

       为了使用序列的顺序信息,通过在输入表示中添加位置编码来注入绝对的或相对的位置信息。编码(Encoding)通常是指将原始数据或信息转化为计算机可处理的格式的过程。位置编码可以通过学习得到,也可以直接固定。

       介绍一个具体编码方式:基于正弦函数和余弦函数的固定位置编码。

       基于正弦函数和余弦函数的固定位置编码是Transformer模型中用于捕获输入序列中词序信息的一种重要方法。在原始Transformer论文《Attention is All You Need》中提出的方案,位置编码(Positional Encoding)为序列中的每个位置生成一个与词嵌入维度相同的向量,并将这个向量直接加到该位置对应的词嵌入上。

       假设输入表示\textbf{X}\in \mathbb{R}^{n\times d}包含一个序列中n个词元的d维嵌入表示。位置编码使用相同形状的位置嵌入矩阵\textbf{P}\in \mathbb{R}^{n\times d},输出\mathbf{X}+\mathbf{P}。矩阵\mathbf{P}i行、第2j列和第2j+1列上的元素分别为:

p_{i,2j}=sin\left ( \frac{i}{10000^{2j/d}} \right )

p_{i,2j+1}=cos\left ( \frac{i}{10000^{2j/d}} \right ).

8.6 Transformer

       与CNN和RNN相比,自注意力同时具有并行计算和最短最大路径长度这两个优势。因此,使用自注意力来设计深度架构是很有吸引力的。Transformer模型完全基于注意力机制,没有任何卷积层或循环神经网络层。

       Transformer最初是应用于在文本数据上的序列到序列学习,现在已经推广到各种现代的深度学习中,例如语言、视觉、语音和强化学习领域。

图   transformer架构 

 上面两幅展示了Transformer的中文架构和英文架构,英文架构类的模块名称和具体代码一一对应,方便大家对照代码、理解和使用。从宏观角度来看,Transformer的编码器和解码器都是基于自注意力的模块叠加而成的。其中,编码器是由多个相同的层叠加而成的,每个层有两个子层,第一个子层是多头自注意力(multi-head self-attention),第二个子层是基于位置的前馈网络(pointwise feed-forward network)。解码器也是由多个相同的层叠加而成,除了编码器中描述的两个子层,解码器还有第三个子层,称为编码器-解码器注意力层(encoder-decoder attention)。

9、注意力模型分析

各个模型的原理、具体实现和效果分析:(待续)

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

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

相关文章

【XR806开发板试用】FreeRTOS创建任务测试

这篇来学习下,XR806开发板在FreeRTOS系统下创建两个任务测试,由于没有找到学习的文档,试着参考例程来测试。 一、复制工程 上篇测试了hello_demo的测试例程,直接复制这个工程文件,在此基础上修改 rootubuntu:/home/…

HarmonyOS官网案例解析——保存应用数据

介绍 本篇Codelab将介绍如何使用基础组件Slider,通过拖动滑块调节应用内字体大小。要求完成以下功能: 实现两个页面的UX:主页面和字体大小调节页面。拖动滑块改变字体大小系数,列表页和调节页面字体大小同步变化。往右拖动滑块字体…

Linux安装consul的两种方式(在线和离线)

目录 📚第一章 前言📗背景📗软件概述 📚第二章 部署📗在线部署📕需要root权限📕执行安装命令📕启动consul服务📕验证consul服务 📗离线部署📕下载…

(九)上市企业实施IPD成功案例分享之——欧普

LED通用照明应用是LED照明应用市场的第一驱动力,由于LED照明技术发展迅速,以及成本快速下降,已成为全球主流照明光源。近年来,通过将智能控制模块嵌入LED通用照明终端,形成了具有自动控制、系统化控制等功能的智能照明…

听GPT 讲Rust源代码--library/panic_unwind

File: rust/library/panic_unwind/src/seh.rs 在Rust源代码中,rust/library/panic_unwind/src/seh.rs这个文件的作用是实现Windows操作系统上的SEH(Structured Exception Handling)异常处理机制。 SEH是Windows上的一种异常处理机制&#xff…

EDI 项目推进流程

EDI 需求确认 交易伙伴发来EDI对接邀请,企业应该如何应对? 首先需要确认EDI需求,通常包括传输协议和报文标准以及传输的业务单据类型。可以向交易伙伴发送以下内容: (中文版) 与贵司建立EDI连接需要使用…

【没有哪个港口是永远的停留~论文解读】stable diffusion

了解整个流程: 【第一部分】输入图像 x (W*H*3的RGB图像)【第一部分】x 经过编码器 生成 (latent 空间的表示) h*w*c (具体设置多少有实验)【第二部分】 逐步加噪得到 ,和噪声标签【第二部分】由 Unet( &#xff…

Kubernetes(k8s):Namespace详解

Kubernetes(k8s):Namespace详解 一、Namespace简介1.1 什么是Namespace1.2 Namespace的作用1.3 命名空间的分类 二、创建和管理Namespace2.1 创建Namespace2.2 管理Namespace 三、Namespace的实战应用3.1 部署多个项目3.2 环境隔离3.3 资源配…

从零开始配置kali2023环境:配置jupyter的多内核环境

在kali2023上面尝试用anaconda3,anaconda2安装实现配置jupyter的多内核环境时出现各种问题,现在可以通过镜像方式解决 1. 搜索镜像 ┌──(holyeyes㉿kali2023)-[~] └─$ sudo docker search anaconda ┌──(holyeyes㉿kali2023)-[~] └─$ sudo …

C++初阶——权限与继承

目录 一、C权限方面的问题 1.访问权限 2.继承机制 二、Cconst引用 const引用有以下几个特点 临时对象引用 常量引用成员变量 二、c引用空间相关问题 三.auto 一、C权限方面的问题 【C入门】访问权限管控和继承机制详解_权限继承功能-CSDN博客文章浏览阅读840次。(2)但…

YOLOv8训练自己的数据集(超详细)

一、准备深度学习环境 本人的笔记本电脑系统是:Windows10 YOLO系列最新版本的YOLOv8已经发布了,详细介绍可以参考我前面写的博客,目前ultralytics已经发布了部分代码以及说明,可以在github上下载YOLOv8代码,代码文件夹…

LVM和磁盘配额

一:LVM概述: LVM 是 Logical Volume Manager 的简称,译为中文就是逻辑卷管理。 能够在保持现有数据不变的情况下,动态调整磁盘容量,从而提高磁盘管理的灵活性 /boot 分区用于存放引导文件,不能基于LVM创建…

MongoDB vs MySQL:项目选择哪一个数据库系统?

由于市场上有各种可用的数据库,用户经常会就MongoDB与MySQL进行辩论,以找出更好的选择。 使用MySQL等关系数据库的组织在根据不断变化的需求管理和存储数据时可能会面临一定的困难。同时,新公司想知道选择什么数据库,这样他们就不…

【ArcGIS微课1000例】0085:甘肃省白银市平川区4.9级地震震中位置图件制作

据中国地震台网正式测定,12月31日22时27分在甘肃白银市平川区发生4.9级地震,震源深度10公里,震中位于北纬36.74度,东经105.00度。 文章目录 一、白银市行政区划图1. 县级行政区2. 乡镇行政区二、4.9级地震图件制作1. 震中位置2. 影像图3. 震中三维地形一、白银市行政区划图…

【LLM 】7个基本的NLP模型,为ML应用程序赋能

在上一篇文章中,我们已经解释了什么是NLP及其在现实世界中的应用。在这篇文章中,我们将继续介绍NLP应用程序中使用的一些主要深度学习模型。 BERT 来自变压器的双向编码器表示(BERT)由Jacob Devlin在2018年的论文《BERT:用于语言…

数据结构初阶之栈和队列(C语言版)

数据结构初阶之栈和队列(C语言版) ✍栈♈栈的结构设计♈栈的各个接口的实现👺StackInit(初始化)👺push(入栈)👺pop(出栈)👺获取栈顶元素👺获取栈中…

软件工程期末总结

软件工程期末总结 软件危机出现的原因软件生命周期软件生命周期的概念生命周期的各个阶段 软件开发模型极限编程 可行性研究与项目开发计划需求分析结构化分析的方法结构化分析的图形工具软件设计的原则用户界面设计结构化软件设计面向对象面向对象建模 软件危机出现的原因 忽视…

7.13N皇后(LC51-H)

算法: N皇后是回溯的经典题 画树: 假设N3 皇后们的约束条件: 不能同行不能同列不能同斜线 回溯三部曲: 1.确定函数参数和返回值 返回值:void 参数: int n:题目给出,N皇后的…

骨传导蓝牙耳机什么牌子好用?为你揭晓不踩雷的骨传导耳机排行

喜欢运动的朋友们,你们一定不能错过骨传导耳机!它真的是我们运动时的好帮手。为什么这么说呢?因为它不会像普通耳机那样塞住我们的耳朵,让我们在运动时感觉不舒服,甚至伤害耳朵。而且,它还可以帮助我们听到…

如何选择适用于光束分析应用的工业相机?

为光束质量分析系统选择合适的相机时,需要考虑许多关键特性。例如: ◈ 合适的波长范围:支持准确拍摄和测量所需波长的光束。 ◈ 高空间分辨率:更好地分析光束特征,如光束宽度、形状和强度分布。 ◈ 合适的传感器尺寸…