论文:Attention is all you need

论文:https://arxiv.org/abs/1706.03762

架构

编码器(左边)和解码器(右边)


子编码器

左边的编码器一共有N = 6个子编码器,图中仅显示一个。

每一个子编码器都有两层,一层是Multi-Head Attention (多头自注意机制),另一层是 Feed Forward(全连接的前馈网络)。这两层都使用一个恒等映射(残差结构),然后进行层归一化。每一层的输出表示为 LayerNorm ( x + Sublayer ( x ) ) \text{LayerNorm}(x + \text{Sublayer}(x)) LayerNorm(x+Sublayer(x))其中 Sublayer ( x ) \text{Sublayer}(x) Sublayer(x)Multi-Head Attention 或者 Feed Forward

为了方便这些残差连接,模型中的所有的层以及嵌入层产生维度为 d m o d e l = 512 d_{model}= 512 dmodel=512 的输出。


子解码器

右边的解码器一共有N = 6个子解码器,图中仅显示一个。

每一个子解码器都有三层子解码器的上两层和子编码器差不多,将编码器的输出一分为二作为子解码器中间层的输入。

子解码器第一层。因为预测是一个前向过程,所以为了防止该位置后续位置注意(确保了位置i的预测只能依赖于小于i位置的已知输出),需要对输出进行掩盖。


Multi-Head Attention

子编码器子解码器Multi-Head Attention

Multi-Head Attention允许模型同时关注不同位置的不同表示子空间的信息。如果只有一个attention head,平均就会抑制这一点。

在上一张架构图中可以看到,输入经过输入嵌入位置嵌入一分为三,(下图)从右到左分别为查询、键、值(Q、K、V)。

Multi-Head Attention 一共有h层,将Q、K、V一分为h,Q、K、V分别经过一个线性映射,再经过Scaled Dot-Product Attention,合并h层,最后经过一个线性映射。

head i \text{head}_i headi:
where head i = Attention ( Q W i Q , K W i K , V W i V ) \text{where head}_i= \text{Attention}(QW_i^Q, KW_i^K, V W_i^V) where headi=Attention(QWiQ,KWi

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值