1.1.1 语言生成方面的技术
在自然语言处理中,最早的生成句子的方法是使用N-gram语言模型学习词的分布,然后搜索最佳序列。但这种方法不能有效地适应长句子。为了解决这个问题,循环神经网络(Recurrent Neural Network, RNN)被引入语言建模任务中,它允许对相对较长的依赖关系进行建模。尤其是长短期记忆(Long Short-Term Memory, LSTM)和门控循环单元(Gated Recurrent Unit, GRU),在训练中它们利用门控机制来控制记忆,极大地提升了长距离依赖效率。不过,训练时只能从左到右或从右到左,无法并行处理,此外,词之间的距离稍长一些,它们之间的依赖性也将大大降低。
2017年由谷歌研发团队提出的Transformer模型,解决了循环神经网络的问题。Transformer模型基于一种自注意力机制,使模型能够注意到输入序列中的不同部分。它能够更好地处理长期的依赖关系,因此,在广泛的NLP任务中提高了性能。Transformer模型的另一个特性是具有高度并行性,并允许数据有效规避归纳偏置(Inductive Bias)。这些特性使得Transformer非常适合作为大规模的预训练模型,并能够适应不同的下游任务。
Transformer模型自引入NLP以来,由于其并行性和学习能力,成为自然语言处理的主流选择。一般来说,基于Transformer的预训练语言模型可以根据其训练任务分为两类:遮掩语言模型和自回归语言模型。
1)遮掩语言模型。遮掩语言模型(Masked Language Model, MLM)是指在训练过程中,随机遮掩一部分输入文本中的单词或字符,让模型预测被遮掩部分的单词或字符。遮掩语言模型的输入是整个句子,而遮掩部分的位置是通过特殊的遮掩标记表示的。通过预测被遮掩位置的单词或字符,模型能够学习到文本中不同位置之间的依赖关系和语义信息。BERT就是典型的遮掩语言模型。
2)自回归语言模型。自回归语言模型(Autoregressive Language Model, ALM)通过计算给定前文条件下当前词的概率,生成下一个可能的词或序列,它是从左到右的语言模型。与遮掩语言模型不同,自回归语言模型更适用于生成式任务。GPT就是典型的自回归语言模型。