为什么 Transformer 中的注意力层会学习上下文?

数据挖掘 神经网络 nlp 变压器 序列到序列 注意机制
2022-02-15 03:50:02

我了解转换器架构(来自“Attention is All You Need”),以及如何在多头注意力层中计算注意力。

我感到困惑的是为什么注意力层的输出是上下文向量。也就是说:Transformer 的训练方式导致注意力层学习上下文的原因是什么?我希望在论文中看到的理由是“当你在序列到序列的任务上使用注意力训练转换器时,注意力层会学习上下文,这就是为什么...... ”。我相信这一点,因为我已经看到了显示相关词之间注意力的热图,但我想了解为什么这必然是训练变压器的结果。

为什么注意力层不能学习其他一些恰好也有利于序列任务的特征呢?我们怎么知道他们学习上下文,而不是我们观察到的?

再次,我得到了数学,我知道有几个关于它的帖子。我想知道的是数学或训练过程意味着注意力层学习上下文的含义

1个回答

提供一个简单化和较少数学化的理由。你可以这样假设:

在一个简单的前馈神经网络(当然是黑盒)中,您将学习一组权重,学习一个将输入映射到输出的函数。

但是,在基于转换器的架构中,您有注意力。在这里,权重被结构化为查询、键和值(Q,K,V)。这 3 组权重驱动注意力并负责学习上下文。它的工作方式仍然是一个像前馈网络一样的黑盒。但是,是的,它的工作原理是这样的,每个标记的嵌入都使用它们各自的权重矩阵转换其查询、键和值向量。对于给定的标记,其查询向量与所有其他标记的键向量相乘以获得值向量。这些值决定了每个标记相对于查询标记的重要性。因此,通过反向传播,您尝试优化这些 Q、K、V 权重,从而学习它以更好地映射标记之间的关系。