Transformer 简单理解


参考自 https://www.bilibili.com/video/BV19Y411b7qx?p=2&vd_source=e768911f41969985adfce85914bfde8f

一、Transformer的架构

在这里插入图片描述

一、编码

词向量编码 + 位置编码 = 最终的输入编码

1.1 词向量编码(Input Embedding)

可以是简单的词向量编码

1.2 位置编码(Positional Encoding)

Teanformer 不同于Rnn, 在处理数据时,不考虑数据的位置信息,所以需要在数据中加入位置信息,以让处于不同位置的相同数据有所不同,相互区分。
在这里插入图片描述

p o s pos pos: 词位置,[0,1,2,3…] 第一个词、第二个词
i i i: 编码位置,[0, 1, 2, 3, …], i i i 是词向量编码后,第0个向量,第1个向量
如果词向量编码是32个维度,那么 i i i 是 0-31

p o s pos pos 是PE矩阵的行数, i i i 是矩阵的列数
d m o d e l d_{model} dmodel: 编码维度, 32
来看一个位置编码的矩阵截图
可以看到,第一列数值波动的频率比较高,越往右波动越小
在这里插入图片描述

二、Mask

最终Mask 是Pad mask 与上三角mask取并集

2.1 PAD Mask

让一句话保持同样的长度,当出现短的句子的时候,需要补Pad,

每个词对Pad的注意力标注为Mask, 但Pad 对每个词的注意力正常计算
在这里插入图片描述

2.2 上三角Mask

b和c是需要预测到的词,因此a不能注意到b
在这里插入图片描述

二、注意力计算

2.1 Q、K、V 向量的生成

在这里插入图片描述

2.2 自注意力计算流程

在这里插入图片描述在这里插入图片描述

2.2 单头注意力和多头注意力

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、计算流

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值