当前位置: 首页 > news >正文

Trm理论 3(注意力机制)

注意力机制(attention)

在使用LSTM,CNN等模型的时候,很难决定对于一个信息什么是重要的,什么是不重要的。因此注意力机制就是为了优化这一问题

怎么做注意力机制

注意力机制包含,查询对象(Q),被查询对象(V),K
K = k 1 , ⋯ , k n K=k_1,\cdots,k_n K=k1,,kn
用Q与K做点乘,求的K与Q的相似度,做一层softmax回归得到相似度的概率,在与v相乘最终得到新的v
s o f t m a x ( a 1 , ⋯ , a n ) ∗ ( v 1 , ⋯ , v n ) = V 1 softmax(a_1,\cdots,a_n)*(v_1,\cdots,v_n) = V^1 softmax(a1,,an)(v1,,vn)=V1
此时的 V 1 V^1 V1就包含了对于Q来说哪个信息更重要的信息。

自注意力机制(self-attention)

自注意力机制是注意力机制的一个子集,注意力机制没有规定KQV的来源。
自注意力机制规定KQV都来自输入X,可以说 K ≈ Q ≈ V K\approx Q\approx V KQV
KQV,是由X点乘 W K , W Q , W V W_K,W_Q,W_V WK,WQ,WV三个参数得到的,其余操作与注意力机制一样
在这里插入图片描述
在这里插入图片描述
为什么softmax要除以 d k \sqrt{d_k} dk
因为softmax会放大差距,举个例子
70,50 -》0.78,0.22
因此同时除以一个数字能够减少差距,让最后的概率不会过于离谱

self-attention与RnnS对比

RnnS不能解决长序列的问题,并且不能并行。
self-attention就解决了这个问题。
并且self-attention得到的z含有更多信息。

Masked(掩码) Self-attention

用生成模型生成下一个词的时候,我们希望给下一个词也做自注意力机制,但是生成的词是一个一个生成的,因此没有办法对整个句子做自注意力机制。
因此就需要掩码自注意力机制。
在这里插入图片描述
在这里插入图片描述
说白了就是你做第二个词的时候是不知道下一个词的

Multi-Head self-attention(多头自注意力机制)

提升了X,生成的 Z ′ Z{'} Z相对于Z有了提升。
在这里插入图片描述
把X对应点乘不同的h(通常为8)个矩阵,得到不同的8个QKV,做自注意力机制。
在这里插入图片描述
最后得到的多个Z拼接起来,在做一层线性变换,得到合适的维度。

那么为什么这样做有用呢

独热编码将物品的意义映射到空间向量的一个位置上,当你通过点乘W得到QKV相当于对这个物品意义的一部分进行自注意力的学习,如果使用多头自注意力,点乘不同的W得到8套QKV,相当于给这个物品的多个层面上学习,最终得到的Z所含信息就更全面,预测自然更加准确。

http://www.lryc.cn/news/431092.html

相关文章:

  • Vue2和Vue3项目创建的区别和 element ui 和element plus的导入方式
  • 基于STM32的猫狗宠物喂养系统设计(微信小程序)(215)
  • spark读取csv文件
  • 钢铁百科:Q420DR力学性能、Q420DR执行标准、Q420DR低温容器钢板
  • 三菱机器人手柄维修示教器维修手操器面板等
  • 中间件的学习理解总结
  • 编程秘密武器:提升工作效率的关键工具
  • Git+word记笔记
  • java-antrl手敲命令的hello world
  • 法规探讨 | 《医疗器械管理法(草案征求意见稿)》初探(1)
  • 大语言模型的上下文窗口(Context Windows):对人工智能应用的影响
  • Java【数组】
  • xAI巨无霸超级计算机上线:10万张H100 GPU,计划翻倍至20万张
  • python集合
  • 算法打卡 Day29(回溯算法)-复原 IP 地址 + 子集 + 子集 Ⅱ
  • LeetCode 热题100-17 缺失的第一个正数
  • 基于CloudflareSpeedTest项目实现git clone加速
  • 对与单纯post方法写项目的修改成baseservlet方法
  • 北京地铁换乘站人流量监控与图像识别技术优化
  • Day16_0.1基础学习MATLAB学习小技巧总结(16)——元胞数组
  • C#自定义控件的放置与拖动
  • python circular import python循环导入问题
  • kafka集群安装
  • SQL通用语法、SQL分类以及DDL
  • 静态链接和动态链接
  • 构建智能门禁安防系统:树莓派 4B、OpenCV、SQLite 和 MQTT 的应用(代码示例)
  • 基于 Konva 实现Web PPT 编辑器(二)
  • 【开源免费】基于SpringBoot+Vue.JS在线竞拍系统(JAVA毕业设计)
  • Qt TabWidget添加多个窗口,实现分页窗体布局
  • HarmonyOS开发实战( Beta5版)合理使用动画丢帧规范实践