【NLP学习】2. 解释transformer中的概念


需要强调的是,进入transformer的时候,虽然输入是一个句子,但是每次只处理一个单词。每次单词之间平行处理。

1. encoders,decoders组件

以机器翻译任务为例,transformer的结构如下:
在这里插入图片描述
encoders中包含多个重复模块encoder,同理decoders。
encoder的内容由两部分,decoder多一个。多出来的这个attention涉及位置关系,即每输出一个词的时候,需要将前一步输出的词,和原句子中应该生成的词,两个信息按一定比率糅合之后才能输出。
在这里插入图片描述
具体怎么糅合,则是参考了attention的思想,预训练出一个key matrix和value matrix,通过一个公式得到的。参考下文attention层。

2. attention 层

说是attention,先说self-attention。attention放在一个encoder模块中,word embedding之后得到的vector进入self-attention模块后得到z矩阵,然后送入feed forward network。
还有一个encoder-decoder attention,原理一致,就是一个待训练的矩阵,这个矩阵可以理解为权重矩阵,需要注意的乘以一个大权重,不需要的就乘以一个小权重。
在这里插入图片描述
self-attention的目的是:关注一个句子中重要的部分。
比如i like it 中的it指代的是什么?thinking machine 中是thinking重要还是machine重要?

self-attention的具体操作是先把一个 word 进行 word embedding(比如用word2vec),得到word vector之后,使用三个预训练好的weight matrices对这个word vector做点乘,得到三个matrices,分别叫query,key,和value。
在这里插入图片描述

weight matrices的训练方法是:利用语库进行训练。

文章说这三个matrices分别代表了这个word不同的身份,我理解:query表示当前词为输入,key表示当前次的语义,value表示当前词作为输出。这三者做运算之后,得到self-attention layer的输出值z matrix。
在这里插入图片描述

3. mutli-headed 机制

这个简单,就是在self-attention中本来是一套weight matrix(3个),dot product word vector得到1个z matrix。现在是多套weight matrices(3n个)去dot product word vector得到多个z matrices,最后平均一下。

作者认为这样的话,可以训练不同的weight matrices关注不同的位置。

在这里插入图片描述

4. Positional Encoding 机制

这是一个思想,可以有很多种执行的方法。
它的目的是在word embedding得到的vector(只有语义信息)上加上一串特定的position vector,使得这个vector获得word的位置信息。

在这里插入图片描述

5. 残差连接

残差,residual嘛,就是本来是y = f(x)的,现在y = f(x) + x。
之前得到的z matrix,需要加上x才输入进下一个encoder。

在这里插入图片描述
说明:#1的意思是这个位置索引,1是排在第一个。同理#2就是第二个。
normalize是深度学习中的结尾绑定操作。意为标准化,就是把结果值经过平移放缩,投射到均值为0,方差为1这个范围里去。方便迭代计算。
在这里插入图片描述

6. 整体示意图

在这里插入图片描述

7. linear-softmax

利用decoder输出的output,在词库中找到最合适的输出单词。这里最合适的定义则取决于各个具体的任务。
在这里插入图片描述

参考:https://jalammar.github.io/illustrated-transformer/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值