【NLP】Attention机制

1.模型对比

  1. RNN(马尔科夫链式编码)

    • 通过递归计算逐个处理 token,当前编码结果 h t h_t ht仅依赖前一步的隐藏状态 h t − 1 h_{t-1} ht1和当前输入 x t x_t xt
    • 局限性:序列建模需严格串行,无法并行;长距离依赖易丢失(梯度消失/爆炸)
    • 例:双向 LSTM 需正向+反向两次遍历才能捕获上下文,但仍是局部传递
  2. CNN(局部窗口编码)

    • 使用固定尺寸的卷积核(如窗口为3)聚合局部上下文信息
    • 局限性:单层仅能捕获窗口内的局部特征,需多层堆叠扩大感受野
    • 例:深度 CNN 需多层级联才能建模长距离依赖,信息传递路径长
  3. Attention(全局交互编码)

    • 通过 Query-Key-Value 矩阵计算,直接建立任意两个 token 间的关联
    • 核心优势:单层即可全局交互,每个位置的编码融合了序列中所有 token 的信息
    • 例:Self-Attention 中,每个词与整个序列计算相似度权重(如公式中的 Q K T / d QK^T/\sqrt{d} QKT/d

2.Attention的实现方式

1.Attention的常见实现方式

  • 加性 Attention (Additive Attention / Bahdanau Attention)

    • 公式
      Score ( Q , K i ) = v T tanh ⁡ ( W q Q + W k K i ) \text{Score}(Q, K_i) = v^T \tanh(W_q Q + W_k K_i) Score(Q,Ki)=vTtanh(WqQ+WkKi)
    • 特点:通过可学习的参数矩阵 W q , W k W_q, W_k Wq,Wk和向量 v v v计算注意力权重,适用于 Query 和 Key 维度不同的场景。
  • 点积 Attention (Dot-Product Attention / Luong Attention)

    • 公式
      Score ( Q , K i ) = Q ⋅ K i \text{Score}(Q, K_i) = Q \cdot K_i Score(Q,Ki)=QKi
    • 特点:计算高效(矩阵乘法),但需 Query 和 Key 维度相同;当维度较高时,点积结果可能过大,导致 Softmax 梯度消失。
  • 缩放点积 Attention (Scaled Dot-Product Attention)

    • 改进点:在点积基础上引入缩放因子 d k \sqrt{d_k} dk ,缓解高维点积结果过大的问题。
    • 公式
      Attention ( Q , K , V ) = softmax ( Q K T d k ) V \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V Attention(Q,K,V)=softmax(dk QKT)

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

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

相关文章

基于OpenCV与PyTorch的智能相册分类器全栈实现教程

引言:为什么需要智能相册分类器? 在数字影像爆炸的时代,每个人的相册都存储着数千张未整理的照片。手动分类不仅耗时,还容易遗漏重要瞬间。本文将手把手教你构建一个基于深度学习的智能相册分类系统,实现:…

活动安排问题 之 前缀和与差分

文章目录 D. Robert Hood and Mrs Hood 考虑到一个活动开始时间和结束时间s,e,那么可以影响到的范围就是 s-d1,e,所以我们只需对这个每一个活动可以影响到的区域进行标记即可,当然为了降低时间复杂度,我们将使用前缀和与差分 t int(input()…

C++之 多继承

在学校里有老师和学生,他们都是人,我么应该创建一个名为 Person 的基类和两个名为 Teacher 和Student 的子类,后两者是从前者继承来的 有一部分学生还教课挣钱(助教),也就是同时存在着两个”是一个”关系&…

大数据学习栈记——Redis安装及其使用

本文介绍NoSQL技术:Redis的安装及其使用。操作系统:Ubuntu24.04 Redis介绍 Redis是一个键值(key-value)存储系统,即键值对非关系型数据库,和Memcached类似,目前正在被越来越多的互联网公司采用…

2024团体程序设计天梯赛L3-1 夺宝大赛

L3-037 夺宝大赛 分数 30 作者 陈越 单位 浙江大学 夺宝大赛的地图是一个由 nm 个方格子组成的长方形,主办方在地图上标明了所有障碍、以及大本营宝藏的位置。参赛的队伍一开始被随机投放在地图的各个方格里,同时开始向大本营进发。所有参赛队从一个方格…

JMeter的高并发和高频率和分布式

性能测试 模拟各种正常的、峰值的测试环境,检测程序的各项性能指标是否能够达标 高并发 JMeter中内置了定时器,可以实现时间模式相关的性能测试 需求1:同一时刻100个同学去访问学生管理系统的查询所有学院信息功能,统计高并发情况下平均响…

ubuntu学习day2

linux常用命令 3.文件查看及处理命令 3.1查看文件内容 cat[选项][文件] -b 对非空输出行编号 -E 在每行结束处显示$ -n 对输出的所有行编号 -s 不输出多行空行 标准输入、标准输出和标准错误 在 Linux 中,每个进程默认有三个文件描述符: 标准输入&…

项目中引入 Redis 及 常用五种数据类型

在平常的开发过程中,我们经常会用到缓存的技术。比如,验证码60秒后过期、计数器的实现、商品信息存储在缓存中快速展示等。那么,项目中经常会使用到的便是 redis 缓存。redis 在内存中操作,读写快。Redis 常用的数据类型有五种&am…

Spark-SQL简介及核心编程

Spark-SQL概述:是Spark用于结构化数据处理的模块,前身是Shark。Shark基于Hive开发,使SQL-on-Hadoop性能大幅提升,但对Hive依赖制约了Spark发展。SparkSQL汲取Shark优点并重新开发,在数据兼容、性能优化和组件扩展上优势…

奇趣点播系统测试报告

1.项目简介 本项目旨在搭建一个视频共享点播系统,服务器支持用户通过前端浏览器访问服务器,获取展示与观看和操作的界面,最终实现视频的上传以及观看和删改查等基础管理功能。让用户拥有良好的观看体验和分享视频的快捷方式,此外…

【Web API系列】WebSocketStream API 深度实践:构建高吞吐量实时应用的流式通信方案

前言 在当今的 Web 开发领域,实时通信已成为许多应用的核心需求。无论是即时聊天、实时数据仪表盘,还是在线游戏和金融交易系统,都需要高效的双向数据传输能力。传统的 WebSocket API 为此提供了基础支持,但在处理大规模数据流、…

基于LangGraph的智能报告生成平台项目分析

前言 不知道你是否知道或者了解OpenAI and Gemini Deep Research。他们是一种能够根据输入问题进行规划、结合网络搜索获取信息并最终呈现结果的研究工具或技术。那这样research是如何实现的呢?最近刚好看到一个实现类似功能的开源项目: open_deep_search。本文将基于该项目进…

Redis 常见的集群架构

Redis 常见的集群架构 以下是 Redis 常见的集群架构及其核心模式详解,结合其设计原理、适用场景和优缺点进行综合说明: 一、主从复制模式 架构原理 角色划分:包含一个主节点(Master)和多个从节点(Slave&…

面试宝典(C++基础)-01

文章目录 1. C++基础1.1 C++特点1.2 说说C语言和C++的区别1.3 说说 C++中 struct 和 class 的区别1.4 include头文件的顺序以及双引号""和尖括号<>的区别1.5 说说C++结构体和C结构体的区别1.6 导入C函数的关键字是什么,C++编译时和C有什么不同?1.7 C++从代码…

快速获得ecovadis认证的方法,如何提升ecovadis认证分数,有效期是多久

快速获得EcoVadis认证的方法 EcoVadis认证是企业社会责任&#xff08;CSR&#xff09;和可持续发展能力的国际评估标准&#xff0c;被广泛应用于供应链管理&#xff08;如苹果、微软、联合利华等巨头要求供应商通过EcoVadis评估&#xff09;。以下是快速获得认证的关键步骤&am…

ubuntu 安装samba

ubuntu 版本&#xff1a;Ubuntu 24.04.2 LTS 1. 保证连网 2. 安装samba sudo apt install samba 在安装结束以后&#xff0c;我们可以使用下面的命令来查看安装&#xff1a; apt list | grep samba freeipa-client-samba/noble 4.11.1-2 amd64 ldb-tools/noble 2:2.8.0samba…

基于SpringBoot的宠物健康咨询系统(源码+数据库+万字文档)

502基于SpringBoot的宠物健康咨询系统&#xff0c;系统包含三种角色&#xff1a;管理员、用户&#xff0c;顾问主要功能如下。 【用户功能】 1. 首页&#xff1a;查看系统主要信息和最新动态。 2. 公告&#xff1a;浏览系统发布的公告信息。 3. 顾问&#xff1a;浏览可提供咨询…

人工智能驱动的科研新范式及学科应用研究

人工智能&#xff08;AI&#xff09;驱动的科研新范式通过数据、算力、算法的深度耦合深度嵌入科学研究的全过程&#xff0c;引发科研流程、思考逻辑和组织模式的深刻变革。文章系统总结了AI驱动科研新范式的主要特征与形式&#xff0c;提出AI驱动科研新范式的演化方向由“科研…

代码生成工具explain的高级用法

修改 explain.cpp 中的模板部分&#xff1a; // 添加自定义头文件 cout << "#include \"CustomLib.h\"\n"; 生成支持日志的记录代码&#xff1a; cout << "Logger::init();\n"; // 自动插入初始化代码其他汇总 Magnet 多线程控制…

Vue3+elementPlus中 树形控件封装

1.组件 <template><div class"selection"><el-select placeholder"请选择" v-model"nameList" clearable clear"handleClear" ref"selectUpResId" style"width: 100%"><el-option hidden :…