论文阅读【5】Attention Is All You Need
创始人
2024-02-06 13:36:44

1.概述

1.1 论文相关

  • 题目:注意你所有需要的(Attention Is All You Need)
  • 发表时间:2017
  • 出版:NIPS
  • 原文地址:经典模型了,网上一搜就能搜索到
  • 代码:

1.2 动机

在这里插入图片描述

因为循环神经网络通常是沿着符号输入输出序列的位置来考虑计算,将这些位置与计算时间中的步骤对齐,它们生成一系列隐藏状态hth_tht​,作为前一个隐藏状态ht−1h_{t−1}ht−1​和位置t的输入的函数。这种固有的顺序让训练示例不能使用并行计算,让序列长度成为了关键,因为容量极限限制了每个batch输入的示例。
因此作者就提出了一种新的模型Transformer,这种模型避免了循环而是完全依赖于注意力机制在输入输出之间绘制全局关系,并且Transformer模型允许并行计算,在机器翻译上也取得突出的成绩。

2 算法

2.1 自注意力机制

  • 对于输入的数据,你的关注点是什么?
  • 如何才能让计算机关注到这些有价值的信息?

self-attention在对自己进行编码的时候,每个词都是句子当中的一部分,但是在融合语义信息的时候方法也不是一样的,因为每个词语在其中的权重不同,不仅只考虑自己当前这个词,还要考虑全局的信息。
比如下面这两句话:
在这里插入图片描述
第一句话中的it指代的是animal,第二句话中指代的是street,两句话中的it所指代的内容不一样,所以他在编码的时候考虑的权重也是不一样的。

2.2 self-attention计算方法

在这里插入图片描述
selef-attention的计算方法,结合上图进行分析:

  • 第一步:对输入的单词进行一个编码转换成一个四维的向量
  • 第二步:如何提取特征,第一个词要考虑这两个词对自己做了什么贡献,然后重新的进行向量编码,因此设置了3个矩阵:Queries,keys,values,借助这三个矩阵,对词语编码的时候怎么考虑到上下文。其实也就是三个权重参数。

那么这三个矩阵是有什么作用呢?见下图:
在这里插入图片描述

  1. Q:query,要查询与每个词之间的关系
  2. K:key,等着被查
  3. V:value,实际的特征信息
    X与WqW^qWq矩阵相乘得到了q1q_1q1​,q2q_2q2​l两个特征,X与WkW^kWk矩阵相乘得到了k1k_1k1​,k2k_2k2​l两个特征,X与WvW^vWv矩阵相乘得到了v1v_1v1​,v2v_2v2​两个特征。
  • 第三步:每一个词的Q会与每一个Q计算得分
    在这里插入图片描述
    然后计算每一个词与上下文之间的关系权重:
    1)q与k的内积表示有多匹配,因为如果两个向量没有关系就是垂直,垂直内积为0,如果不垂直,则内积绝对不为0.
    2)输入两个向量得到一个分值
    例如要查找第一个词与它自己的关系,就用q1∗k1q_1*k_1q1​∗k1​得到一个关系值,查第一个词与第二个词之间的关系,则就用q1∗k2q_1*k_2q1​∗k2​到到关系值。
  • 第四步:softmax进行归一化
    然后使用softmax对这些关系权重进行归一化得到当前单词的与每个单词的权重,然后将权重与v相乘得到了它的编码。
    在这里插入图片描述
    如上图:则x1x_1x1​的编码为0.13*v1v_1v1​+0.87*v2v_2v2​+0.0*v3v_3v3​
    每一个词的会跟整个序列中的每一个K计算得分,然后基于得分再分配特征。
    在这里插入图片描述
    小结:
    Attention整体计算流程:
  • 每个词的Q会跟每-个K计算得分
  • Softmax后就得到整个加权结果
  • 此时每个词看的不只是它前面的序列
  • 而是整个输入序列
  • 同一时间计算出所有词的表示结果
    在这里插入图片描述

2.3 多头机制

通过不同的head得到多个特征表示的,将所有特征拼接到一起,可以通过再一层全连接来降低维度,一般设置8个头。
在这里插入图片描述
多头注意力机制的执行过程:
在这里插入图片描述
多头注意里机制不同的注意力结果不同,得到的特征向量的表达式有也不同。
在这里插入图片描述

2.4 位置编码和多层堆叠

多层堆叠
上面是经过一次self-attention得到的结果,随后输出的还是向量,既然是向量那我们还可以继续对他进行一次self-attention,这也就是多层堆叠。
在这里插入图片描述
位置信息编码
在self- attention中每个词都会考虑整个序列的加权,所以其出现位置并不会对结果产生什么影响,相当于放哪都无所谓,但是这跟实际就有些不符合了,我们希望模型能对位置有额外的认识。
本文中的位置编码使用的是余弦周期进行编码的。
在这里插入图片描述
层级归一化(layerNormlize)
首先了解一下batch-Normlize,如下图中一个batch有四个数据,然后把一个batch的某一层的特征按照batch的维度,让他均值为0,标出差为1.
在这里插入图片描述
这里加上了一个layerNormlize,目的就是让它训练的更稳定更快。
在这里插入图片描述
** 残差连接**
因为一个参数经过多层的堆叠之后,进行层级归一化的效果不一定是最完美的,于是就做了2手准备,看看是经过多层堆叠的效果最好呢还是直接经过一个self-attention的效果好,然后对比结果,那个结果好就选择那个,这个就叫做残差连接,其实就是做两手准备。
在这里插入图片描述

2.5 Decoder

** Decoder aattention**
解码的过程需要用到解码器的Q去查询编码器中的K和V,总之得把编码器中的训练的信息要用起来。
在这里插入图片描述
** mask机制**
Decoder预测结果是基于前面一个词预测下一个词,那么既然是预测下一个词,那就不能提前知道这个词,所有就把他mask掉,相当于遮住,然后让他自己预测。
在这里插入图片描述

4. 实验及结果

4. 总结

后面再继续完善

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...