BERT大魔王为何在商业环境下碰壁?

作者 | Oren Pereg 

翻译 | NewBeeNLP

写在前面

大型基于Transformer的神经网络,例如BERT,GPT和XLNET,最近在许多NLP任务中取得了最新的成果。这些模型的成功基于通用任务(例如语言建模)和特定下游任务之间的迁移学习, 这些模型在有标记数据的静态评估集上表现出色。但是,在商业环境中部署这些模型通常会产生较差的结果。这是因为商业环境通常是动态的,并且在推理数据和训练数据之间包含连续的领域变化,例如新主题,新词汇或新写作风格等。

处理类似这些动态环境的传统方法是执行连续的重新训练和验证,需要不断地手动数据标记,这不仅费时昂贵且是不切实际的。在数据稀缺的商业环境中实现更好的鲁棒性和适应性的一种有前景的方法是在微调阶段将与领域无关的知识嵌入到预训练的模型中。

预训练模型在低资源环境中表现出色

实际上,许多商业需求都在多种领域上执行相同的任务。例如,考虑对相机(domain A)和笔记本电脑(domain B)两种不同产品的情感分析。在这种情况下,用于不同domain的现有标记数据量通常很小,并且获取额外的标记数据既昂贵又不切实际。

与从头训练模型相比,预训练模型的主要优势是它们通过使用相对少量的标记数据来适应特定任务的能力(如下图)。在实际的multi-domain环境中,此优势起着重要作用。 但是,是什么使得微调预训练模型的增强功能在低数据环境中起作用呢?我想部分原因在于,在大规模的预训练步骤中,网络会学习语法等结构性语言特征。由于语法是通用特性,因此它既与任务无关,又与领域无关。这种通用的“知识”有助于弥合不同任务和领域之间的鸿沟,并且可以通过微调步骤来提高数据效率。

最近的一篇论文“ What Does BERT Look At? [1] ”阐明了BERT在预训练期间学到的东西。通过对BERT的self-attention机制的分析,很明显BERT可以学习大量的语言知识。例如,一些BERT的attention head关注动词的直接宾语,名词的确定词(例如定冠词),甚至是相关的提及(请参见下图)。值得注意的是,以无 监督的方式训练并且没有任何标记数据的模型能够学习语言的通用方面。

预训练模型能解决动态商业环境的挑战吗?

在一些动态的商业环境中,根本不可能生成任何标记数据。让我们来考虑一个经常添加或更改新领域的环境。在这种情况下,不断标记新的训练数据将是无效且永无止境的任务, 这些情况需要无监督的领域自适应(domain adaption)系统,该系统使用来自一个领域(source domain)的现有标记数据进行训练,然后对来自另一个领域(target domain)的未标记数据进行推断。

我们观察到,在只有少量目标域标记数据的情况下(下图),经过预训练的模型表现比较出色,但是对于根本没有来自目标域的标记数据的情况呢?预训练的模型在这些环境中如何表现?迄今为止,使用预训练的模型仅仅比从头开始训练模型有着微小改进(请参见条形图)。使用标记的目标域数据对BERT进行微调(绿色条)与仅对源域数据进行微调BERT或从头训练RNN(蓝色和橙色条)之间存在很大差距,这表明预训练的学习信息预训练期间的模型比从头开始的训练产生了一些增强,但是当无法从目标域中获得标记数据时,这不足以在整个域中进行扩展。或者说得更直白些:仅使用源域数据对预训练模型进行微调仍远远不能解决无监督域自适应问题。

  • 橙色条表示使用源域数据(笔记本电脑评论)从头训练RNN,并使用目标域数据(餐厅评论)进行推理;

  • 蓝色条表示使用源域数据进行的BERT微调;

  • 绿色条表示使用目标域数据对BERT进行微调

缩小差距的一步:嵌入结构性信息

那么,为了缩小域内和完全跨域环境之间的鸿沟,该怎么做?在Yann LeCun和Christopher Manning之间的公开讨论中,『Deep Learning, Structure and Innate Priors』 [2] ,Manning认为,与缺乏结构信息的系统相比,提供结构信息使我们能够设计出可以从更少的数据中以更高的抽象水平学习更多信息的系统。NLP社区广泛支持此观点。

实际上,在这个工作中,Linguistically-Informed Self-Attention for Semantic Role Labeling [3] ,表明使用结构信息(即句法信息)可以改进泛化模型。这种改进的泛化增强了域内模型的鲁棒性,对于跨域更是如此。例如,在介绍LISA(Linguistically-Informed Self-Attention)模型的最新最著名著作之一中,作者表明,嵌入句法依存关系解析信息可以显着提高跨域中SRL任务的准确性。作者将语法信息直接嵌入到Transformer网络的关注头中,并从头开始进行训练。

另一项研究,Attending to Entities for Better Text Understanding [4] ,表明在cloze test中,那些在自注意力中将dependency relations和coreference chains用作嵌入辅助监督的模型优于参数最大的GPT-2模型。

这些最新的进展使我们在数据稀缺的商业环境中实现更好的鲁棒性和可伸缩性又迈出了一步,但是NLP社区仍然需要解决开放的问题和挑战。应该使用哪种类型的外部信息?如何将这些信息嵌入预训练的模型中?

结论

基于大型Transformer的预训练模型最近在许多NLP任务中均取得了SOTA结果。这些模型经过一般语言建模任务的训练,可以学习该语言的一些基本结构特征,从而使它们在各个领域之间的通用性更好。当给定少量标记的目标域数据时,它们在跨域设置中表现出色。但是,处理动态跨域任务(其中没有标记的目标域数据)的挑战仍然存在。在微调阶段将外部独立于领域的知识(即句法信息)嵌入到预训练的模型中有望获得成功。

本文翻译自KDnuggers,可以点击阅读原文直达原文。

https://www.kdnuggets.com/2020/03/bert-fails-commercial-environments.html

本文参考资料

[1]

What Does BERT Look At?: https://arxiv.org/pdf/1906.04341.pdf

[2]

Deep Learning, Structure and Innate Priors: http://www.abigailsee.com/2018/02/21/deep-learning-structure-and-innate-priors.html

[3]

Linguistically-Informed Self-Attention for Semantic Role Labeling: https://arxiv.org/abs/1804.08199

[4]

Attending to Entities for Better Text Understanding: https://arxiv.org/abs/1911.04361

-   END  -

推荐阅读

这个NLP工具,玩得根本停不下来

征稿启示| 200元稿费+5000DBC(价值20个小时GPU算力)

文本自动摘要任务的“不完全”心得总结番外篇——submodular函数优化

Node2Vec 论文+代码笔记

模型压缩实践收尾篇——模型蒸馏以及其他一些技巧实践小结

中文命名实体识别工具(NER)哪家强?

学自然语言处理,其实更应该学好英语

斯坦福大学NLP组Python深度学习自然语言处理工具Stanza试用

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLPer(id:ainlper),备注工作/研究方向+加群目的。

阅读至此了,分享、点赞、在看三选一吧:pray:

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章