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

第十六周周报

文章目录

  • 摘要
  • Abstract
  • Multi-Head Self-attention
  • 位置编码
  • 编码器和解码器的主要区别
    • encoder
    • decoder
    • Difference
  • 总结

摘要

在上周深入掌握词嵌入、自注意力机制及QKV计算原理的基础上,本周我进一步探究了多头注意力机制如何并行捕捉序列中不同维度的关联信息,并理解了前馈网络在特征非线性变换与增强中的作用。了解了位置编码的相关内容。通过对比分析,我重点辨析了编码器在上下文语义表示与解码器在自回归生成任务中的核心功能差异及结构设计特点,从而对Transformer模型的整体架构和工作机制建立了更为系统全面的认识。

Abstract

Based on the in-depth understanding of word embedding, self attention mechanism and Qkv computing principle last week, this week I further explored how the multi head attention mechanism can capture the correlation information of different dimensions in a sequence in parallel, and understood the role of feedforward network in feature nonlinear transformation and enhancement. Through the comparative analysis, I focus on the differences of the core functions and structural design features between the encoder in the context semantic representation and the decoder in the autoregressive generation task, so as to establish a more systematic and comprehensive understanding of the overall architecture and working mechanism of the transformer model

Multi-Head Self-attention

在 Self-Attention 中,所有词向量都会通过同一组参数矩阵映射到同一个语义空间来计算相关性,这意味着它只能从一种角度去衡量词与词之间的关系,而语言中的依赖往往多层次、多维度,比如既有语法关系又有语义关系,单一空间就可能导致模型只捕捉到某一种主导关系而忽略其他重要联系,从而限制了表达能力。例如每次计算都是在同一个语义空间里完成的,可能只能捕捉一种类型的关系(比如语法关系),而忽视了其他信息(比如语义、位置、句法)。
在这里插入图片描述
为了解决Self-Attention 中单一空间限制的弊端,于是我们引入了mulit-head Self-attention。

多头自注意力机制(Mulit-head Self-attention)是在自注意力的基础上引入多个并行的注意力头,每个头通过不同的参数矩阵把输入映射到不同的子空间中独立计算注意力,再将这些结果拼接并线性变换,从而使模型能够从多个角度同时捕捉序列中词与词之间的多样化依赖关系,获得更丰富、更全面的表示。

多头自注意力机制的 head 数 并不是一个固定的理论值,而是一个超参数,需要在 模型规模、计算资源和任务需求 之间权衡来确定。一般来说,head 数的选择遵循以下规律:
在 Transformer 里,隐藏维度在这里插入图片描述会被均分给每个head上,即每个head的维度通常是
在这里插入图片描述
因此head的数量h需要能整除在这里插入图片描述,否则没办法均分。例如GPT-3的每一个向量是12288维,需要有96个head,每一个向量被分为96个128维的向量。
下面以2个head的情况加以介绍,
在这里插入图片描述
我们将输入向量ai分别与参数矩阵Wq、Wk、Wv相乘得到Qi、Ki、Vi,然后再将得到的Qi、Ki、
Vi进行数据拆分,如上图所示,得到Q1为(1,1,0,1),head数h=2,于是就将Q1进行线性映射(线性映射实质上就是对Q1进行均分),得到q11(1,1)和q12(0,1)。
将新得到的下标为1的分为一组作为head1,将下标为2的分为另外一组作为head2
在这里插入图片描述
接下来需要对结果进行拼接(将b11与b12拼接(第一个向量输出的head),b21和b22进行拼接(第二个向量输出的)),然后再对每个拼接结果分别乘上同一个 𝑊O得到最终输出。

位置编码

Transformer 的核心运算是 Self-Attention。它的好处是能捕捉任意两个 token(输入向量)之间的依赖关系,而不受距离限制。Self-Attention 本身是 无序的 —— 它把输入序列看成一个集合(set),没有顺序信息。比如输入 “I love NLP”和“NLP love I”,在 Self-Attention 里,如果没有额外机制,它们会被当成一样的输入,因为 attention 只会根据向量之间的相似度来算关系。所以必须引入 位置编码(Positional Encoding),来告诉模型 token 在序列里的位置。
在这里插入图片描述
在这里插入图片描述

编码器和解码器的主要区别

encoder

encoder,也就是编码器,负责将输入序列压缩成指定长度的向量,这个向量就可以看成是这个序列的语义,然后进行编码,或进行特征提取(可以看做更复杂的编码)。
简单来说就是机器读取数据的过程,将现实问题转化成数学问题
在这里插入图片描述
在这里插入图片描述

decoder

也就是解码器,负责根据encoder部分输出的语义向量c来做解码工作。以翻译为例,就是生成相应的译文。
在这里插入图片描述

Difference

(1)第一级中: 将self attention 模块加入了Masked模块,变成了 Masked self-attention, 这样以来就只考虑解码器的当前输入和当前输入的左侧部分, 不考虑右侧部分; ( 注意,第一级decoder的key, query, value均来自前一层decoder的输出,但加入了Mask操作,即我们只能attend到前面已经翻译过的输出的词语,因为翻译过程我们当前还并不知道下一个输出词语,这是我们之后才会推测到的。)
(2)第二级中:引入了 Cross attention 交叉注意力模块, 在 masked self-attention 和全连接层 之间加入;
(3)Cross attention 交叉注意力模块的输入 Q,K,V 不是来自同一个模块,K,V 来自编码器的输出, Q来自解码器的输出;
【注意】 解码器的输出一个一个产生的
在这里插入图片描述
其中新出现的Masked self attention模块
例如,1300个token,其中第一个token只能和自己进行信息聚合、第二个只能和本身及前一个进行信息聚合,以此类推……
在这里插入图片描述

总结

本周主要对上周未完成的transformer的相关知识进行补充学习,明白了mulit-head Self-attention的工作原理、对比了其与Self-attention的不同之处;明白了位置编码对于transformer的重要性;学习了transformer的结构,重点掌握了编码器和解码器之间的区别。


文章转载自:

http://CWJZwgEq.kjksn.cn
http://nXSYRVEc.kjksn.cn
http://ZokdzNen.kjksn.cn
http://Nxh0FHhq.kjksn.cn
http://A15PuhGZ.kjksn.cn
http://0eonezSS.kjksn.cn
http://VlP8AB5q.kjksn.cn
http://ESz1im7K.kjksn.cn
http://W0UqknEy.kjksn.cn
http://etDhAaHt.kjksn.cn
http://h4Dvfs1b.kjksn.cn
http://70Xm4CD6.kjksn.cn
http://nNy7x4uv.kjksn.cn
http://wrZDrrxf.kjksn.cn
http://Gw6cwV3D.kjksn.cn
http://hAthR0y6.kjksn.cn
http://Zw3VllPb.kjksn.cn
http://T2XompPP.kjksn.cn
http://fO36Jcj5.kjksn.cn
http://hRX8cb3t.kjksn.cn
http://Jtjslzo1.kjksn.cn
http://AI58zOxE.kjksn.cn
http://GIvIIQSr.kjksn.cn
http://PGka1Mu5.kjksn.cn
http://F5NxhPHt.kjksn.cn
http://WLQ9X6G4.kjksn.cn
http://uT4lV9qA.kjksn.cn
http://7lFO1w7I.kjksn.cn
http://61iP26ZW.kjksn.cn
http://eEqRvCn8.kjksn.cn
http://www.dtcms.com/a/382604.html

相关文章:

  • [硬件电路-193]:双极型晶体管BJT与场效应晶体管FET异同
  • ID3v2的header中的扩展标头(Extended Header),其Size字段如何计算整个ID3的长度?
  • 【51单片机】【protues仿真】基于51单片机的篮球计时计分器系统
  • Linux -- 权限的理解
  • Java零基础学习Day10——面向对象高级1
  • 解析通过base64 传过来的图片
  • Redis 持久化策略
  • STM32---PWR
  • 0913刷题日记
  • Java基础面试篇(7)
  • 4-机器学习与大模型开发数学教程-第0章 预备知识-0-4 复数与指数形式(欧拉公式)
  • TA-VLA——将关节力矩反馈融入VLA中:无需外部力传感器,即可完成汽车充电器插入(且可多次自主尝试)
  • 从0到1开发一个商用 Agent(智能体),Agent零基础入门到精通!_零基础开发aiagent 用dify从0到1做智能体
  • android 消息队列MessageQueue源码阅读
  • Gtest2025大会学习记录(全球软件测试技术峰会)
  • oneshape acad数据集 sam-dataset
  • 堆(优先队列)
  • 【卷积神经网络详解与实例】7——经典CNN之AlexNet
  • Digital Clock 4,一款免费的个性化桌面数字时钟
  • mysql 必须在逗号分隔字符串和JSON字段之间二选一,怎么选
  • 分布式锁介绍与实现
  • 海盗王客户端dx9的64位release版测试
  • MX模拟赛总结
  • FLEXSPI_Init 硬件故障问题
  • Linux进程概念(下):进程地址空间
  • C++11_3(智能指针篇)
  • 从理论到实践:构建高效AI智能体系统的架构演进
  • 如何运用好DeepSeek为自己服务:智能增强的范式革命 | 1.3 人机认知耦合协议
  • 什么是PV操作?
  • 详解数据仓库和数据集市:ODS、DW、DWD、DWM、DWS、ADS