本文主要是介绍自然语言处理(NLP)-预训练模型:别人已经训练好的模型,可直接拿来用【ELMO、BERT、ERNIE(中文版BERT)、GPT、XLNet...】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
预训练模型(Pretrained model):一般情况下预训练模型都是大型模型,具备复杂的网络结构,众多的参数量,以及在足够大的数据集下进行训练而产生的模型.
在NLP领域,预训练模型往往是语言模型,因为语言模型的训练是无监督的,可以获得大规模语料,同时语言模型又是许多典型NLP任务的基础,如机器翻译,文本生成,阅读理解等,常见的预训练模型有BERT, GPT, roBERTa, transformer-XL等.
一、Embeddings from Language Model (ELMO)
- 在RNN模型中,每一个Word Embedding的输出是要参考前面已经输入过的数据。所以叫做:Contextualized Word Embedding
- 不止要考虑每个Word Embedding前文,同时还要考虑后文,所以再从句尾向句首训练。
- 使用多层Hidder Layer后,每个词最终的 Word Embedding = 该词所有层的 Word Embedding 进行加权平均
二、BERT/ERNIE:Encoder of Transformer
- BERT stands for “Bidirectional Encoder Representations from Transformers”,用于非中文语言;
- ERNIE stands for “Enhanced Representation through Knowledge Integration ”,用于中文;
- 中文使用“字”作为输入,英文使用单词作为输入。
三、 Generative Pre-Training (GPT):Decoder of Transformer
参考资料:
BERT模型详解
BERT代码阅读
XLNet原理
XLNet代码分析
XLNet代码分析(二)
XLNet代码分析(三)
XLNet代码分析(四)
一文读懂Embedding的概念,以及它和深度学习的关系
自然语言处理中的语言模型预训练方法(ELMo、GPT和BERT)
【Semantic Embedding】: CDSSM(CLSM)模型
【Semantic Embedding】: BERT模型3
semantic embedding学习的三种损失函数
Contextual Word Representations:A Contextual Introduction
中文任务全面超越BERT:百度正式发布NLP预训练模型ERNIE
ERNIE: Enhanced Representation through Knowledge Integration
BERT Rediscovers the Classical NLP Pipeline
What Do You Learn From Context? Probing For Sentence Structure In Contextualized Word Representations
Beto, Bentz, Becas: The Surprising Cross-Lingual Effectiveness of BERT
Language Models are Unsupervised Multitask Learners
Talk to Transformer
XLNET
roBERT
这篇关于自然语言处理(NLP)-预训练模型:别人已经训练好的模型,可直接拿来用【ELMO、BERT、ERNIE(中文版BERT)、GPT、XLNet...】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!