01研究背景及动机
近些年,transformer[1]逐渐成为了自然语言处理中的主流结构。为了进一步提升transformer的性能,一些工作通过引入额外的结构或知识来提升transformer在特定任务上的表现。尽管如此,过参数化(over-parameterization)和过拟合(overfitting)一直是transformer中的一个显著问题。作为一种正则化技术,dropout常被用来缓解模型的过拟合问题[2]。和引入额外结构或知识的工作相比,dropout的一个优势是不需要额外的计算开销和外部资源。因此,本文的出发点在于,能否通过融合不同的dropout技术来进一步提升transformer的性能甚至达到state-of-the-art效果?
为此,我们提出unidrop技术,从细粒度到粗粒度将三种不同层次的dropout整合到transformer结构中,它们分别为feature dropout、structure dropout和data dropout 。feature dropout (fd),即传统的dropout技术[2],通常应用在网络的隐层神经元上。structure dropout (sd)是一种较粗粒度的dropout,旨在随机drop模型中的某些子结构或组件。data dropout (dd)作为一种数据增强方法,通常用来随机删除输入sequence的某些tokens。在unidrop中,我们从理论上分析了这三层dropout技术在transformer正则化过程中起到了不同的作用,并在8个机器翻译任务上和8个文本分类任务上验证了unidrop的有效性。
02unidrop
2.1transformer结构
unidrop旨在提升transformer的性能。在unidrop中,feature dropout和structure dropout的使用与网络结构密切相关。因此,我们简单回顾transformer的网络结构。
图1:标准transformer结构和feature dropout
如图1(a)所示,transformer由多个相同的block堆叠而成,每个block包含两个sub-layer,分别为multi-head self-attention layer和position-wise fully connected feed-forward layer,每个sub-layer后都使用了残差连接和层正则(add&norm)。
multi-head attention:multi-head attention sub-layer包含多个并行的attention head,每个head通过带缩放的点乘attention将query q和键值对k、v映射乘输出,如下式所示:
多个head的输出最终被拼接在一起并做线性映射作为最终的multi-head attention输出。
position-wise feed-forward:这一层主要包含两个线性映射和一个relu激活函数:
2.2feature dropout
如前所述,feature dropout (fd)即传统的dropout技术[2],可以以一定的概率随机抑制网络中的某些神经元。实际上,在标准的transformer实现中,每个sub-layer后都默认配置了dropout。除此之外,transformer也在multi-head attention和feed-forward network的激活函数层添加了dropout,本文将探索它们对transformer性能的影响:
fd-1 (attention dropout):根据公式(1),在multi-head attention中,我们可以获得attention权重a=qkt,feature dropout fd-1被应用在attention权重a上。
fd-2 (activation dropout):fd-2被应用在feed-forward network sub-layer两层线性变换间的激活函数上。
除了上面已有的feature dropout,我们在预实验中发现transformer仍有过拟合的风险。因此,我们额外提出两种feature dropout添加到transformer结构中:
fd-3 (query, key, value dropout):fd-1直接应用在attention权重a上,表示token i和token j之间的connection有可能被drop,一个更大的fd-1值意味着更大的概率失去sequence中一些关键的connection。为了缓解这种风险,我们在attention之前的query q、key k和value v上分别添加了dropout。
fd-4 (output dropout):我们在softmax分类的线性映射前也添加了dropout。具体而言,对sequence2sequence任务,我们将fd-4添加到transformer decoder中,对于文本分类任务我们将fd-4添加到transformer encoder中。
2.3structure dropout
为了提升transformer的泛化性,之前的工作已经提出了两种structure dropout (sd),分别是layerdrop[3]和drophead[4]。drophead通过随机舍弃一些attention head,从而防止multi-head attention机制被某些head主导,最终提升multi-head attention的泛化性。相比之下,layerdrop是一种更高级别的结构dropout,它能随机舍弃transformer的某些层,从而直接降低transformer中的模型大小。通过预实验分析,我们将layerdrop添加到我们的unidrop中。
2.4data dropout
data dropout (dd)以一定的概率p随机删除输入序列中tokens。然而,直接应用data dropout很难保留原始高质量的样本,对于一个长度为n的sequence,我们保留住原始sequence的概率为(1-p)n,当n较大时,这个概率将会非常低。失去原始高质量样本对很多任务都是不利的。为了保留原始高质量的样本,同时又能利用data dropout进行数据增强,我们在unidrop中提出了一个2-stage data dropout方案。对于给定的sequence,我们以一定的概率 pk保留原始的样本,当data dropout被应用时(概率为1- pk),我们以预定的概率p来随机删除序列中的tokens。
2.5unidrop整合
最终,我们将上面三种不同粒度的dropout技术集成到我们的unidrop中,并从理论上分析了feature dropout、structure dropout、data dropout能够正则transformer的不同项并且不能相互取代,具体分析可参考论文。figure 2是unidrop的简单示例。
图2:unidrop示例
03实验与分析
我们在序列生成(机器翻译)和文本分类两个任务上来验证unidrop的性能。
3.1神经机器翻译
我们在iwslt14数据集上进行了机器翻译实验,共4个语言对,8个翻译任务,baseline为标准的transformer结构,实验结果如表1所示:
表1:不同模型在iwslt14翻译任务上的结果
可以看到,相比于标准的transformer,我们的unidrop在所有任务翻译任务上都取得了一致且显著的提升。为了验证unidrop中每种dropout的作用,我们进行了ablation study实验,也在标准transformer添加单一的dropout去验证它们的性能。从结果看,fd、sd和dd都能在一定程度上提升transformer的性能,并能够协同工作,最终进一步提升transformer的泛化性。
为了进一步验证unidrop的优越性,我们也在广泛被认可的benchmarkiwslt14 de→en翻译任务上和其他系统进行了对比。这些系统从不同的方面提升机器翻译,如训练算法设计(adversarial mle)、模型结构设计(dynamicconv)、引入外部知识(bert-fused nmt)等。可以看到,我们的transformer+unidrop仍然显著超过了其他系统。
表2:不同系统在iwslt14 de→en翻译任务上的表现
3.2文本分类
对于文本分类任务,我们以robertabase作为backbone,在4个glue数据集上和4个传统的文本分类数据集上进行了实验,结果如表3和表4所示:
表3:不同模型在glue tasks (dev set)上的准确率
表4:不同模型在传统文本分类任务上的准确率
可以看到,作为一个强大的预训练模型,robertabase显著超过了其他方法。即使如此,unidrop仍然能够进一步提升robertabase的性能,这进一步验证了unidrop对transformer模型的有效性。
3.3分析
为了展现unidrop能够有效防止transformer过拟合,我们画出了不同模型在iwslt14 de→en翻译验证集上的loss曲线,如图3所示:
图3:不同模型在iwslt14 de→en翻译上的dev loss
可以看到,标准的transformer结构随着训练轮数的增加,很容易出现过拟合现象。相比之下,fd、sd、dd都在一定程度上缓解了transformer的过拟合问题。在所有对比模型中,我们的unidrop取得了最低的dev loss,并且dev loss能持续下降,直到训练结束。综合来看,unidrop在预防transformer过拟合问题上取得了最好的表现。
此外,我们也进行了细粒度的ablation study实验来探究不同的feature dropout以及我们2-stage data dropout对transformer性能的影响,结果如表5所示:
表5:ablation study
可以看到,fd-3比fd-1带来更多的提升,这也验证了我们之前的分析,仅使用fd-1对提升multi-head attention的泛化性来说是不够的。另外,表5表明我们提出的2-stage data dropout策略对提升性能是有帮助的,这体现了保留原始高质量样本的必要性。
04总结与展望
过拟合是transformer结构中一个常见的问题,dropout技术常被用来防止模型过拟合。本文中,我们提出了一种集成的dropout技术unidrop,它由细粒度到粗粒度,将三种不同类型的dropout(fd、sd、dd)融合到transformer结构中。我们从理论上分析unidrop中的三种dropout技术能够从不同的方面防止transformer过拟合,在机器翻译和文本分类任务上的实验结果也体现了unidrop的有效性和优越性,更重要的,它不需要额外的计算开销和外部资源。更多的细节、结果以及分析请参考原论文。
2020年双11充电宝选购指南,高性价比充电宝有哪些推荐?
改用指纹识别?用户建议苹果公司取消Face ID
SK电信正在利用5G技术为韩国水电和核电公司开发电厂管理解决方案
小米与宜家达成全球战略合作,还拿出上亿元激励AIoT开发者
远程医疗是否能够确保患者数据安全?
详解一种简单而有效的Transformer提升技术
无人机反制系统有哪几种反制方式
最简单的微型扩音机,SIMPLE AMPLIFIER
基于用机电一体化设计方式,快速实现思维车模型
4G车载监控设备解决企业车辆管理难题
手机上的UART设置是什么意思_有什么用
RS-485总线简述(三)
实用简单的数字车载音响设计方案
韩国科技情通部已正式退回SK电信的5G资费制度许可申请
联发科发展物联网/VR摆脱对手机芯片依赖
vivo AEPX全面屏亮相MWC2018 屏幕指纹再现黑科技
AMD开源Brotli-G压缩格式,可使用GPU加速Brotli压缩
三星S7edge和vivoXplay6哪个拍照好
广和通正式发布工业级低功耗单频双模GNSS模组G030&G031
PCI总线定义