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

Self-Attention结构细节及计算过程

一、结构

上面那个图其实不是那么重要,只要知道将输入的x矩阵转换成三个矩阵进行计算即可。自注意力结构的输入为 输入矩阵的三个变形 Q(query矩阵)、K(key矩阵)、V(value矩阵)构成,那么Q、K、V是如何得到的呢?

假设输入矩阵是 M*N的一个矩阵,也就是意味着输入有M个单词,则:

1.1 Q矩阵:

1.2 K矩阵:

1.3 V矩阵:

注:作为中间矩阵的行数必须是N的,否则不能做矩阵乘法,且Q、K两个矩阵必须行列一致,否则不能保持最后的Q、K、V矩阵行列一致。

二、self-Attention输出

计算公式如下:

 即计算Q矩阵与K矩阵的乘积,得到了一个N * N的矩阵,N为单词个数:

为了避免数值过大,除了向量维度的平方根。

接着计算每个单词对于其他单词的注意力系数,由于是对每一行过Softmax函数,则每行之和为1.

最后将得到的注意力系数矩阵与V矩阵相乘:

eg:word1如何计算得到z1:

 

Reference:Transformer模型详解(图解最完整版) - 知乎

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

相关文章:

  • 在Ubuntu18.04中安装uWebSockets库
  • 【Fluent】接着上一次计算的结果继续计算,利用计算过程中得到的物理场(温度、速度、压力等)插值Interpolate文件初始化模型的方法
  • 第二十九章 使用消息订阅发布实现组件通信
  • Transformer的位置编码
  • Python学习简记
  • windows搭建一个FTP服务器超详细
  • u01使用率100%报错归档满的问题
  • Packet Tracer - 配置扩展 ACL - 场景 2
  • 最近面了12个人,发现这个测试基础题都答不上来...
  • JAVA基于Springboot框架的停车场管理系统开发实践和实现【附源码】
  • [230501] 4月29日考试真题第一篇|Temporary Pools
  • Qt中QString, int等数据转换以及Qt与Halcon联编程序打包
  • Android FlexboxLayout布局
  • GNU编码标准(七)发布过程 相关内容摘录
  • DX算法还原
  • 多媒体API
  • 免费矢量图标网站有哪些?
  • 基于Redis的分布式限流详解
  • 权限提升:漏洞探针.(Linux系统)
  • python-11-多线程模块threading
  • 动态gif图片如何在线做?轻松实现图片在线生成gif
  • 浅谈联网汽车安全漏洞
  • 深入理解SeaTunnel:易用、高性能、支持实时流式和离线批处理的海量数据集成平台
  • 项目上线 | 兰精携手盖雅工场,数智驱动绿色转型
  • 102-Linux_I/O复用方法之poll
  • 【VAR模型 | 时间序列】帮助文档:VAR模型的引入和Python实践(含源代码)
  • Spark任务提交流程
  • python相对路径与绝对路径
  • SPSS如何进行基本统计分析之案例实训?
  • Python项目实战篇——常用验证码标注和识别(需求分析和实现思路)