大型基于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 -
往期精彩回顾
适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑获取一折本站知识星球优惠券,复制链接直接打开:https://t.zsxq.com/yFQV7am本站qq群1003271085。加入微信群请扫码进群: