读transformer的笔记

参考:Transformer模型详解(图解最完整版) - 知乎

如何理解attention中的Q,K,V? - 知乎

注意力机制到底在做什么,Q/K/V怎么来的?一文读懂Attention注意力机制 - 知乎

核心思想:Q K V,维度特征,然后通过矩阵的点乘计算出二者的相似性!

0.为什么使用三个可训练的参数矩阵生成Q  K V因为,他们可以增强模型的拟合能力呗!

      其中,WQ,WK和WV是三个可训练的参数矩阵。输入矩阵X分别与WQ,WK和WV相乘,生成Q、K和V,相当于经历了一次线性变换。Attention不直接使用X,而是使用经过矩阵乘法生成的这三个矩阵,因为使用三个可训练的参数矩阵,可增强模型的拟合能力。

 

1.嵌入向量方面

就是词嵌入和位置嵌入的加和。

2.将向量矩阵传入N个编码块(N可以为6!),之后得到句子所有单词的编码信息矩阵 C。如下图。单词向量矩阵用 Xn×d 表示, n 是句子中单词个数,d 是表示向量的维度 (论文中 d=512)。每一个 Encoder block 输出的矩阵维度与输入完全一致。

3.如下图:【目前不太理解!】 

4.自注意力机制

 

5. 

 

上图是 Self-Attention 的结构,在计算的时候需要用到矩阵Q(查询),K(键值),V(值)。在实际中,Self-Attention 接收的是输入(单词的表示向量x组成的矩阵X) 或者上一个 Encoder block 的输出。而Q,K,V正是通过 Self-Attention 的输入进行线性变换得到的。

6.Softmax归一化指数函数:是对矩阵的每一行进行 Softmax,即每一行的和都变为 1.

Softmax(QK)就是求权重的体现:如何理解attention中的Q,K,V? - 知乎

注意力机制到底在做什么,Q/K/V怎么来的?一文读懂Attention注意力机制 - 知乎

Q、K可以求出注意力权重配比值!

我们知道,向量点积的值可以表征词与词之间的相似性,而此处的“整个序列”包括The这个词自己(再一次强调这是Self-Attention)。

所以最后输出的词的表示,其“主要成分”就主要地包含它自身和跟它相似的词的表示,其他无关的词的表示对应的权重就会比较低

 

7.Add指 X+MultiHeadAttention(X),是一种残差连接,通常用于解决多层网络训练的问题,可以让网络只关注当前差异的部分,在 ResNet 中经常用到:

 

Add指 X+MultiHeadAttention(X),是一种残差连接,通常用于解决多层网络训练的问题,可以让网络只关注当前差异的部分,在 ResNet 中经常用到:

8.组成Encoder

 

 9.MASK掩码操作

注意 Mask 操作是在 Self-Attention 的 Softmax 之前使用的,下面用 0 1 2 3 4 5 分别表示 "<Begin> I have a cat <end>"。

下图,就是单词0只能使用单词0的信息,单词1可以使用单词0,1的信息;

也就是只能使用之前的信息。

 

 10.softmax预测输出单词

 

end:

Transformer 总结

  • Transformer 与 RNN 不同,可以比较好地并行训练。
  • Transformer 本身是不能利用单词的顺序信息的,因此需要在输入中添加位置 Embedding,否则 Transformer 就是一个词袋模型了。
  • Transformer 的重点是 Self-Attention 结构,其中用到的 Q, K, V矩阵通过输出进行线性变换得到。
  • Transformer 中 Multi-Head Attention 中有多个 Self-Attention,可以捕获单词之间多种维度上的相关系数 attention score。

还是不太懂呀!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值