Google新作Synthesizer:我们还不够了解自注意力

2020 年 5 月 27 日 PaperWeekly


©PaperWeekly 原创 · 作者|苏剑林

单位|追一科技

研究方向|NLP、神经网络


写在开头

深度学习这个箱子,远比我们想象的要黑。

据说物理学家费曼说过一句话[来源] [1] :“谁要是说他懂得量子力学,那他就是真的不懂量子力学。”我现在越来越觉得,这句话中的“量子力学”也可以替换为“深度学习”。尽管深度学习已经在越来越多的领域证明了其有效性,但我们对它的解释性依然相当无力。
当然,这几年来已经有不少工作致力于打开深度学习这个黑箱,但是很无奈,这些工作基本都是“马后炮”式的,也就是在已有的实验结果基础上提出一些勉强能说服自己的解释,无法做到自上而下的构建和理解模型的原理,更不用说提出一些前瞻性的预测。
本文关注的是自注意力机制。直观上来看,自注意力机制算是解释性比较强的模型之一了,它通过自己与自己的 Attention 来自动捕捉了 token 与 token 之间的关联,事实上在 Attention is All You Need [2] 那篇论文中,就给出了如下的看上去挺合理的可视化效果:

▲《Attention is All You Need》一文中对 Attention 的可视化例子

但自注意力机制真的是这样生效的吗?这种“token对token”的注意力是必须的吗?前不久 Google 的新论文 Synthesizer: Rethinking Self-Attention in Transformer Models 对自注意力机制做了一些“异想天开”的探索,里边的结果也许会颠覆我们对自注意力的认知。
论文标题: Synthesizer: Rethinking Self-Attention in Transformer Models
论文链接: https://arxiv.org/abs/2005.00743


自注意力


自注意力模型的流行,始于 2017 年 Google 发表的 Attention is All You Need  [2] 一文,关于它的科普读者还可以参考笔者旧作《Attention is All You Need》浅读(简介+代码)。它的基础是 Scaled-Dot Attention,定义如下:

其中 ,softmax 则是在 m 的那一维进行归一化。而自注意力,则是对于同一个 ,通过不同的投影矩阵

得到 

然后再做 Attention,即:

至于 Multi-Head Attention,则不过是 Attention 运算在不同的参数下重复多次然后将多个输出拼接起来,属于比较朴素的增强。而关于它的进一步推广,则可以参考《突破瓶颈,打造更强大的 Transformer》 [3]


天马行空

本质上来看,自注意力就是通过一个 的矩阵 的矩阵 ,将原本是 的矩阵 ,变成了 的矩阵 。其中矩阵 是动态生成的,即:

对于矩阵 ,本质上来说它就是 里边两两向量的内积组合,所以我们称它为“token对token”的 Attention。

▲ Synthesizer自注意力与标准自注意力的对比
那么,就到了前面提出的问题:“token 对 token”是必须的吗?能不能通过其他方式来生成这个矩阵 ?Google 的这篇论文正是“天马行空”了几种新的形式并做了实验,这些形式统称为 Synthesizer。
3.1 Dense形式
第一种形式在原论文中称为 Dense: 需要是 大小的,而 的,所以只需要一个 的变换矩阵 就可以将它变成 了,即:

这其实就相当于把 固定为常数矩阵 了。当然,原论文还做得更复杂一些,用到了两层 Dense 层:

但思想上并没有什么变化。

3.2 Random形式

刚才说Dense形式相当于把 固定为常数矩阵,我们还能不能更“异想天开”一些:把 固定为常数矩阵?这时候整个 相当于是一个常数矩阵,即:

原论文中还真是实验了这种形式,称之为 Random,顾名思义,就是 是随机初始化的,然后可以选择随训练更新或不更新。

据原论文描述,固定形式的 Attention 首次出现在论文 Fixed Encoder Self-Attention Patterns in Transformer-Based Machine Translation [4],不同点是那里的 Attention 矩阵是由一个函数算出来的,而 Google 这篇论文则是完全随机初始化的。

从形式上看,Random 实际上就相当于可分离卷积(Depthwise Separable Convolution)运算。
3.3 低秩分解

上面两种新形式,往往会面对着参数过多的问题,所以很自然地就想到通过低秩分解来降低参数量。对于 Dense 和 Random,原论文也提出并验证了对应的低秩分解形式,分别称为 Factorized Dense 和 Factorized Random。

Factorized Dense 通过 Dense 的方式,生成两个 的矩阵 ,其中 ab=n;然后将 重复 b 次、然后将 重复 a 次,得到对应的 矩阵 ,最后将他们逐位相乘(个人感觉相乘之前 应该要转置一下比较合理,但原论文并没有提及),合成一个 的矩阵:

至于 Factorized Random 就很好理解了,本来是一整个 的矩阵 ,现在变成两个 的矩阵 ,然后:

3.4 混合模式

到目前为止,连同标准的自注意力,我们有5种不同的生成矩阵 的方案,它们也可以混合起来,即:

其中 是不同形式的自注意力矩阵,而 是可学习参数。


结果分析

前面介绍了统称为 Synthesizer 的几种新型自注意力形式,它们的共同特点是没有保持“token 对 token”形式,尤其是 Random,则完全抛弃了原有注意力的动态特点,变成了静态的矩阵。

那么,这些新型自注意力的效果如何呢?它们又怎样冲击我们对自注意力机制的认识呢?
4.1 机器翻译
第一个评测任务是机器翻译,详细地比较了各种自注意力形式的效果:
▲ Synthesizer在机器翻译任务上的表现对比
不知道读者怎么想,反正 Synthesizer 的这些结果是冲击了笔者对自注意力的认知的。表格显示,除了固定的 Random 外,所有的自注意力形式表现基本上都差不多,而且就算是固定的 Random 也有看得过去的效果,这表明我们以往对自注意力的认知和解释都太过片面了,并没有揭示自注意力生效的真正原因。
4.2 摘要对话

接下来在摘要和对话生成任务上的结果:

▲ Synthesizer在摘要和对话任务上的表现对比

在自动摘要这个任务上,标准注意力效果比较好,但是对话生成这个任务上,结果则反过来:标准的自注意力是最差的,Dense(D)和 Random(R)是最好的,而当 Dense 和 Random 混合了标准的自注意力后(即 D+V 和 R+V),效果也变差了。

这说明标准注意力并没有什么“独占鳌头”的优势,而几个 Synthesizer 看起来是标准注意力的“退化”,但事实上它们互不从属,各有优势。
4.3 预训练+微调
最后,对于我们这些普通读者来说,可能比较关心是“预训练+微调”的效果怎样,也就是说,将 BERT 之类的模型的自注意力替换之后表现如何?原论文确实也做了这个实验,不过 Baseline 不是 BERT 而是 T5,结果如下:

▲ Synthesizer在“预训练+微调”的表现对比

在这个结果中,相比标准自注意力,Dense 和 Random 就显得逊色了,这表明 Dense 和 Random 也许会在单一任务上表现得比较好,而迁移能力则比较弱。

但是不能否定的是,像 Random 这样的自注意力,由于直接省去了 这个矩阵运算,因此计算效率会有明显提升,因此如果能想法子解决这个迁移性问题,说不准 Transformer 模型家族将会迎来大换血。


文末小结

本文介绍了 Google 的新工作 Synthesizer,它是对目前流行的自注意力机制的反思和探索。论文中提出了几种新型的自注意力机制,并做了相当充分的实验,而实验结果很可能会冲击我们对自注意力机制的已有认知,值得大家读读。


参考链接


[1]https://en.wikiquote.org/wiki/Talk:Richard_Feynman#%22If_you_think_you_understand_quantum_mechanics,_you_don't_understand_quantum_mechanics.%22
[2] https://arxiv.org/abs/1706.03762
[3] https://kexue.fm/archives/7325
[4] https://arxiv.org/abs/2002.10260


更多阅读





#投 稿 通 道#

 让你的论文被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。


📝 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志


📬 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。



登录查看更多
1

相关内容

利用注意力机制来“动态”地生成不同连接的权重,这就是自注意力模型(Self-Attention Model). 注意力机制模仿了生物观察行为的内部过程,即一种将内部经验和外部感觉对齐从而增加部分区域的观察精细度的机制。注意力机制可以快速提取稀疏数据的重要特征,因而被广泛用于自然语言处理任务,特别是机器翻译。而自注意力机制是注意力机制的改进,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性
【ACL2020】基于图神经网络的文本分类新方法
专知会员服务
68+阅读 · 2020年7月12日
【KDD2020】自适应多通道图卷积神经网络
专知会员服务
119+阅读 · 2020年7月9日
基于多头注意力胶囊网络的文本分类模型
专知会员服务
76+阅读 · 2020年5月24日
【CVPR2020-港中文】 图像识别中的自注意力探索
专知会员服务
55+阅读 · 2020年4月29日
【ACL2020-Google】逆向工程配置的神经文本生成模型
专知会员服务
16+阅读 · 2020年4月20日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
BERT进展2019四篇必读论文
专知会员服务
64+阅读 · 2020年1月2日
【论文笔记】自注意力图池化
专知
78+阅读 · 2019年11月18日
从头开始了解Transformer
AI科技评论
24+阅读 · 2019年8月28日
Self-Attention GAN 中的 self-attention 机制
PaperWeekly
12+阅读 · 2019年3月6日
干货 | NLP中的self-attention【自-注意力】机制
机器学习算法与Python学习
12+阅读 · 2018年4月11日
TensorFlow seq2seq中的Attention机制(续)
深度学习每日摘要
15+阅读 · 2017年11月16日
Arxiv
6+阅读 · 2019年4月8日
Arxiv
8+阅读 · 2018年5月21日
VIP会员
相关VIP内容
【ACL2020】基于图神经网络的文本分类新方法
专知会员服务
68+阅读 · 2020年7月12日
【KDD2020】自适应多通道图卷积神经网络
专知会员服务
119+阅读 · 2020年7月9日
基于多头注意力胶囊网络的文本分类模型
专知会员服务
76+阅读 · 2020年5月24日
【CVPR2020-港中文】 图像识别中的自注意力探索
专知会员服务
55+阅读 · 2020年4月29日
【ACL2020-Google】逆向工程配置的神经文本生成模型
专知会员服务
16+阅读 · 2020年4月20日
Transformer文本分类代码
专知会员服务
116+阅读 · 2020年2月3日
BERT进展2019四篇必读论文
专知会员服务
64+阅读 · 2020年1月2日
相关资讯
【论文笔记】自注意力图池化
专知
78+阅读 · 2019年11月18日
从头开始了解Transformer
AI科技评论
24+阅读 · 2019年8月28日
Self-Attention GAN 中的 self-attention 机制
PaperWeekly
12+阅读 · 2019年3月6日
干货 | NLP中的self-attention【自-注意力】机制
机器学习算法与Python学习
12+阅读 · 2018年4月11日
TensorFlow seq2seq中的Attention机制(续)
深度学习每日摘要
15+阅读 · 2017年11月16日
Top
微信扫码咨询专知VIP会员