本文参考 https://www.zhihu.com/question/341222779
(1)多头的注意力有助于网络捕捉到更丰富的特征 / 信息。
原论文中写道:
Multi-head attention allows the model to jointly attend to information from different representation subspaces at different positions. With a single attention head, averaging inhibits this.
多头注意力允许模型在不同位置共同关注来自不同表示子空间的信息。使用一个单注意力头,平均会抑制这种情况。
其实可以类似于 CNN 中利用多个卷积核分别提取不同特征。
(2)在这篇论文中 http://arxiv.org/pdf/1905.0941 讨论了多头的作用,发现并不是头越多越好,去掉一些头效果依然有不错的效果(而且效果下降可能是因为参数量下降),这是因为在头足够的情况下,这些头已经能够有关注位置信息、关注语法信息、关注罕见词的能力了,再多一些头,无非是一种 enhance 或 noise 而已。