分享
Transformer
输入“/”快速插入内容
Transformer
飞书用户2749
2024年8月27日修改
📌
推荐 PC 端打开
手机端浏览体验没PC端体验效果好
点击蓝字立即跳转:
🧭课程学习
知识库预览
技术指导
1.
1.Transformer 整体结构
首先介绍
Transformer
的整体结构,下图是 Transformer 用于中英文翻译的整体结构:
Transformer 的整体结构,左图Encoder和右图Decoder
💾
可以看到
Transformer
由
Encoder
和
Decoder
两个部分组成,
Encoder
和
Decoder
都包含
6 个
block
。
•
Transformer
的工作流程大体如下:
◦
第一步
:获取输入句子的每一个单词的表示
向量 X
,X由单词的
Embedding
(Embedding就是从原始数据提取出来的
Feature
) 和单词位置的
Embedding
相加得到。
Transformer 的输入表示
◦
第二步
:将得到的单词表示
向量矩阵
(如上图所示,每一行是一个单词的表示
x
) 传入
Encoder
中,经过 6 个
Encoder block
后可以得到句子所有单词的
编码信息矩阵 C
,
▪
如下图。单词向量矩阵用
表示,
n
是句子中单词个数,
d
是表示向量的维度
( d=512)
。每一个
Encoder block
输出的矩阵维度与输入完全一致
。
Transformer Encoder 编码句子信息
◦
第三步:
将 Encoder 输出的
编码信息矩阵 C
传递到
Decoder
中,
Decoder
依次会根据当前翻译过的单词
1~ i
翻译下一个单词
i+1
,如下图所示。在使用的过程中,翻译到单词
i+1
的时候需要通过
Mask
(掩盖) 操作遮盖住
i+1
之后的单词。
Transofrmer Decoder 预测
💾
上图
Decoder
接收了
Encoder
的
编码矩阵 C
,然后首先输入一个翻译开始符
"<Begin>"
,预测第一个单词
"I"
;然后输入翻译开始符
"<Begin>"
和单词
"I"
,预测单词
"have"
,以此类推。这是
Transformer
使用时候的大致流程,接下来是里面各个部分的细节。
2.
Transformer 的输入
💾
Transformer
中单词的输入表示
x
由
单词 Embedding
和
位置 Embedding
(
Positional Encoding
)
相加得到。