Attention and Kernel

自主vs非自主(是否有任务)

  • 非自主性提示是基于环境中物体的突出性和易见性。 想象一下,假如我们面前有五个物品: 一份报纸、一篇研究论文、一杯咖啡、一本笔记本和一本书。 所有纸制品都是黑白印刷的,但咖啡杯是红色的。 换句话说,这个咖啡杯在这种视觉环境中是突出和显眼的, 不由自主地引起人们的注意。 所以我们会把视力最敏锐的地方放到咖啡上。

  • 喝咖啡后,我们会变得兴奋并想读书, 所以转过头,重新聚焦眼睛,然后看看书。此时选择书是受到了认知和意识的控制, 因此注意力在基于自主性提示去辅助选择时将更为谨慎。 受试者的主观意愿推动,选择的力量也就更强大。

Queries, Keys, and Values

  • 首先,考虑一个相对简单的状况, 即只使用非自主性提示。

  • 要想将选择偏向于感官输入, 则可以简单地使用参数化的全连接层, 甚至是非参数化的最大汇聚层或平均汇聚层。

  • 因此,“是否包含自主性提示”将注意力机制与全连接层或汇聚层区别开来。

    • 在注意力机制的背景下,自主性提示被称为查询(query)。 给定任何查询,注意力机制通过注意力汇聚(attention pooling) 将选择引导至感官输入(sensory inputs,例如中间特征表示)。

    • 在注意力机制中,这些感官输入被称为(value)。

    • 更通俗的解释,每个值都与一个(key)配对, 这可以想象为感官输入的非自主提示。如图所示,可以通过设计注意力汇聚的方式, 便于给定的查询(自主性提示)与键(非自主性提示)进行匹配, 这将引导得出最匹配的值(感官输入)。

Nadaraya-Watson kernel regression & Gaussian Kernel

Nadaraya (Nadaraya, 1964)和 Watson (Watson, 1964)提出了一个更好的想法, 根据输入的位置对输出yiy_i进行加权:f(x)=i=1nK(xxi)j=1nK(xxj)yif(x) = \sum_{i = 1}^{n} \frac{K(x-x_i)}{\sum_{j = 1}^nK(x- x_j)} y_i, 其中KK(kernel)。

  • 公式所描述的估计器被称为 Nadaraya-Watson核回归(Nadaraya-Watson kernel regression)。

但受此启发, 我们可以从之前图中的注意力机制框架的角度 重写这个核公式, 成为一个更加通用的注意力汇聚(attention pooling)公式输出

f(x)=i=1nα(x,xi)yif(x) = \sum_{i = 1}^{n} \alpha(x, x_i)y_i

  • 其中xx是查询,(xi,yi)(x_i, y_i)是键值对。

  • 注意力汇聚是yiy_i的加权平均。

  • 将查询xx和键xix_i之间的关系建模为 注意力权重(attention weight)α(x,xo)\alpha(x,x_o), 如图所示, 这个权重将被分配给每一个对应值yiy_i

  • 对于任何查询,模型在所有键值对注意力权重都是一个有效的概率分布: 它们是非负的,并且总和为1for example, f(x)=i=1nsoftmax(12(xxi)2)yif(x) = \sum_{i = 1}^{n} softmax(-\frac{1}{2}(x-x_i)^2)y_i, where 这里使用Gaussian kernel

Last updated