为什么多个注意力头的学习方式不同

数据挖掘 伯特 变压器 注意机制
2022-03-02 01:09:27

在 Transformer 架构中,使用了多头注意力块。在可视化它们的输出时,可以看出每一层都学习了不同的单词关系。例如,第 5 层了解到“It”与“animal”更相关。

样本注意层 5

这里的问题是,当所有注意力层并行运行时,不同层的馈送有什么不同,以便他们学习不同的东西?
注意:这个答案不清楚 -为什么以及如何-bert-can-learn-different-attentions-for-each-head

1个回答

所有磁头都输入完全相同的输入。每个头部学习不同的权重值,因为:

  • 注意头与网络的其余部分一起随机初始化。
  • 每个头部接收到的反向传播梯度是不同的。这是因为多头注意力的结果是每个头的串联。通过串联进行反向传播时,梯度在heads之间进行拆分,每个head得到反向传播的梯度,因此每个head接收到的梯度信息是不同的。