Attention计算中的各个矩阵的维度都是如何一步步变化的?
在Transformer模型中,各个矩阵的维度变化是一个关键的过程,涉及到输入、编码器、解码器和输出等多个阶段。以下是详细的维度变化过程:
输入阶段
- 输入序列:假设输入序列的长度为
seq_len,每个单词或标记通过词嵌入(word embedding)转换为一个固定维度的向量,维度为d_model。因此,输入矩阵的维度为(seq_len, d_model)。 - 位置编码:位置编码(Positional Encoding)通常与词嵌入向量相加,以提供序列中每个单词的位置信息。位置编码的维度与词嵌入相同,即
(seq_len, d_model)。
编码器(Encoder)阶段
-
多头注意力机制(Multi-Head Attention):
- 查询(Q)、键(K)、值(V)矩阵:输入矩阵与权重矩阵相乘得到Q、K、V矩阵。假设每个头的维度为
d_k(通常d_k = d_model / num_heads),则Q、K、V的维度为(seq_len, d_k)。 - 注意力计算:Q与K的转置相乘,得到一个注意力得分矩阵,维度为
(seq_len, seq_len)。经过softmax处理后,再与V相乘,得到输出矩阵,维度为(seq_len, d_k)。 - 多头拼接:将所有头的输出拼接或平均,得到最终的输出矩阵,维度为
(seq_len, d_model)。
- 查询(Q)、键(K)、值(V)矩阵:输入矩阵与权重矩阵相乘得到Q、K、V矩阵。假设每个头的维度为
-
前馈神经网络(Feed-Forward Network):
- 输入矩阵经过两个线性变换和非线性激活函数,最终输出的维度保持为
(seq_len, d_model)。
- 输入矩阵经过两个线性变换和非线性激活函数,最终输出的维度保持为
解码器(Decoder)阶段
-
掩码多头注意力机制(Masked Multi-Head Attention):
- 类似于编码器中的多头注意力机制,但使用了掩码来防止解码器在生成时“偷看”未来的信息。输出矩阵的维度为
(seq_len, d_model)。
- 类似于编码器中的多头注意力机制,但使用了掩码来防止解码器在生成时“偷看”未来的信息。输出矩阵的维度为
-
编码器-解码器注意力机制:
- 解码器的查询(Q)与编码器的键(K)和值(V)进行注意力计算,输出矩阵的维度为
(seq_len, d_model)。
- 解码器的查询(Q)与编码器的键(K)和值(V)进行注意力计算,输出矩阵的维度为
输出阶段
- 线性层和Softmax:
- 解码器的输出经过一个线性层,将维度从
(seq_len, d_model)转换为(seq_len, vocab_size),其中vocab_size是词汇表的大小。 - 最后通过Softmax层,得到每个单词的概率分布,用于预测下一个单词。
- 解码器的输出经过一个线性层,将维度从
这些维度变化确保了Transformer模型能够有效地处理序列数据,并在各个层之间传递和转换信息。
相关文章:
Attention计算中的各个矩阵的维度都是如何一步步变化的?
在Transformer模型中,各个矩阵的维度变化是一个关键的过程,涉及到输入、编码器、解码器和输出等多个阶段。以下是详细的维度变化过程: 输入阶段 输入序列:假设输入序列的长度为seq_len,每个单词或标记通过词嵌入&…...
【数模学习笔记】插值算法和拟合算法
声明:以下笔记中的图片以及内容 均整理自“数学建模学习交流”清风老师的课程资料,仅用作学习交流使用 文章目录 插值算法定义三个类型插值举例插值多项式分段插值三角插值 一般插值多项式原理拉格朗日插值法龙格现象分段线性插值 牛顿插值法 Hermite埃尔…...
探索 C++ 与 LibUSB:开启 USB 设备交互的奇幻之旅
一、引言 在当今数字化时代,USB(通用串行总线)设备无处不在,从常见的 U 盘、鼠标、键盘,到复杂的工业数据采集设备、医疗监测仪器等,它们以方便快捷的插拔式连接,为人们的生活和工作带来了极大…...
二、模型训练与优化(4):模型优化-实操
下面我将以 MNIST 手写数字识别模型为例,从 剪枝 (Pruning) 和 量化 (Quantization) 两个常用方法出发,提供一套可实际动手操作的模型优化流程。此示例基于 TensorFlow/Keras 环境,示范如何先训练一个基础模型,然后对其进行剪枝和…...
3D可视化产品定制,应用于哪些行业领域?
3D可视化定制服务已广泛渗透至众多行业领域,包括汽车、家居、时尚鞋服、珠宝配饰以及数码电器等: 汽车行业: 借助Web全景技术与3D模型,我们高保真地再现了汽车外观,为用户带来沉浸式的车型浏览体验。用户可在展示界面自…...
Avalonia 入门笔记(零):概述
Avalonia 是一个基于 .NET 和 Skia 的开源、跨平台 UI 框架,支持 Windows、Linux、macOS、iOS、Android 和 WebAssembly。Skia 是一个基于 C 的开源 2D 渲染引擎,Avalonia 通过 Skia 自绘 UI 控件,保证在全平台具有一致的观感 基于 .NET 的跨…...
Unity TextMesh Pro入门
概述 TextMesh Pro是Unity提供的一组工具,用于创建2D和3D文本。与Unity的UI文本和Text Mesh系统相比,TextMesh Pro提供了更好的文本格式控制和布局管理功能。 本文介绍了TMP_Text组件和Tmp字体资产(如何创建字体资产和如何解决缺字问题),还有一些高级功…...
[论文阅读] (35)TIFS24 MEGR-APT:基于攻击表示学习的高效内存APT猎杀系统
《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期…...
12 USART串口通讯
1 串口物理层 两个设备的“DB9接口”之间通过串口信号建立连接,串口信号线中使用“RS232标准”传输数据信号。由于RS232电平标准的信号不能直接被控制器直接识别,所以这些信号会经过“电平转换芯片”转换成控制器能识别的“TTL校准”的电平信号ÿ…...
CF 368A.Sereja and Coat Rack(Java实现)
问题分析 简而言之,小明要邀请m个绅士到家,家里有n个挂衣钩,一个挂衣钩要支付i元,如果挂衣钩不够了就要给每个绅士赔d元 思路分析 所以思路就很清楚了,获取n,d,m的值,并用数组存放每…...
清华大学、字节跳动等单位联合发布最新视觉语言动作模型RoboVLMs
近年来,视觉语言基础模型(Vision Language Models, VLMs)大放异彩,在多模态理解和推理上展现出了超强能力。现在,更加酷炫的视觉语言动作模型(Vision-Language-Action Models, VLAs)来了&#x…...
网络安全、Web安全、渗透测试之笔经面经总结
本篇文章涉及的知识点有如下几方面: 1.什么是WebShell? 2.什么是网络钓鱼? 3.你获取网络安全知识途径有哪些? 4.什么是CC攻击? 5.Web服务器被入侵后,怎样进行排查? 6.dll文件是什么意思,有什么…...
.NET Core NPOI 导出图片到Excel指定单元格并自适应宽度
NPOI:支持xlsx,.xls,版本>2.5.3 XLS:HSSFWorkbook,主要前缀HSS, XLSX:XSSFWorkbook,主要前缀XSS,using NPOI.XSSF.UserModel; 1、导出Excel添加图片效果࿰…...
python bs4 selenium 查找a href=javascript:();的实际点击事件和url
在使用 BeautifulSoup 和 Selenium 时,处理 href"javascript:;" 的链接需要一些额外的步骤,因为这些链接不直接指向一个 URL,而是通过 JavaScript 代码来执行某些操作。这可能包括导航到另一个页面、触发模态窗口、显示/隐藏内容等…...
三 BH1750 光感驱动调试1
一 扫描设备 查看手册 BH1750 光感模块 寄存器地址为 0x23 官方手册 : http://rohmfs.rohm.com/en/products/databook/datasheet/ic/sensor/light/bh1750fvi-e.pdf su 然后用 i2cdetect 扫描设备: 拨,插 对比, 探测设备挂载在 /dev/i2c-5 上, 从设备地址为 0x23 二 …...
UE材质节点Fresnel
Fresnel节点 ExponentIn 控制边缘透明度 BaseReflectFractionIn 控制中心透明度...
linux的大内核锁与顺序锁
大内核锁 Linux大内核锁(Big Kernel Lock,BKL)是Linux内核中的一种锁机制,用于保护内核资源,以下是关于它的详细介绍: 概念与作用 大内核锁是一种全局的互斥锁,在同一时刻只允许一个进程访问…...
用户注册模块用户校验(头条项目-05)
1 用户注册后端逻辑 1.1 接收参数 username request.POST.get(username) password request.POST.get(password) phone request.POST.get(phone) 1.2 校验参数 前端校验过的后端也要校验,后端的校验和前端的校验是⼀致的 # 判断参数是否⻬全 # 判断⽤户名是否…...
面向对象的基本概念
本篇,来介绍面向对象的基本概念。 1 面向过程与面向对象 面向过程与面向对象,是两种不同的编程思想。 1.1 面向过程 面向过程的思路,是按照问题的解决步骤,将程序分解为一个个具体的函数或过程,然后依次调用这些函数来实现程序的功能。 面向对象的程序设计,程序的执行…...
深度学习每周学习总结R4(LSTM-实现糖尿病探索与预测)
🍨 本文为🔗365天深度学习训练营 中的学习记录博客R6中的内容,为了便于自己整理总结起名为R4🍖 原作者:K同学啊 | 接辅导、项目定制 目录 0. 总结1. LSTM介绍LSTM的基本组成部分如何理解与应用LSTM 2. 数据预处理3. 数…...
Chapter03-Authentication vulnerabilities
文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
P3 QT项目----记事本(3.8)
3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
STM32HAL库USART源代码解析及应用
STM32HAL库USART源代码解析 前言STM32CubeIDE配置串口USART和UART的选择使用模式参数设置GPIO配置DMA配置中断配置硬件流控制使能生成代码解析和使用方法串口初始化__UART_HandleTypeDef结构体浅析HAL库代码实际使用方法使用轮询方式发送使用轮询方式接收使用中断方式发送使用中…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
