该 attention 模块出自论文《Attention Is All You Need》,作者提出一种新的网络结构Transformer,其中包含的注意力机制称之为 self-attention。该网络能够计算 input 和 output 的 representation 而不借助 RNN 的 model。感兴趣的读者可以查看原文获得更多的信息,这里仅介绍 self-attention 模块。

Attention
\qquad attention函数可以看作是将一个查询和一组键-值映射到输出,其中查询,键,值均为向量。输出是作为值的加权和计算的,其中分配给每个值的权重是通过具有相应键的查询的 compatibility function 计算的。
\qquad 最常用的 attention 函数主要分为 additive attention 和 dot-product (multi-plicative) attention。论文中的 attention 和 dot-product attention 是一样的,只有缩放因子 1 d k \frac{1}{ \sqrt{d_k}} dk1不同。additive attention 通过一个只有一个隐藏层的前馈神经网络计算 compatibility function。尽管两种 attention 在理论上的复杂度接近,但在实践中通过高度优化的矩阵乘法代码实现, dot-product attention 具有更高的时间和空间效率。
Scaled Dot-Product Attention
\qquad 论文中的 attention 成为 “Scaled Dot- Product Attention”。输入包含维度为 d k d_k d

最低0.47元/天 解锁文章
989

被折叠的 条评论
为什么被折叠?



