百分点认知智能实验室出品:BERT的正确使用姿势

近期,百分点认知智能实验室针对NLP领域神器BERT与文本分类等下游具体任务如何结合的问题提出了一套新的优化策略,在对BERT进行微调(fine-tune)的同时,在其后添加神经网络模型,打破之前BERT使用中fine-tune步骤和上层复杂模型完全隔离的方案,并通过实验证明,对于特定任务,二者结合能显著提高模型性能。


自2018年google发布开源预训练模型BERT之后,一时席卷业内十余项任务的state-of-art,引得无数NLPer聚焦于此。对于自然语言处理领域而言,BERT的出现,彻底改变了预训练词向量与下游具体NLP任务的关系,因此BERT被称为改变了NLP游戏规则的工作。然而,究竟如何最好的使用BERT呢?


一种自然的方法当然是改变BERT的预训练过程,从而造出更好的预训练语言模型。这种方法可以简单的引入更多的语料、采用不同的预训练任务、采用多任务学习、采用在特定领域的语料上进行fine-tune等等。然而,从头训练甚至fine-tune BERT均需要大量的算力才可实现。那么另一种自然而然的想法是,我们是否可以将已有模型(LSTM或者CNN)接入到BERT之上,从而发挥二者各自的优势呢?这是本文介绍的重点。


BERT的基础使用方式


本文以是否fine-tune预训练模型和是否对上层模型进行训练作为两个参考指标,将BERT的应用方法大致划分为三类,如下表所示:

其中,方法NFT-TM是指在BERT模型的上层添加复杂的网络结构,在训练时,固定BERT的参数,仅单独训练上层任务模型网络。方法FT-NTM是指在在BERT模型后接一个简单的特定任务层(如全连接网络),在训练时,根据任务的训练样本集对BERT进行fine-tune即可。


就以上NFT-TM、FT-NTM两种方法,美国Allen人工智能研究所的Matthew Peter等人分别在ELMo及BERT两种预训练模型上对比了效果,希望能够得出到底哪个方式更适合下游任务,他们针对7项NLP任务给出实验结果。对于ELMo而言,使用上层网络进行特征提取效果更好,对于BERT而言,fine-tune效果略胜一筹。最终该文得出结论,对于预训练模型,fine-tune方法(即FT-NTM)能够更好的将其应用于特定任务。


BERT的高级使用方式


以上两种方法看上去有些片面,如果把特征抽取和fine-tune结合起来成为第三种模式,效果会怎样呢?在BERT出现之前,就有人在训练好语言模型之后,用后续网络(如CNN,LSTM等)对词嵌入进行微调的方法了。如果把预训练模型看作是一个词嵌入的强化版,那么在BERT时代,我们在追求其应用模式革新上也应该考虑到此方法,于是百分点认知智能实验室提出融合特征抽取及fine-tune的方法FT-TM,其步骤如下:

1.在底层通过一个预训练模型,先训练一个可用的语言模型(视情况可停止训练);

2.针对具体下游任务设计神经网络结构,将其接在预训练模型之后;

3.联合训练包括预训练模型在内的整个神经网络,以此模式尝试进一步改善任务结果。


基于以上内容,我们对各种BERT应用方式选取了三个NLP典型任务进行实验,并通过实践证明,该方法在特定任务上均表现出色。


实验一:针对序列标注任务,我们选择了其子任务之一的命名实体识别任务(NER),并在NER的开源数据集CoNLL03上进行实验。该实验以仅对BERT进行fine-tune(即方法FT-NTM)的结果为baseline,对比了在BERT基础上增加一个传统用于NER任务的Bi-LSTM网络(即方法FT-TM)的效果,其实验结果如下图所示:

由图可得,结合BERT的fine-tune和上层神经网络的FT-TM方法在该任务上的F1值较baseline提升了近7个百分点。


实验二:针对文本分类任务,本次实验选取雅虎问答分类数据集,以原始BERT结果作为baseline,对比了在其基础上分别连接了HighwayLSTM和DenseNet网络,并对其进行模型融合后的结果。实验结果由下图所示:

由实验看出,虽然模型融合后的效果并不十分明显,但也有一定的效果提升。


实验三:针对语义等价性任务,本实验选取包含了40万个问题对的“Quora-Question-Pair“数据集,根据句子对进行相似度的计算。本次实验将仅对BERT进行fine-tune的方法FT-NTM为baseline,对比了在BERT之后接BIMPM网络的效果。同时以方法NFT-TM为baseline,对比了两种改进BIMPM之后模型结构的效果(移除BIMPM中的第一层Bi-LSTM模型和将BIMPM的matching层与transformer相结合的模型)。注意,在模型训练时有个重要的trick,考虑到预训练模型本身的效果和其与顶层模型的融合问题,在训练模型时,需要分两步进行:先固定预训练模型的参数,仅训练其上层特定任务网络,第二步再将整个网络联合训练。


该任务的实验结果如下图所示:


由实验结果可得,Bert+Sim-Transformer结合fine-tune Bert的效果相较仅对BERT进行fine-tune的方法FT-NTM,准确率提升了近5个百分点。


因此,从上面一系列的实验结果可以看出,我们提出的结合上层复杂模型和fine-tune的方法FT-TM是有效的,并且在某些任务中优于fine-tune的方式。同时在BERT预训练模型上面集成的神经网络模型好坏也会影响到最终的任务效果。


参考材料:

[1]Matthew Peters, Sebastian Ruder, and Noah A Smith. To tune or not to tune?adapting pretrained representations to diverse tasks. arXiv preprintarXiv:1903.05987, 2019.


论文地址:https://arxiv.org/abs/1907.05338

百分点
百分点

百分点是中国领先的企业级大数据+AI产品与技术提供商,拥有完整的大数据及认知智能产品线。秉承“用数据推动社会进步”的理念,为业内分享大数据和AI技术在行业实践中的经验与思考。

入门深度学习智能科研神经网络文本分类BERT
相关数据
人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

词嵌入技术

词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称。概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

分类数据技术

一种特征,拥有一组离散的可能值。以某个名为 house style 的分类特征为例,该特征拥有一组离散的可能值(共三个),即 Tudor, ranch, colonial。通过将 house style 表示成分类数据,相应模型可以学习 Tudor、ranch 和 colonial 分别对房价的影响。 有时,离散集中的值是互斥的,只能将其中一个值应用于指定样本。例如,car maker 分类特征可能只允许一个样本有一个值 (Toyota)。在其他情况下,则可以应用多个值。一辆车可能会被喷涂多种不同的颜色,因此,car color 分类特征可能会允许单个样本具有多个值(例如 red 和 white)。

文本分类技术

该技术可被用于理解、组织和分类结构化或非结构化文本文档。文本挖掘所使用的模型有词袋(BOW)模型、语言模型(ngram)和主题模型。隐马尔可夫模型通常用于词性标注(POS)。其涵盖的主要任务有句法分析、情绪分析和垃圾信息检测。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

命名实体识别技术

命名实体识别(NER)是信息提取(Information Extraction)的一个子任务,主要涉及如何从文本中提取命名实体并将其分类至事先划定好的类别,如在招聘信息中提取具体招聘公司、岗位和工作地点的信息,并将其分别归纳至公司、岗位和地点的类别下。命名实体识别往往先将整句拆解为词语并对每个词语进行此行标注,根据习得的规则对词语进行判别。这项任务的关键在于对未知实体的识别。基于此,命名实体识别的主要思想在于根据现有实例的特征总结识别和分类规则。这些方法可以被分为有监督(supervised)、半监督(semi-supervised)和无监督(unsupervised)三类。有监督学习包括隐形马科夫模型(HMM)、决策树、最大熵模型(ME)、支持向量机(SVM)和条件随机场(CRF)。这些方法主要是读取注释语料库,记忆实例并进行学习,根据这些例子的特征生成针对某一种实例的识别规则。

特征抽取技术

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

多任务学习技术

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

ELMo技术

ELMO 是“Embedding from Language Models”的简称, ELMO 本身是个根据当前上下文对 Word Embedding 动态调整的思路。ELMO 采用了典型的两阶段过程,第一个阶段是利用语言模型进行预训练;第二个阶段是在做下游任务时,从预训练网络中提取对应单词的网络各层的 Word Embedding 作为新特征补充到下游任务中。

F1值技术

为了能够评价不同算法的优劣,在Precision和Recall的基础上提出了F1值的概念,来对Precision和Recall进行整体评价。F1的定义如下: F1值 = 正确率 * 召回率 * 2 / (正确率 + 召回率)

推荐文章
暂无评论
暂无评论~