论文笔记 A survey of Transformers
1.介绍
改进版本的各种former在如下三个方面改进了vanilla Transformer:
- 模型效率,因为Self-Attention的时间和内存效复杂度导致其在处理长序列时效率比较低
- 模型泛化,很难在小批量数据集上进行训练,
- 模型迁移,将Transformer适应去特定的下游应用。
提出一个新的分类,根据三个方面:模型改进、预训练、应用。
2.背景:介绍架构
2.4 和其他进行比较
2.4.1 自注意力分析
是一种灵活的可以处理可变长度的机制,可以理解为一个权重从输入动态生成。优势如下: (1)和全连接层拥有同样的最大路径长度,更能建模长期依赖,和全连接层相比,参数更少,在处理可变长度输入时更加灵活。 (2)和卷积层相比不需要叠加很多层 (3)和RNN相比更容易并行
2.4.2 归纳偏置
Transformer通常跟CNN和RNN相比较,CNN通过共享卷积核参数增强了平移不变形和局部性的归纳偏置,RNN通过携带他的马尔科夫结构携带了时序不变性以及局部性的归纳偏置,但是,Transformer架构对于数据的结构信息做出了较少的假设,却也使得其容易在小规模数据及上过拟合。 另外一个与之相关的架构是具有消息传递的图神经网络。Transformer可以视作定义在完全有向图(具有自循环)的图神经网络,每一个输入为图中的一个点。所不同的是,Transformer没有引入关于数据结构的先验知识,消息传递机制仅仅依赖于输入之间的相似性
3.分类系统
按照三个来分类:架构改变、预训练方法、应用
4.Self-Attention:跟Attention相关的变种
在实际应用中仍然有两个挑战:
- 复杂度 o(T^2)
- 结构性先验知识,并没有引入输入之间的structural bias,甚至是顺序信息都需要从输入中学到,所以,Transformer很容易在小批量或者中批量数据及上过度拟合。
4.1 Sparse Attention
在标准的Transformer里,每一个记号都要attend其他记号。然而在训练好的Transformer里,注意力矩阵在大部分输入点都很稀疏,限制每个query 所attend的数目。 根据确定稀疏连接的方法,将其分为两种。position-based 和content-based
4.1.1 position-based
attention权重矩阵根据某种预定义的模式来确定,可以解构为一些原子模式
4.1.1 Atomic Sparse Attention
1.为了处理Sparse Attention在建模长期以来的不足,添加一些全局结点作为信息传递的中转站 2.band attention 3.dilated attention 4.random attention 5.block attention
4.1.2 一些复合的模式
Star-Transformer、Longformer、ETC、Bigbird、Sparse Transformer
4.1.3 扩展的Sparse 模式
其中一个,应用于文本,BP-Transformer
4.1.2 基于内容的
以输入为条件 routing transformers reformer SAC sparse sinkhorn attention
4.2 Linear Attention
Q
K
T
QK^{T}
QKT的计算与T的平方成正比,如果可以
Q
、
(
K
、
T
V
)
Q^{、}(K^{、T}V)
Q、(K、TV)这样算的话,就可以有用O(T)的复杂度,即使用
?
(
Q
)
?
(
K
)
T
\phi(Q)\phi(K)^{T}
?(Q)?(K)T代替
e
x
p
(
Q
K
T
)
exp(QK^{T})
exp(QKT),
?
\phi
?被称之为feature map , 主要有两个关键点,feature map ,融合方法
4.3 Query Prototyping and Memory Compression
仍然是为了降低复杂度,两个方法,降级query数目,降低 key-value pair 数目
4.3.1 Attention with Prototype Queries
cluster attention 将query分为一簇一簇的,每一簇的质心代表这一簇来进行注意力计算
4.3.2 Attention with Compressed Key-Value Memory
降低key-value对的数目 memory compressed transformer
4.4 low-rank Self-Attention
经验和理论都表明,self-Attention matrix 通常很低秩,有了两种思路:
- 低秩属性应该使用参数进行显式建模
当输入很短的时候,使用
D
k
>
T
D_{k}>T
Dk?>T 会导致over-parameterazation 以及过拟合,因此,通过限制
D
k
D_{k}
Dk?的大小来显式建模低秩属性作为归纳偏置 - 自注意力矩阵可以使用低秩估计来代替
4.5 Attention with prior
Attention分布也可以来自于除了
Q
K
T
QK^{T}
QKT的其他来源,我们将之称之为 prior ,
4.6 Improved Multi-Head Mechanism
多头注意力 吸引力:不同头将注意力集中在不同位置的输入子空间中,然而,没有机制能保证这一特性。
4.6.1 Head Behavior Modeling
方法:通过引入更加复杂的机制来保证每个头的不同表现或者允许头之间的交互 一个方法:引入正则项
4.6.2 Multi-head with Restricted Spans
注意到,一些头关注于局部上下文,而一些头更加关注更宽的上下文,因此,限制注意力span可能有用
4.6.3 Multi-head with Refined Aggregation
不同头所得表示的融合方法
5. OTHER MODULE-LEVEL MODIFICATIONS
5.1 position representation
5.1.1 Absolute Position Representations
对于文本,建模位置信息很重要,比较值得提的就是sin cos的频率。
5.1.2 Relative Position Representations
建模token之间的位置关系,有一个 relative position embedding
5.1.3 other representations
一些杂交的表示,花里胡哨的
5.1.4 Position Representations without Explicit Encoding
将嵌入泛化为 具有连续位置信息的函数,例如说建模局部序列的R-Transformer,再经过每个分块处理之前,首先经过RNN,RNN捕捉了顺序信息,建模了短期依赖
5.1.5 Position Representation on Transformer Decoders
masked self-Attention不含有顺序不变性,所以,只含有decoder的Transformer可以不含有显式位置编码,就已经建模了位置信息。
5.2 Layer Normalization
LN使得深层网络的训练更加稳定
5.2.1 放置的位置
有两种,post-LN以及pre-LN.各有一些探讨
5.2.2 Substitutes of Layer Normalization
可学习参数在大部分情况下不工作,而LN中的均值和方差再缩放对LN至关重要,因此提出了一个新的正则化方法
5.2.3 Normalization-free Transformer
使用一种可学习的residual connector来代替
5.3 Position-wise FFN
5.3.1 激活函数的改变
GLU GELU
5.3.2 Adapting FFN for Larger Capacity
一直都没怎么看懂这个是啥
6 ARCHITECTURE-LEVEL VARIANTS
6.1 Adapting Transformer to Be Lightweight
funnel-Transformer,比如说逐步缩短序列的长度
6.2 Strengthening Cross-Block Connectivity
在原始的Transformer中,每一层使用上一层的输出作为输入,我们可不可以创造更多的路径,使得输入路径可以贯穿全程呢。比如在 decoder cross-attention的时候,使用一个weight sum
6.3 Adaptive Computation Time
使得计算时间根据输入的不同而不同,例如 universal transformer 还有就是,early-exit系统,
6.4 Transformers with Divide-and-Conquer Strategies
处理长序列,使用分而治之的办法,就是分段
6.4.1 recurrent network
有一个缓存,缓存包含了历史信息;
6.4.2 Hierarchical Transformers
处理更长的序列时,比如对于document summerization,首先处理句子级别的表示,然后使用这些句子级别的表示来生成文件级别的表示 亦或是用来生成富含更多信息的表示、
6.5 Exploring Alternative Architecture
MAN在self-Attention之前添加了一个 dynamic mask attention module,mask基于token表示以及token和头编号之间的相对距离,很好的建模了文本数据的局部性。
7 PRE-TRAINED TRANSFORMERS
Transformer对于数据结构做出了很少的假设,在大规模文本上进行预训练使得模型不捉了一些全局语言信息。使用不同的自监督任务进行预训练。
8 一些总结
1)仍需理论描述 2)更好的全局信息交互 3)对于多形式的数据拥有一个统一的架构
|