Transformer《Attention Is All You Need》阅读笔记

Transformer可以说是NLP划时代的论文,之后的bert等模型都借鉴了Transformer的attention机制
摘要由CSDN通过智能技术生成
1、概要

transformer的最核心思想是抛弃了传统的sequence aligned的RNN和CNN方法,转而使用纯attention来做sequence数据的处理。得到的效果是非常显著的,不仅达到了stoa,而且更容易并行化的进行训练。

2、模型结构

整体上仍然是encoder-decoder结构,encoder和decoder都使用stacked self-attention和point-wise 全连接层,本节将分别介绍下图中的各个神经层的设计理念。

2.1 输入和输出

这个网络的encoder和decoder输入分别是原序列和目标序列的token经过embedding之后的dense vector,decoder的输出经过线性变换和softmax后预测下一个token出现的概率分布,并与目标序列的下一个值计算loss。(所以预测的时候还是需要逐步迭代,但是训练的时候就可以并行)

2.2 模型整体结构: Encoder and Decoder Stacks

编码器是由里6个相同的神经层堆叠而成的,每层含有两个子层,分别是一个多头注意力层和一个point-wise的全连接层。同时本文还在每个子层的首尾添加了残差连接,并在残差连接之后进行Layer Normalization(注意这里不是BatchNorm,而是arXiv:1607.06450中的LayerNorm)。所有的子层以及embedding层的输出都是512维。

解码器仍然是6个神经层的堆叠,不同的是在中间加入了一个额外的多头注意力层用来作用于编码器的输出,然后将第一个注意力层改为masked多头注意力层,保证解码 i i i 位置时只能看到之前的结果。

2.3 模型核心:Scaled Dot-Product Attention 函数

首先介绍多头注意力中的“一头”。每个词语先通过word embedding转化为512维( d m o d e l = 512 d_{model}=512 dmodel=512)的向量,然后这个向量通过三个转换矩阵 W Q , W K , W V W^Q,W^K,W^V WQ,WK,WV 分别输出其对应的query、key和value向量Q、K、V,query和key向量维度为 d k d_k dk, value向量的维度为 d v d_v dv。那么经过注意力层后,每个词语的输出就表示为:

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 Attention(Q,K,V) = softmax(\frac{QK^T}{\sqrt{d_k}})V Attention(Q,K,V)=softmax(dk QKT)V

我们现在来分析这个公式:首先明确Q和K都是 n × d k n\times d_k n×dk的矩阵,n表示句子的长度,那么softmax()最后产生的结果是一个 n × n n \times n n×n 的矩阵,我们这里姑且将其称为注意力矩阵,这里softmax是作用于 ( Q K T d k ) (\frac{QK^T}{\sqrt{d_k}}) (dk QK

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值