今天的博客主要介绍三个模型, ELMO,GPT与BERT模型。
ELOM模型
ELOM 模型是一个动态的模型,利用语言模型来获得一个上下文相关的预训练表示,称为ELMo。它使用的是一个双向的LSTM语言模型,由一个前向和一个后向语言模型构成,目标函数就是取这两个方向语言模型的最大似然。
关于前向概率和后向概率请看两张图。
ELOM模型的使用主要有以下三步:
1)在大的语料库上预训练 biLM 模型。模型由两层bi-LSTM 组成,模型之间用residual connection 连接起来。而且作者认为低层的bi-LSTM层能提取语料中的句法信息,高层的bi-LSTM能提取语料中的语义信息。
2)在我们的训练语料(去除标签),fine-tuning 预训练好的biLM 模型。这一步可以看作是biLM的domain transfer。
3)利用ELMO 产生的word embedding来作为任务的输入,有时也可以即在输入时加入,也在输出时加入。
GPT模型
GPT的核心思想是利用Transformer模型对大量文本进行无监督学习,其目标函数就是语言模型最大化语句序列出现的概率,不过这里的语言模型仅仅是forward单向的,而不是双向的。得到这些embedding后,再对下游的task进行supervised fine-tuning。
优点:
1、循环神经网络所捕捉到的信息较少,而Transformer可以捕捉到更长范围的信息。
2、计算速度比循环神经网络更快,易于并行化
3、实验结果显示Transformer的效果比ELMo和LSTM网络更好
缺点:
对于某些类型的任务需要对输入数据做出调整。
BERT模型
BERT原理与GPT有相似之处,不过它利用了双向的信息。ERT模型的根基就是Transformer,它在处理一个词的时候,能考虑到该词前面和后面单词的信息,从而获取上下文的语义。
BERT中最核心的部分:
1、MLM:随机屏蔽掉部分输入token,然后再去预测这些被屏蔽掉的token。
2、Next Sentence Prediction:具体来说,选择句子A和B作为预训练样本:A的下一句有50%的可能是B,另外50%的可能是来自语料库的。
最后是一张三个模型的结构图。
参考文献与说明:
https://blog.csdn.net/elsieyin/article/details/107085305
如若侵权,请联系删除。