HiddenCut: Simple Data Augmentation for Natural Language Understanding with Better Generalization

  • 来源:arXiv:2106.00149v1
  • 机构:MS
  • 任务:预训练模型 finetune,dropout 作为数据增强(也作为正则化)
  • 动机:原来的 dropout 有问题:
    • 原来是 drop 一个个 unit,而自然语言里,drop 一个 unit,可以从他附近的 context 轻易推得 -> drop 连续的 span
    • 原来是 drop 概率全相等 -> 不同任务 drop 不同 span
    • 以上的两个问题,就导致 transformers 里面只有很少重要参数,大部分都是多余的参数 -> drop 重要的 span,让模型从其它地方学,使得所有参数都重要
  • 方法:
    • hiddencut:见图
    • 挑选 span 的方法:
      • 平均 attention 分数最高的 span(对一个词来说,就是 \sum 那个词对应的一行,以及所有 head)
      • 随机
      • LIME:训练一个分类器,输入样本是随机删除 word 的句子,输出还是不是这个句子(文章没说,我猜是这样),用这个分类器给 token 打分
      • GEM、梯度
    • 目标函数:
      • 通过 dropout 的样本都是正样本,还是计算其与原来标签的 CE
      • 通过不同 dropout 的样本与 proto 的距离小(这里的距离是定义在标签上的?而不是直接的 embedding 距离?)
  • 实验:
    • in-domain 和 out of domain 数据集均是 sota
    • 挑选 span 的方法:attention 最好

发表评论