Transformer学习【从零理解】

Transformer

一、整体框架

在这里插入图片描述

二、Encoder

在这里插入图片描述

1.输入部分:

(1)Embedding:将输入的词转换为对应的词向量。
(2)位置编码:因为保证输出时,顺序不会打乱,所以要加入时序信息即位置编码。
公式:偶数时用sin三角函数,奇数时用cos三角函数。
在这里插入图片描述
(3)将Embedding和位置编码合并后传入注意力机制。

2.注意力机制:

简而言之,注意力就是分配权重。了解哪部分是比较重要的。
(1)公式:
A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V \mathrm{Attention}(Q,K,V)=\mathrm{softmax}(\frac{QK^{T}}{\sqrt{d_{k}}})V Attention(Q,K,V)=softmax(dk QKT)V
将输入部分复制为三份,分别作为Q、K、V,然后将Q和K做点击,除以 d k \sqrt{d_k} dk ,在做softmax,得到一些和为1的权重,与V进行乘机,得到注意力分数。
在这里插入图片描述
在这里插入图片描述
(2)在原论文中使用的是多头自注意力机制,用的是矩阵相乘,便于并行,提高计算速度。之后将多个输出,合并在一起。
在这里插入图片描述

3.残差

在这里插入图片描述将输入的x加上经过 weight layer得到的输出。
作用:保证梯度不会消失。

4.Layer Normalization

在单独一个样本中进行均值和方差。
(1)与Batch Normalization(BN)的区别:
BN是在一个特征中进行均值和方差。
在这里插入图片描述

如上图,LN是一列按样本求均值和方差,而BN是一行按特征求均值和方差。

5.前馈神经网络

两个全连接网络,经过残差和LN。

三、Decoder

1.带掩码的多头自注意力机制

将当前以及后面的词mask,因为在预测结果时,是看不到后面的词。保证训练和预测的一致性。
在这里插入图片描述

2.交互层

在这里插入图片描述
(1)将每一个Encoder的输出都传入Decoder(原文中Encoder和Decoder都是6个)。
在这里插入图片描述
(2)将Encoder生成的K、V矩阵,Decoder生成的Q矩阵,输入交互层中的多头自注意力机制,进而进入前馈神经网络。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值