来自 Google Research 一篇关于 Transformer 改进的论文,提出方法 real 简单,论文也写得 real 简洁,可以说是最近读得最没难度的论文了。但虽然方法简单,效果却很好。
RealFromer 中的 Real 表示 Residual Attention Layer,这三个词其实已经介绍完了这篇论文的方法。所以如果只介绍方法的话,那写到这里就可以结束了。
真的很简单,论文里都能看到作者们努力凑页数的辛苦。
为了不辜负这份辛苦,还是看看吧。
First,将上面 Residual Attention Layer 展开讲一下,如字面意思,相比原来的 Transformer 模型,RealFormer 模型只是在相邻 Attention 模块间加入了残差连接。所以需要改的代码可能都才一两行。
模型示例图如下
只是在每层 Attention Score 计算时,加上前一层的 Attention Score.
用方程表示的话,先写出原 Transformer 注意力计算方程
而 RealFormer 只是在过 Softmax 前,加上前一层的 Attention Score
注意这里加的是 Attention Score,而不是过 softmax 后的 Attention.
至于第一层,当然没 Prev.
可能为了增加实(cou)验(ye)量(shu),所以对比的 Transformer 模型再分成 Post-LN 和 Pre-LN 模型,就是 Layer Normalization 放 Attention 前还是后的区别,前者是最原始的,应用也比较广,而后者则在 GPT,Megatron 这样的单向语言模型应用比较多。
两者区别如下
Pre-LN 的话相当于在各层 Token Embedding 直接打了条通道。
主要在预训练模型 BERT 上进行实验,分别在预训练和精调实验上进行了对比,首先预训练实验
发现 RealFormer 表现都最好,有稳定提升,特别是最大的 xLarge 提升最大。
之后在 GLUE 上精调对比,用的 Large 模型
发现 RealFormer 的整体分最好的,大部分任务优于其他两个,而凑数的 Pre-LN 当然也是垫底。
接着在 SQuAD 问答数据集上进行精调,因为该任务的复杂性,SQuAD 能比较好反应预训练模型的整体性能,也是在 Large 模型进行的精调。
可以看出 RealFormer 仍然是优于其他两个。
因为真的很简单,Reddit 上的热心网友也马上改了行代码后,在 CIFAR-10 图像识别上做了实验
发现 RealFormer 比 Transformer 确实有比较好的提升。
所以整体来说,RealFormer 是 Real 有效。
首先,RealFormer 的算力利用有效性
和 Post-LN 模型对比,只用一半训练步数就能在 GLUE 上取得相近表现。
然后,之前有发现,Pre-LN 模型对大学习率会有收益,那 RealFormer 怎么样
实验发现 RealFormer 也有类似性质,对大学习率有较大收益。
最后,作者还对各个头的输出分布进行了分析,包括各个头内部,以及跨层之间同一个头,这里画了两幅超大的图,直接占了差不多两页的篇幅。
而得出的结论是,相比起 Post-LN 和 Pre-LN,RealFormer 获得的 Attention 会更稀疏,特别是后几层。而且中间几层之间的 JS-散度比较低,说明可能 RealFormer 有效的原因是提供了一定的 Regularityzation(嗯,万物都可正则)。
这篇论文感觉内容可能就一篇 short paper 吧,但还蛮有意思的,提出一个很简单的方法,然后规规矩矩地进行了实验分析。看完之后拍自己脑袋,咋没想这样试过呢。
但不足之处也很明显,只是提出了这个方法,对方法为什么有效的分析还是有点少,只是单纯做实验然后陈述结果。
所以看完后还是挺疑惑,为什么给 Attention Score 加个残差连接就有效呢,还是不懂。分析发现可以让 Attention 更稀疏,那为什么稀疏带来的提升更好呢,感觉这一块再多做些理论分析会更好些。
联系客服