注意力机制:点积、通用、缩放点积、拼接、相加

2023-12-28 06:32

本文主要是介绍注意力机制:点积、通用、缩放点积、拼接、相加,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

自 然 语 言 推 理 (Natural Language Inference,NLI)任务中相对应的 句子等。如果将下游任务抽象成查询(query),就可 以归纳出注意力机制的通用形式,即将源文本看成 是键-值对序列,用K=(k1,…,kN )V=(v1,…,vN )分 别表示键序列值序列,用 Q=(q1,…,qM)表示查询序列,那么针对查询的注意力可以被描述为键-值对序列在该查询上的映射 。如图2所示,计算过程可分为三步:

(1)计算查询 和每个键 的注意力得分,常 用的计算方法包括

点积[7] 、

缩放点积[6] 、

拼接[7] 以及

相加[3] 等,如公式(1)所示;

(2)使用 Softmax 等函数对注意力得分归一 化处理,得到每个键的权重,如公式(2)所示;

(3)将权重和其对应的值加权求和作为注 意力输出,如公式(3)所示。

其中,W 和 U 代表可学习的参数矩阵,v代表参数向量。 

 

键−值对是源文本的组成元素,可以是字符、词、 短语、句子等,甚至是它们的组合[8] 。这些元素一般 用向量表示,向量不仅是元素的内容表示,同时也是 元素的唯一标识,在通常情况下 K=V。模型输出的 注意力是源文本序列基于查询 qt的表示,不同的查 询会给源文本序列带来不同的权重分布。注意力机制根据查询计算出源文本序列中与下游任务最相关 的部分,意味着不同的查询会关注源文本的不同部 分,因此注意力机制可以看成是一种基于查询源文本表示方法,理论上适用于任何文本处理任务。 

这篇关于注意力机制:点积、通用、缩放点积、拼接、相加的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/545234

相关文章

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

一文带你理解Python中import机制与importlib的妙用

《一文带你理解Python中import机制与importlib的妙用》在Python编程的世界里,import语句是开发者最常用的工具之一,它就像一把钥匙,打开了通往各种功能和库的大门,下面就跟随小... 目录一、python import机制概述1.1 import语句的基本用法1.2 模块缓存机制1.

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

MySQL中的锁和MVCC机制解读

《MySQL中的锁和MVCC机制解读》MySQL事务、锁和MVCC机制是确保数据库操作原子性、一致性和隔离性的关键,事务必须遵循ACID原则,锁的类型包括表级锁、行级锁和意向锁,MVCC通过非锁定读和... 目录mysql的锁和MVCC机制事务的概念与ACID特性锁的类型及其工作机制锁的粒度与性能影响多版本

Spring使用@Retryable实现自动重试机制

《Spring使用@Retryable实现自动重试机制》在微服务架构中,服务之间的调用可能会因为一些暂时性的错误而失败,例如网络波动、数据库连接超时或第三方服务不可用等,在本文中,我们将介绍如何在Sp... 目录引言1. 什么是 @Retryable?2. 如何在 Spring 中使用 @Retryable

详解Python中通用工具类与异常处理

《详解Python中通用工具类与异常处理》在Python开发中,编写可重用的工具类和通用的异常处理机制是提高代码质量和开发效率的关键,本文将介绍如何将特定的异常类改写为更通用的ValidationEx... 目录1. 通用异常类:ValidationException2. 通用工具类:Utils3. 示例文

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization