【论文解析】Transformer浅析(Attention is All You Need)

Attention is All You Need作为NLPer必须反复阅读和深刻理解的经典论文,提出了Transformer这样一个效果优异的特征抽取器,被广泛应用于后续的预训练模型。

网络上关于Transformer的优秀解读很多,本文仅记录了本人的一些思考和理解。

一、模型架构解读

Transformer是基于经典的机器翻译Seq2Seq框架提出的,区别在于Encoder和Decoder中大量使用attention机制提取信息。
在这里插入图片描述

1.1 Encoder

Encoder的底层为类似于词向量的embedding层,然后接6层Multi-Head Attention和Position Forward的堆叠。

  • Embedding

在Transformer中,embedding包括两部分:预训练的词向量,以及表示token位置信息的position embedding。因为self-attention机制本身并不考虑词序的影响,因此必须引入position embedding。论文对比了预定义的position embedding和学习得到的embedding值,发现效果相当。为了方便,以及长文本的外插,采用简单的三角函数的表达形式:
P E ( p o s , 2 i ) = sin ⁡ ( p o s / 1000 0 2 i / d m o d e l ) ; P E ( p o s , 2 i + 1 ) = cos ⁡ ( p o s / 1000 0 2 i + 1 / d m o d e l ) PE_{(pos,2i)}=\sin(pos/10000^{2i/d_{model}});PE_{(pos,2i+1)}=\cos(pos/10000^{ {2i+1}/d_{model}}) PE(pos,2i)=sin(pos/100002i/dmodel);PE(pos,2i+1)=cos(pos/100002i+1/dmodel)在这里插入图片描述+ Multi-Head self Attention

通过self-attention的方式得到输入sequence中各token间的信息,同时采用多头机制保证了子空间特征抽取的多样性。

每层的每个Head内均有待训练 W Q , W K , W V W^Q,W^K,W^V WQ,WK,WV矩阵用于将embedding转化为对应的query,key和value(详见浅析NLP中的Attention技术),通过矩阵运算保证了计算速度: 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

  • Position Forward

Position Forward是一个简单的2层全连接前向网络:
F F N ( x ) = max ⁡ ( 0 , x W 1 + b 1 ) W 2

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值