论文部分内容阅读
长期以来,自然语言处理NLP(Natural Language Processing)都是人工智能领域的一大热点和难点,其研究内容包括:文本分类、机器翻译、智能问答等。它面向复杂多变的非结构化数据——自然语言,希望通过精巧的数学模型充分理解语句含义,从而完成人与机器之间的自然交互。早期的科学家们通过人工梳理的语法规则使计算机解析语句,理解含义;后来使用统计学方法刻画语句的生成概率从而完成了序列到序列(seq2seq)的转换。这两种方法奠定了语言模型在自然语言处理领域的重要位置。而不久前机器学习的兴起为研究者们提供了新途径,如何使用模型来将词或者序列表示为包含高度抽象特征的实数向量成为了这一领域新的研究热点。文本表示可以简单分为词表示和序列表示。过去几年,以Word2Vec和Glove为代表的词嵌入(Word Embedding)技术一直是自然语言处理领域的一项核心表示技术,它们可以将单个词表示为包含词义信息的稠密实数向量。而如何使用词向量表征变长序列同样也是文本表示模型的研究重点,过去常用的模型包括简单的词袋模型以及考虑部分共现关系的N元(N-gram)模型等。后来随着深度学习的兴起,科学家们提出了更加优秀的序列表示模型,如循环神经网络RNNs(Recurrent Neural Networks)、卷积神经网络CNNs(Convolution Neural Networks)。这些模型在自然语言处理领域被广泛使用,取得了许多成果。然而,它们的统治地位正在被一系列更加庞大且系统的文本表示模型所动摇,如:ULMFiT、ELMo、OpenAI GPT以及BERT。这些模型使用的都是预训练加微调的架构,即先使用深度网络模型无监督地学习到自然语言中复杂的语义信息(预训练),再通过迁移学习的方式(微调)部署在下游任务之上。得益于有效的无监督预训练,模型可以更好的理解语句含义,从而在微调过程中速度更快,效果更好,同时模型的泛化性也更强。这四个模型在一年中先后提出,各自代表了当时的最高水平。其中BERT模型作为当前自然语言处理领域最强且最新的模型,是非常值得仔细研究的。本文针对BERT模型做了深入的研究和实现,认为BERT模型固然非常强大,但它庞大的参数量和缓慢的预训练速度严重限制了该模型的应用场景。在仔细研究了模型中多头自注意力机制和位置嵌入的原理和作用,并通过实验验证了预训练对于模型的提升后,本文针对BERT模型提出了四个改进,以期在更小的参数量和更快的预训练速度的前提下得到较好的结果。本文工作归纳如下:1.相对位置嵌入。本文认为,词与词的相对位置信息对于理解自然语言的重要程度远远大于词的绝对位置信息,并且模型为了学习绝对位置信息需要大量额外的参数和时间。BERT模型既考虑了绝对位置,也考虑了相对位置。也就是说BERT模型理论上要捕捉每一个词在每一个位置时对所有词在所有位置的影响,这一共是22种分布模式(为词总数,为序列长度)。而如果仅考虑相对位置的话,模型只需要学习22种分布模式,这一定程度上可以减少模型的参数和训练时间,并且可以提高模型的泛化性。所以,本文提出相对位置嵌入方法,使模型忽略掉绝对位置信息而保留更重要的相对位置信息。2.独立双向多头自注意力机制。多头自注意力层是BERT模型中的核心结构,它对准确提取语句含义起到了决定性作用。本文认为,词与词之间的相互影响是应该考虑词序的,即词A分别出现在词B前后时,对词B的意义应该是不同的。然而在BERT模型中,并没有在词层面实现这个影响,而是用绝对位置嵌入的方法间接实现。本文认为这个设计需要模型去学习冗余的绝对位置和词之间的关系,从而造成参数量大而训练时间长的后果。为了直接捕捉这种关键信息,本文提出独立双向多头自注意力机制,即分别使用两个“多头”独立处理前文词和后文词,使得词A分别出现在词B前后时被表示为不同的实数向量。3.层级密集连接网络。密集连接指在不同网络层之间建立密集的额外数据通路。这可以使梯度更好的向深层传导,同时提高每层网络所提取特征的利用率,并且使总体损失函数更加“光滑”,从而在优化网络时可以更快更好地收敛。在BERT模型中,只在每个注意层内部有残差网络连接,但层与层之间并无额外数据通路。本文认为,BERT模型的网络深度较大,梯度传导困难,从而导致训练时间较长。另外,每个注意力层所提取的特征只能为下一层所用,效率较低。所以,本文在注意力层之间建立层级密集连接网络,以期减少模型的训练时间,并提高每个注意层所提取特征的利用率,从而提高模型性能。4.新的预训练任务——乱序判断。BERT模型在词序的捕捉上可解释性不足,位置嵌入机制说服力不强。本文希望通过预训练来使模型对于语序更加敏感,所以提出乱序判断预训练任务,即随机打乱语句中的部分词序或保持不变,再使用模型判断该语句词序是否合理。实验结果显示,本文所提出的文本表示模型在预训练任务上较同等参数量的BERT原始模型有一定提升,包括预训练收敛速度和最终精度,其中相对位置嵌入将下一句判断任务的精度提升0.96%;独立双向多头自注意力机制将遮蔽词预测任务的精度提升0.57%,层级密集连接网络对三种预任务的精度平均提升0.21%。另外,本文模型在4种不同下游任务,共8个权威中文数据集上均有优异表现,超过了大部分目前广泛使用的模型,并且效果优于同等参数量的BERT原始模型。其中,文本分类任务平均提升0.35%;语义相似度任务平均提升0.80%;阅读理解任务提升1.57%;分词任务平均提升0.93%。这表明本文提出的改进方法可以有效提升BERT模型性能,进而在相同性能下有效地减少模型参数量,并加快预训练速度。