目录
词嵌入的发展
NLP模型训练时需要对文本文件进行编码,转化为数值的形式。
Word2Vec和GloVe
对词还有词与词之间的关系(例如近义、反义、从属、时态等关系)进行编码,但不考虑语境。
ELMo
- 本质:双向LSTM
- 流程图
ULM-FiT
ULMFiT(Universal Language Model Fine-tuning)是一种基于微调的通用语言模型。可以实现NLP迁移学习
OpenAI Transformer
- 本质:多个Transformer的Decoder(仅考虑前序输入的影响)
- 目的:预测下一个词
- 与Decoder的差别:无Encoder-Decoder Attention层
BERT
2018年google的BERT(Bidirectional Encoder Representations from Transformers)可以理解为已经训练好的多层Transformer的encoder。包括预训练和微调两个步骤。
From:BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
Pre-training
- 任务1:MLM
Masked Language Model,预测被屏蔽或者代替的目标词 - 任务2:句子位置
判断句子B是否是句子A后面相邻的句子
Fine-Turning
作为预训练下游的模型完成任务
- 输入:单一文本或文本对
- 文本对应用
- 文本释义
- 假设条件对
- 问答
- 文本分类或标注
使用
Google Colab上的BERT FineTuning with Cloud TPUs
GPT
和BERT的差别
内容 | BERT | GPT |
---|