Transformer - Self-Attention层的复杂度的计算

Transformer - Self-Attention层的复杂度的计算

flyfish

矩阵的维度

下面矩阵的维度是3×2即 3行,2列
6,10等都是矩阵里的元素
在这里插入图片描述
如果矩阵A的列数与矩阵B的行数相同,那么这两个矩阵可以相乘。即,若A是一个m×n矩阵,B是一个n×p矩阵,则它们的乘积C会是一个m×p矩阵。
中间相等,留两边。

在这里插入图片描述

两个矩阵相乘的复杂度是 O(m×p×n)

在这里插入图片描述

  1. 乘法操作的数量:
    对于C中的每个元素c[i][j],需要计算A的第i行与B的第j列对应元素的乘积之和,即求和m次乘法。因为C是一个m×p的矩阵,所以总共有m×p个这样的元素,因此总共需要做m×p×n次乘法操作。

  2. 加法操作的数量:在计算每个c[i][j]时,除了乘法外,还需要进行n-1次加法操作(首次乘积直接赋值,之后每次乘积与累加和相加)。因此,总的加法操作次数也是m×p×(n-1)。

基本矩阵乘法的总操作数是乘法和加法操作次数之和,即大约2mpn次操作。因此,其时间复杂度为O(mpn)。

乘法通常是计算密集型操作中更耗时的部分,所以在大O表示法中通常关注乘法的次数。不过,确实也进行了相似数量级的加法操作,但这不影响大O表示法的阶数。

C是一个m×p的矩阵,它包含mp个元素。因此,总的乘法操作次数是mp乘以n,即m×p×n次

Self-Attention层的复杂度的计算

在这里插入图片描述
n 是序列的长度,d 是向量的长度
Query = n ×d
Key = d × n

复杂度的计算之前的字母是 O(m×p×n) ,现在是(n × n × d),所以就是n的平方乘以d

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

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

相关文章

c++多态机制

多态 在 C 中,多态(Polymorphism)是一种面向对象编程的重要概念,它允许不同类的对象对同一消息做出不同的响应。具体来说,多态性允许基类的指针或引用在运行时指向派生类的对象,并且根据对象的实际类型来调…

ASP.NET在线二手交易系统的设计与实现

摘 要 随着当今社会信息技术的进步,基于互联网的各种应用日益受到了人们的重视,二手商品的重新利用也逐渐被人们关注,二手交易系统就在这种形势下产生了,它利用网络,改变了人们的购物方式。 本文是基于现代二手交易…

Java入门基础学习笔记22——程序流程控制

程序流程控制:控制程序的执行顺序。 程序有哪些执行顺序? 顺序、分支和循环。 分支结构: if、switch 循环: for、while、do-while 顺序结构是程序中最简单最基本的流程控制,没有特定的语法结构,按照代码…

SpringBoot上传文件到服务器(跨服务器上传)

目录 (一)上传文件到本地(windows) (二)上传文件到linux服务器 (三)跨服务器上传文件 (一)上传文件到本地(windows) 1.新建一个文件…

【OpenHarmony IDL工具规格及使用说明书】

OpenHarmony IDL工具规格及使用说明书 IDL接口描述语言简介 当客户端和服务器进行IPC通信时,需要定义双方都认可的接口,以保障双方可以成功通信,OpenHarmony IDL(OpenHarmony Interface Definition Language)则是一种…

Python代码:二、多行输出

1、题目 将字符串 Hello World! 存储到变量str1中,再将字符串 Hello Nowcoder! 存储到变量str2中,再使用print语句将其打印出来(一行一个变量)。 2、代码 import sys str1 Hello World! str2 Hello Nowcoder! print (str1,st…

Python 开发 框架安全:Django SQL注入漏洞测试.(CVE-2021-35042)

什么是 Django 框架 Django 是一个用 Python 编写的 Web 应用程序框架。它提供了许多工具和库,使得开发 Web 应用程序变得更加容易和高效。Django 遵循了“MTV”(模型-模板-视图)的设计模式,将应用程序的不同组件分离开来&#x…

解决kali Linux2024无法获取动态IPv4地址(DHCP)解决方案

用root用户启动终端 进入根目录,选择配置文件 cd到根目录下/../etc/network找到interfaces文件 编辑interfaces文件 vi interfaces,编辑interfaces文件 输入如下命令 打开虚拟网络编辑器 选择虚拟机选项卡,编辑,打开虚拟网络编…

AIGC行业现在适合进入吗

AIGC行业目前正处于快速发展阶段,市场需求正处于爆发期,上大学网(www.sdaxue.com)认为,对于有兴趣的个人或企业而言,现在可能是一个适合进入的时机,以下是具体的分析,供大家参考! 一、AIGC行业前…

【电路笔记】-有源低通滤波器

有源低通滤波器 文章目录 有源低通滤波器1、概述2、有源低通滤波器2.1 一阶低通滤波器2.2 带放大功能的有源低通滤波器3、有源低通滤波器示例4、二阶低通有源滤波器通过将基本的 RC 低通滤波器电路与运算放大器相结合,我们可以创建一个具有放大功能的有源低通滤波器电路。 1、…

TikTok Shop认知课 打通TK小店全流程

资料 001-先导课.mp4 002-如何用思维导图工具做课程笔记.mp4 003-TTS入驻模式.mp4 004-如何获取店铺.mp4 005-TTS店铺注册全流程,mp4 006-店铺整体运营思路.mp4 007-运营的几个误区.mp4 008-新店起店准备工作,mp4 009-规店铺风控注意事项,mp4 010-店铺基础设置之店铺…

【数据结构】堆(超详细)

文章目录 前言堆的概念及结构堆的实现堆的向下调整算法(建小堆为例)堆的向上调整算法(建小堆为例)堆的初始化销毁堆堆的插入堆的删除(规定删堆顶的数据)取堆顶元素判断堆是否为空获取堆的个数 完整代码(包括测试代码&a…

BUU-[极客大挑战 2019]Http

考察点 信息收集 http构造请求数据包 题目 解题步骤 参考文章:https://zhuanlan.zhihu.com/p/367051798 查看源代码 发现有一个a标签,但是οnclick"return false"就是点击后不会去跳转到Secret.php的页面 所以我就自己拼接url http://no…

JavaScript基础知识强化:变量提升、作用域逻辑及TDZ的全面解析

🔥 个人主页:空白诗 文章目录 ⭐️ 引言🎯 变量提升(Hoisting)👻 暂时性死区(Temporal Dead Zone, TDZ)解释📦 var声明🔒 let与const声明📖 函数声明 与 函数表达式函数声…

SprintBoot案例-增删改查

黑马程序员JavaWeb开发教程 文章目录 一、准备工作1. 准备数据库表1.1 新建数据库mytlias1.2 新建部门表dept1.3 新建员工表emp 2. 准备一个Springboot工程2.1 新建一个项目 3. 配置文件application.properties中引入mybatis的配置信息,准备对应的实体类3.1 引入myb…

Java类和对象(二)—— 封装,static 关键字与代码块

前言 在面向对象的编程语言中,有三大特性:封装、继承和多态~~ 今天我们就来学习封装的知识 封装 什么是封装 在现实生活中,我们经常使用手机来进行沟通与交流,实际上我们拿到的手机是被封装好的,精美的屏幕&a…

Pencils Protocol Season 2 收官在即,展望Season 3 及其权益

此前 Scroll 生态 LaunchPad &聚合收益平台 Pencils Protocol(原 Penpad),推出了首个资产即其生态代币 PDD 的 Launch,Season 2 活动主要是用户通过质押 ETH 代币、组件战队等方式,来获得 Point 奖励,并…

Go微服务: 日志系统ELK核心架构设计

微服务日志系统建设 1 )为什么需要日志系统 业务发展越来越庞大,服务器越来越多各种访问日志,应用日志,错误日志量越来越多,无法管理开发人员排查问题,需要到服务器上查日志 2 )Elastic Stack…

【MySQL】表的增删改查 | CRUD | 新增 | 查询 | 修改 | 删除 | 数据库约束

文章目录 表的增删改查一、CRUD1.新增(Create)1.插入多行2.指定列多行插入3.插入datetime类型4.插入当前时间5.插入查询的结果 2.查询(Retrieve)1.全列查询 *2.指定列查询3.查询字段为表达式4.指定别名 as5.去重 distinct6.排序 o…

人物介绍模板 PSD 源文件免费获取

免费获取 下载链接在最后! 下载链接在最后! 下载链接在最后! 下载链接在最后! 下载链接在最后! 链接:https://pan.baidu.com/s/1sq3e6djMdZt76Sh_uqVxWg 提取码:naun