当前位置:首页 > AI技术 > 正文内容

带你搞懂 Transformer 的编码逻辑深度解析|Duuu笔记

admin1周前 (03-28)AI技术15

必须剖析Transformer编码器机制:一、词嵌入与位置编码相加注入词序;二、多头自注意力并行建模多类依赖;三、前馈网络引入非线性增强;四、多层堆叠实现层级语义演化;五、掩码机制约束信息流向。

如果您希望深入理解 AI 语言模型如何将输入文本转化为可计算的向量表示,并准确捕捉词序、语法与语义关系,则必须剖析 Transformer 架构中编码器(Encoder)的核心运作机制。以下是解析 Transformer 编码逻辑的关键步骤:

一、理解词嵌入与位置编码的协同作用

Transformer 不依赖循环或卷积结构,因此无法天然感知词序;它通过将词嵌入(Token Embedding)与位置编码(Positional Encoding)相加,为每个词注入其在序列中的绝对与相对位置信息,使模型具备处理变长序列的能力。

1、将输入句子按词元(token)切分,例如“AI 模型很强大”切分为 [“AI”, “模型”, “很”, “强大”, “

”]。

2、查表获取每个词元对应的 d_model 维向量(如 512 维),形成词嵌入矩阵。

3、生成预设公式计算的位置编码矩阵:对偶数维度使用 sin 函数,奇数维度使用 cos 函数,频率随位置指数衰减。

4、将词嵌入矩阵与位置编码矩阵逐元素相加,得到含位置信息的初始表示

二者必须维度相同且直接相加,不可拼接或替换

二、多头自注意力机制的并行计算路径

自注意力允许每个词元动态聚合上下文中所有词元的信息,而“多头”设计则让模型在不同子空间中独立学习多种依赖关系(如语法主谓、指代消解、修饰限定等),提升表征鲁棒性。

1、对输入矩阵 X 分别乘以三组可学习权重矩阵 W

Q

、W

K

、W

V

,得到查询(Q)、键(K)、值(V)矩阵。

2、将 Q 与 K

T

点积后缩放(除以 √d

k

),再经 softmax 得到注意力权重矩阵 A。

3、用 A 加权求和 V,输出单头注意力结果。

4、重复上述过程 h 次(如 h=8),各头使用独立参数,最后将 h 个输出拼接并通过线性层投影,得到最终多头输出

每个头关注不同语义粒度,拼接前不得归一化或平均

三、前馈神经网络的非线性增强结构

在自注意力输出之后接入两层全连接网络,引入强非线性变换能力,弥补注意力机制本身线性组合的局限,强化特征抽象与模式识别深度。

1、将多头注意力输出送入第一层线性变换,映射至隐藏层维度(通常为 4×d_model)。

独响

一个轻笔记+角色扮演的app

下载

2、应用 GELU 激活函数进行非线性映射。

3、再经第二层线性变换,还原至原始维度 d_model。

4、该模块前后均配有残差连接与 Layer Normalization,确保梯度稳定传播

LayerNorm 在特征维度上归一化,而非 batch 维度

四、编码器堆叠中的层级语义演化

单个编码器层仅能建模局部交互,多层堆叠使高层输出逐步融合更广范围的上下文,实现从词法→短语→句法→语义的渐进式抽象。

1、将输入序列依次通过 N 层(如 N=6)相同结构但参数独立的编码器模块。

2、每一层输出作为下一层输入,且每层内部均包含自注意力子层与前馈子层两个带残差的子块。

3、第 L 层输出的任一位置向量,已隐式编码了从第 1 层到第 L 层逐步聚合的跨距信息

层数越多,感受野越大,但并非线性叠加,存在信息稀释风险

五、掩码机制在编码阶段的隐式约束

标准 Transformer 编码器默认允许任意位置间双向交互,但实际任务中需通过掩码控制信息流向,确保训练目标与推理逻辑一致,尤其在编码-解码联合架构中至关重要。

1、若编码器用于仅编码任务(如 BERT),不启用任何掩码,所有位置可自由 attending。

2、若编码器与因果解码器联合训练(如 T5 的 encoder-decoder 模式),编码器仍无掩码,但需确保其输出不泄露未来 token 信息给解码器侧。

3、在特定变体(如 Encoder-Only 自回归建模)中,需手动添加上三角掩码于 QK

T

矩阵,强制单向依赖

掩码必须在 softmax 前施加,且值为 -∞(非 0)以消除非法位置影响

相关文章

【深度学习】Java DL4J 2024年度技术总结

一、Java DL4J深度学习概述 1.1 DL4J框架简介 1.2 与其他深度学习框架的比较 1.3 DL4J 的优势 1.3.1 与 Java 生态系统的无...

LLM介绍

。LLM 被证明在使用指令形式化描述的未见过的任务上表现良好。这意味着 LLM 能够根据任务指令执行任务,而无需事先见过具体示例,展示了其强大的泛化能力。 :小型语言模型通常难以解决涉...

使用 ESP

针对该分类问题,我们使用了 Kaggle 手势识别数据集 中的一个开源数据集。原始数据集包括 10 个类别,我们只使用了其中 6 个。这些类别更容易识别,且日常生活中更有用,如...

什么是人工智能 ?

您可以使用 ML 训练 AI,使其精确、快速地执行任务。这可以通过自动化员工感到吃力或厌烦的业务部分来提高运营效率。同样,您可以使用 AI 自动化来腾出员工资源,用于更复杂和更具创造性的工作。...

前端开发高级应用:MuleRun如何连接Slack通知 MuleRun消息推送集成配置步骤实战案例|Duuu笔记

若MuleRun无法向Slack推送通知,需依次配置Incoming Webhook或Bot Token、在MuleRun中设置对应通知目标参数,并通过最小化任务测试验证;常见失败原因包括凭据错误、权...

从入门到精通:前端开发之骡子快跑支持热点借势吗 骡子快跑节日营销文案生成|Duuu笔记

骡子快跑平台提供五步节日营销文案生成路径:一、调用内置32个节日模板库;二、输入热点事件触发动态生成;三、绑定自有素材库实现个性化延展;四、多角色视角协同输出;五、接入微信生态直发并校验合规性。 ☞...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。