Transformer新内核Synthesizer:低复杂度的attention代替点乘式的注意力机制

在这里插入图片描述
论文链接:https://arxiv.org/pdf/2005.00743.pdf
参考文档:https://mp.weixin.qq.com/s/e2Cor8amz7GiFfBGdLXULg

导读

今天阅读的是一篇来自Google的最新论文《SYNTHESIZER: Rethinking Self-Attention in Transformer Models》,该论文重新探索了Transformer中注意力机制的必要性,并引入了新的attention计算方法Synthesizer。实验显示,即使不进行token之间的attention交互计算,synthesizer在翻译、语言模型、GLUE等任务上也可以达到很好的效果。

1、引言

1.1、什么是自注意力机制

自注意力机制算是解释性比较强的模型之一,它通过直接把序列两两比较(代价是计算量变为 O ( n 2 ) O(n^2) O(n2),当然由于是纯矩阵运算,这个计算量相当也不是很严重),能够一步到位捕捉到全局的联系。相比之下,RNN 需要一步步递推才能捕捉到,而 CNN 则需要通过层叠来扩大感受野,这是 Self Attention 层的明显优势。
在这里插入图片描述
自注意力机制到底是如何生效的?这种“token”对“token”的注意力是必须的吗? A t t e n t i o n ( Q , K , V ) = s o f t m a x ( Q K T d k ) V Attention(Q,K,V)=softmax\left(\frac{QK^T}{\sqrt{d_k}}\right)V Attention(Q,K,V)=softmax(dk QKT)V S e l f − A t t e n t i o n ( X ) = A t t e n t i o n ( X W Q , X W K , X W V ) = s o f t m a x ( X W Q W K T X T d k ) X W V Self-Attention(X)=Attention(XW_Q,XW_K,XW_V)=softmax\left(\frac{XW_QW_K^TX^T}{\sqrt{d_k}}\right)XW_V SelfAttention(X)=Attention(XWQ,XWK,XWV)=softmax(dk XWQ

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
加法注意力机制和缩放点乘注意力机制都是常用的注意力机制,用于在自然语言处理和机器翻译等任务中对输入序列进行加权聚合。它们的主要区别在于计算注意力权重的方和计算复杂度。 1. 加法注意力机制: 加法注意力机制通过将查询向量和键向量进行加和来计算注意力权重。具体步骤如下: - 首先,通过将查询向量与键向量进行点乘,得到一个分数向量。 - 然后,对分数向量进行softmax操作,得到注意力权重。 - 最后,将注意力权重与值向量进行加权求和,得到最终的上下文向量。 2. 缩放点乘注意力机制: 缩放点乘注意力机制通过将查询向量和键向量进行点乘,并除以一个缩放因子来计算注意力权重。具体步骤如下: - 首先,通过将查询向量与键向量进行点乘,得到一个分数向量。 - 然后,将分数向量除以一个缩放因子,通常是分数向量的维度的平方根。 - 接着,对缩放后的分数向量进行softmax操作,得到注意力权重。 - 最后,将注意力权重与值向量进行加权求和,得到最终的上下文向量。 二者的主要区别在于计算注意力权重的方。加法注意力机制直接将查询向量和键向量相加,而缩放点乘注意力机制通过点乘并缩放来计算注意力权重。缩放点乘注意力机制相对于加法注意力机制具有以下优点: - 计算复杂度:缩放点乘注意力机制的计算复杂度为O(n),而加法注意力机制的计算复杂度为O(n^2),其中n为向量的维度。 - 更好的数值稳定性:缩放点乘注意力机制在计算注意力权重时,通过缩放因子可以避免分数向量过大或过小,提高了数值稳定性。 然而,加法注意力机制也有一些优点: - 更强的表达能力:加法注意力机制可以更灵活地学习不同维度之间的关系,具有更强的表达能力。 - 更好的适应性:加法注意力机制对于输入序列长度的变化更具有适应性,不受维度限制。 综上所述,加法注意力机制和缩放点乘注意力机制在计算方和优缺点上存在一定差异。具体选择哪种注意力机制取决于任务需求和计算资源的限制。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值