Transformer家族简史(PART II)
继 Transformer家族简史(PART I),PART II整理了三篇来自Facebook AI Research的论文,都比较好读:
「Span Transformer from FAIR,ACL2019」
「All-Attention from FAIR」
「PKM from FAIR,NeurIPS2019」
Adaptive Attention Span in Transformers[1]
这篇论文的重点是改进 Transformer 的计算效率,vanilla transformer 每个 attention head 处理的是等长的所有输入序列,但是在实验中发现 Transformer 不同 head 所关注的序列长度 span 是不一样的,一些 head(如 Head A)重点关注附近较短的信息,而另外一些 head(如 Head B)则关注在范围更大的全文。如果能在训练中利用这一特性,就可以显著减少计算时间和内存占用,因为两者都依赖于注意力范围的长度。
为此,作者提出一种「adaptive attention span」,可以让模型自适应地选择上下文长度进行处理。但是,attention span 的值是整数,因此是不可微的,不能像模型的其他参数那样通过反向传导直接学习它,于是通过 soft-masking function 来将其值转化为连续值。masking 函数是非递增的,将跨度距离映射到[0,1]之间的值。这样,将 masking 函数应用到每一个 attention head 之后,就可以实现 attention span 的自适应控制。具体公式如下:
整体过程如下动图,
此外,考虑了一种扩展「dynamic attention span」,根据输入动态调整 attention span;
在实现中,引用了Self-attention with relative position representations[2]和Transformer-XL[3]中的技巧;
实验结果显示在 12 层模型中,较低层的 attention span 较短,高层(8-12 层)的 attention span 较长
Reference
Code Here[4]
Making Transformer networks simpler and more efficient[5]
Adaptive Attention Span in Transformers 分享视频[6]
Augmenting Self-attention with Persistent Memory[7]
当我们在讨论 Transformer 时,重点都在 self-attention 上,但是不要忘了网络中还有另外一层:前馈层 FFN,其包含了模型中最多的参数,大小通常是其他组件的四倍。FNN 的计算代价如此之高,那么有没有办法将模型简化呢?论文中提出将 FFN layer 替换为 attention layer,在不损失模型性能的前提下将模型结构大大简化。
2.1 FFN --> Attention
虽然表面上 FFN 和 attention 层看起来完全不同,但是通过将 FFN 中的 RELU 激活换成 Softmax 函数就可以将激活值转化为 attention weight。
2.2 All-attention
把 FFN 转化为 attention 之后就可以将原来的两层合并为一层,称为「all-attention layer」。
具体做法就是额外定义一组 key-value 向量对,称为「persistent vectors」,这些向量就和前馈子层的权值是一样的:固定的、可训练的且上下文无关的,可以捕获关于任务的 general knowledge。
2.3 Other tricks
relative position embedding & catching mechanism[8]
adaptive attention span[9]
adaptive softmax[10]
实验结果验证了FFN层和persistent vector的重要性,缺少的话效果非常差。每一层persistent vector的数量在N=1024时已经达到比较好的效果。
2.4 reference
Code Here(没找到 - -)
Making Transformer networks simpler and more efficient[11]
Open Review[12]
Large Memory Layers with Product Keys[13]
同样来自FAIR的工作,解决的痛点:更好的模型性能——>更大的模型capacity——>更大的计算成本。提出了一种structured memory,在明显增加模型capacity的同时计算成本的增加可以忽略不计,而且是简单可插拔式设计,下图是文中将vanilla transformer中的(部分)FFN层替换为memory layer的示例。
3.1 Overall Structure
来看整体的设计,包含了三个部分:
3.2 Product Keys
对上述公式第一步进行优化,思想来源于**product quantization**[14],
Product quantization,乘积量化,这里的乘积是指笛卡尔积(Cartesian product),意思是指把原来的向量空间分解为若干个低维向量空间的笛卡尔积,并对分解得到的低维向量空间分别做量化(quantization)。这样每个向量就能由多个低维空间的量化组合表示。
3.3
所有存储器参数都是可训练的,但是在训练时对于每个输入仅更新了少数( 个)memory slots;
实验显示,模型增加内存比增加网络层数对效果提升更有效(12层+单内存的模型>24层无内存的模型);
在query network配合使用「Batch Normalization」效果更佳;
memory layer放置的较佳位置为模型网络的中间层;
3.4 reference
Code Here[15]
LeCun力荐:Facebook推出十亿参数超大容量存储器[16]
Over,以及预告马上会有的PART III。
本文参考资料
[1]
Adaptive Attention Span in Transformers: https://www.aclweb.org/anthology/P19-1032/
[2]
Self-attention with relative position representations: http://xxx.itp.ac.cn/pdf/1803.02155.pdf
[3]
Transformer-XL: http://xxx.itp.ac.cn/pdf/1803.02155.pdf
[4]
Code Here: https://github.com/facebookresearch/adaptive-span
[5]
Making Transformer networks simpler and more efficient: https://ai.facebook.com/blog/making-transformer-networks-simpler-and-more-efficient/
[6]
Adaptive Attention Span in Transformers分享视频: https://vimeo.com/384007585
[7]
Augmenting Self-attention with Persistent Memory: https://arxiv.org/abs/1907.01470
[8]
relative position embedding & catching mechanism: https://arxiv.org/abs/1901.02860
[9]
adaptive attention span: https://arxiv.org/abs/1905.07799
[10]
adaptive softmax: https://arxiv.org/pdf/1609.04309
[11]
Making Transformer networks simpler and more efficient: https://ai.facebook.com/blog/making-transformer-networks-simpler-and-more-efficient/
[12]
Open Review: https://openreview.net/forum?id=HklJdaNYPH
[13]
Large Memory Layers with Product Keys: https://arxiv.org/abs/1907.05242
[14]
「product quantization」: http://vividfree.github.io/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/2017/08/05/understanding-product-quantization
[15]
Code Here: https://github.com/facebookresearch/XLM
[16]
LeCun力荐:Facebook推出十亿参数超大容量存储器: https://dwz.cn/td8uuM7v
声明:文章收集于网络,版权归原作者所有,为传播信息而发,如有侵权,请联系小编删除,谢谢!
时间:2021-01-17 16:13 来源: 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
相关文章:
- [机器学习]来自Facebook AI的多任务多模态的统一Transformer:向
- [机器学习]更深、更轻量级的Transformer!Facebook提出:DeLigh
- [机器学习]AAAI21最佳论文Informer:效果远超Transformer的长序列
- [机器学习]让研究人员绞尽脑汁的Transformer位置编码
- [机器学习]堪比当年的LSTM,Transformer引燃机器学习圈:它是
- [机器学习]Transformer又又来了,生成配有音乐的丝滑3D舞蹈,
- [机器学习]Transformer为何能闯入CV界秒杀CNN?
- [机器学习]来自Facebook AI的多任务多模态的统一Transformer:向
- [机器学习]更深、更轻量级的Transformer!Facebook提出:DeLigh
- [机器学习]AAAI21最佳论文Informer:效果远超Transformer的长序列
相关推荐:
网友评论:
最新文章
热门文章