ELMo的出现开创了一种上下文相关的文本表示方法,很好地处理了一词多义问题,并在多个典型任务上有了显著的效果提升。
其后,GPT和BERT等预训练语言模型相继被提出,自此便进入了动态预训练技术的时代。尤其是BERT的出现,横扫了自然语言处理领域的多个典型任务,极大地推动了自然语言处理领域的发展,成为预训练史上一个重要的里程碑模型。此后,基于BERT的改进模型、XLNet等大量新式预训练语言模型涌出,预训练技术在自然语言处理领域蓬勃发展。
在预训练模型的基础上,针对下游任务进行微调,已成为自然语言处理领域的一个新范式。
预训练语言模型 预训练语言模型的核心在于关键范式的转变:从只初始化模型的第一层,转向了预训练一个多层网络结构。 传统的词向量方法只使用预训练好的静态文本表示,初始化下游任务模型的第一层,而下游任务模型的其余网络结构仍然需要从头开始训练。这是一种以效率优先而牺牲表达力的浅层方法,无法捕捉到那些也许更有用的深层信息;更重要的是,其本质上是一种静态的方式,无法消除词语歧义。 预训练语言模型是预训练一个多层网络结构,用以初始化下游任务模型的多层网络结构,可以同时学到浅层信息和深层信息。预训练语言模型是一种动态的文本表示方法,会根据当前上下文对文本表征进行动态调整,经过调整后的文本表征更能表达词语在该上下文中的具体含义,能有效处理一词多义的问题。 ELMo ELMo使用两层带残差的双向LSTM来训练语言模型,此外,ELMo借鉴了Jozefowicz等的做法,针对英文形态学上的特点,在预训练模型的输入层和输出层使用了字符级的CNN结构。这种结构大幅减小了词表的规模,很好地解决了未登录词的问题;卷积操作也可以捕获一些英文中的形态学信息;同时,训练双向的LSTM,不仅考虑了上文信息,也融合了下文信息。 GPT模型 单向语言模型 GPT模型使用生成式方法来训练语言模型。该工作中的解码器在逐字生成翻译的过程中屏蔽了后续的词语序列,天然适合语言建模,因此GPT采用了Transformer中的解码器结构,并没有使用一个完整的Transformer来构建网络。GPT模型堆叠了12个Transformer子层,并用语言建模的目标函数来进行优化和训练。
BERT模型 基于Transformer的双向预训练语言模型,通过Masked-LM这个特别的预训练方式达到了真双向语言模型的效果。
参考文献
[1]李舟军,范宇,吴贤杰.面向自然语言处理的预训练技术研究综述[J].计算机科学,2020,47(03):162-173.
|