重新审视Dropout算法

2022-10-08 14:21 528 阅读 ID:393
机器学习算法与自然语言处理
机器学习算法与自然语言处理

    论文标题:R-Drop: Regularized Dropout for Neural Networks

    论文链接:https://readpaper.com/paper/3174864715

    论文摘要:Dropout是深度学习中,一种强大且被广泛使用的正则化技术。本文在模型训练中,引入了一个简单的正则化策略,即R-Drop,它迫使由dropout采样得到的不同子模型的输出分布趋向相互一致。具体来说,对于每个训练样本,R-Drop将最小化由dropout采样的两个子模型输出分布相互的KL散度。理论分析显示,R-Drop减少了模型参数的自由度,完善了dropout。在5个广泛使用的深度学习任务(共18个数据集)上的实验,包括神经机器翻译、摘要概括、语言理解、语言建模和图像分类,表明R-Drop是普遍有效的。特别是,它在应用于微调大规模预训练模型(如ViT、RoBERTa-large和BART)时产生了实质性的改进,并基于原始的Transformer模型,在WMT14英语→德语翻译(30.91 BLEU)和WMT14英语→法语翻译(43.95 BLEU)任务上实现了最先进的(SOTA)性能,甚至超过了使用额外数据训练的Transformer的先进辩题。我们的代码可以在GitHub上找到。

    Q1 论文试图解决什么问题?

    Dropout带来的训练和测试阶段不一致的问题:训练过程中更新的很多dropout随机采样出来的子模型,而测试用的是完整的模型,然而完整的模型从来没有被训练过。

    Q2 这是否是一个新的问题?

    不是。有两篇非常相关的工作,expectation-linear dropout【41】和Fraternal dropout【81】

    Q3 这篇文章要验证一个什么科学假设?

    解决dropout训练和测试不一致的问题能够进一步提高DNN的性能。

    Q4 有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员?

    有两篇非常相关的工作,expectation-linear dropout【41】和Fraternal dropout【81】

    Q5 论文中提到的解决方案之关键是什么?

    在训练过程中通过KL正则化使得随机采样出来 任意两个子模型的预测分布一致。我们理论证明了子模型之间的一致性可以保证子模型和完整模型的一致性。

    Q6 论文中的实验是如何设计的?

    因为dropout是深度学习中广泛被使用的技术,因为我们实验设计中也尽可能广泛测试我们提出的改进算法R-Drop,包含了5种类型的任务一共18个数据集,横跨NLP和CV两个领域。

    Q7 用于定量评估的数据集是什么?代码有没有开源?

    代码链接:https://github.com/dropreg/R-Drop 欢迎大家使用,有问题联系我们。

    Q8 论文中的实验及结果有没有很好地支持需要验证的科学假设?

    我们观测到R-Drop在5类任务18个数据集上带来了一致性提高,甚至在几个数据集上达到SOTA,超过很多复杂的方法(大改模型、用更多数据等等)。

    Q9 这篇论文到底有什么贡献?

    1. 我们工作表明对dropout的一个简单的改进可以带来significant性能提升。
    2. 这个工作告诉我们对一些习以为常或广泛使用的技术不要take as granted,我们可以revisit很多已有的技术和模型,随着人们对机器学习人工智能认识的不断发展和深入,我们很有可能对old tricks/techniques有新的发现,做出重大改进。

    Q10 下一步呢?有什么工作可以继续深入?

    虽然这个工作是对dropout的改进,这个工作的来源其实和dropout没有直接关系,而是来源于consistency learning。我们ICML20的论文Sequence Generation with Mixed Representations中发现,如果一个训练样本如果有两种不同input format (例如一个text sentence对应的BPE sequence和ULM sequence),要求不同输入得到的high level representation一致,会明显提高模型的性能。既然对consistency learning作用于不同inputs对应的不同representations又有效,那么对于dropout带来的不同representations是否同样有效?这就是R-Drop这个方法的最初的来源。

    相应的,下一步工作有很多方面可以展开:(1)Consistency learning对不同模型带来的不同representations是否同样有效?(2)Consistency learning强调同一个样本由于某些方面(如input表示、drouout、模型架构)导致的high-level representations的一致性,contrastive learning强调不同样本之间表达的不一致性,这两种principles之间是否有更深层次的联系?

    免责声明:作者保留权利,不代表本站立场。如想了解更多和作者有关的信息可以查看页面右侧作者信息卡片。
    反馈
    to-top--btn