手撕 Transformer (1):Transformer 的结构拆解

在手撕 Transformer 之前,我们要先了解一下 Transformer 的结构。乍一看,它的结构有点复杂,其实还好。我们分开看就可以了,可以把 Transformer 看成四个部分:输入部分、输出部分、编码器部分、解码器部分。这篇文章不讲每个部分的作用只做拆解,每个部分的作用将在后续文章详细说明。可以带着问题去读后续文章。

输入部分

如下图所示,Transformer 的输入部分分为两部分,一部分是源文本嵌入层(图中 Inuput Embedding)+ 位置编码(图中 Positional Encoding),另一部分是目标文本嵌入层(图中 Output Embedding)+ 位置编码(图中 Positional Encoding)

输出部分

如下图所示,Transformer 的输出部分由 Linear 和 Softmax 组成。

编码器

如下图所示,Transformer 的编码器由 N 个编码器层(Encoder Layer)组成,每个编码器层由 2 个子层组成。第一个子层由一个多头自注意力 (Multi-Head Self-Attention,图中 Multi-Head Attention)和一个层归一化 (Layer Normalization,图中为 Norm),以及一个残差连接组成。第二个子层由一个前馈层 (图中 Feed Forward)和一个层归一化 (图中 Norm),以及一个残差连接组成。

解码器

如下图所示,Transformer 的解码器由 N 个解码器层(Decoder Layer)组成,每个解码器层由 3 个子层组成。第一个子层由一个掩码多头自注意力 (Masked Multi-Head Self-Attention,图中 Masked Multi-Head Attention)和一个层归一化,以及一个残差连接组成。第二个子层由一个多头注意力(不是自注意力,而是交叉注意力 ,图中 Multi-Head Attention)和一个层归一化,以及一个残差连接组成。第三个子层由一个前馈层 和一个层归一化,以及一个残差连接组成。

文章链接

相关推荐
代码方舟5 分钟前
零信任架构实战:基于天远名下企业A构建自动化B2B供应链准入网关
人工智能·ai·工具分享
IvorySQL19 分钟前
IvorySQL 5.6 发布:PG 18.6 内核升级,沙盒即开即用
数据库·人工智能·postgresql
俗人六哥AI企业获客盈利系统22 分钟前
知识库才是AI落地的分水岭
人工智能·线性代数·矩阵·自动化
H0311169851 小时前
App竞品数据查询工具整理 月狐数据 蝉大师 点点数据功能概览
人工智能
叠层归一研究院2 小时前
基于极限自指的叠层归一宇宙结构理论——无元外部封闭系统的内生区分模型
人工智能·经验分享·算法·agi
IT_陈寒2 小时前
Java线程池用错参数,我的服务居然悄悄崩溃了
前端·人工智能·后端
why-geo2 小时前
Hermes Agent 与 Python 的会产生什么样的碰撞
人工智能·python·ai编程
正经教主2 小时前
【FDE系列】阶段2:Day 29:FastAPI 进阶 — Pydantic 模型与完整 CRUD 实战
人工智能·python·fde
时速GEO系统2 小时前
初元 AI V1.1 版本升级,首个正式版发布一周・实现生成、部署、上线、优化全流程自动化闭环
人工智能·数据挖掘·node.js
咕泡科技2 小时前
咕泡科技FDE系列最新产品重磅发布!
人工智能·大模型·ai落地·fde·前沿部署工程师