查看原文
其他

【源头活水】Rethinking Self-Attention in Transformer Models

“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。

作者:知乎—我想了很多事

地址:https://www.zhihu.com/people/yuan-chao-yi-83


01

前言
随着Transformer的提出,NLP领域得到了极速的发展,在Transformer中self-attention通过 自己与自己的Attention来捕捉token与token之间的关联,而事实上上self-attention真的是我们所理解的那样吗?而本文正是对自注意力的一个反思与探讨.

02

self-attention
首先我们回顾一下self-attention的机制,self-attention的关键在于query-key-product 的点积注意力,即
 
在其中各个参数的维度为  ,最后通过  进行归一化计算, 我们把  通过不同的投影矩阵  得到  ,之后在做attention


03

本文的Synthesizer attention实验
从公式中可以看出,Self-Attention是将一个  的矩阵A通过  的矩阵  ,将原本的矩阵  变成了  的 ,而作者的第一个实验被称为Dense形式,首先移除了  的形式,而是直接通过了两层的Dense形式
得到了矩阵  ,相当于将  固定为矩阵  ,这其中W跟b用于 Dense 层的计算 最后输出结果为
 可类比于 Transformer中的V
第二种形式为,注意力权重的初始化不在受到任何输入 token 的影响,而是完全随机初始化。这些初始化的值可以保持不更新,或者随着训练保持更新,此时另  ,则此时不依赖 任何token 对之间的交互或者任何单个 token 的信息。
如图:


04

模型分解
上面的形式,往往带来了过多的参数,为了实践可行,作者提出了两种分解模型的形式,被称为Factorized Dense Synthesizer 和 Factorized Random Synthesizer,
Factorized Dense Synthesizer:通过Dense的方式,生成两个  的矩阵  ,其中  ;令  重复  次,令  重复  次得到了  的矩阵,然后令两个矩阵做逐位相乘,即可从分解出的两个矩阵恢复到  ,
Factorized Random:令  的矩阵  ,变成两个  的矩阵,最后在乘在一起


05

混合模式
上述所有提出的 Synthetic 注意力变种都可以通过加和形式混合到一起
其中  表示一个 Synthesizer 的函数,而 


06

实验结果
1.机器翻译:
结果显示,除了固定的Random外,所有的自注意力形式表现基本上都差不多,这表明以往对自注意力的认知和解释太片面,并没有揭示自注意力生效的真正原因。
2.摘要对话
在自动摘要这个任务上,标准注意力效果比较好;但是对话生成这个任务上,结果则反过来:标准的自注意力是最差的,Dense(D)和Random(R)是最好的,而当Dense和Random混合了标准的自注意力后(即 D+V 和 R+V),效果也变差了。这说明标准注意力并没有优势
3.预训练与微调
从表中结果可以看出,相比标准自注意力,Dense和Random就显得逊色了,这表明Dense和Random也许会在单一任务上表现得比较好,而迁移能力则比较弱。

本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。


“源头活水”历史文章


更多源头活水专栏文章,

请点击文章底部“阅读原文”查看



分享、点赞、在看,给个三连击呗!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存