lecture4 自注意力机制(self-attention)

一、self-attention

流程

  1. self-attention会传入以这个序列的信息

  2. 输入几个vector就会输出几个vector (输出的vector是考虑一整个序列才得到的 )

  3. 再把输出的向量 输入给full connected network

这样一来得到的结果就不是只考虑了一个小范围而是全局

  • self-attention(处理一整个sequence)和fc(处理某个位置)可以交替使用

在这里插入图片描述

运作

1. 特点

  • bjb^jbj是考虑了所有的 aia^iai 才得出来的

  • 输入可以是 整个网络的输入 也可以是 一个隐藏层的输出

    在这里插入图片描述

例:如何产生 b1b^1b1 这个向量

2. 步骤

  • 根据 a1a^1a1找出这个sequence里面和a1a^1a1相关的其它向量, α\alphaα是关联程度
    在这里插入图片描述
  • (1)计算 α\alphaα
    Dot-product(最常用):将输入的两个向量分别乘以一个矩阵,再将结果点积
    在这里插入图片描述
  • 例:a1和a2的关联性计算
    queryq1=wqa1q^1 = w^qa^1q1=wqa1
    keyk2=wka2k^2 = w^ka^2k2=wka2
    attention scoreα1,2=q1⋅k2\alpha_{1,2} = q^1·k^2α1,2=q1k2
    a1和其它向量的关联性计算类似
    在这里插入图片描述
    实操的时候会算上a1和a1的关联性
  • (2) normalization:比如soft-max
    在这里插入图片描述
  • (3)根据attention score bib^ibi
    vi=Wvaiv^i = W^va^ivi=Wvai
    b1=∑iα1,i′vib^1 = \sum_i\alpha^ {'}_{1,i} v^ib1=iα1,ivi
    在这里插入图片描述

3. 从矩阵的角度

  1. q,k,vq, k, vq,k,v 的计算
    在这里插入图片描述

  2. attention score 的计算
    在这里插入图片描述

  3. bbb 的计算
    在这里插入图片描述

I-O 的过程
只有 wq,wk,wvw^q, w^k, w^vwq,wk,wv 是通过训练集得出来的
在这里插入图片描述

二、Multi-head Self-attention

qqq 是用来找相关的kkk,但是相关有很多种形式,可以有不同的 qqq 负责不同的相关性

  1. 例:两个Head计算
  • qi=wqaiq^i = w^qa^iqi=wqai
  • qiq^iqi再乘以两个不同的矩阵得到 qi,1q^{i,1}qi,1qi,2q^{i,2}qi,2
  • k,vk, vk,v 同理
    在这里插入图片描述
  1. attention score计算
    1类一起计算,2类一起计算,得到bi,1,bi,2b^{i,1},b^{i,2}bi,1,bi,2
    在这里插入图片描述
  2. bbb 计算
    在这里插入图片描述

三、Positional Encoding(位置编码)

问题:实际上a1a^1a1a4a^4a4的距离并不远,在self-attention中并没有下标信息

解决:给每个位置一个unique位置向量 eie^iei

在这里插入图片描述
Positional Encoding是个尚待研究的问题

四、与其它神经网络对比

Self-attention v.s.CNN

  • CNN是简化版的Self-attention/CNNSelf-attention的一个特例
  • CNN考虑的是respective field
  • Self-attention考虑的是整张图片

在这里插入图片描述
在这里插入图片描述

Self-attention v.s. RNN

RNN不能平行处理,对于最左边的输入需要一直记住才能被最后的输入被考虑

Self-attention并行处理,效率高

在这里插入图片描述

Self-attention for Graph

只计算相连Node之间的attention score
在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值