Self-Attention

前置知识:RNN,Attention机制

在一般任务的Encoder-Decoder框架中,输入Source和输出Target内容是不一样的,比如对于英-中机器翻译来说,Source是英文句子,Target是对应的翻译出的中文句子,Attention机制发生在Target的元素和Source中的所有元素之间。

Self-Attention是在Source内部元素或者Target内部元素之间发生的Attention机制,也可以理解为Target=Source这种特殊情况下的注意力计算机制,相当于是Query=Key=Value,计算过程与Attention一样。

作用

Self-Attention模型可以理解为对RNN的替代,有着以下两个作用:

  • 引入Self-Attention后会更容易捕获句子中长距离的相互依赖的特征。Self-Attention在计算过程中会直接将句子中任意两个单词的联系通过一个计算步骤直接联系起来,所以远距离依赖特征之间的距离被极大缩短,有利于有效地利用这些特征。

  • Self Attention对于增加计算的并行性也有直接帮助作用。正好弥补了attention机制的两个缺点,这就是为何Self Attention逐渐被广泛使用的主要原因。

对于计算并行性的分析

Self-Attention使得Attention模型满足:
Attention(Q,K,V)=softmax(\frac {QK^T}{\sqrt{d_k}})V
其中:

  • dk是Q和K的维度(矩阵中向量的个数,即列数)

对于位置信息的分析

这个位置信息ei不是学出来的,在paper里,是人手设置出来的,每个位置都不一样,代表在第几个positon。

我们构造一个p向量,这是一个one-hot向量,只有某一维为1,代表这个单元是第几个位置。

P_i=(0,...,0,1,0,...,0)

我们和x进行拼接再进行w的运算得到a,它又等价于右边的公式,相当于ai+ei:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惊雲浅谈天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值