机器之心报道
从以下伪代码不难看出,多头注意力机制在数学上等效于,使用两个因子的乘积分别表示 GBMA 中的各参数张量。
参与:思、肖清、一鸣
在 Transformer 完全采用注意力机制之后,注意力机制有有了哪些改变?哈希算法、Head 之间的信息交流都需要考虑,显存占用、表征能力都不能忽视。
论文:Attention Is All You Need
论文链接:https://arxiv.org/abs/1706.03762 (https://arxiv.org/abs/1706.03762)
论文:Reformer: The Efficient Transformer
论文地址:https://openreview.net/pdf?id=rkgNKkHtvB
论文:Talking-Heads Attention
论文地址:https://arxiv.org/abs/2003.02436
Y[a, c] = einsum(X[a, b], W[b, c])
于是,前面介绍的多头注意力机制使用 einsum 表示法可改写为如下形式:
h·(dk +dv)·(n·dX +m·dM +n·m)
而交谈注意力机制所需的标量乘法运算数目为:
(dk ·hk +dv ·hv)·(n·dX +m·dM +n·m)+n·m·h·(hk +hv)
可以看到上式中第一项与多头注意力机制的计算量类似,而第二项是由交谈注意力中的线性映射导致的。假如 h
作者指出,由于交谈注意力机制引入了额外的小尺寸张量运算,在实际运行过程中很可能导致速度比 Transformer 更慢。
最后,多头注意力机制与交谈注意力机制都可看作一种「通用双线性多头注意力机制」(GBMA, i.e. general bilinear multihead attention)的特殊形式。我们可以从以下伪代码看出,GBMA 具有两个三维的参数张量。
