论文阅读笔记:Attention: Self-Expression Is All You Need


正在双盲审中的ICLR 2022论文,论文名字neta了著名的《Attention Is All You Need》,证明了Attention和各种聚类和去噪方法的内在联系

很有意思的文章,但也存在许多不足。这篇文章细致地回顾了各种Transformer模型的定义、直觉含义和进展(第2章),同时系统地与Self-Expression进行比较并给出了严格的证明(第3,4,5章三重比较),最后指明了可能的Attention和Self-Expression互相补充互相促进的可能性(attention的稀疏正则化和self-expression的过参数化、堆叠化)。不过本文没有做任何实验。

摘要

Transformer模型令人惊喜地同时在NLP和CV领域的各种学习任务中出色表现。Transformer的成功很大程度上归功于attention层的使用,该层通过注意力系数捕获数据token(如单词和图像块)之间的远程联系,注意力系数是全局的,并在测试时适应输入数据。在本文中,我们研究了注意力背后的原理及其与现有技术的联系。具体地说,我们证明了attention建立在流形学习和图像处理的历史长河之上,包括基于核的回归、非局部均值、局部线性嵌入、子空间聚类和稀疏编码等方法。值得注意的是,我们证明了self-attention与子空间聚类中的self-expression概念密切相关,self-expression将待聚类的数据点表示为所有其他点的线性组合,系数设计用于关注同一组中的其他点,从而捕获点之间的远程联系。我们还表明,可以使用有关稀疏编码和稀疏子空间聚类的现有文献,以更为原则的方式研究稀疏self-attention中的启发式算法。

简介

注意力这个单词本身,即有选择地专注于观察的某个子集,而忽略其他无关信息的能力,是人类感知的核心组成部分。例如,一个句子中只有几个单词可能对预测下一个单词有用,或者只有图像的一小部分可能与识别对象相关。

生物系统的这种特性激发了基于attention的神经架构的最新发展,如Transformer(2017年)、BERT(2018年)、GPT系列(2018-2019年)、RoBERTa(2019年)和T5(2019年),在各种NLP任务中取得了令人印象深刻的性能。基于attention的体系结构还延伸到了各种CV任务中,包括图像分类、目标检测和视觉问答等。

基于attention结构成功很大程度上归功于它们通过注意力系数捕获数据token之间的远程联系的能力,注意力系数是全局的、可学习的,并且在测试时适应新的输入。例如,NLP中的递归神经网络 (RNN) 结构使用有关前几个单词的信息预测句子中的下一个单词,而self-attention机制则基于所有单词之间的相互作用进行预测。类似地,计算机视觉中的卷积架构使用测试时不依赖于输入图像的权重计算图像块之间的局部交互,而视觉transformer能够计算全局交互。

在本文中,我们展示了attention背后的许多关键思想,我们在第2节中简要总结了这些思想,它们建立在流形学习和图像处理的长期历史基础之上。

  1. 在第3节中,我们展示了scaled dot product attention机制等同于使用高斯核的基于核的回归,正如最近指出的那样,通过选择其他核可以获得更一般的attention机制。我们还展示了非局部均值图像去噪算法,也可以理解为基于核的回归形式,这是视觉转换器(ViT)背后的主要构建块。我们认为,相对于基于核的回归,注意力的关键创新不在于它能够捕捉适应输入数据的全局联系(非局部手段已经做到了这一点),而在于使用许多可学习的超参数来定义注意力。相比之下,经典的内核方法通常只调整内核带宽。

  2. 在第4节中,我们建立了masked attention和局部线性嵌入(LLE)之间的联系。具体地说,我们证明了LLE使用masked attention机制学习数据集的低维表示,其中masks由数据点的最近邻定义。由此产生的系数不被限制为非负,因此允许正面和负面注意。此外,它们明确地依赖于多个数据token,而注意系数仅依赖于一对token。我们还表明,LLE的训练目标可以解释为一个填补空白的自监督学习目标。然而,LLE的一个关键限制是其局部邻域是预先指定的,因此数据点不能关注任何其他点。这个问题是通过self-expression来解决的,它将每个点连接到每个其他点,并使用稀疏正则化来显示需要关注的点。

  3. 在第5节中,我们发现self-attention与self-expression概念密切相关,其中待聚类的数据点表示为具有全局系数的其他点的线性组合,然后使用这种自表达系数来定义用于对数据进行聚类的数据关联矩阵。self-attention系数和self-expression系数之间的第一个区别是后者不一定是非负。第二个区别是,自表达系数并没有定义为具有可学习权重的参数化函数。相反,它使用无监督损失直接学习系数。第三个区别是,自表达系数通常被正则化为稀疏或低秩的。因此,我们认为,相比于自表达模型,self-attention的关键创新不在于其捕捉适应数据的全局联系的能力(因为self-expression已经做到了这一点),而是在于注意力机制并行地使用多个注意头,并堆叠到深层架构中。

我们总结了如何利用Self attention来提高Self expression能力的未来方向,反之亦然。例如,我们认为使用稀疏正则化自动选择最相关的系数,是处理大量数据token的一种更具原则性的方法;而不是像criss-cross attention(2019)那样将注意力限制在任意的局部近邻。这不仅可以通过对注意力系数使用稀疏正则化器来改进基于self-attention的体系结构,还可以通过使用self-attention来改进子空间聚类方法,正如最近在SENet, CVPR2021中提出的那样。这也允许通过堆叠多层自表达性将子空间聚类方法扩展到非线性流形。

2 Transformer, Attention, Self-attention

2.1 Transformer

在这里插入图片描述

transformer架构最初是为处理数据序列而设计的,例如,句子中的一系列单词。序列的每个元素首先通过适当的嵌入(如Word2vec)映射到向量空间。由于体系结构不依赖于输入序列的位置和顺序,因此在每个输入嵌入中都有额外的对位置的编码。之后输入的token由multi-head attention处理。该层将输出token看做输入标记的线性组合进行计算,输入token经由注意力系数加权,以捕获输入token之间的关联。然后,输出token由残差连接、层规范化(LN)、前馈网络(例如MLP)和对前馈网络的残差连接和层规范化处理。因此,transformer架构的主要组件是multi-head attention层。

2.2 Attention

在这里插入图片描述
Attention层旨在捕获三种类型的输入token之间的交互信息:Query、Key和Value。它通过将Query与Key进行比较(Q和K矩阵乘法)来生成一组注意力系数,然后使用这些系数来生成Value的线性组合(注意力系数与V的矩阵乘法)。

经过Softmax处理后,对每个Query-Key点对,attention层计算注意力系数 c i j = c_{ij}= cij=attn ( k i , q j ) ∈ [ 0 , 1 ] (k_i,q_j)\in[0,1] (ki,qj)[0,1],并通过以下计算得到Value的线性组合:
在这里插入图片描述
直观地说,注意系数 c i j c_{ij} cij度量了用当前Key去表示Query的重要程度,而表示 z i z_i zi线性组合了对Query最重要的Value。attention的计算机制有许多选择: 加性、乘性和点积。常用的选择是缩放点积,Query和Key按其维度的平方根缩放,然后将softmax用于Query和Key的点积,即:
在这里插入图片描述

这样得到系数是非负的,且累和等于1,所以 z j z_j zj是这些Value的凸组合。让我们用简化的例子来说明注意力背后的直觉:

  1. NLP: 假设我们想把法语句子翻译成英语。设Query q j q_j qj为法语句子第j个单词的特征嵌入,设 k i = v i k_i=v_i ki=vi为英语对应句子第i个单词的特征嵌入。理想情况下, 注意力机制应确保仅针对正确的key-query翻译对 ( i , j ) (i,j) (i,j)的系数较大(即 c i j ≈ 1 c_{ij}≈ 1 cij1),那么在这种情况下,法语Query q j q_j qj的输出将是其到英语 z j = v i z_j=v_i zj=vi的翻译。
  2. CV: 假设给我们一个图像–标题对,我们想找出图像中的哪些区域对应于标题中的哪个单词。假设我们还有一组使用对象检测器从图像中提取的边界框。Query是标题中单词的word embedding,Key和Value是从边界框中提取的CNN特征。也就是说,注意机制是为了告诉我们每个单词要注意哪些区域。

当然,为了使多语言单词嵌入相互对齐,或者为了使单词的嵌入匹配图像特征,这两种特征都需要通过可学习的变换映射到公共潜在空间,这便是接下来的Self-attention

2.3 Self-attention

X = [ x 1 , . . . , x N ] ∈ R D × N X=[x_1,...,x_N]∈\mathbb R^{D×N} X=[x1,...,xN]RD×N表示一组数据tokens,如单词或图像块。Self-attention的目标是捕捉这些tokens内部的交互信息。首先通过可学习的系数矩阵 W K , W Q , W V W_K,W_Q,W_V WK,WQ,WV将这些tokens转换为Key、Query和Value:
在这里插入图片描述
然后就可以像普通的attention一样学习到表示Z:
在这里插入图片描述
让我们用(Dosovitskiy et al.,2020)提出的Vision Transformer(ViT)来说明Self-attention背后的直觉。如图所示,ViT将输入图像划分为多个patchs的集合,并通过可学习的Linear Projection将这些patchs映射到一组向量。每个投影后的patch都添加了一个指示它在整个图像中位置的编码。由于ViT是为图像分类而设计的,因此在Transformer Encoder的输入中添加了一个额外的0号token用于捕获类信息和其他token一起学习。Transformer Encoder使用Self-attention处理所有这些token。
在这里插入图片描述
具体地说,新token为patch的线性组合,权重为patch之间关系的注意力系数。此外,将类token与patch tokens关联的注意力系数期望哪些patch需要注意,以对图像进行分类。然后,输出的类token通过MLP头得到类概率。使用交叉熵损失进行分类。

2.4 Masked attenion & Sparse attention

然而,softmax处理的使用通常会导致稠密的attention maps,其计算可能是内存和计算密集型的。此外,在文档摘要、问题回答或视觉基础等应用中,attention maps应是稀疏的。解决这一问题的一种方法是将非零注意系数限制在某些模式上,这是通过mask实现的,因此命名为masked attention。然而,预先定义的局部attention maps可能会错过重要的远程交互。作为替代方案,Martins&Astudillo提出用sparsemax算子替代softmax算子,这直接诱导稀疏的attention maps。然而不清楚为什么这样做会自动选择信息更丰富的token。这促使He等人提出了结合注意图的启发式方法。总的来说,在保持信息量最大的长程相互作用的同时诱导稀疏性的严格方法仍然是难以捉摸的。

3 Kernel Regression, Non-local Means Denoising and Attention

self-attention思想最早的体现之一即核回归。有趣的是,核回归也是著名的图像去噪算法的基础,即非局部均值(non-loacal means),我们认为该算法与Vision Transformer(ViT)密切相关。

3.1 Kernel regression

核回归是这样一种非参数方法的拟合函数 f : X → Y f:\mathcal X→\mathcal Y f:XY X × Y \mathcal X\times\mathcal Y X×Y中采样 ( x j , y j ) j = 1 N {(x_j,y_j)}^N_{j=1} (xj,yj)j=1N,它使用核密度估计器来近似最小均方误差预测器 f ^ ( x ) = E ( y ∣ x ) \hat f(\textbf x)=\mathbb E({\bf y|x}) f^(x)=E(yx)。具体来说,给定一个核 κ : X × X → R \mathcal κ:\mathcal X×\mathcal X→\mathbb R κ:X×XR,人们可以将 f ^ ( x ) \hat f(\textbf x) f^(x)估计为 y j \textbf y_j y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值