NLP迁移学习面临的问题和解决

电子说

1.2w人已加入

描述

导读

NLP迁移学习中的一些问题,感觉有点道理。

自然语言处理(NLP)最近取得了巨大的进步,每隔几天就会发布最新的结果。排行榜疯狂是指最常见的NLP基准,如GLUE和SUPERGLUE,它们的得分越来越接近人类的水平。这些结果大多是通过超大(数十亿个参数)模型从大规模数据集中迁移学习得到的。本文的目的是指出迁移学习面临的问题和挑战,并提出一些可能的解决方法。

计算量

目前NLP中最成功的迁移学习形式是序列迁移学习(STL),通常采用语言预训练的形式(https://arxiv.org/abs/1801.06146)。最近几乎所有的SOTA结果主要是由两步方案驱动的:

大型通用语料库上进行语言模型的建模(数据越多越好)。

Finetune目标任务上的模型(或其子集)。

ELMO, BERT, GPT, GPT-2, XLNET and RoBERTa是都是用的同样的技术。这些方法的一个主要问题是巨大的资源需求。我所说的资源是指数据和计算能力。例如,据估计,在512个TPU v3芯片上训练XLNET大约需要25万美元,相比于在3/4的数据集中训练的BERT,只提升了1-2%。

这就引出了下一个问题:

难以复现

可复现性已经成为机器学习研究中的一个问题。例如,Dacrema et al.)分析了18个不同的基于神经的推荐系统,发现其中只有7个经过合理的努力是可复现的。一般来说,为了能够使用或建立在一个特定的研究理念,这个理念必须易于复现。由于需要大量的计算资源来训练这些巨大的NLP模型并复现它们的结果,小型科技公司、初创公司、研究实验室和独立研究人员将无法竞争。

不再需要排行榜的任务

Anna Rogers在她的博客文章为什么“更多的数据和计算= SOTA”不是研究新闻。她认为,排行榜的主要问题在于,一个模型的排名完全取决于它的任务分数,而没有考虑到达到这个分数所需的数据量、计算量或训练时间。

Rohit Pgarg建议在任务精度和计算资源的二维尺度上比较模型的性能。请看下面的图表。我建议我们添加另一个维度,它对应于模型训练时候的数据量。但是,这种可视化并不能洞察哪种模型通常更好。还有Alexandr Savinov的一个非常有趣的评论,他建议使用算法能够在一单位CPU时间内将多少输入信息“打包”到一单位输出(模型参数)表示中。

迁移学习

在比较模型性能时,使用计算资源作为任务准确性的额外度量

这不像是我们学习的方式

孩子们通过嘈杂、模糊的输入和极少的监督来学习语言。一个孩子只要接触一个单词几次,就能开始理解它的意思。这与STL设置中使用的训练前步骤非常不同,在STL设置中,模型需要查看数百万个上下文,其中包括一个特定的单词,以掌握该单词的含义。一个非常重要的问题是,是否可以只从原始文本中学习语义而不受任何外部监督。如果你对关于这个话题的twitter辩论感兴趣,请访问这个帖子:https://twitter.com/jacobandreas/status/1023246560082063366。如果答案是否定的,那就意味着在训练前,这些模型实际上并没有给他们真正的语言理解能力。然而,我们在日常生活中确实使用了迁移学习。例如,如果我们知道如何驾驶一辆手动汽车,我们就很容易利用所学的知识(如使用刹车和油门踏板)来驾驶一辆自动汽车。但这是人类学习语言的必经之路吗?不太可能。然而,有人可能会说,只要一种方法能产生好的结果,它是否与人类的学习方式相似实际上并不重要。不幸的是,这些模型产生的一些好的结果是有问题的,我们将在下一节看到。

从另一个角度来看,人类在语言学习上采取了一种持续终生的学习方式。每当我们学习一个新任务时,这种学习通常不会干扰之前学习过的任务。另一方面,当新的训练数据的分布发生变化的时候,普通的只在一个任务上训练过的机器学习模型(包括迁移学习方法)通常不能利用过去学到知识,这种现象称为灾难性的遗忘。

肤浅的语言理解

语言建模任务的确是一个复杂的任务。例如这个句子:“The man in the red shirt is running fast. He must be…”,为了让模型完成这句话,模型必须理解running fast通常意味着being in a hurry。那么这些预先训练过的模型到底能理解多少语言呢?不幸的是,事实并非如此。Niven et al., 2019分析了BERT在论证推理和理解任务(ARCT)上的表现。ARCT可以这样描述:给定一个声明和一个推理,任务是选择正确的证据,而不是另一个干扰项。正确的证明应符合,而其他证明应符合。参见下图。

迁移学习

论证和理解任务的范例

值得一提的是,BERT在这项任务中获得了极具竞争力的77%的准确性,仅比人类基线低3分。首先,这说明BERT有很强的推理能力。为了进一步调查,Niven et al., 2019使用了所谓的“探针”。也就是说,他们在这个任务上对BERT进行了finetune,但是对BERT的输入只是正确的和可选的证据,而没有暴露它的声明或推理。假设是,如果BERT依赖证据中的一些统计线索,即使他只看到证据而没有其他信息,他也应该表现良好。有趣的是,他们的研究结果显示,与使用推理和声明相比,他们的准确率仅下降了6%。这表明,BERT实际上并没有进行任何类型的推理,但证明本身有足够的线索,使BERT能够达到如此高的准确性。值得注意的是,用一个没有BERT所依赖的这些线索的对抗性的测试集代替了这个测试集,BERT只能达到53%的正确率,刚好高于随机概率。

另一篇相关论文是“Can a Machine Really Finish your Sentence?”(Zellers et al., 2019)。他们考虑的是常识自然语言推理的任务,即机器应该选择最可能的后续语句。例如,给定句子:“the team played so well”,系统应该选择“They won the game”作为后续。作者认为,尽管BERT能够达到86%的正确率(仅比人类基线低2点),如此高的正确率并不是由于BERT的高级推理形式,而是由于BERT学会了识别数据集特有的分布偏差。他们发现,通过对抗性筛选(一种旨在为任何可能的训练、测试分割生成对抗性数据集的技术)创建一个更困难的数据集(HellaSwag), BERT准确率下降到53%。本文讨论了数据集性能和任务性能之间的细微差别。对特定任务的数据集执行得非常好并不意味着解决了底层任务。

迁移学习

BERT在SWAG上的表现与HellaSwag相比

很明显,这里发生了一些事情。是否可能BERT的好结果实际上是由它利用各种分布线索和偏差劫持目标数据集的能力驱动的?对BERT的研究结果进行更多的调查能得出其他类似的发现和结论吗?如果是这样,我相信我们不仅需要建立更好的模型,还需要建立更好的数据集。我们需要的数据集能够真实地反映底层任务的困难,而不是让模型很容易达到欺骗的准确性和排行榜分数。

高碳不环保

信不信由你,但是训练这些壮观的模型对环境有负面影响。Strubell等人比较了训练大型Transformer架构产生的 排放与其他来源造成的排放。令人惊讶的是,使用神经结构搜索训练单个Transformer arhcitectue所释放的 大约是一辆汽车一生所释放的 的6.0倍。

迁移学习

Schwartz等人介绍了他们所谓的“绿色人工智能”,这是一种实践,使人工智能更加“高效”和“包容”。与我们上面讨论的类似,他们强烈建议除了任务准确性之外,还应该增加效率。他们还认为,研究论文有必要包括“价格标签”或模型训练的成本。这将鼓励对更高效、更少资源需求的模型架构的研究。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分