自注意力机制transformer selfattention 介绍

Attention Is What you Need

transformer网络结构正是在上面这篇伟大的论文中提出的,在这篇论文之前,很多论文都提出过类似网络结构,但远不如上面这篇论文名字霸气,也正是Attention Is What you Need系统的介绍了这种注意力机制。

self attention层具体过程

在这里插入图片描述

先要找出   a 1 \ a^{1}  a1   a 2 \ a^{2}  a2   a 3 \ a^{3}  a3   a 4 \ a^{4}  a4四个输入向量间的关系,下面是两种常用的计算一对kv间attention score的方法,注意需要分别计算   a 1 \ a^{1}  a1作为k,   a 1 \ a^{1}  a1   a 2 \ a^{2}  a2   a 3 \ a^{3}  a3   a 4 \ a^{4}  a4作为v时的attention score值,分别记为   a 1 , 1 \ a_{1,1}  a11   a 1 , 2 \ a_{1,2}  a12   a 1 , 3 \ a_{1,3}  a13   a 1 , 4 \ a_{1,4}  a14

在这里插入图片描述

再经过一层Sofamax(Relu也有)
在这里插入图片描述
下面需要计算   v 1 \ v^{1}  v1   v 2 \ v^{2}  v2   v 3 \ v^{3}  v3   v 4 \ v^{4}  v4,与Sofamax后的attention score相乘后相加得   b 1 \ b^{1}  b1,   b 1 \ b^{1}  b1此处的意义可以理解,如果attention score比较大,也就是两个输入的向量相关性强,   b 1 \ b^{1}  b1会很大程度上靠近这两个输入向量作为kv时候的attention score值。
在这里插入图片描述

矩阵加速

对于qkv的计算,需要用矩阵运算来加速
在这里插入图片描述
同意attention score也可以用矩阵来加速
在这里插入图片描述
  b 1 \ b^{1}  b1   b 2 \ b^{2}  b2   b 3 \ b^{3}  b3   b 4 \ b^{4}  b4也用矩阵进行加速
在这里插入图片描述
汇总 发现只有   w q \ w^{q}  wq   w k \ w^{k}  wk   w v \ w^{v}  wv 需要学习
在这里插入图片描述
一种进阶的多头注意力机制,重点在于relevant的定义有很多种,即很多种相关,所以有多种对应的qkv数值。
在这里插入图片描述
问题引入,上面的向量间没有位置的信息,如果需要位置的信息,可以将位置的信息加入。也就是positional encoding,可以将位置的信息加入attention score中,下图中就是对应的   e i \ e^{i}  ei
在这里插入图片描述

解决具体的seqtoseq问题

transformer中的encoder和decoder结构如下

tranformer中encdoer的网络结构如下

decoder分两种,一种是autoregressive,encoder的输出作为输入返回给encoder,即把自己的输出当成接下来的输入,一开始有特定的开始向量标记开始。
Masked self attention特殊在b只能用之前产生的来加和,因为是一个一个产生的,只能考虑左边的东西,不能考虑右边的东西。
同时decoder需要自己产生输出的长度,decoder产生特定的标记向量,表示输出结束。

另一种为non auto agressive
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值