在Attention Is All You Need的第 3.2.1 节中声称:
点积注意力与我们的算法相同,除了比例因子为. 附加注意使用具有单个隐藏层的前馈网络计算兼容性函数。虽然两者在理论上的复杂性相似,但点积注意力在实践中更快且更节省空间,因为它可以使用高度优化的矩阵乘法代码来实现。
为什么点产品注意力会更快是没有意义的。加法注意力在计算方面几乎相同;主要区别是代替在点产品关注。至少需要与,那么它怎么可能更快呢?
在Attention Is All You Need的第 3.2.1 节中声称:
点积注意力与我们的算法相同,除了比例因子为. 附加注意使用具有单个隐藏层的前馈网络计算兼容性函数。虽然两者在理论上的复杂性相似,但点积注意力在实践中更快且更节省空间,因为它可以使用高度优化的矩阵乘法代码来实现。
为什么点产品注意力会更快是没有意义的。加法注意力在计算方面几乎相同;主要区别是代替在点产品关注。至少需要与,那么它怎么可能更快呢?
研究人员正在比较的加法注意方法对应于一个具有 3 层的神经网络(它实际上不是直接加法)。计算这将涉及输入向量乘以一个矩阵,然后乘以另一个矩阵,然后计算类似 softmax 的东西。点积的智能实现不会破坏它的整个矩阵乘法算法,它基本上是一个紧凑的、易于并行化的循环。
在附加注意中(如Bahdanau 等人 (2014) 的论文中所述),对齐模型由前馈神经网络表示。如果您查看他们的附录,他们实际上将其实现为
相比之下,在点积注意力中(如Vaswani 等人 (2017) 的论文中所述),对齐模型实现为
计算优势是点积对齐模型只有两个权重矩阵,只需要矩阵乘法,存在高度优化的代码。