Synthesizer: Rethinking Self-Attention for Transformer Models

本文探讨了Transformer模型中的self-attention机制的重要性,并提出了Synthesizer模型,它不依赖token间的交互,而是学习合成的注意力权重。Synthesizer包括几种变体,如DenseSynthesizer和RandomSynthesizer等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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依赖于每个单独的样本。

### 变分自编码器(VAE)相关学术论文 变分自编码器(Variational Autoencoder, VAE)是一种基于概率图模型和深度学习技术的生成模型,其核心思想在于通过优化证据下界(Evidence Lower Bound, ELBO),实现数据的概率建模[^5]。以下是几篇与VAE密切相关的经典研究论文: #### 经典基础理论 1. **Auto-Encoding Variational Bayes** 这是由Diederik P. Kingma和Max Welling于2013年发表的一篇开创性工作,首次提出了VAE的概念及其训练方法。该论文详细描述了如何利用重参数化技巧(Reparameterization Trick)来解决梯度估计中的不可微问题,并提供了完整的数学推导和实验验证[^3]。 2. **Tutorial on Variational Autoencoders** 此教程由Carl Doersch撰写,旨在为初学者提供关于VAE的基础知识、公式推导以及模型结构的理解。它不仅涵盖了基本原理,还讨论了一些常见的改进方向和技术细节[^2]。 #### 扩展与应用领域 3. **Improved Techniques for Training GANs and VAEGAN** 尽管这篇论文主要关注生成对抗网络(GAN),但它也探讨了将VAE与GAN相结合的方法(即VAEGAN)。这种方法试图结合两者的优势,在图像生成任务上取得了显著效果[^4]。 4. **SYNTHESIZER: Rethinking Self-Attention in Transformer Models** 虽然此论文的核心主题并非直接涉及VAE,但其中提到的一些注意力机制的设计理念可以启发研究人员探索更高效的序列建模方式,从而可能应用于条件VAE或其他复杂场景下的生成任务[^1]。 #### 实践指南与案例分析 除了上述理论性的文章外,还有许多针对特定应用场景的研究成果值得参考。例如医疗影像重建、自然语言处理等领域内的具体实践项目往往能够展示VAE的强大功能及其局限所在。 ```python import torch from torch import nn class Encoder(nn.Module): def __init__(self, input_dim, latent_dim): super(Encoder, self).__init__() self.fc_mu = nn.Linear(input_dim, latent_dim) self.fc_logvar = nn.Linear(input_dim, latent_dim) def forward(self, x): mu = self.fc_mu(x) log_var = self.fc_logvar(x) return mu, log_var def reparametrize(mu, log_var): std = torch.exp(0.5 * log_var) eps = torch.randn_like(std) z = mu + eps * std return z ``` 以上代码片段展示了简单的VAE编码部分及重新参数化的实现过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值