西安将军山网站建设,知名网络公司有哪些,wordpress+系统安装,dw怎么做百度页面网站文 | Sherry自从17年Attention is all you need发出#xff0c;继而18年BERT刷新各大榜单#xff0c;大型预训练Transformer似乎已经成为自然语言处理的标准基准模型#xff0c;甚至进一步渗透到图像领域。各路大神基于Transformer提出了海量改进方法。这些改变是否对大多数… 文 | Sherry自从17年Attention is all you need发出继而18年BERT刷新各大榜单大型预训练Transformer似乎已经成为自然语言处理的标准基准模型甚至进一步渗透到图像领域。各路大神基于Transformer提出了海量改进方法。这些改变是否对大多数任务有效谷歌的研究人员对大量的设定在统一的代码库和硬件环境下进行了实验比较。出乎意料的是大多数“高大上”的改进都不能拓展到所有数据集反而是一些简单或细节的改动则可以“大力出奇迹”。论文题目: Do Transformer Modifications Transfer Across Implementations and Applications?论文链接: https://arxiv.org/pdf/2102.11972.pdfGithub: https://github.com/google-research/google-research/tree/master/transformer_modifications也可以在 【夕小瑶的卖萌屋】订阅号后台回复关键词 【0329】 下载论文PDF~为什么要比较不同版本的BERT一个真正有效的方法应该可以推广到其他任务。比如说一个改动是针对Transformer编码器的那么无论下游任务是简单的分类还是NER都应该有效你不能说我有一把牛刀但它不能用来杀鸡吧。这也是为什么在CNN的各类改进被提出之后图像研究者们总是会用一个最新的版本作为基准实验。然而即使BERT已经提出了近3年在实验中大家普遍使用的基准仍然是和一开始的BERT设定非常相似的实验设定。难道最初提出的Transformer是完美的或者这些魔改都不是本质的各路大神只是调参让实验刷榜之后再想办法圆故事发文章。于是谷歌大佬们就做了一个实验把所有针对Transformer的变化放到同一个实验环境下进行比较看看谁才是最强王者。有了这份实验结果我们在拿到一个全新的任务的时候再也不用纠结辣么多高级的Transformer变种到底应该用哪一个好了。回顾Transformer结构首先我们回顾同时包含编码器-解码器的Transformer结构输入输出分别是长度为T和U的词序列。嵌入词向量输入序列经过嵌入词向量的映射矩阵同时加上位置嵌入向量构成了编码器的输入是正弦绝对位置嵌入。我们分别用表示编码器和解码器的第层的输出同时也是层的输入。编码器编码器的每一层从一个多头自注意力网络(Multi-headed Self-attention)开始 第层第位的第个头的注意力机制由以下方式构成其中Q,K,V是权重矩阵。然后我们将所有头得到的向量连接在一起并且通过残差连接(Residual connection)和层规范化(Layer Normalization:这里 LayerNorm具体可以展开为然后多头注意力的输出通过使用ReLU激活函数的全连接网络(dense feedforward network)和残差以及LayerNorm层解码器解码器和编码器结构类似区别在于自注意力机制是因果的--后面的词只能关注到前面的词。通过注意力的下三角掩码mask实现。解码器中还包含一个交叉注意力机制--在每一层解码器的自注意力机制之后我们将最后一层编码器的K和V以及前一层解码器的Q做一次多头注意力。解码器的最后一层输出通过一个解码嵌入映射得到最后的输出。开启疯狂实验本文的实验以T5为基础全都采用同时包含编码器和解码器的网络。因而所有任务都采用T5中的格式转化为了序列输入输出。不同于最原始的Transformer结构由于前置LayerNorm层和使用相对位置编码已经得到学术界的广泛认可实验中默认采用这两个设定。下面实验性能结果分为四个部分模型效率分别用参数量Params,运算单例所需操作数Ops训练速度Step/s.预训练效果在预训练65,536步Early loss之后的困惑度Perplexity和训练完全524,288步之后(Final loss)的困惑度。在SuperGLUE, XSum 和 WebQuestion上微调后的得分。用WMT-14 EnDe从头训练后测试的得分。现在让我们看看到底Transformer技术哪家强。激活函数对于全连接层的激活函数ReLU我们可以替换成GeLU, Swish, ELU, SeLU, Sigmoid, Softplus和若干GLU(Gated Linear Unit)的变种(ReGLU, GeGLU, LiGLU)。实验结果显示GeGLU和SwiGLU获得了最大的效果提升。正则化对于LayerNorm的正则化方法我们可以替换成RMS(root mean square) norm, 或者使用带有正则化效果的Rezero或者Fixup初始化方法。实验结果发现高大上的初始化方法并不起效反而是RMS--直接把LayerNorm中对均值的偏置去除有更好的效果。模型深度那么全连接网络的宽度和深度哪个更重要呢实验中我们保持总参数量不变探究的关系。从表格中可看出总体上更深的全连接层更有效。词向量嵌入和参数共享模型中一共在编码器的输入解码器的输入和输出3次用到了维的词向量嵌入矩阵原始Transformer中共享了这三个嵌入矩阵的参数。这里分别实验了只共享两个输入端、只共享解码器两端或者不共享所有词向量的参数。另外作者还研究了将词向量嵌入分解成低维矩阵的影响将维的分解为和的两个矩阵。在这个实验中固定编码器和解码器输入端共享参数。最后作者还探究了适应性输入嵌入Adaptive input embeddings的作用。他们将词根据频率排序常见词使用更高维的嵌入向量。除了词向量嵌入可以共享之外实验中还分析了共享编码器和解码器其他参数的作用。实验表明参数共享或者是分解词向量嵌入矩阵对模型效果有损伤但是将编码器和解码器的词向量嵌入解绑可以对效果有略微提升。Softmax在解码器最后生成序列的时候需要经过Softmax函数实验中将其替换为其他激活函数Adaptive softmax利用词表的不均匀分布形成的聚类分级选词从而提高运算速度。Mixture of Softmaxes:则把多个softmax函数通过不同的比例加起来从而提高softmax部分的表达能力。实验表明Mixture of softmaxes可以提高效果但是比正常的Transformer慢了40%。模型结构重头戏来了除了上述的简单改进之外本文还对多种模型结构的改变进行了在统一环境下的实验我们在此简略地给出各种模型的介绍对细节感兴趣的读者可以参考原论文。Transparent Attention18年Google AI提出在编码器深度方向建立带权重的残差连接从而使促进梯度的流动。Evolved Transformer19年Google Research提出用自动算法搜索最佳Transformer结构。本文也将搜索出的最佳结构加入实验。Synthiesizer20年5月Google Research又提出Synthiesizer: 用学习的方法获得注意力权重。在Synthiesizer(Random)的设定下他们直接学习注意力权重然后用来做值向量的线性组合。Funnel Transformer 则采用类似卷积池化的方式逐层减少编码器中的序列长度从而更有效地得到句子编码。Lightweight and Dynamixc convolutions 使用简化的网络代替TransformerLightweight Convolutions的本质可以看作是在深度维度上的卷积网络只不过每m个频道会共享参数。而Dynamic Convolutions则是核会根据当前步输入改变的卷积网络。Sparse Expert TransformersMixture of Experts (MoE) Transformer 和 Switch Transformer 都将全连接层替换成了多个小网络组成的专家们对于不同的输入模型会自动选择最终通过哪个网络进行最后的预测。Product Key Memory 同样用可选的多个小网络替换全连接层区别在于这里最后的预测函数是k-近邻的带权平均得到。Universal Transofrmer 中为了处理更长的序列设计了类似序列级别循环网络但出乎所有人意料的是这些花里胡哨的改动很少有显著提高模型效果的。在这些实验中Synthesizer对模型效果有显著提高。Switch Transformer, mixture of experts 和 Product Key memory虽然有效但都增加了更多的模型参数。总结一下文章中尝试了Transformer的许多变种他们发现这里面最有效的变化反而是那些简单而细节的变化比如替换成GeGLU激活函数使用RMS正则化等。而反观模型上的改进很少的方法可以推广到所有任务中。但当然还有许多模型改进本文没有涉及比如Longformer,Linformer, Performer, Nystromformer等等那又是针对提升Transformer运算效率的另外一个故事了...萌屋作者Sherry。本科毕业于复旦数院转行NLP目前在加拿大滑铁卢大学读CS PhD。经历了从NOIer到学数学再重回CS的转变却坚信AI的未来需要更多来数学和自认知科学的理论指导。主要关注问答信息抽取以及有关深度模型泛化及鲁棒性相关内容。作品推荐Facebook刷新开放域问答SOTA模型训模型Reader当Teacher谷歌、CMU发文别压榨单模型了集成级联上分效率更高无需人工无需训练构建知识图谱 BERT一下就行了后台回复关键词【入群】加入卖萌屋NLP/IR/Rec与求职讨论群后台回复关键词【顶会】获取ACL、CIKM等各大顶会论文集 [1] Training Deeper Neural Machine Translation Models with Transparent Attention. (https://arxiv.org/pdf/1808.07561.pdf)[2] The Evolved Transformer. (https://arxiv.org/pdf/1901.11117.pdf)[3] SYNTHESIZER: RETHINKING SELF-ATTENTION FOR TRANSFORMER MODELS. (https://arxiv.org/pdf/2005.00743.pdf)[4] Funnel-Transformer: Filtering out Sequential Redundancy for Efficient Language Processing. (https://arxiv.org/pdf/2006.03236.pdf)[5] PAY LESS ATTENTION WITH LIGHTWEIGHT AND DYNAMIC CONVOLUTIONS. (https://arxiv.org/pdf/1901.10430.pdf)[6] SWITCH TRANSFORMERS: SCALING TO TRILLION PARAMETER MODELS WITH SIMPLE AND EFFICIENT SPARSITY. (https://arxiv.org/pdf/2101.03961.pdf)[7] Large Memory Layers with Product Keys. (https://arxiv.org/pdf/1907.05242.pdf)[8] Universal transformers. (https://arxiv.org/pdf/1807.03819.pdf)[9] GLU Variants Improve Transformer. (https://arxiv.org/pdf/2002.05202.pdf)