【李宏毅】自注意力机制self-attention

课件网址:

【機器學習2021】自注意力機制 (Self-attention) (上) - YouTube

【機器學習2021】自注意力機制 (Self-attention) (下) - YouTube

这两章课程主要在讲self-attention是怎么做的,对应的矩阵操作是什么,以及为什么要这样处理。

目录

自注意力机制base

适用的输入

可能的输出

结构

并行化操作

Multi-head Self-attention

位置信息

大量参数

与其他方法对比

图的处理

各式各样的self attention

英文单词


自注意力机制base

自注意力机制适用的输入

长度会改变的向量,或者是一堆向量,例如文本[涉及到word embedding],声音向量,graph中每个node可以看做一个向量,它的连接性可以看做one-hot。

(起始为25ms,然后以10ms移动。) 

可能的输出

每个词向量都有 一个label。整个句子有一个label。机器自己决定有多少个label。

 

结构

  1. 找到a1的关联程度α(一般用q、k、点乘),自己得到q,自己和其他是k。

  2. 用soft-max处理(这里也可以用relu或者别的处理)

  3. 得到v向量,乘上attention score,然后加在一起得到b。

  4. b的产生不需要按照序列逐个输出,按照他的流程其实是可以并行化的。

keep in mind: 

  1. q为query,k为key,v为value 。q负责处理相关性。

  2. 没有向量的位置信息,可以通过加上ei来解决。

并行化操作

一连串的矩阵乘法,发现Wq、Wk、Wv是所有我们需要训练的参数。

Multi-head Self-attention

 

产生不同的参数向量Wq/Wk/Wv,由此得到不同的b,然后通过WO融合成一个新的b。

 

為什麼不直接從ai 得到 (qi,1), (qi,2),而是先得到qi再去得到後面兩個向量 (qi,1), (qi,2):①直接做减小了模型的弹性,不直接做相当于是增加了网络的深度,类似于在CNN或FC中增加了一层。②我看pytorch的multi head attention的doc是將qkv的W矩陣先分成n_head份,我推測是將sequence embedding與分成n_head份的qkv dot product後分別得到n_head份的qkv,或許不是得到qi再乘兩個矩陣。

位置信息

通过sin/cos的函数产生,也可以有新的方法或者训练得到。

 

大量参数

当输入向量过多时,L会很大,导致训练参数过大,这里就只看向量附近的局部向量。

 

与其他方法对比

  1. CNN相当于是局部的self-attention[on the relationship between self-attention and convolutional layers]

  2. 当数据量足够大的时候self-attention比较好,数据量比较小的时候transformer会欠拟合。self-attention的弹性比较大,会在数据量更大的时受益。

  3. RNN所做的工作现在大部分都可以被self-attention取代。单向RNN只考虑新输入的,双向RNN能考虑但是距离非常的远。而且RNN不能并行化

图的处理

  1. 可以只计算有edge相连的node

  2. 是某种意义上的GNN。

各式各样的self attention

现在有各式各样self-attention的变体,一般以xxxformer为命名特点。 

self-attention的痛点是矩阵运算量大。

但是这也是有前提的,当N偏小时,可能feed forward的部分就会占主导地位,所以优化self-attention对整个transformer意义不大。

英文单词

pos tagging:词性标注。

sequence labeling:有多少个向量就有多少个label。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值