深度学习参数太多,模型太大,部署不方便,计算资源消耗太大。种种原因拉大了深度学习爱好者的“贫富差距”。然而,算法优化一直在进行中……Google团队提出的NLP经典Transformer是在AshishVaswani等人发表的论文《Attention Is All You Need》中提出的。2017年。但由于模型参数较多,模型训练难度大,部署不便。研究人员一直在探索如何优化Transformer。近日,来自华盛顿大学和FAIR的SachinMehta等人提出了一种具有深度网络结构但轻量级的Transformer——DeLight。论文链接:https://arxiv.org/abs/2008.00623代码链接:https://github.com/sacmehta/delight论文介绍在这篇文章中,作者提出了一个有深度但轻量级的Transformer——DeLighT,其参数更少与以前基于变压器的模型相比,但具有相当甚至更好的性能。DeLight可以更高效地分配参数,主要表现在:1)每个Transformer块都使用了结构更深但参数更少的DExTra;2)对所有块使用block-wisescaling,使DeLight块变浅变窄,靠近输出的DeLighT块变宽变深。总体而言,DeLight的网络比标准变压器模型深2.5到4倍,但参数和计算量更少。DeLight的核心是DExTra变换,它使用一组线性变换和扩展减少策略来有效地改变DeLight块的宽度和深度。由于这些转换本质上是局部的,因此DExTra利用特征改组(类似于卷积网络中的通道改组)在不同组之间共享信息。这种广泛而深入的表示有助于用单头注意力和轻量级前馈层取代transformer中的多头注意力和前馈层,从而减少网络参数的数量。重要的是,与变压器不同,DExTra模块可以独立于输入大小进行缩放。通过使用靠近输入的更浅和更窄的DeLight块以及更靠近输出的更深和更宽的DeLight块,在块之间更有效地分配参数。DeLight改进变压器的三个主要特征:与以前的工作不同,本文演示了在对每个Transformer块使用DExTra时参数的有效分布以及对所有块的逐块缩放。结果表明,DeLightT可以用更少的参数达到相同甚至更好的效果。ModelCompression:为了进一步提高序列模型的性能,本研究引入了block-wisescaling,允许每个块具有不同的大小,以及更有效的参数分配。改进序列模型:最接近DeLight的工作是DeFINE单元,它使用扩展-减少策略学习模型表示。DeFINE单元(图1a)和DExTra(图1b)之间的主要区别在于DExTra在膨胀减少层中更有效地分布参数。DeFINE在组线性变换中使用更少的组来学习更广泛的表示,而DExTra使用更多的组和更少的参数来学习更广泛的表示。图1:(a、b)DeFINE单元和DExTra之间的比较。(c,d)标准变压器模块和DeLight模块之间的逐块比较。DeLight:TransformerDExTraDExTratransformationwithdeepnetworkbutfewparametersarecontrolledbyfiveconfigurationparameters:1)depthN,2)widthmultiplierm_w,3)inputdimensiond_m,4)outputdimensiond_o,5)setoflineartransformations中最大的组g_max。在扩展阶段,DExTra使用“N/2”层将d_m维输入线性投影到高维空间,d_max=m_wd_m。在缩减阶段,DExTra使用剩余的N?"N/2"层将d_max维向量投影到d_o维空间。在数学上,每层l的输出Y可以定义为:每层l的组数根据以下公式计算:DeLight模块Transformerblock:标准的transformerblock(图1c)由multi-headattention组成,使用查询-键-值(query-key-value)分解来建模序列标记之间的关系,并使用前馈网络(FFN)来学习更广泛的表示。DeLight块:图1d显示了如何将DExTra集成到变压器块中以提高效率。d_m维输入首先被送入DExTra变换,产生d_o维输出,其中d_o
