
摘要
我们通常利用扰动(perturbations)来正则化神经网络模型。对于神经编码器-解码器架构,以往的研究采用了调度采样(scheduled sampling,Bengio 等,2015)和对抗性扰动(adversarial perturbations,Sato 等,2019)等方法作为扰动手段,但这些方法往往需要较大的计算开销。因此,本研究旨在探讨这些方法在训练时间效率方面是否足够高效。我们针对序列到序列(sequence-to-sequence)任务,比较了多种扰动方法在计算时间上的表现。实验结果表明,尽管计算速度更快,一些简单的技术如词 dropout(Gal 和 Ghahramani,2016)以及输入标记的随机替换,其性能表现可与近期提出的复杂扰动方法相媲美,甚至更优。相关代码已公开,地址为:https://github.com/takase/rethink_perturbations。
代码仓库
takase/rethink_perturbations
官方
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| machine-translation-on-iwslt2014-german | Transformer+Rep(Sim)+WDrop | BLEU score: 36.22 Number of Params: 37M |
| machine-translation-on-wmt2014-english-german | Transformer+Rep(Uni) | BLEU score: 33.89 Hardware Burden: Operations per network pass: SacreBLEU: 32.35 |
| text-summarization-on-duc-2004-task-1 | Transformer+WDrop | ROUGE-1: 33.06 ROUGE-2: 11.45 ROUGE-L: 28.51 |
| text-summarization-on-gigaword | Transformer+Wdrop | ROUGE-1: 39.66 ROUGE-2: 20.45 ROUGE-L: 36.59 |
| text-summarization-on-gigaword | Transformer+Rep(Uni) | ROUGE-1: 39.81 ROUGE-2: 20.40 ROUGE-L: 36.93 |