Transformer

Attention Is All You Need

动机:

传统的RNN难于并行,而最近流行的attention往往会利用RNN。为了解决无法并行训练问题,google提出了self-attention,完全摒弃了RNN单元,从而做到并行训练。

网络结构:

在这里插入图片描述

编码器:

由N个解码器层堆叠而成
每个解码器由两个子层连接结构组成
第一个子层连接结构包括一个多头自注意力子层和规范化层以及一个残差连接
第二个子层连接结构包括一个前馈全连接子层和规范化层以及一个残差连接

解码器:

由N个解码器层堆叠而成
每个解码器由三个子层连接结构组成
第一个子层连接结构包括一个多头自注意力子层和规范化层以及一个残差连接
第二个子层连接结构包括一个多头注意力子层和规范化层以及一个残差连接
第三个子层连接结构包括一个前馈全连接子层和规范化层以及一个残差连接

输入:

首先通过Word2Vec等词嵌入方法将输入语料转化成特征向量,论文中使用的词嵌入的维度为dmodel=512。
为了应用词序信息,在词向量中加入了位置编码。文中使用的是sin,cos编码方法,具体公式如下:
在这里插入图片描述
其中 pos 是位置,i 是维度。

Self-Attention:

计算Self-Attention, 我们需要针对每一个输入词向量,分别生成三个向量:Q、K和V
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

除以√dk是为了把注意力矩阵变成标准正态分布,使得Softmax归一化之后的结果更加稳定,以便反向传播的时候获取平衡的梯度。

Multi-Head Attention:

在Transformer中,实际使用的是多头注意力multi-head attention,其实就是同样的计算步骤基于不同的WK,WQ,WV 矩阵进行多次,这些矩阵都是进行随机初始化生成的。Transformer使用八个注意力头,即有八组不同的WK,WQ,WV 矩阵,最后每一个原始词向量都有8个不同的向量表示,将其拼接到一起,再乘以一个权重矩阵WO 进行融合,得到自注意力层最后的输出。
在这里插入图片描述

总结:
这篇论文是机器翻译方面的文章,但是,这是transformer的开山之作,主要解决了传统RNN不能并行的问题。通过这篇论文的阅读,主要了解了transformer的结构,以及其中注意力机制及注意力的计算方法,Q/K/V怎么来的,如何用来计算Attention。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值