Synthesizer: Rethinking Self-Attention for Transformer Models
核心:
该论文调查了基于dot-product self-attention机制在transformer模型性能的重要性和贡献。
本文提出SYNTHESIZE模型在没有token-token interaction时,学习synthetic attention weights(合成的注意力权重)。 Dot-product content-based attention能用简单的变体(如random矩阵 或dense layers)近似,不会牺牲许多的性能。
前言:
Transformer的核心在于Q-K-V dot product attention。Transformer的成功广泛归因于self-attention机制,由于能建模长范围依赖关系的全连接token图提供的一个强的归纳偏置。
原文: success of Transformer models is widely attributed to this self-attention mechanism since fully connected token graphs, which are able to model long-range dependencies, provide a robust inductive bias.
Dot product self-attention的基本作用是去学习self-alignment(自我对齐),去确定单个token相对于序列中其他所有token的相对重要性。Query、key、value表明self-attention模拟于内容的检索过程,核心是利用pairwise interaction(两两交互).
Self-attention的缺点:
注意力权重是在实例或样本级所学到的,其中权重是由实例级的两两相互作用产生的(即q和k相乘再通过softmax后的概率)。而特定于实例的相互作用在不同的实例之间自由波动,因为这些实例缺乏一致的上下文。
改进:
提出一种新模型SYNTHESIZER,学习去合成self-alignment 矩阵而不是手动计算pairwise dot products。提出了一些合成函数。
SYNTHESIZER模型:是一种transformer模型(用Synthetic Attention modules代替self-attention modules).
Synthetic Attention:移除query-key-value的概念直接合成alignment矩阵。
1)Dense Synthesizer:
此方法用合成函数F代替了标准transformer中的Q*K来模拟dot product attention.
Synthesizer模型最简单变体:基于每个输入token
l refers to the sequence length an d refers to the dimensionality of the model. F是一个参数化的函数,采用简单的两层的feed-forward层和ReLU激活函数:
其中G是另一个参数化的函数类似于transformer中的value.
2)Random Synthesizer:
Synthesizer的另一个变种:没有基于任何的输入token
Attention 权重被随机初始化,这些值要么被训练要么保持固定。
Random Synthesizer learns a task-specific alignment that works well globally across many samples.
3) Factorized Models
当序列长度l很大时,合成的模型可能遇到很多麻烦,因为提出Synthesizer模型的分解变体。
Factorized Dense Synthesizer:
分解不仅轻微减少参数成本而且预防过拟合。
Factorized Random Synthesizer:
Mixture of Synthesizers:
所有Synthesizers函数的对比:
Random Synthesizers是全局的,因为它们在所有样本中共享全局对齐模式;Dense Synthesizers依赖于每个单独的样本。